diff --git a/config.jsonc b/config.jsonc index a18f1cde..67a3ebf4 100644 --- a/config.jsonc +++ b/config.jsonc @@ -478,6 +478,16 @@ "aliases": [], "categories": [] }, + "OvO": { + "path": "ovo/1.4.4", + "aliases": [], + "categories": [] + }, + "OvO 2": { + "path": "ovo/2.0.2alpha", + "aliases": [], + "categories": [] + }, "Papas Pizzeria": { "path": "flash/?game=papas-pizzaria", "aliases": [], diff --git a/games/ovo/1.4.4/Tween.js b/games/ovo/1.4.4/Tween.js new file mode 100644 index 00000000..78b1d97b --- /dev/null +++ b/games/ovo/1.4.4/Tween.js @@ -0,0 +1,814 @@ +/** + * Tween.js - Licensed under the MIT license + * https://github.com/tweenjs/tween.js + * ---------------------------------------------- + * + * See https://github.com/tweenjs/tween.js/graphs/contributors for the full list of contributors. + * Thank you all, you're awesome! + */ + +var TWEEN = TWEEN || (function () { + + var _tweens = []; + + return { + + getAll: function () { + + return _tweens; + + }, + + removeAll: function () { + + _tweens = []; + + }, + + add: function (tween) { + + _tweens.push(tween); + + }, + + remove: function (tween) { + + var i = _tweens.indexOf(tween); + + if (i !== -1) { + _tweens.splice(i, 1); + } + + }, + + update: function (time, preserve) { + + if (_tweens.length === 0) { + return false; + } + + var i = 0; + + time = time !== undefined ? time : TWEEN.now(); + + while (i < _tweens.length) { + + if (_tweens[i].update(time) || preserve) { + i++; + } else { + _tweens.splice(i, 1); + } + + } + + return true; + + } + }; + +})(); + + +// Include a performance.now polyfill. +// In node.js, use process.hrtime. +if (typeof (window) === 'undefined' && typeof (process) !== 'undefined') { + TWEEN.now = function () { + var time = process.hrtime(); + + // Convert [seconds, nanoseconds] to milliseconds. + return time[0] * 1000 + time[1] / 1000000; + }; +} +// In a browser, use window.performance.now if it is available. +else if (typeof (window) !== 'undefined' && + window.performance !== undefined && + window.performance.now !== undefined) { + // This must be bound, because directly assigning this function + // leads to an invocation exception in Chrome. + TWEEN.now = window.performance.now.bind(window.performance); +} +// Use Date.now if it is available. +else if (Date.now !== undefined) { + TWEEN.now = Date.now; +} +// Otherwise, use 'new Date().getTime()'. +else { + TWEEN.now = function () { + return new Date().getTime(); + }; +} + + +TWEEN.Tween = function (object) { + + var _object = null; + if(object) _object = object; + + + var _duration = 1000; + var _time = 0; + var _startTime = null; + + var _reversed = false; + this.isPlaying = false; + + + var _easingFunction = TWEEN.Easing.Linear.None; + var _interpolationFunction = TWEEN.Interpolation.Linear; + + + var _valuesStartOrigin = null; + var _valuesEndOrigin = null; + var _valuesStart = {}; + var _valuesEnd = {}; + + + + var _isReset = true; + + + + var _deltas = {}; + var _deltas_init = {}; + + var _onCompleteCallback = null; + var _onCompleteCallbackScope = null; + var _onReverseCompleteCallback = null; + var _onReverseCompleteCallbackScope = null; + + + this.setObject = function (object) { + if(object) + _object = object; + }; + + //Computes new deltas to tween to + this.to = function (properties, duration) { + _isReset = true; + if (duration !== undefined) { + _duration = duration; + } + + var property, start=0, end=0; + for (property in properties) + { + if (_object[property] === undefined) { + continue; + } + + start = _object[property]; + end = properties[property]; + _deltas[property] = end - start; + _deltas_init[property] = _deltas[property]; + } + + return this; + }; + + + this.reverse = function () { + + var property; + + if(this.isPlaying){ + this.isPlaying = false; + for (property in _deltas) { + if(_reversed){ + _deltas[property] = (1-_value)*_deltas[property]; + }else{ + _deltas[property] = _deltas_init[property]-(1-_value)*_deltas[property]; + } + } + + if(_reversed){ + //console.log("start reverse, currently playing, reverse"); + }else{ + //console.log("start reverse, currently playing, no reverse"); + } + }else{ + //console.log("start reverse, currently not playing; "); + for (property in _deltas) + { + _deltas[property] = _deltas_init[property]; + } + } + + _isReset = false; + _prevValue = 0; + _reversed = true; + _time = TWEEN.now(); + _startTime = TWEEN.now(); + this.isPlaying = true; + + + return this; + }; + + this.start = function (time) { + var property; + + + if(this.isPlaying){ + this.isPlaying = false; + + if(!_isReset){ + for (property in _deltas) { + if(_reversed){ + _deltas[property] = _deltas_init[property]-(1-_value)*_deltas[property]; + }else{ + _deltas[property] = (1-_value)*_deltas[property]; + } + } + } + + + if(_reversed){ + //console.log("start, currently playing, reverse"); + }else{ + //console.log("start, currently playing, no reverse"); + } + }else{ + //console.log("start, currently not playing; "); + for (property in _deltas) + { + _deltas[property] = _deltas_init[property]; + } + } + + + + _isReset = false; + _reversed = false; + _prevValue = 0; + _time = TWEEN.now(); + _startTime = _time; + this.isPlaying = true; + + + return this; + }; + + + + + var _value = 0; //from 0 to 1 ; output of the tween function + var _dvalue = 0; //delta _value and the one of the previous dt + var _prevValue = 0; //_value of the previous dt + + this.update = function (dt) { + + var property; + var elapsed; //% of the duration; from 0 to 1; + + _time = _time + dt; + if (_time < _startTime) { + return true; + } + elapsed = (_time - _startTime) / _duration; + elapsed = elapsed > 1 ? 1 : elapsed; + + + _value = _easingFunction(elapsed); + _dvalue = _value - _prevValue; + _prevValue = _value; + + var dv = 0; + + for (property in _deltas) { + if(_reversed){ + _object[property] += -_dvalue*_deltas[property]; + }else{ + _object[property] += _dvalue*_deltas[property]; + } + + + /*_object[property] = start + dValues[property] * value; + dv = (start + (end - start) * value) - _object[property];*/ + } + + + + if (elapsed === 1) { + if (_onCompleteCallback !== null && !_reversed) { + if(_onCompleteCallbackScope!=null){ + _onCompleteCallback.call(_onCompleteCallbackScope); + }else{ + _onCompleteCallback.call(_object, _object); + } + + } + + if ((_onReverseCompleteCallback !== null) && _reversed) { + if(_onReverseCompleteCallbackScope!=null){ + _onReverseCompleteCallback.call(_onReverseCompleteCallbackScope); + }else{ + _onReverseCompleteCallback.call(_object, _object); + } + } + + this.isPlaying = false; + return false; + } + + return true; + + }; + + + + + + + this.onComplete = function (callback,scope) { + _onCompleteCallback = callback; + _onCompleteCallbackScope = scope; + return this; + }; + + this.onReverseComplete = function (callback,scope) { + + _onReverseCompleteCallback = callback; + _onReverseCompleteCallbackScope = scope; + return this; + + }; + + + this.easing = function (easing) { + + _easingFunction = easing; + return this; + + }; + + this.interpolation = function (interpolation) { + + _interpolationFunction = interpolation; + return this; + + }; + +}; + +TWEEN.Easing = { + + Linear: { + + None: function (k) { + + return k; + + } + + }, + + Quadratic: { + + In: function (k) { + + return k * k; + + }, + + Out: function (k) { + + return k * (2 - k); + + }, + + InOut: function (k) { + + if ((k *= 2) < 1) { + return 0.5 * k * k; + } + + return - 0.5 * (--k * (k - 2) - 1); + + } + + }, + + Cubic: { + + In: function (k) { + + return k * k * k; + + }, + + Out: function (k) { + + return --k * k * k + 1; + + }, + + InOut: function (k) { + + if ((k *= 2) < 1) { + return 0.5 * k * k * k; + } + + return 0.5 * ((k -= 2) * k * k + 2); + + } + + }, + + Quartic: { + + In: function (k) { + + return k * k * k * k; + + }, + + Out: function (k) { + + return 1 - (--k * k * k * k); + + }, + + InOut: function (k) { + + if ((k *= 2) < 1) { + return 0.5 * k * k * k * k; + } + + return - 0.5 * ((k -= 2) * k * k * k - 2); + + } + + }, + + Quintic: { + + In: function (k) { + + return k * k * k * k * k; + + }, + + Out: function (k) { + + return --k * k * k * k * k + 1; + + }, + + InOut: function (k) { + + if ((k *= 2) < 1) { + return 0.5 * k * k * k * k * k; + } + + return 0.5 * ((k -= 2) * k * k * k * k + 2); + + } + + }, + + Sinusoidal: { + + In: function (k) { + + return 1 - Math.cos(k * Math.PI / 2); + + }, + + Out: function (k) { + + return Math.sin(k * Math.PI / 2); + + }, + + InOut: function (k) { + + return 0.5 * (1 - Math.cos(Math.PI * k)); + + } + + }, + + Exponential: { + + In: function (k) { + + return k === 0 ? 0 : Math.pow(1024, k - 1); + + }, + + Out: function (k) { + + return k === 1 ? 1 : 1 - Math.pow(2, - 10 * k); + + }, + + InOut: function (k) { + + if (k === 0) { + return 0; + } + + if (k === 1) { + return 1; + } + + if ((k *= 2) < 1) { + return 0.5 * Math.pow(1024, k - 1); + } + + return 0.5 * (- Math.pow(2, - 10 * (k - 1)) + 2); + + } + + }, + + Circular: { + + In: function (k) { + + return 1 - Math.sqrt(1 - k * k); + + }, + + Out: function (k) { + + return Math.sqrt(1 - (--k * k)); + + }, + + InOut: function (k) { + + if ((k *= 2) < 1) { + return - 0.5 * (Math.sqrt(1 - k * k) - 1); + } + + return 0.5 * (Math.sqrt(1 - (k -= 2) * k) + 1); + + } + + }, + + Elastic: { + + In: function (k) { + + if (k === 0) { + return 0; + } + + if (k === 1) { + return 1; + } + + return -Math.pow(2, 10 * (k - 1)) * Math.sin((k - 1.1) * 5 * Math.PI); + + }, + + Out: function (k) { + + if (k === 0) { + return 0; + } + + if (k === 1) { + return 1; + } + + return Math.pow(2, -10 * k) * Math.sin((k - 0.1) * 5 * Math.PI) + 1; + + }, + + InOut: function (k) { + + if (k === 0) { + return 0; + } + + if (k === 1) { + return 1; + } + + k *= 2; + + if (k < 1) { + return -0.5 * Math.pow(2, 10 * (k - 1)) * Math.sin((k - 1.1) * 5 * Math.PI); + } + + return 0.5 * Math.pow(2, -10 * (k - 1)) * Math.sin((k - 1.1) * 5 * Math.PI) + 1; + + } + + }, + + Back: { + + In: function (k) { + + var s = 1.70158; + + return k * k * ((s + 1) * k - s); + + }, + + Out: function (k) { + + var s = 1.70158; + + return --k * k * ((s + 1) * k + s) + 1; + + }, + + InOut: function (k) { + + var s = 1.70158 * 1.525; + + if ((k *= 2) < 1) { + return 0.5 * (k * k * ((s + 1) * k - s)); + } + + return 0.5 * ((k -= 2) * k * ((s + 1) * k + s) + 2); + + } + + }, + + Bounce: { + + In: function (k) { + + return 1 - TWEEN.Easing.Bounce.Out(1 - k); + + }, + + Out: function (k) { + + if (k < (1 / 2.75)) { + return 7.5625 * k * k; + } else if (k < (2 / 2.75)) { + return 7.5625 * (k -= (1.5 / 2.75)) * k + 0.75; + } else if (k < (2.5 / 2.75)) { + return 7.5625 * (k -= (2.25 / 2.75)) * k + 0.9375; + } else { + return 7.5625 * (k -= (2.625 / 2.75)) * k + 0.984375; + } + + }, + + InOut: function (k) { + + if (k < 0.5) { + return TWEEN.Easing.Bounce.In(k * 2) * 0.5; + } + + return TWEEN.Easing.Bounce.Out(k * 2 - 1) * 0.5 + 0.5; + + } + + } + +}; + +TWEEN.Interpolation = { + + Linear: function (v, k) { + + var m = v.length - 1; + var f = m * k; + var i = Math.floor(f); + var fn = TWEEN.Interpolation.Utils.Linear; + + if (k < 0) { + return fn(v[0], v[1], f); + } + + if (k > 1) { + return fn(v[m], v[m - 1], m - f); + } + + return fn(v[i], v[i + 1 > m ? m : i + 1], f - i); + + }, + + Bezier: function (v, k) { + + var b = 0; + var n = v.length - 1; + var pw = Math.pow; + var bn = TWEEN.Interpolation.Utils.Bernstein; + + for (var i = 0; i <= n; i++) { + b += pw(1 - k, n - i) * pw(k, i) * v[i] * bn(n, i); + } + + return b; + + }, + + CatmullRom: function (v, k) { + + var m = v.length - 1; + var f = m * k; + var i = Math.floor(f); + var fn = TWEEN.Interpolation.Utils.CatmullRom; + + if (v[0] === v[m]) { + + if (k < 0) { + i = Math.floor(f = m * (1 + k)); + } + + return fn(v[(i - 1 + m) % m], v[i], v[(i + 1) % m], v[(i + 2) % m], f - i); + + } else { + + if (k < 0) { + return v[0] - (fn(v[0], v[0], v[1], v[1], -f) - v[0]); + } + + if (k > 1) { + return v[m] - (fn(v[m], v[m], v[m - 1], v[m - 1], f - m) - v[m]); + } + + return fn(v[i ? i - 1 : 0], v[i], v[m < i + 1 ? m : i + 1], v[m < i + 2 ? m : i + 2], f - i); + + } + + }, + + Utils: { + + Linear: function (p0, p1, t) { + + return (p1 - p0) * t + p0; + + }, + + Bernstein: function (n, i) { + + var fc = TWEEN.Interpolation.Utils.Factorial; + + return fc(n) / fc(i) / fc(n - i); + + }, + + Factorial: (function () { + + var a = [1]; + + return function (n) { + + var s = 1; + + if (a[n]) { + return a[n]; + } + + for (var i = n; i > 1; i--) { + s *= i; + } + + a[n] = s; + return s; + + }; + + })(), + + CatmullRom: function (p0, p1, p2, p3, t) { + + var v0 = (p2 - p0) * 0.5; + var v1 = (p3 - p1) * 0.5; + var t2 = t * t; + var t3 = t * t2; + + return (2 * p1 - 2 * p2 + v0 + v1) * t3 + (- 3 * p1 + 3 * p2 - 2 * v0 - v1) * t2 + v0 * t + p1; + + } + + } + +}; + +// UMD (Universal Module Definition) +(function (root) { + + if (typeof define === 'function' && define.amd) { + + // AMD + define([], function () { + return TWEEN; + }); + + } else if (typeof module !== 'undefined' && typeof exports === 'object') { + + // Node.js + module.exports = TWEEN; + + } else if (root !== undefined) { + + // Global variable + root.TWEEN = TWEEN; + + } + +})(this); diff --git a/games/ovo/1.4.4/achievements.json b/games/ovo/1.4.4/achievements.json new file mode 100644 index 00000000..ed5aeb6a --- /dev/null +++ b/games/ovo/1.4.4/achievements.json @@ -0,0 +1,222 @@ +[ + { + "name": "OvO", + "description": "What's this?", + "hidden": false, + "icon": "ovo.png", + "callback": "Skins > Gold", + "params": "5,achievements,0", + "divider": ",", + "type": "n,s,n" + }, + { + "name": "Hittin da head", + "description": "Stop it please", + "hidden": true, + "icon": "ovo2.png", + "callback": "Skins > Gold", + "params": "10,achievements,1", + "divider": ",", + "type": "n,s,n" + }, + { + "name": "Hurtin da head", + "description": ":(", + "hidden": true, + "icon": "ovo3.png", + "callback": "Skins > Gold", + "params": "20,achievements,2", + "divider": ",", + "type": "n,s,n" + }, + { + "name": "Tutorials", + "description": "Finish the tutorial section", + "hidden": false, + "icon": "tutorials.png", + "callback": "Skins > Gold", + "params": "5,achievements,3", + "divider": ",", + "type": "n,s,n" + }, + { + "name": "Getting Serious", + "description": "Finish the getting serious section", + "hidden": false, + "icon": "gettingserious.png", + "callback": "Skins > Gold", + "params": "5,achievements,3", + "divider": ",", + "type": "n,s,n" + }, + { + "name": "Higher Order", + "description": "Finish the higher order section", + "hidden": false, + "icon": "higherorder.png", + "callback": "Skins > Unlock", + "params": "4", + "divider": ",", + "type": "n" + }, + { + "name": "Mechanics", + "description": "Finish the mechanics section", + "hidden": false, + "icon": "mechanics.png", + "callback": "Skins > Unlock", + "params": "1", + "divider": ",", + "type": "n" + }, + { + "name": "OvO Space Program", + "description": "Finish the OvO Space Program section", + "hidden": false, + "icon": "ovospaceprogram.png", + "callback": "Skins > Unlock", + "params": "8", + "divider": ",", + "type": "n" + }, + { + "name": "A mystical journey", + "description": "Finish the Journey through the portal section", + "hidden": false, + "icon": "jttp.png", + "callback": "Skins > Unlock", + "params": "14", + "divider": ",", + "type": "n" + }, + { + "name": "Community Work", + "description": "Finish the Community levels", + "hidden": false, + "icon": "community.png", + "callback": "Skins > Unlock", + "params": "15", + "divider": ",", + "type": "n" + }, + { + "name": "Purified", + "description": "Finish every level", + "hidden": false, + "icon": "purified.png", + "callback": "Skins > Unlock", + "params": "11", + "divider": ",", + "type": "n" + }, + { + "name": "Coins!", + "description": "Collect a coin", + "hidden": false, + "icon": "coin.png", + "callback": "", + "params": "", + "divider": ",", + "type": "" + }, + { + "name": "Coin enthusiast", + "description": "Collect 5 coins", + "hidden": false, + "icon": "coin5.png", + "callback": "", + "params": "", + "divider": ",", + "type": "" + }, + { + "name": "Coin connoisseur", + "description": "Collect 10 coins", + "hidden": false, + "icon": "coin10.png", + "callback": "", + "params": "", + "divider": ",", + "type": "" + }, + { + "name": "Coin hunter", + "description": "Collect 30 coins", + "hidden": false, + "icon": "coin30.png", + "callback": "", + "params": "", + "divider": ",", + "type": "n" + }, + { + "name": "Coin god", + "description": "Collect 40 coins", + "hidden": false, + "icon": "coin40.png", + "callback": "Skins > Unlock", + "params": "7", + "divider": ",", + "type": "n" + }, + { + "name": "Secret Coin", + "description": "Collect the secret coin", + "hidden": true, + "icon": "coinsecret.png", + "callback": "", + "params": "", + "divider": ",", + "type": "n" + }, + { + "name": "Runner", + "description": "Finish OvO in less than 30mn", + "hidden": false, + "icon": "runner.png", + "callback": "", + "params": "", + "divider": ",", + "type": "n" + }, + { + "name": "Speedrunner", + "description": "Finish OvO in less than 20mn", + "hidden": false, + "icon": "speedrunner.png", + "callback": "", + "params": "", + "divider": ",", + "type": "n" + }, + { + "name": "Velocity master", + "description": "Finish OvO in less than 15mn", + "hidden": false, + "icon": "velocity.png", + "callback": "", + "params": "", + "divider": ",", + "type": "n" + }, + { + "name": "Top charts", + "description": "Finish OvO in less than 12mn", + "hidden": false, + "icon": "topcharts.png", + "callback": "Skins > Unlock", + "params": "13", + "divider": ",", + "type": "n" + }, + { + "name": "Light speed", + "description": "Finish OvO in less than 10mn", + "hidden": false, + "icon": "lightspeed.png", + "callback": "", + "params": "", + "divider": ",", + "type": "n" + } +] diff --git a/games/ovo/1.4.4/ada.png b/games/ovo/1.4.4/ada.png new file mode 100644 index 00000000..1ec682fc Binary files /dev/null and b/games/ovo/1.4.4/ada.png differ diff --git a/games/ovo/1.4.4/alien.png b/games/ovo/1.4.4/alien.png new file mode 100644 index 00000000..5da253d5 Binary files /dev/null and b/games/ovo/1.4.4/alien.png differ diff --git a/games/ovo/1.4.4/amongus.png b/games/ovo/1.4.4/amongus.png new file mode 100644 index 00000000..f042081e Binary files /dev/null and b/games/ovo/1.4.4/amongus.png differ diff --git a/games/ovo/1.4.4/animate.css b/games/ovo/1.4.4/animate.css new file mode 100644 index 00000000..823ce358 --- /dev/null +++ b/games/ovo/1.4.4/animate.css @@ -0,0 +1,3504 @@ +@charset "UTF-8"; + +/*! + * animate.css -http://daneden.me/animate + * Version - 3.5.0 + * Licensed under the MIT license - http://opensource.org/licenses/MIT + * + * Copyright (c) 2015 Daniel Eden + */ + +.animated { + -webkit-animation-duration: 1s; + animation-duration: 1s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} + +.animated.infinite { + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; +} + +.animated.hinge { + -webkit-animation-duration: 2s; + animation-duration: 2s; +} + +.animated.flipOutX, +.animated.flipOutY, +.animated.bounceIn, +.animated.bounceOut { + -webkit-animation-duration: .75s; + animation-duration: .75s; +} + +@-webkit-keyframes bounce { + from, 20%, 53%, 80%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + -webkit-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + + 40%, 43% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + } + + 90% { + -webkit-transform: translate3d(0,-4px,0); + transform: translate3d(0,-4px,0); + } +} + +@keyframes bounce { + from, 20%, 53%, 80%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + -webkit-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + + 40%, 43% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + } + + 90% { + -webkit-transform: translate3d(0,-4px,0); + transform: translate3d(0,-4px,0); + } +} + +.bounce { + -webkit-animation-name: bounce; + animation-name: bounce; + -webkit-transform-origin: center bottom; + transform-origin: center bottom; +} + +@-webkit-keyframes flash { + from, 50%, to { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +@keyframes flash { + from, 50%, to { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +.flash { + -webkit-animation-name: flash; + animation-name: flash; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes pulse { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes pulse { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.pulse { + -webkit-animation-name: pulse; + animation-name: pulse; +} + +@-webkit-keyframes rubberBand { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 30% { + -webkit-transform: scale3d(1.25, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(.95, 1.05, 1); + transform: scale3d(.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, .95, 1); + transform: scale3d(1.05, .95, 1); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes rubberBand { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 30% { + -webkit-transform: scale3d(1.25, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(.95, 1.05, 1); + transform: scale3d(.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, .95, 1); + transform: scale3d(1.05, .95, 1); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.rubberBand { + -webkit-animation-name: rubberBand; + animation-name: rubberBand; +} + +@-webkit-keyframes shake { + from, to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, 30%, 50%, 70%, 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, 40%, 60%, 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +@keyframes shake { + from, to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, 30%, 50%, 70%, 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, 40%, 60%, 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +.shake { + -webkit-animation-name: shake; + animation-name: shake; +} + +@-webkit-keyframes headShake { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 6.5% { + -webkit-transform: translateX(-6px) rotateY(-9deg); + transform: translateX(-6px) rotateY(-9deg); + } + + 18.5% { + -webkit-transform: translateX(5px) rotateY(7deg); + transform: translateX(5px) rotateY(7deg); + } + + 31.5% { + -webkit-transform: translateX(-3px) rotateY(-5deg); + transform: translateX(-3px) rotateY(-5deg); + } + + 43.5% { + -webkit-transform: translateX(2px) rotateY(3deg); + transform: translateX(2px) rotateY(3deg); + } + + 50% { + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +@keyframes headShake { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 6.5% { + -webkit-transform: translateX(-6px) rotateY(-9deg); + transform: translateX(-6px) rotateY(-9deg); + } + + 18.5% { + -webkit-transform: translateX(5px) rotateY(7deg); + transform: translateX(5px) rotateY(7deg); + } + + 31.5% { + -webkit-transform: translateX(-3px) rotateY(-5deg); + transform: translateX(-3px) rotateY(-5deg); + } + + 43.5% { + -webkit-transform: translateX(2px) rotateY(3deg); + transform: translateX(2px) rotateY(3deg); + } + + 50% { + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +.headShake { + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + -webkit-animation-name: headShake; + animation-name: headShake; +} + +@-webkit-keyframes swing { + 20% { + -webkit-transform: rotate3d(0, 0, 1, 15deg); + transform: rotate3d(0, 0, 1, 15deg); + } + + 40% { + -webkit-transform: rotate3d(0, 0, 1, -10deg); + transform: rotate3d(0, 0, 1, -10deg); + } + + 60% { + -webkit-transform: rotate3d(0, 0, 1, 5deg); + transform: rotate3d(0, 0, 1, 5deg); + } + + 80% { + -webkit-transform: rotate3d(0, 0, 1, -5deg); + transform: rotate3d(0, 0, 1, -5deg); + } + + to { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } +} + +@keyframes swing { + 20% { + -webkit-transform: rotate3d(0, 0, 1, 15deg); + transform: rotate3d(0, 0, 1, 15deg); + } + + 40% { + -webkit-transform: rotate3d(0, 0, 1, -10deg); + transform: rotate3d(0, 0, 1, -10deg); + } + + 60% { + -webkit-transform: rotate3d(0, 0, 1, 5deg); + transform: rotate3d(0, 0, 1, 5deg); + } + + 80% { + -webkit-transform: rotate3d(0, 0, 1, -5deg); + transform: rotate3d(0, 0, 1, -5deg); + } + + to { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } +} + +.swing { + -webkit-transform-origin: top center; + transform-origin: top center; + -webkit-animation-name: swing; + animation-name: swing; +} + +@-webkit-keyframes tada { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 10%, 20% { + -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + } + + 30%, 50%, 70%, 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + } + + 40%, 60%, 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes tada { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 10%, 20% { + -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + } + + 30%, 50%, 70%, 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + } + + 40%, 60%, 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.tada { + -webkit-animation-name: tada; + animation-name: tada; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes wobble { + from { + -webkit-transform: none; + transform: none; + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + } + + to { + -webkit-transform: none; + transform: none; + } +} + +@keyframes wobble { + from { + -webkit-transform: none; + transform: none; + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + } + + to { + -webkit-transform: none; + transform: none; + } +} + +.wobble { + -webkit-animation-name: wobble; + animation-name: wobble; +} + +@-webkit-keyframes jello { + from, 11.1%, to { + -webkit-transform: none; + transform: none; + } + + 22.2% { + -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); + transform: skewX(-12.5deg) skewY(-12.5deg); + } + + 33.3% { + -webkit-transform: skewX(6.25deg) skewY(6.25deg); + transform: skewX(6.25deg) skewY(6.25deg); + } + + 44.4% { + -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); + transform: skewX(-3.125deg) skewY(-3.125deg); + } + + 55.5% { + -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); + transform: skewX(1.5625deg) skewY(1.5625deg); + } + + 66.6% { + -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); + transform: skewX(-0.78125deg) skewY(-0.78125deg); + } + + 77.7% { + -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); + transform: skewX(0.390625deg) skewY(0.390625deg); + } + + 88.8% { + -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + } +} + +@keyframes jello { + from, 11.1%, to { + -webkit-transform: none; + transform: none; + } + + 22.2% { + -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); + transform: skewX(-12.5deg) skewY(-12.5deg); + } + + 33.3% { + -webkit-transform: skewX(6.25deg) skewY(6.25deg); + transform: skewX(6.25deg) skewY(6.25deg); + } + + 44.4% { + -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); + transform: skewX(-3.125deg) skewY(-3.125deg); + } + + 55.5% { + -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); + transform: skewX(1.5625deg) skewY(1.5625deg); + } + + 66.6% { + -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); + transform: skewX(-0.78125deg) skewY(-0.78125deg); + } + + 77.7% { + -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); + transform: skewX(0.390625deg) skewY(0.390625deg); + } + + 88.8% { + -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + } +} + +.jello { + -webkit-animation-name: jello; + animation-name: jello; + -webkit-transform-origin: center; + transform-origin: center; +} + +@-webkit-keyframes bounceIn { + from, 20%, 40%, 60%, 80%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + -webkit-transform: scale3d(.97, .97, .97); + transform: scale3d(.97, .97, .97); + } + + to { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes bounceIn { + from, 20%, 40%, 60%, 80%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + -webkit-transform: scale3d(.97, .97, .97); + transform: scale3d(.97, .97, .97); + } + + to { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.bounceIn { + -webkit-animation-name: bounceIn; + animation-name: bounceIn; +} + +@-webkit-keyframes bounceInDown { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -3000px, 0); + transform: translate3d(0, -3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + transform: translate3d(0, 25px, 0); + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + } + + to { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInDown { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -3000px, 0); + transform: translate3d(0, -3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + transform: translate3d(0, 25px, 0); + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + } + + to { + -webkit-transform: none; + transform: none; + } +} + +.bounceInDown { + -webkit-animation-name: bounceInDown; + animation-name: bounceInDown; +} + +@-webkit-keyframes bounceInLeft { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(-3000px, 0, 0); + transform: translate3d(-3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + transform: translate3d(25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0); + } + + to { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInLeft { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(-3000px, 0, 0); + transform: translate3d(-3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + transform: translate3d(25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0); + } + + to { + -webkit-transform: none; + transform: none; + } +} + +.bounceInLeft { + -webkit-animation-name: bounceInLeft; + animation-name: bounceInLeft; +} + +@-webkit-keyframes bounceInRight { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + from { + opacity: 0; + -webkit-transform: translate3d(3000px, 0, 0); + transform: translate3d(3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0); + } + + to { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInRight { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + from { + opacity: 0; + -webkit-transform: translate3d(3000px, 0, 0); + transform: translate3d(3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0); + } + + to { + -webkit-transform: none; + transform: none; + } +} + +.bounceInRight { + -webkit-animation-name: bounceInRight; + animation-name: bounceInRight; +} + +@-webkit-keyframes bounceInUp { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + from { + opacity: 0; + -webkit-transform: translate3d(0, 3000px, 0); + transform: translate3d(0, 3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes bounceInUp { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + from { + opacity: 0; + -webkit-transform: translate3d(0, 3000px, 0); + transform: translate3d(0, 3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.bounceInUp { + -webkit-animation-name: bounceInUp; + animation-name: bounceInUp; +} + +@-webkit-keyframes bounceOut { + 20% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 50%, 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + to { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } +} + +@keyframes bounceOut { + 20% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 50%, 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + to { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } +} + +.bounceOut { + -webkit-animation-name: bounceOut; + animation-name: bounceOut; +} + +@-webkit-keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +.bounceOutDown { + -webkit-animation-name: bounceOutDown; + animation-name: bounceOutDown; +} + +@-webkit-keyframes bounceOutLeft { + 20% { + opacity: 1; + -webkit-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes bounceOutLeft { + 20% { + opacity: 1; + -webkit-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +.bounceOutLeft { + -webkit-animation-name: bounceOutLeft; + animation-name: bounceOutLeft; +} + +@-webkit-keyframes bounceOutRight { + 20% { + opacity: 1; + -webkit-transform: translate3d(-20px, 0, 0); + transform: translate3d(-20px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes bounceOutRight { + 20% { + opacity: 1; + -webkit-transform: translate3d(-20px, 0, 0); + transform: translate3d(-20px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +.bounceOutRight { + -webkit-animation-name: bounceOutRight; + animation-name: bounceOutRight; +} + +@-webkit-keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +.bounceOutUp { + -webkit-animation-name: bounceOutUp; + animation-name: bounceOutUp; +} + +@-webkit-keyframes fadeIn { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +@keyframes fadeIn { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +.fadeIn { + -webkit-animation-name: fadeIn; + animation-name: fadeIn; +} + +@-webkit-keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; +} + +@-webkit-keyframes fadeInDownBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInDownBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInDownBig { + -webkit-animation-name: fadeInDownBig; + animation-name: fadeInDownBig; +} + +@-webkit-keyframes fadeInLeft { + from { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInLeft { + from { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInLeft { + -webkit-animation-name: fadeInLeft; + animation-name: fadeInLeft; +} + +@-webkit-keyframes fadeInLeftBig { + from { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInLeftBig { + from { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInLeftBig { + -webkit-animation-name: fadeInLeftBig; + animation-name: fadeInLeftBig; +} + +@-webkit-keyframes fadeInRight { + from { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInRight { + from { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInRight { + -webkit-animation-name: fadeInRight; + animation-name: fadeInRight; +} + +@-webkit-keyframes fadeInRightBig { + from { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInRightBig { + from { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInRightBig { + -webkit-animation-name: fadeInRightBig; + animation-name: fadeInRightBig; +} + +@-webkit-keyframes fadeInUp { + from { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInUp { + from { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInUp { + -webkit-animation-name: fadeInUp; + animation-name: fadeInUp; +} + +@-webkit-keyframes fadeInUpBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInUpBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInUpBig { + -webkit-animation-name: fadeInUpBig; + animation-name: fadeInUpBig; +} + +@-webkit-keyframes fadeOut { + from { + opacity: 1; + } + + to { + opacity: 0; + } +} + +@keyframes fadeOut { + from { + opacity: 1; + } + + to { + opacity: 0; + } +} + +.fadeOut { + -webkit-animation-name: fadeOut; + animation-name: fadeOut; +} + +@-webkit-keyframes fadeOutDown { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@keyframes fadeOutDown { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +.fadeOutDown { + -webkit-animation-name: fadeOutDown; + animation-name: fadeOutDown; +} + +@-webkit-keyframes fadeOutDownBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes fadeOutDownBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +.fadeOutDownBig { + -webkit-animation-name: fadeOutDownBig; + animation-name: fadeOutDownBig; +} + +@-webkit-keyframes fadeOutLeft { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +@keyframes fadeOutLeft { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +.fadeOutLeft { + -webkit-animation-name: fadeOutLeft; + animation-name: fadeOutLeft; +} + +@-webkit-keyframes fadeOutLeftBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes fadeOutLeftBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +.fadeOutLeftBig { + -webkit-animation-name: fadeOutLeftBig; + animation-name: fadeOutLeftBig; +} + +@-webkit-keyframes fadeOutRight { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +@keyframes fadeOutRight { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +.fadeOutRight { + -webkit-animation-name: fadeOutRight; + animation-name: fadeOutRight; +} + +@-webkit-keyframes fadeOutRightBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes fadeOutRightBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +.fadeOutRightBig { + -webkit-animation-name: fadeOutRightBig; + animation-name: fadeOutRightBig; +} + +@-webkit-keyframes fadeOutUp { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@keyframes fadeOutUp { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; +} + +@-webkit-keyframes fadeOutUpBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes fadeOutUpBig { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +.fadeOutUpBig { + -webkit-animation-name: fadeOutUpBig; + animation-name: fadeOutUpBig; +} + +@-webkit-keyframes flip { + from { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) scale3d(.95, .95, .95); + transform: perspective(400px) scale3d(.95, .95, .95); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +@keyframes flip { + from { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) scale3d(.95, .95, .95); + transform: perspective(400px) scale3d(.95, .95, .95); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +.animated.flip { + -webkit-backface-visibility: visible; + backface-visibility: visible; + -webkit-animation-name: flip; + animation-name: flip; +} + +@-webkit-keyframes flipInX { + from { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@keyframes flipInX { + from { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +.flipInX { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInX; + animation-name: flipInX; +} + +/************************************/ + +.animated.flipOutXX, +.animated.flipInXX, +.animated.flipInYY, +.animated.flipOutYY +{ + -webkit-animation-duration: .30s !important; + animation-duration: .30s !important; +} + +@-webkit-keyframes flipInXX { + from { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 270deg); + transform: perspective(400px) rotate3d(1, 0, 0, 270deg); + -webkit-animation-timing-function: linear; + animation-timing-function: linear; + opacity: 0; + } + to { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 360deg); + transform: perspective(400px) rotate3d(1, 0, 0, 360deg); + } +} + +@keyframes flipInXX { + from { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 270deg); + transform: perspective(400px) rotate3d(1, 0, 0, 270deg); + -webkit-animation-timing-function: linear; + animation-timing-function: linear; + opacity: 0; + } + to { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 360deg); + transform: perspective(400px) rotate3d(1, 0, 0, 360deg); + } +} + +.flipInXX { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInXX; + animation-name: flipInXX; +} + +@-webkit-keyframes flipOutXX { + from { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 0deg); + transform: perspective(400px) rotate3d(1, 0, 0, 0deg); + -webkit-animation-timing-function: linear; + animation-timing-function: linear; + } + to { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutXX { + from { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 0deg); + transform: perspective(400px) rotate3d(1, 0, 0, 0deg); + -webkit-animation-timing-function: linear; + animation-timing-function: linear; + } + to { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +.flipOutXX { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipOutXX; + animation-name: flipOutXX; +} + + +@-webkit-keyframes flipInYY { + from { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + opacity: 0; + } + to { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 360deg); + transform: perspective(400px) rotate3d(0, 1, 0, 360deg); + } +} + +@keyframes flipInYY { + from { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 270deg); + transform: perspective(400px) rotate3d(0, 1, 0, 270deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + opacity: 0; + } + to { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 360deg); + transform: perspective(400px) rotate3d(0, 1, 0, 360deg); + } +} + +.flipInYY { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInYY; + animation-name: flipInYY; +} + + +@-webkit-keyframes flipOutYY { + from { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 0deg); + transform: perspective(400px) rotate3d(0, 1, 0, 0deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + to { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutYY { + from { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 0deg); + transform: perspective(400px) rotate3d(0, 1, 0, 0deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + to { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +.flipOutYY { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipOutYY; + animation-name: flipOutYY; +} + + + + + + + + + + +/**************************************/ + +@-webkit-keyframes flipInY { + from { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@keyframes flipInY { + from { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +.flipInY { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInY; + animation-name: flipInY; +} + +@-webkit-keyframes flipOutX { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + + to { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutX { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + + to { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +.flipOutX { + -webkit-animation-name: flipOutX; + animation-name: flipOutX; + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; +} + +@-webkit-keyframes flipOutY { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + + to { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutY { + from { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + + to { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +.flipOutY { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipOutY; + animation-name: flipOutY; +} + +@-webkit-keyframes lightSpeedIn { + from { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: skewX(20deg); + transform: skewX(20deg); + opacity: 1; + } + + 80% { + -webkit-transform: skewX(-5deg); + transform: skewX(-5deg); + opacity: 1; + } + + to { + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes lightSpeedIn { + from { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: skewX(20deg); + transform: skewX(20deg); + opacity: 1; + } + + 80% { + -webkit-transform: skewX(-5deg); + transform: skewX(-5deg); + opacity: 1; + } + + to { + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.lightSpeedIn { + -webkit-animation-name: lightSpeedIn; + animation-name: lightSpeedIn; + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; +} + +@-webkit-keyframes lightSpeedOut { + from { + opacity: 1; + } + + to { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + } +} + +@keyframes lightSpeedOut { + from { + opacity: 1; + } + + to { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + } +} + +.lightSpeedOut { + -webkit-animation-name: lightSpeedOut; + animation-name: lightSpeedOut; + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; +} + +@-webkit-keyframes rotateIn { + from { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, -200deg); + transform: rotate3d(0, 0, 1, -200deg); + opacity: 0; + } + + to { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateIn { + from { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, -200deg); + transform: rotate3d(0, 0, 1, -200deg); + opacity: 0; + } + + to { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateIn { + -webkit-animation-name: rotateIn; + animation-name: rotateIn; +} + +@-webkit-keyframes rotateInDownLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInDownLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInDownLeft { + -webkit-animation-name: rotateInDownLeft; + animation-name: rotateInDownLeft; +} + +@-webkit-keyframes rotateInDownRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInDownRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInDownRight { + -webkit-animation-name: rotateInDownRight; + animation-name: rotateInDownRight; +} + +@-webkit-keyframes rotateInUpLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInUpLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInUpLeft { + -webkit-animation-name: rotateInUpLeft; + animation-name: rotateInUpLeft; +} + +@-webkit-keyframes rotateInUpRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -90deg); + transform: rotate3d(0, 0, 1, -90deg); + opacity: 0; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInUpRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -90deg); + transform: rotate3d(0, 0, 1, -90deg); + opacity: 0; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInUpRight { + -webkit-animation-name: rotateInUpRight; + animation-name: rotateInUpRight; +} + +@-webkit-keyframes rotateOut { + from { + -webkit-transform-origin: center; + transform-origin: center; + opacity: 1; + } + + to { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, 200deg); + transform: rotate3d(0, 0, 1, 200deg); + opacity: 0; + } +} + +@keyframes rotateOut { + from { + -webkit-transform-origin: center; + transform-origin: center; + opacity: 1; + } + + to { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, 200deg); + transform: rotate3d(0, 0, 1, 200deg); + opacity: 0; + } +} + +.rotateOut { + -webkit-animation-name: rotateOut; + animation-name: rotateOut; +} + +@-webkit-keyframes rotateOutDownLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } +} + +@keyframes rotateOutDownLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } +} + +.rotateOutDownLeft { + -webkit-animation-name: rotateOutDownLeft; + animation-name: rotateOutDownLeft; +} + +@-webkit-keyframes rotateOutDownRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +@keyframes rotateOutDownRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +.rotateOutDownRight { + -webkit-animation-name: rotateOutDownRight; + animation-name: rotateOutDownRight; +} + +@-webkit-keyframes rotateOutUpLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +@keyframes rotateOutUpLeft { + from { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +.rotateOutUpLeft { + -webkit-animation-name: rotateOutUpLeft; + animation-name: rotateOutUpLeft; +} + +@-webkit-keyframes rotateOutUpRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 90deg); + transform: rotate3d(0, 0, 1, 90deg); + opacity: 0; + } +} + +@keyframes rotateOutUpRight { + from { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 90deg); + transform: rotate3d(0, 0, 1, 90deg); + opacity: 0; + } +} + +.rotateOutUpRight { + -webkit-animation-name: rotateOutUpRight; + animation-name: rotateOutUpRight; +} + +@-webkit-keyframes hinge { + 0% { + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, 60% { + -webkit-transform: rotate3d(0, 0, 1, 80deg); + transform: rotate3d(0, 0, 1, 80deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40%, 80% { + -webkit-transform: rotate3d(0, 0, 1, 60deg); + transform: rotate3d(0, 0, 1, 60deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + opacity: 1; + } + + to { + -webkit-transform: translate3d(0, 700px, 0); + transform: translate3d(0, 700px, 0); + opacity: 0; + } +} + +@keyframes hinge { + 0% { + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, 60% { + -webkit-transform: rotate3d(0, 0, 1, 80deg); + transform: rotate3d(0, 0, 1, 80deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40%, 80% { + -webkit-transform: rotate3d(0, 0, 1, 60deg); + transform: rotate3d(0, 0, 1, 60deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + opacity: 1; + } + + to { + -webkit-transform: translate3d(0, 700px, 0); + transform: translate3d(0, 700px, 0); + opacity: 0; + } +} + +.hinge { + -webkit-animation-name: hinge; + animation-name: hinge; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollIn { + from { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes rollIn { + from { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.rollIn { + -webkit-animation-name: rollIn; + animation-name: rollIn; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollOut { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + } +} + +@keyframes rollOut { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + } +} + +.rollOut { + -webkit-animation-name: rollOut; + animation-name: rollOut; +} + +@-webkit-keyframes zoomIn { + from { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 50% { + opacity: 1; + } +} + +@keyframes zoomIn { + from { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 50% { + opacity: 1; + } +} + +.zoomIn { + -webkit-animation-name: zoomIn; + animation-name: zoomIn; +} + +@-webkit-keyframes zoomInDown { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInDown { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInDown { + -webkit-animation-name: zoomInDown; + animation-name: zoomInDown; +} + +@-webkit-keyframes zoomInLeft { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInLeft { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInLeft { + -webkit-animation-name: zoomInLeft; + animation-name: zoomInLeft; +} + +@-webkit-keyframes zoomInRight { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInRight { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInRight { + -webkit-animation-name: zoomInRight; + animation-name: zoomInRight; +} + +@-webkit-keyframes zoomInUp { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInUp { + from { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInUp { + -webkit-animation-name: zoomInUp; + animation-name: zoomInUp; +} + +@-webkit-keyframes zoomOut { + from { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + to { + opacity: 0; + } +} + +@keyframes zoomOut { + from { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + to { + opacity: 0; + } +} + +.zoomOut { + -webkit-animation-name: zoomOut; + animation-name: zoomOut; +} + +@-webkit-keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + to { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + to { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomOutDown { + -webkit-animation-name: zoomOutDown; + animation-name: zoomOutDown; +} + +@-webkit-keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); + transform: scale(.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + transform-origin: left center; + } +} + +@keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); + transform: scale(.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + transform-origin: left center; + } +} + +.zoomOutLeft { + -webkit-animation-name: zoomOutLeft; + animation-name: zoomOutLeft; +} + +@-webkit-keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(.1) translate3d(2000px, 0, 0); + transform: scale(.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + transform-origin: right center; + } +} + +@keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(.1) translate3d(2000px, 0, 0); + transform: scale(.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + transform-origin: right center; + } +} + +.zoomOutRight { + -webkit-animation-name: zoomOutRight; + animation-name: zoomOutRight; +} + +@-webkit-keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + to { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + to { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomOutUp { + -webkit-animation-name: zoomOutUp; + animation-name: zoomOutUp; +} + +@-webkit-keyframes slideInDown { + from { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInDown { + from { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInDown { + -webkit-animation-name: slideInDown; + animation-name: slideInDown; +} + +@-webkit-keyframes slideInLeft { + from { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInLeft { + from { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInLeft { + -webkit-animation-name: slideInLeft; + animation-name: slideInLeft; +} + +@-webkit-keyframes slideInRight { + from { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInRight { + from { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInRight { + -webkit-animation-name: slideInRight; + animation-name: slideInRight; +} + +@-webkit-keyframes slideInUp { + from { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes slideInUp { + from { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + visibility: visible; + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.slideInUp { + -webkit-animation-name: slideInUp; + animation-name: slideInUp; +} + +@-webkit-keyframes slideOutDown { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@keyframes slideOutDown { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +.slideOutDown { + -webkit-animation-name: slideOutDown; + animation-name: slideOutDown; +} + +@-webkit-keyframes slideOutLeft { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +@keyframes slideOutLeft { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +.slideOutLeft { + -webkit-animation-name: slideOutLeft; + animation-name: slideOutLeft; +} + +@-webkit-keyframes slideOutRight { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +@keyframes slideOutRight { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +.slideOutRight { + -webkit-animation-name: slideOutRight; + animation-name: slideOutRight; +} + +@-webkit-keyframes slideOutUp { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@keyframes slideOutUp { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +.slideOutUp { + -webkit-animation-name: slideOutUp; + animation-name: slideOutUp; +} diff --git a/games/ovo/1.4.4/astronaut.png b/games/ovo/1.4.4/astronaut.png new file mode 100644 index 00000000..9cf78824 Binary files /dev/null and b/games/ovo/1.4.4/astronaut.png differ diff --git a/games/ovo/1.4.4/batter.png b/games/ovo/1.4.4/batter.png new file mode 100644 index 00000000..79a64290 Binary files /dev/null and b/games/ovo/1.4.4/batter.png differ diff --git a/games/ovo/1.4.4/brazilian.png b/games/ovo/1.4.4/brazilian.png new file mode 100644 index 00000000..cd9ae8ca Binary files /dev/null and b/games/ovo/1.4.4/brazilian.png differ diff --git a/games/ovo/1.4.4/c2runtime.js b/games/ovo/1.4.4/c2runtime.js new file mode 100644 index 00000000..279a324c --- /dev/null +++ b/games/ovo/1.4.4/c2runtime.js @@ -0,0 +1,49750 @@ +// Generated by Construct 2, the HTML5 game and app creator :: https://www.construct.net +var cr = {}; +cr.plugins_ = {}; +cr.behaviors = {}; +if (typeof Object.getPrototypeOf !== "function") +{ + if (typeof "test".__proto__ === "object") + { + Object.getPrototypeOf = function(object) { + return object.__proto__; + }; + } + else + { + Object.getPrototypeOf = function(object) { + return object.constructor.prototype; + }; + } +} +(function(){ + cr.logexport = function (msg) + { + if (window.console && window.console.log) + window.console.log(msg); + }; + cr.logerror = function (msg) + { + if (window.console && window.console.error) + window.console.error(msg); + }; + cr.seal = function(x) + { + return x; + }; + cr.freeze = function(x) + { + return x; + }; + cr.is_undefined = function (x) + { + return typeof x === "undefined"; + }; + cr.is_number = function (x) + { + return typeof x === "number"; + }; + cr.is_string = function (x) + { + return typeof x === "string"; + }; + cr.isPOT = function (x) + { + return x > 0 && ((x - 1) & x) === 0; + }; + cr.nextHighestPowerOfTwo = function(x) { + --x; + for (var i = 1; i < 32; i <<= 1) { + x = x | x >> i; + } + return x + 1; + } + cr.abs = function (x) + { + return (x < 0 ? -x : x); + }; + cr.max = function (a, b) + { + return (a > b ? a : b); + }; + cr.min = function (a, b) + { + return (a < b ? a : b); + }; + cr.PI = Math.PI; + cr.round = function (x) + { + return (x + 0.5) | 0; + }; + cr.floor = function (x) + { + if (x >= 0) + return x | 0; + else + return (x | 0) - 1; // correctly round down when negative + }; + cr.ceil = function (x) + { + var f = x | 0; + return (f === x ? f : f + 1); + }; + function Vector2(x, y) + { + this.x = x; + this.y = y; + cr.seal(this); + }; + Vector2.prototype.offset = function (px, py) + { + this.x += px; + this.y += py; + return this; + }; + Vector2.prototype.mul = function (px, py) + { + this.x *= px; + this.y *= py; + return this; + }; + cr.vector2 = Vector2; + cr.segments_intersect = function(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y) + { + var max_ax, min_ax, max_ay, min_ay, max_bx, min_bx, max_by, min_by; + if (a1x < a2x) + { + min_ax = a1x; + max_ax = a2x; + } + else + { + min_ax = a2x; + max_ax = a1x; + } + if (b1x < b2x) + { + min_bx = b1x; + max_bx = b2x; + } + else + { + min_bx = b2x; + max_bx = b1x; + } + if (max_ax < min_bx || min_ax > max_bx) + return false; + if (a1y < a2y) + { + min_ay = a1y; + max_ay = a2y; + } + else + { + min_ay = a2y; + max_ay = a1y; + } + if (b1y < b2y) + { + min_by = b1y; + max_by = b2y; + } + else + { + min_by = b2y; + max_by = b1y; + } + if (max_ay < min_by || min_ay > max_by) + return false; + var dpx = b1x - a1x + b2x - a2x; + var dpy = b1y - a1y + b2y - a2y; + var qax = a2x - a1x; + var qay = a2y - a1y; + var qbx = b2x - b1x; + var qby = b2y - b1y; + var d = cr.abs(qay * qbx - qby * qax); + var la = qbx * dpy - qby * dpx; + if (cr.abs(la) > d) + return false; + var lb = qax * dpy - qay * dpx; + return cr.abs(lb) <= d; + }; + function Rect(left, top, right, bottom) + { + this.set(left, top, right, bottom); + cr.seal(this); + }; + Rect.prototype.set = function (left, top, right, bottom) + { + this.left = left; + this.top = top; + this.right = right; + this.bottom = bottom; + }; + Rect.prototype.copy = function (r) + { + this.left = r.left; + this.top = r.top; + this.right = r.right; + this.bottom = r.bottom; + }; + Rect.prototype.width = function () + { + return this.right - this.left; + }; + Rect.prototype.height = function () + { + return this.bottom - this.top; + }; + Rect.prototype.offset = function (px, py) + { + this.left += px; + this.top += py; + this.right += px; + this.bottom += py; + return this; + }; + Rect.prototype.normalize = function () + { + var temp = 0; + if (this.left > this.right) + { + temp = this.left; + this.left = this.right; + this.right = temp; + } + if (this.top > this.bottom) + { + temp = this.top; + this.top = this.bottom; + this.bottom = temp; + } + }; + Rect.prototype.intersects_rect = function (rc) + { + return !(rc.right < this.left || rc.bottom < this.top || rc.left > this.right || rc.top > this.bottom); + }; + Rect.prototype.intersects_rect_off = function (rc, ox, oy) + { + return !(rc.right + ox < this.left || rc.bottom + oy < this.top || rc.left + ox > this.right || rc.top + oy > this.bottom); + }; + Rect.prototype.contains_pt = function (x, y) + { + return (x >= this.left && x <= this.right) && (y >= this.top && y <= this.bottom); + }; + Rect.prototype.equals = function (r) + { + return this.left === r.left && this.top === r.top && this.right === r.right && this.bottom === r.bottom; + }; + cr.rect = Rect; + function Quad() + { + this.tlx = 0; + this.tly = 0; + this.trx = 0; + this.try_ = 0; // is a keyword otherwise! + this.brx = 0; + this.bry = 0; + this.blx = 0; + this.bly = 0; + cr.seal(this); + }; + Quad.prototype.set_from_rect = function (rc) + { + this.tlx = rc.left; + this.tly = rc.top; + this.trx = rc.right; + this.try_ = rc.top; + this.brx = rc.right; + this.bry = rc.bottom; + this.blx = rc.left; + this.bly = rc.bottom; + }; + Quad.prototype.set_from_rotated_rect = function (rc, a) + { + if (a === 0) + { + this.set_from_rect(rc); + } + else + { + var sin_a = Math.sin(a); + var cos_a = Math.cos(a); + var left_sin_a = rc.left * sin_a; + var top_sin_a = rc.top * sin_a; + var right_sin_a = rc.right * sin_a; + var bottom_sin_a = rc.bottom * sin_a; + var left_cos_a = rc.left * cos_a; + var top_cos_a = rc.top * cos_a; + var right_cos_a = rc.right * cos_a; + var bottom_cos_a = rc.bottom * cos_a; + this.tlx = left_cos_a - top_sin_a; + this.tly = top_cos_a + left_sin_a; + this.trx = right_cos_a - top_sin_a; + this.try_ = top_cos_a + right_sin_a; + this.brx = right_cos_a - bottom_sin_a; + this.bry = bottom_cos_a + right_sin_a; + this.blx = left_cos_a - bottom_sin_a; + this.bly = bottom_cos_a + left_sin_a; + } + }; + Quad.prototype.offset = function (px, py) + { + this.tlx += px; + this.tly += py; + this.trx += px; + this.try_ += py; + this.brx += px; + this.bry += py; + this.blx += px; + this.bly += py; + return this; + }; + var minresult = 0; + var maxresult = 0; + function minmax4(a, b, c, d) + { + if (a < b) + { + if (c < d) + { + if (a < c) + minresult = a; + else + minresult = c; + if (b > d) + maxresult = b; + else + maxresult = d; + } + else + { + if (a < d) + minresult = a; + else + minresult = d; + if (b > c) + maxresult = b; + else + maxresult = c; + } + } + else + { + if (c < d) + { + if (b < c) + minresult = b; + else + minresult = c; + if (a > d) + maxresult = a; + else + maxresult = d; + } + else + { + if (b < d) + minresult = b; + else + minresult = d; + if (a > c) + maxresult = a; + else + maxresult = c; + } + } + }; + Quad.prototype.bounding_box = function (rc) + { + minmax4(this.tlx, this.trx, this.brx, this.blx); + rc.left = minresult; + rc.right = maxresult; + minmax4(this.tly, this.try_, this.bry, this.bly); + rc.top = minresult; + rc.bottom = maxresult; + }; + Quad.prototype.contains_pt = function (x, y) + { + var tlx = this.tlx; + var tly = this.tly; + var v0x = this.trx - tlx; + var v0y = this.try_ - tly; + var v1x = this.brx - tlx; + var v1y = this.bry - tly; + var v2x = x - tlx; + var v2y = y - tly; + var dot00 = v0x * v0x + v0y * v0y + var dot01 = v0x * v1x + v0y * v1y + var dot02 = v0x * v2x + v0y * v2y + var dot11 = v1x * v1x + v1y * v1y + var dot12 = v1x * v2x + v1y * v2y + var invDenom = 1.0 / (dot00 * dot11 - dot01 * dot01); + var u = (dot11 * dot02 - dot01 * dot12) * invDenom; + var v = (dot00 * dot12 - dot01 * dot02) * invDenom; + if ((u >= 0.0) && (v > 0.0) && (u + v < 1)) + return true; + v0x = this.blx - tlx; + v0y = this.bly - tly; + var dot00 = v0x * v0x + v0y * v0y + var dot01 = v0x * v1x + v0y * v1y + var dot02 = v0x * v2x + v0y * v2y + invDenom = 1.0 / (dot00 * dot11 - dot01 * dot01); + u = (dot11 * dot02 - dot01 * dot12) * invDenom; + v = (dot00 * dot12 - dot01 * dot02) * invDenom; + return (u >= 0.0) && (v > 0.0) && (u + v < 1); + }; + Quad.prototype.at = function (i, xory) + { + if (xory) + { + switch (i) + { + case 0: return this.tlx; + case 1: return this.trx; + case 2: return this.brx; + case 3: return this.blx; + case 4: return this.tlx; + default: return this.tlx; + } + } + else + { + switch (i) + { + case 0: return this.tly; + case 1: return this.try_; + case 2: return this.bry; + case 3: return this.bly; + case 4: return this.tly; + default: return this.tly; + } + } + }; + Quad.prototype.midX = function () + { + return (this.tlx + this.trx + this.brx + this.blx) / 4; + }; + Quad.prototype.midY = function () + { + return (this.tly + this.try_ + this.bry + this.bly) / 4; + }; + Quad.prototype.intersects_segment = function (x1, y1, x2, y2) + { + if (this.contains_pt(x1, y1) || this.contains_pt(x2, y2)) + return true; + var a1x, a1y, a2x, a2y; + var i; + for (i = 0; i < 4; i++) + { + a1x = this.at(i, true); + a1y = this.at(i, false); + a2x = this.at(i + 1, true); + a2y = this.at(i + 1, false); + if (cr.segments_intersect(x1, y1, x2, y2, a1x, a1y, a2x, a2y)) + return true; + } + return false; + }; + Quad.prototype.intersects_quad = function (rhs) + { + var midx = rhs.midX(); + var midy = rhs.midY(); + if (this.contains_pt(midx, midy)) + return true; + midx = this.midX(); + midy = this.midY(); + if (rhs.contains_pt(midx, midy)) + return true; + var a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y; + var i, j; + for (i = 0; i < 4; i++) + { + for (j = 0; j < 4; j++) + { + a1x = this.at(i, true); + a1y = this.at(i, false); + a2x = this.at(i + 1, true); + a2y = this.at(i + 1, false); + b1x = rhs.at(j, true); + b1y = rhs.at(j, false); + b2x = rhs.at(j + 1, true); + b2y = rhs.at(j + 1, false); + if (cr.segments_intersect(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y)) + return true; + } + } + return false; + }; + cr.quad = Quad; + cr.RGB = function (red, green, blue) + { + return Math.max(Math.min(red, 255), 0) + | (Math.max(Math.min(green, 255), 0) << 8) + | (Math.max(Math.min(blue, 255), 0) << 16); + }; + cr.GetRValue = function (rgb) + { + return rgb & 0xFF; + }; + cr.GetGValue = function (rgb) + { + return (rgb & 0xFF00) >> 8; + }; + cr.GetBValue = function (rgb) + { + return (rgb & 0xFF0000) >> 16; + }; + cr.shallowCopy = function (a, b, allowOverwrite) + { + var attr; + for (attr in b) + { + if (b.hasOwnProperty(attr)) + { +; + a[attr] = b[attr]; + } + } + return a; + }; + cr.arrayRemove = function (arr, index) + { + var i, len; + index = cr.floor(index); + if (index < 0 || index >= arr.length) + return; // index out of bounds + for (i = index, len = arr.length - 1; i < len; i++) + arr[i] = arr[i + 1]; + cr.truncateArray(arr, len); + }; + cr.truncateArray = function (arr, index) + { + arr.length = index; + }; + cr.clearArray = function (arr) + { + cr.truncateArray(arr, 0); + }; + cr.shallowAssignArray = function (dest, src) + { + cr.clearArray(dest); + var i, len; + for (i = 0, len = src.length; i < len; ++i) + dest[i] = src[i]; + }; + cr.appendArray = function (a, b) + { + a.push.apply(a, b); + }; + cr.fastIndexOf = function (arr, item) + { + var i, len; + for (i = 0, len = arr.length; i < len; ++i) + { + if (arr[i] === item) + return i; + } + return -1; + }; + cr.arrayFindRemove = function (arr, item) + { + var index = cr.fastIndexOf(arr, item); + if (index !== -1) + cr.arrayRemove(arr, index); + }; + cr.clamp = function(x, a, b) + { + if (x < a) + return a; + else if (x > b) + return b; + else + return x; + }; + cr.to_radians = function(x) + { + return x / (180.0 / cr.PI); + }; + cr.to_degrees = function(x) + { + return x * (180.0 / cr.PI); + }; + cr.clamp_angle_degrees = function (a) + { + a %= 360; // now in (-360, 360) range + if (a < 0) + a += 360; // now in [0, 360) range + return a; + }; + cr.clamp_angle = function (a) + { + a %= 2 * cr.PI; // now in (-2pi, 2pi) range + if (a < 0) + a += 2 * cr.PI; // now in [0, 2pi) range + return a; + }; + cr.to_clamped_degrees = function (x) + { + return cr.clamp_angle_degrees(cr.to_degrees(x)); + }; + cr.to_clamped_radians = function (x) + { + return cr.clamp_angle(cr.to_radians(x)); + }; + cr.angleTo = function(x1, y1, x2, y2) + { + var dx = x2 - x1; + var dy = y2 - y1; + return Math.atan2(dy, dx); + }; + cr.angleDiff = function (a1, a2) + { + if (a1 === a2) + return 0; + var s1 = Math.sin(a1); + var c1 = Math.cos(a1); + var s2 = Math.sin(a2); + var c2 = Math.cos(a2); + var n = s1 * s2 + c1 * c2; + if (n >= 1) + return 0; + if (n <= -1) + return cr.PI; + return Math.acos(n); + }; + cr.angleRotate = function (start, end, step) + { + var ss = Math.sin(start); + var cs = Math.cos(start); + var se = Math.sin(end); + var ce = Math.cos(end); + if (Math.acos(ss * se + cs * ce) > step) + { + if (cs * se - ss * ce > 0) + return cr.clamp_angle(start + step); + else + return cr.clamp_angle(start - step); + } + else + return cr.clamp_angle(end); + }; + cr.angleClockwise = function (a1, a2) + { + var s1 = Math.sin(a1); + var c1 = Math.cos(a1); + var s2 = Math.sin(a2); + var c2 = Math.cos(a2); + return c1 * s2 - s1 * c2 <= 0; + }; + cr.rotatePtAround = function (px, py, a, ox, oy, getx) + { + if (a === 0) + return getx ? px : py; + var sin_a = Math.sin(a); + var cos_a = Math.cos(a); + px -= ox; + py -= oy; + var left_sin_a = px * sin_a; + var top_sin_a = py * sin_a; + var left_cos_a = px * cos_a; + var top_cos_a = py * cos_a; + px = left_cos_a - top_sin_a; + py = top_cos_a + left_sin_a; + px += ox; + py += oy; + return getx ? px : py; + } + cr.distanceTo = function(x1, y1, x2, y2) + { + var dx = x2 - x1; + var dy = y2 - y1; + return Math.sqrt(dx*dx + dy*dy); + }; + cr.xor = function (x, y) + { + return !x !== !y; + }; + cr.lerp = function (a, b, x) + { + return a + (b - a) * x; + }; + cr.unlerp = function (a, b, c) + { + if (a === b) + return 0; // avoid divide by 0 + return (c - a) / (b - a); + }; + cr.anglelerp = function (a, b, x) + { + var diff = cr.angleDiff(a, b); + if (cr.angleClockwise(b, a)) + { + return a + diff * x; + } + else + { + return a - diff * x; + } + }; + cr.qarp = function (a, b, c, x) + { + return cr.lerp(cr.lerp(a, b, x), cr.lerp(b, c, x), x); + }; + cr.cubic = function (a, b, c, d, x) + { + return cr.lerp(cr.qarp(a, b, c, x), cr.qarp(b, c, d, x), x); + }; + cr.cosp = function (a, b, x) + { + return (a + b + (a - b) * Math.cos(x * Math.PI)) / 2; + }; + cr.hasAnyOwnProperty = function (o) + { + var p; + for (p in o) + { + if (o.hasOwnProperty(p)) + return true; + } + return false; + }; + cr.wipe = function (obj) + { + var p; + for (p in obj) + { + if (obj.hasOwnProperty(p)) + delete obj[p]; + } + }; + var startup_time = +(new Date()); + cr.performance_now = function() + { + if (typeof window["performance"] !== "undefined") + { + var winperf = window["performance"]; + if (typeof winperf.now !== "undefined") + return winperf.now(); + else if (typeof winperf["webkitNow"] !== "undefined") + return winperf["webkitNow"](); + else if (typeof winperf["mozNow"] !== "undefined") + return winperf["mozNow"](); + else if (typeof winperf["msNow"] !== "undefined") + return winperf["msNow"](); + } + return Date.now() - startup_time; + }; + var isChrome = false; + var isSafari = false; + var isiOS = false; + var isEjecta = false; + if (typeof window !== "undefined") // not c2 editor + { + isChrome = /chrome/i.test(navigator.userAgent) || /chromium/i.test(navigator.userAgent); + isSafari = !isChrome && /safari/i.test(navigator.userAgent); + isiOS = /(iphone|ipod|ipad)/i.test(navigator.userAgent); + isEjecta = window["c2ejecta"]; + } + var supports_set = ((!isSafari && !isEjecta && !isiOS) && (typeof Set !== "undefined" && typeof Set.prototype["forEach"] !== "undefined")); + function ObjectSet_() + { + this.s = null; + this.items = null; // lazy allocated (hopefully results in better GC performance) + this.item_count = 0; + if (supports_set) + { + this.s = new Set(); + } + this.values_cache = []; + this.cache_valid = true; + cr.seal(this); + }; + ObjectSet_.prototype.contains = function (x) + { + if (this.isEmpty()) + return false; + if (supports_set) + return this.s["has"](x); + else + return (this.items && this.items.hasOwnProperty(x)); + }; + ObjectSet_.prototype.add = function (x) + { + if (supports_set) + { + if (!this.s["has"](x)) + { + this.s["add"](x); + this.cache_valid = false; + } + } + else + { + var str = x.toString(); + var items = this.items; + if (!items) + { + this.items = {}; + this.items[str] = x; + this.item_count = 1; + this.cache_valid = false; + } + else if (!items.hasOwnProperty(str)) + { + items[str] = x; + this.item_count++; + this.cache_valid = false; + } + } + }; + ObjectSet_.prototype.remove = function (x) + { + if (this.isEmpty()) + return; + if (supports_set) + { + if (this.s["has"](x)) + { + this.s["delete"](x); + this.cache_valid = false; + } + } + else if (this.items) + { + var str = x.toString(); + var items = this.items; + if (items.hasOwnProperty(str)) + { + delete items[str]; + this.item_count--; + this.cache_valid = false; + } + } + }; + ObjectSet_.prototype.clear = function (/*wipe_*/) + { + if (this.isEmpty()) + return; + if (supports_set) + { + this.s["clear"](); // best! + } + else + { + this.items = null; // creates garbage; will lazy allocate on next add() + this.item_count = 0; + } + cr.clearArray(this.values_cache); + this.cache_valid = true; + }; + ObjectSet_.prototype.isEmpty = function () + { + return this.count() === 0; + }; + ObjectSet_.prototype.count = function () + { + if (supports_set) + return this.s["size"]; + else + return this.item_count; + }; + var current_arr = null; + var current_index = 0; + function set_append_to_arr(x) + { + current_arr[current_index++] = x; + }; + ObjectSet_.prototype.update_cache = function () + { + if (this.cache_valid) + return; + if (supports_set) + { + cr.clearArray(this.values_cache); + current_arr = this.values_cache; + current_index = 0; + this.s["forEach"](set_append_to_arr); +; + current_arr = null; + current_index = 0; + } + else + { + var values_cache = this.values_cache; + cr.clearArray(values_cache); + var p, n = 0, items = this.items; + if (items) + { + for (p in items) + { + if (items.hasOwnProperty(p)) + values_cache[n++] = items[p]; + } + } +; + } + this.cache_valid = true; + }; + ObjectSet_.prototype.valuesRef = function () + { + this.update_cache(); + return this.values_cache; + }; + cr.ObjectSet = ObjectSet_; + var tmpSet = new cr.ObjectSet(); + cr.removeArrayDuplicates = function (arr) + { + var i, len; + for (i = 0, len = arr.length; i < len; ++i) + { + tmpSet.add(arr[i]); + } + cr.shallowAssignArray(arr, tmpSet.valuesRef()); + tmpSet.clear(); + }; + cr.arrayRemoveAllFromObjectSet = function (arr, remset) + { + if (supports_set) + cr.arrayRemoveAll_set(arr, remset.s); + else + cr.arrayRemoveAll_arr(arr, remset.valuesRef()); + }; + cr.arrayRemoveAll_set = function (arr, s) + { + var i, j, len, item; + for (i = 0, j = 0, len = arr.length; i < len; ++i) + { + item = arr[i]; + if (!s["has"](item)) // not an item to remove + arr[j++] = item; // keep it + } + cr.truncateArray(arr, j); + }; + cr.arrayRemoveAll_arr = function (arr, rem) + { + var i, j, len, item; + for (i = 0, j = 0, len = arr.length; i < len; ++i) + { + item = arr[i]; + if (cr.fastIndexOf(rem, item) === -1) // not an item to remove + arr[j++] = item; // keep it + } + cr.truncateArray(arr, j); + }; + function KahanAdder_() + { + this.c = 0; + this.y = 0; + this.t = 0; + this.sum = 0; + cr.seal(this); + }; + KahanAdder_.prototype.add = function (v) + { + this.y = v - this.c; + this.t = this.sum + this.y; + this.c = (this.t - this.sum) - this.y; + this.sum = this.t; + }; + KahanAdder_.prototype.reset = function () + { + this.c = 0; + this.y = 0; + this.t = 0; + this.sum = 0; + }; + cr.KahanAdder = KahanAdder_; + cr.regexp_escape = function(text) + { + return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + }; + function CollisionPoly_(pts_array_) + { + this.pts_cache = []; + this.bboxLeft = 0; + this.bboxTop = 0; + this.bboxRight = 0; + this.bboxBottom = 0; + this.convexpolys = null; // for physics behavior to cache separated polys + this.set_pts(pts_array_); + cr.seal(this); + }; + CollisionPoly_.prototype.set_pts = function(pts_array_) + { + this.pts_array = pts_array_; + this.pts_count = pts_array_.length / 2; // x, y, x, y... in array + this.pts_cache.length = pts_array_.length; + this.cache_width = -1; + this.cache_height = -1; + this.cache_angle = 0; + }; + CollisionPoly_.prototype.is_empty = function() + { + return !this.pts_array.length; + }; + CollisionPoly_.prototype.update_bbox = function () + { + var myptscache = this.pts_cache; + var bboxLeft_ = myptscache[0]; + var bboxRight_ = bboxLeft_; + var bboxTop_ = myptscache[1]; + var bboxBottom_ = bboxTop_; + var x, y, i = 1, i2, len = this.pts_count; + for ( ; i < len; ++i) + { + i2 = i*2; + x = myptscache[i2]; + y = myptscache[i2+1]; + if (x < bboxLeft_) + bboxLeft_ = x; + if (x > bboxRight_) + bboxRight_ = x; + if (y < bboxTop_) + bboxTop_ = y; + if (y > bboxBottom_) + bboxBottom_ = y; + } + this.bboxLeft = bboxLeft_; + this.bboxRight = bboxRight_; + this.bboxTop = bboxTop_; + this.bboxBottom = bboxBottom_; + }; + CollisionPoly_.prototype.set_from_rect = function(rc, offx, offy) + { + this.pts_cache.length = 8; + this.pts_count = 4; + var myptscache = this.pts_cache; + myptscache[0] = rc.left - offx; + myptscache[1] = rc.top - offy; + myptscache[2] = rc.right - offx; + myptscache[3] = rc.top - offy; + myptscache[4] = rc.right - offx; + myptscache[5] = rc.bottom - offy; + myptscache[6] = rc.left - offx; + myptscache[7] = rc.bottom - offy; + this.cache_width = rc.right - rc.left; + this.cache_height = rc.bottom - rc.top; + this.update_bbox(); + }; + CollisionPoly_.prototype.set_from_quad = function(q, offx, offy, w, h) + { + this.pts_cache.length = 8; + this.pts_count = 4; + var myptscache = this.pts_cache; + myptscache[0] = q.tlx - offx; + myptscache[1] = q.tly - offy; + myptscache[2] = q.trx - offx; + myptscache[3] = q.try_ - offy; + myptscache[4] = q.brx - offx; + myptscache[5] = q.bry - offy; + myptscache[6] = q.blx - offx; + myptscache[7] = q.bly - offy; + this.cache_width = w; + this.cache_height = h; + this.update_bbox(); + }; + CollisionPoly_.prototype.set_from_poly = function (r) + { + this.pts_count = r.pts_count; + cr.shallowAssignArray(this.pts_cache, r.pts_cache); + this.bboxLeft = r.bboxLeft; + this.bboxTop = r.bboxTop; + this.bboxRight = r.bboxRight; + this.bboxBottom = r.bboxBottom; + }; + CollisionPoly_.prototype.cache_poly = function(w, h, a) + { + if (this.cache_width === w && this.cache_height === h && this.cache_angle === a) + return; // cache up-to-date + this.cache_width = w; + this.cache_height = h; + this.cache_angle = a; + var i, i2, i21, len, x, y; + var sina = 0; + var cosa = 1; + var myptsarray = this.pts_array; + var myptscache = this.pts_cache; + if (a !== 0) + { + sina = Math.sin(a); + cosa = Math.cos(a); + } + for (i = 0, len = this.pts_count; i < len; i++) + { + i2 = i*2; + i21 = i2+1; + x = myptsarray[i2] * w; + y = myptsarray[i21] * h; + myptscache[i2] = (x * cosa) - (y * sina); + myptscache[i21] = (y * cosa) + (x * sina); + } + this.update_bbox(); + }; + CollisionPoly_.prototype.contains_pt = function (a2x, a2y) + { + var myptscache = this.pts_cache; + if (a2x === myptscache[0] && a2y === myptscache[1]) + return true; + var i, i2, imod, len = this.pts_count; + var a1x = this.bboxLeft - 110; + var a1y = this.bboxTop - 101; + var a3x = this.bboxRight + 131 + var a3y = this.bboxBottom + 120; + var b1x, b1y, b2x, b2y; + var count1 = 0, count2 = 0; + for (i = 0; i < len; i++) + { + i2 = i*2; + imod = ((i+1)%len)*2; + b1x = myptscache[i2]; + b1y = myptscache[i2+1]; + b2x = myptscache[imod]; + b2y = myptscache[imod+1]; + if (cr.segments_intersect(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y)) + count1++; + if (cr.segments_intersect(a3x, a3y, a2x, a2y, b1x, b1y, b2x, b2y)) + count2++; + } + return (count1 % 2 === 1) || (count2 % 2 === 1); + }; + CollisionPoly_.prototype.intersects_poly = function (rhs, offx, offy) + { + var rhspts = rhs.pts_cache; + var mypts = this.pts_cache; + if (this.contains_pt(rhspts[0] + offx, rhspts[1] + offy)) + return true; + if (rhs.contains_pt(mypts[0] - offx, mypts[1] - offy)) + return true; + var i, i2, imod, leni, j, j2, jmod, lenj; + var a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y; + for (i = 0, leni = this.pts_count; i < leni; i++) + { + i2 = i*2; + imod = ((i+1)%leni)*2; + a1x = mypts[i2]; + a1y = mypts[i2+1]; + a2x = mypts[imod]; + a2y = mypts[imod+1]; + for (j = 0, lenj = rhs.pts_count; j < lenj; j++) + { + j2 = j*2; + jmod = ((j+1)%lenj)*2; + b1x = rhspts[j2] + offx; + b1y = rhspts[j2+1] + offy; + b2x = rhspts[jmod] + offx; + b2y = rhspts[jmod+1] + offy; + if (cr.segments_intersect(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y)) + return true; + } + } + return false; + }; + CollisionPoly_.prototype.intersects_segment = function (offx, offy, x1, y1, x2, y2) + { + var mypts = this.pts_cache; + if (this.contains_pt(x1 - offx, y1 - offy)) + return true; + var i, leni, i2, imod; + var a1x, a1y, a2x, a2y; + for (i = 0, leni = this.pts_count; i < leni; i++) + { + i2 = i*2; + imod = ((i+1)%leni)*2; + a1x = mypts[i2] + offx; + a1y = mypts[i2+1] + offy; + a2x = mypts[imod] + offx; + a2y = mypts[imod+1] + offy; + if (cr.segments_intersect(x1, y1, x2, y2, a1x, a1y, a2x, a2y)) + return true; + } + return false; + }; + CollisionPoly_.prototype.mirror = function (px) + { + var i, leni, i2; + for (i = 0, leni = this.pts_count; i < leni; ++i) + { + i2 = i*2; + this.pts_cache[i2] = px * 2 - this.pts_cache[i2]; + } + }; + CollisionPoly_.prototype.flip = function (py) + { + var i, leni, i21; + for (i = 0, leni = this.pts_count; i < leni; ++i) + { + i21 = i*2+1; + this.pts_cache[i21] = py * 2 - this.pts_cache[i21]; + } + }; + CollisionPoly_.prototype.diag = function () + { + var i, leni, i2, i21, temp; + for (i = 0, leni = this.pts_count; i < leni; ++i) + { + i2 = i*2; + i21 = i2+1; + temp = this.pts_cache[i2]; + this.pts_cache[i2] = this.pts_cache[i21]; + this.pts_cache[i21] = temp; + } + }; + cr.CollisionPoly = CollisionPoly_; + function SparseGrid_(cellwidth_, cellheight_) + { + this.cellwidth = cellwidth_; + this.cellheight = cellheight_; + this.cells = {}; + }; + SparseGrid_.prototype.totalCellCount = 0; + SparseGrid_.prototype.getCell = function (x_, y_, create_if_missing) + { + var ret; + var col = this.cells[x_]; + if (!col) + { + if (create_if_missing) + { + ret = allocGridCell(this, x_, y_); + this.cells[x_] = {}; + this.cells[x_][y_] = ret; + return ret; + } + else + return null; + } + ret = col[y_]; + if (ret) + return ret; + else if (create_if_missing) + { + ret = allocGridCell(this, x_, y_); + this.cells[x_][y_] = ret; + return ret; + } + else + return null; + }; + SparseGrid_.prototype.XToCell = function (x_) + { + return cr.floor(x_ / this.cellwidth); + }; + SparseGrid_.prototype.YToCell = function (y_) + { + return cr.floor(y_ / this.cellheight); + }; + SparseGrid_.prototype.update = function (inst, oldrange, newrange) + { + var x, lenx, y, leny, cell; + if (oldrange) + { + for (x = oldrange.left, lenx = oldrange.right; x <= lenx; ++x) + { + for (y = oldrange.top, leny = oldrange.bottom; y <= leny; ++y) + { + if (newrange && newrange.contains_pt(x, y)) + continue; // is still in this cell + cell = this.getCell(x, y, false); // don't create if missing + if (!cell) + continue; // cell does not exist yet + cell.remove(inst); + if (cell.isEmpty()) + { + freeGridCell(cell); + this.cells[x][y] = null; + } + } + } + } + if (newrange) + { + for (x = newrange.left, lenx = newrange.right; x <= lenx; ++x) + { + for (y = newrange.top, leny = newrange.bottom; y <= leny; ++y) + { + if (oldrange && oldrange.contains_pt(x, y)) + continue; // is still in this cell + this.getCell(x, y, true).insert(inst); + } + } + } + }; + SparseGrid_.prototype.queryRange = function (rc, result) + { + var x, lenx, ystart, y, leny, cell; + x = this.XToCell(rc.left); + ystart = this.YToCell(rc.top); + lenx = this.XToCell(rc.right); + leny = this.YToCell(rc.bottom); + for ( ; x <= lenx; ++x) + { + for (y = ystart; y <= leny; ++y) + { + cell = this.getCell(x, y, false); + if (!cell) + continue; + cell.dump(result); + } + } + }; + cr.SparseGrid = SparseGrid_; + function RenderGrid_(cellwidth_, cellheight_) + { + this.cellwidth = cellwidth_; + this.cellheight = cellheight_; + this.cells = {}; + }; + RenderGrid_.prototype.totalCellCount = 0; + RenderGrid_.prototype.getCell = function (x_, y_, create_if_missing) + { + var ret; + var col = this.cells[x_]; + if (!col) + { + if (create_if_missing) + { + ret = allocRenderCell(this, x_, y_); + this.cells[x_] = {}; + this.cells[x_][y_] = ret; + return ret; + } + else + return null; + } + ret = col[y_]; + if (ret) + return ret; + else if (create_if_missing) + { + ret = allocRenderCell(this, x_, y_); + this.cells[x_][y_] = ret; + return ret; + } + else + return null; + }; + RenderGrid_.prototype.XToCell = function (x_) + { + return cr.floor(x_ / this.cellwidth); + }; + RenderGrid_.prototype.YToCell = function (y_) + { + return cr.floor(y_ / this.cellheight); + }; + RenderGrid_.prototype.update = function (inst, oldrange, newrange) + { + var x, lenx, y, leny, cell; + if (oldrange) + { + for (x = oldrange.left, lenx = oldrange.right; x <= lenx; ++x) + { + for (y = oldrange.top, leny = oldrange.bottom; y <= leny; ++y) + { + if (newrange && newrange.contains_pt(x, y)) + continue; // is still in this cell + cell = this.getCell(x, y, false); // don't create if missing + if (!cell) + continue; // cell does not exist yet + cell.remove(inst); + if (cell.isEmpty()) + { + freeRenderCell(cell); + this.cells[x][y] = null; + } + } + } + } + if (newrange) + { + for (x = newrange.left, lenx = newrange.right; x <= lenx; ++x) + { + for (y = newrange.top, leny = newrange.bottom; y <= leny; ++y) + { + if (oldrange && oldrange.contains_pt(x, y)) + continue; // is still in this cell + this.getCell(x, y, true).insert(inst); + } + } + } + }; + RenderGrid_.prototype.queryRange = function (left, top, right, bottom, result) + { + var x, lenx, ystart, y, leny, cell; + x = this.XToCell(left); + ystart = this.YToCell(top); + lenx = this.XToCell(right); + leny = this.YToCell(bottom); + for ( ; x <= lenx; ++x) + { + for (y = ystart; y <= leny; ++y) + { + cell = this.getCell(x, y, false); + if (!cell) + continue; + cell.dump(result); + } + } + }; + RenderGrid_.prototype.markRangeChanged = function (rc) + { + var x, lenx, ystart, y, leny, cell; + x = rc.left; + ystart = rc.top; + lenx = rc.right; + leny = rc.bottom; + for ( ; x <= lenx; ++x) + { + for (y = ystart; y <= leny; ++y) + { + cell = this.getCell(x, y, false); + if (!cell) + continue; + cell.is_sorted = false; + } + } + }; + cr.RenderGrid = RenderGrid_; + var gridcellcache = []; + function allocGridCell(grid_, x_, y_) + { + var ret; + SparseGrid_.prototype.totalCellCount++; + if (gridcellcache.length) + { + ret = gridcellcache.pop(); + ret.grid = grid_; + ret.x = x_; + ret.y = y_; + return ret; + } + else + return new cr.GridCell(grid_, x_, y_); + }; + function freeGridCell(c) + { + SparseGrid_.prototype.totalCellCount--; + c.objects.clear(); + if (gridcellcache.length < 1000) + gridcellcache.push(c); + }; + function GridCell_(grid_, x_, y_) + { + this.grid = grid_; + this.x = x_; + this.y = y_; + this.objects = new cr.ObjectSet(); + }; + GridCell_.prototype.isEmpty = function () + { + return this.objects.isEmpty(); + }; + GridCell_.prototype.insert = function (inst) + { + this.objects.add(inst); + }; + GridCell_.prototype.remove = function (inst) + { + this.objects.remove(inst); + }; + GridCell_.prototype.dump = function (result) + { + cr.appendArray(result, this.objects.valuesRef()); + }; + cr.GridCell = GridCell_; + var rendercellcache = []; + function allocRenderCell(grid_, x_, y_) + { + var ret; + RenderGrid_.prototype.totalCellCount++; + if (rendercellcache.length) + { + ret = rendercellcache.pop(); + ret.grid = grid_; + ret.x = x_; + ret.y = y_; + return ret; + } + else + return new cr.RenderCell(grid_, x_, y_); + }; + function freeRenderCell(c) + { + RenderGrid_.prototype.totalCellCount--; + c.reset(); + if (rendercellcache.length < 1000) + rendercellcache.push(c); + }; + function RenderCell_(grid_, x_, y_) + { + this.grid = grid_; + this.x = x_; + this.y = y_; + this.objects = []; // array which needs to be sorted by Z order + this.is_sorted = true; // whether array is in correct sort order or not + this.pending_removal = new cr.ObjectSet(); + this.any_pending_removal = false; + }; + RenderCell_.prototype.isEmpty = function () + { + if (!this.objects.length) + { +; +; + return true; + } + if (this.objects.length > this.pending_removal.count()) + return false; +; + this.flush_pending(); // takes fast path and just resets state + return true; + }; + RenderCell_.prototype.insert = function (inst) + { + if (this.pending_removal.contains(inst)) + { + this.pending_removal.remove(inst); + if (this.pending_removal.isEmpty()) + this.any_pending_removal = false; + return; + } + if (this.objects.length) + { + var top = this.objects[this.objects.length - 1]; + if (top.get_zindex() > inst.get_zindex()) + this.is_sorted = false; // 'inst' should be somewhere beneath 'top' + this.objects.push(inst); + } + else + { + this.objects.push(inst); + this.is_sorted = true; + } +; + }; + RenderCell_.prototype.remove = function (inst) + { + this.pending_removal.add(inst); + this.any_pending_removal = true; + if (this.pending_removal.count() >= 30) + this.flush_pending(); + }; + RenderCell_.prototype.flush_pending = function () + { +; + if (!this.any_pending_removal) + return; // not changed + if (this.pending_removal.count() === this.objects.length) + { + this.reset(); + return; + } + cr.arrayRemoveAllFromObjectSet(this.objects, this.pending_removal); + this.pending_removal.clear(); + this.any_pending_removal = false; + }; + function sortByInstanceZIndex(a, b) + { + return a.zindex - b.zindex; + }; + RenderCell_.prototype.ensure_sorted = function () + { + if (this.is_sorted) + return; // already sorted + this.objects.sort(sortByInstanceZIndex); + this.is_sorted = true; + }; + RenderCell_.prototype.reset = function () + { + cr.clearArray(this.objects); + this.is_sorted = true; + this.pending_removal.clear(); + this.any_pending_removal = false; + }; + RenderCell_.prototype.dump = function (result) + { + this.flush_pending(); + this.ensure_sorted(); + if (this.objects.length) + result.push(this.objects); + }; + cr.RenderCell = RenderCell_; + var fxNames = [ "lighter", + "xor", + "copy", + "destination-over", + "source-in", + "destination-in", + "source-out", + "destination-out", + "source-atop", + "destination-atop"]; + cr.effectToCompositeOp = function(effect) + { + if (effect <= 0 || effect >= 11) + return "source-over"; + return fxNames[effect - 1]; // not including "none" so offset by 1 + }; + cr.setGLBlend = function(this_, effect, gl) + { + if (!gl) + return; + this_.srcBlend = gl.ONE; + this_.destBlend = gl.ONE_MINUS_SRC_ALPHA; + switch (effect) { + case 1: // lighter (additive) + this_.srcBlend = gl.ONE; + this_.destBlend = gl.ONE; + break; + case 2: // xor + break; // todo + case 3: // copy + this_.srcBlend = gl.ONE; + this_.destBlend = gl.ZERO; + break; + case 4: // destination-over + this_.srcBlend = gl.ONE_MINUS_DST_ALPHA; + this_.destBlend = gl.ONE; + break; + case 5: // source-in + this_.srcBlend = gl.DST_ALPHA; + this_.destBlend = gl.ZERO; + break; + case 6: // destination-in + this_.srcBlend = gl.ZERO; + this_.destBlend = gl.SRC_ALPHA; + break; + case 7: // source-out + this_.srcBlend = gl.ONE_MINUS_DST_ALPHA; + this_.destBlend = gl.ZERO; + break; + case 8: // destination-out + this_.srcBlend = gl.ZERO; + this_.destBlend = gl.ONE_MINUS_SRC_ALPHA; + break; + case 9: // source-atop + this_.srcBlend = gl.DST_ALPHA; + this_.destBlend = gl.ONE_MINUS_SRC_ALPHA; + break; + case 10: // destination-atop + this_.srcBlend = gl.ONE_MINUS_DST_ALPHA; + this_.destBlend = gl.SRC_ALPHA; + break; + } + }; + cr.round6dp = function (x) + { + return Math.round(x * 1000000) / 1000000; + }; + /* + var localeCompare_options = { + "usage": "search", + "sensitivity": "accent" + }; + var has_localeCompare = !!"a".localeCompare; + var localeCompare_works1 = (has_localeCompare && "a".localeCompare("A", undefined, localeCompare_options) === 0); + var localeCompare_works2 = (has_localeCompare && "a".localeCompare("á", undefined, localeCompare_options) !== 0); + var supports_localeCompare = (has_localeCompare && localeCompare_works1 && localeCompare_works2); + */ + cr.equals_nocase = function (a, b) + { + if (typeof a !== "string" || typeof b !== "string") + return false; + if (a.length !== b.length) + return false; + if (a === b) + return true; + /* + if (supports_localeCompare) + { + return (a.localeCompare(b, undefined, localeCompare_options) === 0); + } + else + { + */ + return a.toLowerCase() === b.toLowerCase(); + }; + cr.isCanvasInputEvent = function (e) + { + var target = e.target; + if (!target) + return true; + if (target === document || target === window) + return true; + if (document && document.body && target === document.body) + return true; + if (cr.equals_nocase(target.tagName, "canvas")) + return true; + return false; + }; +}()); +var MatrixArray=typeof Float32Array!=="undefined"?Float32Array:Array,glMatrixArrayType=MatrixArray,vec3={},mat3={},mat4={},quat4={};vec3.create=function(a){var b=new MatrixArray(3);a&&(b[0]=a[0],b[1]=a[1],b[2]=a[2]);return b};vec3.set=function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];return b};vec3.add=function(a,b,c){if(!c||a===c)return a[0]+=b[0],a[1]+=b[1],a[2]+=b[2],a;c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];return c}; +vec3.subtract=function(a,b,c){if(!c||a===c)return a[0]-=b[0],a[1]-=b[1],a[2]-=b[2],a;c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];return c};vec3.negate=function(a,b){b||(b=a);b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];return b};vec3.scale=function(a,b,c){if(!c||a===c)return a[0]*=b,a[1]*=b,a[2]*=b,a;c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;return c}; +vec3.normalize=function(a,b){b||(b=a);var c=a[0],d=a[1],e=a[2],g=Math.sqrt(c*c+d*d+e*e);if(g){if(g===1)return b[0]=c,b[1]=d,b[2]=e,b}else return b[0]=0,b[1]=0,b[2]=0,b;g=1/g;b[0]=c*g;b[1]=d*g;b[2]=e*g;return b};vec3.cross=function(a,b,c){c||(c=a);var d=a[0],e=a[1],a=a[2],g=b[0],f=b[1],b=b[2];c[0]=e*b-a*f;c[1]=a*g-d*b;c[2]=d*f-e*g;return c};vec3.length=function(a){var b=a[0],c=a[1],a=a[2];return Math.sqrt(b*b+c*c+a*a)};vec3.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}; +vec3.direction=function(a,b,c){c||(c=a);var d=a[0]-b[0],e=a[1]-b[1],a=a[2]-b[2],b=Math.sqrt(d*d+e*e+a*a);if(!b)return c[0]=0,c[1]=0,c[2]=0,c;b=1/b;c[0]=d*b;c[1]=e*b;c[2]=a*b;return c};vec3.lerp=function(a,b,c,d){d||(d=a);d[0]=a[0]+c*(b[0]-a[0]);d[1]=a[1]+c*(b[1]-a[1]);d[2]=a[2]+c*(b[2]-a[2]);return d};vec3.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+"]"}; +mat3.create=function(a){var b=new MatrixArray(9);a&&(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b[4]=a[4],b[5]=a[5],b[6]=a[6],b[7]=a[7],b[8]=a[8]);return b};mat3.set=function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];return b};mat3.identity=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a}; +mat3.transpose=function(a,b){if(!b||a===b){var c=a[1],d=a[2],e=a[5];a[1]=a[3];a[2]=a[6];a[3]=c;a[5]=a[7];a[6]=d;a[7]=e;return a}b[0]=a[0];b[1]=a[3];b[2]=a[6];b[3]=a[1];b[4]=a[4];b[5]=a[7];b[6]=a[2];b[7]=a[5];b[8]=a[8];return b};mat3.toMat4=function(a,b){b||(b=mat4.create());b[15]=1;b[14]=0;b[13]=0;b[12]=0;b[11]=0;b[10]=a[8];b[9]=a[7];b[8]=a[6];b[7]=0;b[6]=a[5];b[5]=a[4];b[4]=a[3];b[3]=0;b[2]=a[2];b[1]=a[1];b[0]=a[0];return b}; +mat3.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+"]"};mat4.create=function(a){var b=new MatrixArray(16);a&&(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b[4]=a[4],b[5]=a[5],b[6]=a[6],b[7]=a[7],b[8]=a[8],b[9]=a[9],b[10]=a[10],b[11]=a[11],b[12]=a[12],b[13]=a[13],b[14]=a[14],b[15]=a[15]);return b}; +mat4.set=function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return b};mat4.identity=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a}; +mat4.transpose=function(a,b){if(!b||a===b){var c=a[1],d=a[2],e=a[3],g=a[6],f=a[7],h=a[11];a[1]=a[4];a[2]=a[8];a[3]=a[12];a[4]=c;a[6]=a[9];a[7]=a[13];a[8]=d;a[9]=g;a[11]=a[14];a[12]=e;a[13]=f;a[14]=h;return a}b[0]=a[0];b[1]=a[4];b[2]=a[8];b[3]=a[12];b[4]=a[1];b[5]=a[5];b[6]=a[9];b[7]=a[13];b[8]=a[2];b[9]=a[6];b[10]=a[10];b[11]=a[14];b[12]=a[3];b[13]=a[7];b[14]=a[11];b[15]=a[15];return b}; +mat4.determinant=function(a){var b=a[0],c=a[1],d=a[2],e=a[3],g=a[4],f=a[5],h=a[6],i=a[7],j=a[8],k=a[9],l=a[10],n=a[11],o=a[12],m=a[13],p=a[14],a=a[15];return o*k*h*e-j*m*h*e-o*f*l*e+g*m*l*e+j*f*p*e-g*k*p*e-o*k*d*i+j*m*d*i+o*c*l*i-b*m*l*i-j*c*p*i+b*k*p*i+o*f*d*n-g*m*d*n-o*c*h*n+b*m*h*n+g*c*p*n-b*f*p*n-j*f*d*a+g*k*d*a+j*c*h*a-b*k*h*a-g*c*l*a+b*f*l*a}; +mat4.inverse=function(a,b){b||(b=a);var c=a[0],d=a[1],e=a[2],g=a[3],f=a[4],h=a[5],i=a[6],j=a[7],k=a[8],l=a[9],n=a[10],o=a[11],m=a[12],p=a[13],r=a[14],s=a[15],A=c*h-d*f,B=c*i-e*f,t=c*j-g*f,u=d*i-e*h,v=d*j-g*h,w=e*j-g*i,x=k*p-l*m,y=k*r-n*m,z=k*s-o*m,C=l*r-n*p,D=l*s-o*p,E=n*s-o*r,q=1/(A*E-B*D+t*C+u*z-v*y+w*x);b[0]=(h*E-i*D+j*C)*q;b[1]=(-d*E+e*D-g*C)*q;b[2]=(p*w-r*v+s*u)*q;b[3]=(-l*w+n*v-o*u)*q;b[4]=(-f*E+i*z-j*y)*q;b[5]=(c*E-e*z+g*y)*q;b[6]=(-m*w+r*t-s*B)*q;b[7]=(k*w-n*t+o*B)*q;b[8]=(f*D-h*z+j*x)*q; +b[9]=(-c*D+d*z-g*x)*q;b[10]=(m*v-p*t+s*A)*q;b[11]=(-k*v+l*t-o*A)*q;b[12]=(-f*C+h*y-i*x)*q;b[13]=(c*C-d*y+e*x)*q;b[14]=(-m*u+p*B-r*A)*q;b[15]=(k*u-l*B+n*A)*q;return b};mat4.toRotationMat=function(a,b){b||(b=mat4.create());b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=0;b[13]=0;b[14]=0;b[15]=1;return b}; +mat4.toMat3=function(a,b){b||(b=mat3.create());b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[4];b[4]=a[5];b[5]=a[6];b[6]=a[8];b[7]=a[9];b[8]=a[10];return b};mat4.toInverseMat3=function(a,b){var c=a[0],d=a[1],e=a[2],g=a[4],f=a[5],h=a[6],i=a[8],j=a[9],k=a[10],l=k*f-h*j,n=-k*g+h*i,o=j*g-f*i,m=c*l+d*n+e*o;if(!m)return null;m=1/m;b||(b=mat3.create());b[0]=l*m;b[1]=(-k*d+e*j)*m;b[2]=(h*d-e*f)*m;b[3]=n*m;b[4]=(k*c-e*i)*m;b[5]=(-h*c+e*g)*m;b[6]=o*m;b[7]=(-j*c+d*i)*m;b[8]=(f*c-d*g)*m;return b}; +mat4.multiply=function(a,b,c){c||(c=a);var d=a[0],e=a[1],g=a[2],f=a[3],h=a[4],i=a[5],j=a[6],k=a[7],l=a[8],n=a[9],o=a[10],m=a[11],p=a[12],r=a[13],s=a[14],a=a[15],A=b[0],B=b[1],t=b[2],u=b[3],v=b[4],w=b[5],x=b[6],y=b[7],z=b[8],C=b[9],D=b[10],E=b[11],q=b[12],F=b[13],G=b[14],b=b[15];c[0]=A*d+B*h+t*l+u*p;c[1]=A*e+B*i+t*n+u*r;c[2]=A*g+B*j+t*o+u*s;c[3]=A*f+B*k+t*m+u*a;c[4]=v*d+w*h+x*l+y*p;c[5]=v*e+w*i+x*n+y*r;c[6]=v*g+w*j+x*o+y*s;c[7]=v*f+w*k+x*m+y*a;c[8]=z*d+C*h+D*l+E*p;c[9]=z*e+C*i+D*n+E*r;c[10]=z*g+C* +j+D*o+E*s;c[11]=z*f+C*k+D*m+E*a;c[12]=q*d+F*h+G*l+b*p;c[13]=q*e+F*i+G*n+b*r;c[14]=q*g+F*j+G*o+b*s;c[15]=q*f+F*k+G*m+b*a;return c};mat4.multiplyVec3=function(a,b,c){c||(c=b);var d=b[0],e=b[1],b=b[2];c[0]=a[0]*d+a[4]*e+a[8]*b+a[12];c[1]=a[1]*d+a[5]*e+a[9]*b+a[13];c[2]=a[2]*d+a[6]*e+a[10]*b+a[14];return c}; +mat4.multiplyVec4=function(a,b,c){c||(c=b);var d=b[0],e=b[1],g=b[2],b=b[3];c[0]=a[0]*d+a[4]*e+a[8]*g+a[12]*b;c[1]=a[1]*d+a[5]*e+a[9]*g+a[13]*b;c[2]=a[2]*d+a[6]*e+a[10]*g+a[14]*b;c[3]=a[3]*d+a[7]*e+a[11]*g+a[15]*b;return c}; +mat4.translate=function(a,b,c){var d=b[0],e=b[1],b=b[2],g,f,h,i,j,k,l,n,o,m,p,r;if(!c||a===c)return a[12]=a[0]*d+a[4]*e+a[8]*b+a[12],a[13]=a[1]*d+a[5]*e+a[9]*b+a[13],a[14]=a[2]*d+a[6]*e+a[10]*b+a[14],a[15]=a[3]*d+a[7]*e+a[11]*b+a[15],a;g=a[0];f=a[1];h=a[2];i=a[3];j=a[4];k=a[5];l=a[6];n=a[7];o=a[8];m=a[9];p=a[10];r=a[11];c[0]=g;c[1]=f;c[2]=h;c[3]=i;c[4]=j;c[5]=k;c[6]=l;c[7]=n;c[8]=o;c[9]=m;c[10]=p;c[11]=r;c[12]=g*d+j*e+o*b+a[12];c[13]=f*d+k*e+m*b+a[13];c[14]=h*d+l*e+p*b+a[14];c[15]=i*d+n*e+r*b+a[15]; +return c};mat4.scale=function(a,b,c){var d=b[0],e=b[1],b=b[2];if(!c||a===c)return a[0]*=d,a[1]*=d,a[2]*=d,a[3]*=d,a[4]*=e,a[5]*=e,a[6]*=e,a[7]*=e,a[8]*=b,a[9]*=b,a[10]*=b,a[11]*=b,a;c[0]=a[0]*d;c[1]=a[1]*d;c[2]=a[2]*d;c[3]=a[3]*d;c[4]=a[4]*e;c[5]=a[5]*e;c[6]=a[6]*e;c[7]=a[7]*e;c[8]=a[8]*b;c[9]=a[9]*b;c[10]=a[10]*b;c[11]=a[11]*b;c[12]=a[12];c[13]=a[13];c[14]=a[14];c[15]=a[15];return c}; +mat4.rotate=function(a,b,c,d){var e=c[0],g=c[1],c=c[2],f=Math.sqrt(e*e+g*g+c*c),h,i,j,k,l,n,o,m,p,r,s,A,B,t,u,v,w,x,y,z;if(!f)return null;f!==1&&(f=1/f,e*=f,g*=f,c*=f);h=Math.sin(b);i=Math.cos(b);j=1-i;b=a[0];f=a[1];k=a[2];l=a[3];n=a[4];o=a[5];m=a[6];p=a[7];r=a[8];s=a[9];A=a[10];B=a[11];t=e*e*j+i;u=g*e*j+c*h;v=c*e*j-g*h;w=e*g*j-c*h;x=g*g*j+i;y=c*g*j+e*h;z=e*c*j+g*h;e=g*c*j-e*h;g=c*c*j+i;d?a!==d&&(d[12]=a[12],d[13]=a[13],d[14]=a[14],d[15]=a[15]):d=a;d[0]=b*t+n*u+r*v;d[1]=f*t+o*u+s*v;d[2]=k*t+m*u+A* +v;d[3]=l*t+p*u+B*v;d[4]=b*w+n*x+r*y;d[5]=f*w+o*x+s*y;d[6]=k*w+m*x+A*y;d[7]=l*w+p*x+B*y;d[8]=b*z+n*e+r*g;d[9]=f*z+o*e+s*g;d[10]=k*z+m*e+A*g;d[11]=l*z+p*e+B*g;return d};mat4.rotateX=function(a,b,c){var d=Math.sin(b),b=Math.cos(b),e=a[4],g=a[5],f=a[6],h=a[7],i=a[8],j=a[9],k=a[10],l=a[11];c?a!==c&&(c[0]=a[0],c[1]=a[1],c[2]=a[2],c[3]=a[3],c[12]=a[12],c[13]=a[13],c[14]=a[14],c[15]=a[15]):c=a;c[4]=e*b+i*d;c[5]=g*b+j*d;c[6]=f*b+k*d;c[7]=h*b+l*d;c[8]=e*-d+i*b;c[9]=g*-d+j*b;c[10]=f*-d+k*b;c[11]=h*-d+l*b;return c}; +mat4.rotateY=function(a,b,c){var d=Math.sin(b),b=Math.cos(b),e=a[0],g=a[1],f=a[2],h=a[3],i=a[8],j=a[9],k=a[10],l=a[11];c?a!==c&&(c[4]=a[4],c[5]=a[5],c[6]=a[6],c[7]=a[7],c[12]=a[12],c[13]=a[13],c[14]=a[14],c[15]=a[15]):c=a;c[0]=e*b+i*-d;c[1]=g*b+j*-d;c[2]=f*b+k*-d;c[3]=h*b+l*-d;c[8]=e*d+i*b;c[9]=g*d+j*b;c[10]=f*d+k*b;c[11]=h*d+l*b;return c}; +mat4.rotateZ=function(a,b,c){var d=Math.sin(b),b=Math.cos(b),e=a[0],g=a[1],f=a[2],h=a[3],i=a[4],j=a[5],k=a[6],l=a[7];c?a!==c&&(c[8]=a[8],c[9]=a[9],c[10]=a[10],c[11]=a[11],c[12]=a[12],c[13]=a[13],c[14]=a[14],c[15]=a[15]):c=a;c[0]=e*b+i*d;c[1]=g*b+j*d;c[2]=f*b+k*d;c[3]=h*b+l*d;c[4]=e*-d+i*b;c[5]=g*-d+j*b;c[6]=f*-d+k*b;c[7]=h*-d+l*b;return c}; +mat4.frustum=function(a,b,c,d,e,g,f){f||(f=mat4.create());var h=b-a,i=d-c,j=g-e;f[0]=e*2/h;f[1]=0;f[2]=0;f[3]=0;f[4]=0;f[5]=e*2/i;f[6]=0;f[7]=0;f[8]=(b+a)/h;f[9]=(d+c)/i;f[10]=-(g+e)/j;f[11]=-1;f[12]=0;f[13]=0;f[14]=-(g*e*2)/j;f[15]=0;return f};mat4.perspective=function(a,b,c,d,e){a=c*Math.tan(a*Math.PI/360);b*=a;return mat4.frustum(-b,b,-a,a,c,d,e)}; +mat4.ortho=function(a,b,c,d,e,g,f){f||(f=mat4.create());var h=b-a,i=d-c,j=g-e;f[0]=2/h;f[1]=0;f[2]=0;f[3]=0;f[4]=0;f[5]=2/i;f[6]=0;f[7]=0;f[8]=0;f[9]=0;f[10]=-2/j;f[11]=0;f[12]=-(a+b)/h;f[13]=-(d+c)/i;f[14]=-(g+e)/j;f[15]=1;return f}; +mat4.lookAt=function(a,b,c,d){d||(d=mat4.create());var e,g,f,h,i,j,k,l,n=a[0],o=a[1],a=a[2];g=c[0];f=c[1];e=c[2];c=b[1];j=b[2];if(n===b[0]&&o===c&&a===j)return mat4.identity(d);c=n-b[0];j=o-b[1];k=a-b[2];l=1/Math.sqrt(c*c+j*j+k*k);c*=l;j*=l;k*=l;b=f*k-e*j;e=e*c-g*k;g=g*j-f*c;(l=Math.sqrt(b*b+e*e+g*g))?(l=1/l,b*=l,e*=l,g*=l):g=e=b=0;f=j*g-k*e;h=k*b-c*g;i=c*e-j*b;(l=Math.sqrt(f*f+h*h+i*i))?(l=1/l,f*=l,h*=l,i*=l):i=h=f=0;d[0]=b;d[1]=f;d[2]=c;d[3]=0;d[4]=e;d[5]=h;d[6]=j;d[7]=0;d[8]=g;d[9]=i;d[10]=k;d[11]= +0;d[12]=-(b*n+e*o+g*a);d[13]=-(f*n+h*o+i*a);d[14]=-(c*n+j*o+k*a);d[15]=1;return d};mat4.fromRotationTranslation=function(a,b,c){c||(c=mat4.create());var d=a[0],e=a[1],g=a[2],f=a[3],h=d+d,i=e+e,j=g+g,a=d*h,k=d*i;d*=j;var l=e*i;e*=j;g*=j;h*=f;i*=f;f*=j;c[0]=1-(l+g);c[1]=k+f;c[2]=d-i;c[3]=0;c[4]=k-f;c[5]=1-(a+g);c[6]=e+h;c[7]=0;c[8]=d+i;c[9]=e-h;c[10]=1-(a+l);c[11]=0;c[12]=b[0];c[13]=b[1];c[14]=b[2];c[15]=1;return c}; +mat4.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+", "+a[9]+", "+a[10]+", "+a[11]+", "+a[12]+", "+a[13]+", "+a[14]+", "+a[15]+"]"};quat4.create=function(a){var b=new MatrixArray(4);a&&(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3]);return b};quat4.set=function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b}; +quat4.calculateW=function(a,b){var c=a[0],d=a[1],e=a[2];if(!b||a===b)return a[3]=-Math.sqrt(Math.abs(1-c*c-d*d-e*e)),a;b[0]=c;b[1]=d;b[2]=e;b[3]=-Math.sqrt(Math.abs(1-c*c-d*d-e*e));return b};quat4.inverse=function(a,b){if(!b||a===b)return a[0]*=-1,a[1]*=-1,a[2]*=-1,a;b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];b[3]=a[3];return b};quat4.length=function(a){var b=a[0],c=a[1],d=a[2],a=a[3];return Math.sqrt(b*b+c*c+d*d+a*a)}; +quat4.normalize=function(a,b){b||(b=a);var c=a[0],d=a[1],e=a[2],g=a[3],f=Math.sqrt(c*c+d*d+e*e+g*g);if(f===0)return b[0]=0,b[1]=0,b[2]=0,b[3]=0,b;f=1/f;b[0]=c*f;b[1]=d*f;b[2]=e*f;b[3]=g*f;return b};quat4.multiply=function(a,b,c){c||(c=a);var d=a[0],e=a[1],g=a[2],a=a[3],f=b[0],h=b[1],i=b[2],b=b[3];c[0]=d*b+a*f+e*i-g*h;c[1]=e*b+a*h+g*f-d*i;c[2]=g*b+a*i+d*h-e*f;c[3]=a*b-d*f-e*h-g*i;return c}; +quat4.multiplyVec3=function(a,b,c){c||(c=b);var d=b[0],e=b[1],g=b[2],b=a[0],f=a[1],h=a[2],a=a[3],i=a*d+f*g-h*e,j=a*e+h*d-b*g,k=a*g+b*e-f*d,d=-b*d-f*e-h*g;c[0]=i*a+d*-b+j*-h-k*-f;c[1]=j*a+d*-f+k*-b-i*-h;c[2]=k*a+d*-h+i*-f-j*-b;return c};quat4.toMat3=function(a,b){b||(b=mat3.create());var c=a[0],d=a[1],e=a[2],g=a[3],f=c+c,h=d+d,i=e+e,j=c*f,k=c*h;c*=i;var l=d*h;d*=i;e*=i;f*=g;h*=g;g*=i;b[0]=1-(l+e);b[1]=k+g;b[2]=c-h;b[3]=k-g;b[4]=1-(j+e);b[5]=d+f;b[6]=c+h;b[7]=d-f;b[8]=1-(j+l);return b}; +quat4.toMat4=function(a,b){b||(b=mat4.create());var c=a[0],d=a[1],e=a[2],g=a[3],f=c+c,h=d+d,i=e+e,j=c*f,k=c*h;c*=i;var l=d*h;d*=i;e*=i;f*=g;h*=g;g*=i;b[0]=1-(l+e);b[1]=k+g;b[2]=c-h;b[3]=0;b[4]=k-g;b[5]=1-(j+e);b[6]=d+f;b[7]=0;b[8]=c+h;b[9]=d-f;b[10]=1-(j+l);b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return b}; +quat4.slerp=function(a,b,c,d){d||(d=a);var e=a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3],g,f;if(Math.abs(e)>=1)return d!==a&&(d[0]=a[0],d[1]=a[1],d[2]=a[2],d[3]=a[3]),d;g=Math.acos(e);f=Math.sqrt(1-e*e);if(Math.abs(f)<0.001)return d[0]=a[0]*0.5+b[0]*0.5,d[1]=a[1]*0.5+b[1]*0.5,d[2]=a[2]*0.5+b[2]*0.5,d[3]=a[3]*0.5+b[3]*0.5,d;e=Math.sin((1-c)*g)/f;c=Math.sin(c*g)/f;d[0]=a[0]*e+b[0]*c;d[1]=a[1]*e+b[1]*c;d[2]=a[2]*e+b[2]*c;d[3]=a[3]*e+b[3]*c;return d}; +quat4.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+"]"}; +(function() +{ + var MAX_VERTICES = 8000; // equates to 2500 objects being drawn + var MAX_INDICES = (MAX_VERTICES / 2) * 3; // 6 indices for every 4 vertices + var MAX_POINTS = 8000; + var MULTI_BUFFERS = 4; // cycle 4 buffers to try and avoid blocking + var BATCH_NULL = 0; + var BATCH_QUAD = 1; + var BATCH_SETTEXTURE = 2; + var BATCH_SETOPACITY = 3; + var BATCH_SETBLEND = 4; + var BATCH_UPDATEMODELVIEW = 5; + var BATCH_RENDERTOTEXTURE = 6; + var BATCH_CLEAR = 7; + var BATCH_POINTS = 8; + var BATCH_SETPROGRAM = 9; + var BATCH_SETPROGRAMPARAMETERS = 10; + var BATCH_SETTEXTURE1 = 11; + var BATCH_SETCOLOR = 12; + var BATCH_SETDEPTHTEST = 13; + var BATCH_SETEARLYZMODE = 14; + /* + var lose_ext = null; + window.lose_context = function () + { + if (!lose_ext) + { + console.log("WEBGL_lose_context not supported"); + return; + } + lose_ext.loseContext(); + }; + window.restore_context = function () + { + if (!lose_ext) + { + console.log("WEBGL_lose_context not supported"); + return; + } + lose_ext.restoreContext(); + }; + */ + var tempMat4 = mat4.create(); + function GLWrap_(gl, isMobile, enableFrontToBack) + { + this.isIE = /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent); + this.width = 0; // not yet known, wait for call to setSize() + this.height = 0; + this.enableFrontToBack = !!enableFrontToBack; + this.isEarlyZPass = false; + this.isBatchInEarlyZPass = false; + this.currentZ = 0; + this.zNear = 1; + this.zFar = 1000; + this.zIncrement = ((this.zFar - this.zNear) / 32768); + this.zA = this.zFar / (this.zFar - this.zNear); + this.zB = this.zFar * this.zNear / (this.zNear - this.zFar); + this.kzA = 65536 * this.zA; + this.kzB = 65536 * this.zB; + this.cam = vec3.create([0, 0, 100]); // camera position + this.look = vec3.create([0, 0, 0]); // lookat position + this.up = vec3.create([0, 1, 0]); // up vector + this.worldScale = vec3.create([1, 1, 1]); // world scaling factor + this.enable_mipmaps = true; + this.matP = mat4.create(); // perspective matrix + this.matMV = mat4.create(); // model view matrix + this.lastMV = mat4.create(); + this.currentMV = mat4.create(); + this.gl = gl; + this.version = (this.gl.getParameter(this.gl.VERSION).indexOf("WebGL 2") === 0 ? 2 : 1); + this.initState(); + }; + GLWrap_.prototype.initState = function () + { + var gl = this.gl; + var i, len; + this.lastOpacity = 1; + this.lastTexture0 = null; // last bound to TEXTURE0 + this.lastTexture1 = null; // last bound to TEXTURE1 + this.currentOpacity = 1; + gl.clearColor(0, 0, 0, 0); + gl.clear(gl.COLOR_BUFFER_BIT); + gl.enable(gl.BLEND); + gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA); + gl.disable(gl.CULL_FACE); + gl.disable(gl.STENCIL_TEST); + gl.disable(gl.DITHER); + if (this.enableFrontToBack) + { + gl.enable(gl.DEPTH_TEST); + gl.depthFunc(gl.LEQUAL); + } + else + { + gl.disable(gl.DEPTH_TEST); + } + this.maxTextureSize = gl.getParameter(gl.MAX_TEXTURE_SIZE); + this.lastSrcBlend = gl.ONE; + this.lastDestBlend = gl.ONE_MINUS_SRC_ALPHA; + this.vertexData = new Float32Array(MAX_VERTICES * (this.enableFrontToBack ? 3 : 2)); + this.texcoordData = new Float32Array(MAX_VERTICES * 2); + this.pointData = new Float32Array(MAX_POINTS * 4); + this.pointBuffer = gl.createBuffer(); + gl.bindBuffer(gl.ARRAY_BUFFER, this.pointBuffer); + gl.bufferData(gl.ARRAY_BUFFER, this.pointData.byteLength, gl.DYNAMIC_DRAW); + this.vertexBuffers = new Array(MULTI_BUFFERS); + this.texcoordBuffers = new Array(MULTI_BUFFERS); + for (i = 0; i < MULTI_BUFFERS; i++) + { + this.vertexBuffers[i] = gl.createBuffer(); + gl.bindBuffer(gl.ARRAY_BUFFER, this.vertexBuffers[i]); + gl.bufferData(gl.ARRAY_BUFFER, this.vertexData.byteLength, gl.DYNAMIC_DRAW); + this.texcoordBuffers[i] = gl.createBuffer(); + gl.bindBuffer(gl.ARRAY_BUFFER, this.texcoordBuffers[i]); + gl.bufferData(gl.ARRAY_BUFFER, this.texcoordData.byteLength, gl.DYNAMIC_DRAW); + } + this.curBuffer = 0; + this.indexBuffer = gl.createBuffer(); + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.indexBuffer); + var indexData = new Uint16Array(MAX_INDICES); + i = 0, len = MAX_INDICES; + var fv = 0; + while (i < len) + { + indexData[i++] = fv; // top left + indexData[i++] = fv + 1; // top right + indexData[i++] = fv + 2; // bottom right (first tri) + indexData[i++] = fv; // top left + indexData[i++] = fv + 2; // bottom right + indexData[i++] = fv + 3; // bottom left + fv += 4; + } + gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, indexData, gl.STATIC_DRAW); + this.vertexPtr = 0; + this.texPtr = 0; + this.pointPtr = 0; + var fsSource, vsSource; + this.shaderPrograms = []; + fsSource = [ + "varying mediump vec2 vTex;", + "uniform lowp float opacity;", + "uniform lowp sampler2D samplerFront;", + "void main(void) {", + " gl_FragColor = texture2D(samplerFront, vTex);", + " gl_FragColor *= opacity;", + "}" + ].join("\n"); + if (this.enableFrontToBack) + { + vsSource = [ + "attribute highp vec3 aPos;", + "attribute mediump vec2 aTex;", + "varying mediump vec2 vTex;", + "uniform highp mat4 matP;", + "uniform highp mat4 matMV;", + "void main(void) {", + " gl_Position = matP * matMV * vec4(aPos.x, aPos.y, aPos.z, 1.0);", + " vTex = aTex;", + "}" + ].join("\n"); + } + else + { + vsSource = [ + "attribute highp vec2 aPos;", + "attribute mediump vec2 aTex;", + "varying mediump vec2 vTex;", + "uniform highp mat4 matP;", + "uniform highp mat4 matMV;", + "void main(void) {", + " gl_Position = matP * matMV * vec4(aPos.x, aPos.y, 0.0, 1.0);", + " vTex = aTex;", + "}" + ].join("\n"); + } + var shaderProg = this.createShaderProgram({src: fsSource}, vsSource, ""); +; + this.shaderPrograms.push(shaderProg); // Default shader is always shader 0 + fsSource = [ + "uniform mediump sampler2D samplerFront;", + "varying lowp float opacity;", + "void main(void) {", + " gl_FragColor = texture2D(samplerFront, gl_PointCoord);", + " gl_FragColor *= opacity;", + "}" + ].join("\n"); + var pointVsSource = [ + "attribute vec4 aPos;", + "varying float opacity;", + "uniform mat4 matP;", + "uniform mat4 matMV;", + "void main(void) {", + " gl_Position = matP * matMV * vec4(aPos.x, aPos.y, 0.0, 1.0);", + " gl_PointSize = aPos.z;", + " opacity = aPos.w;", + "}" + ].join("\n"); + shaderProg = this.createShaderProgram({src: fsSource}, pointVsSource, ""); +; + this.shaderPrograms.push(shaderProg); // Point shader is always shader 1 + fsSource = [ + "varying mediump vec2 vTex;", + "uniform lowp sampler2D samplerFront;", + "void main(void) {", + " if (texture2D(samplerFront, vTex).a < 1.0)", + " discard;", // discarding non-opaque fragments + "}" + ].join("\n"); + var shaderProg = this.createShaderProgram({src: fsSource}, vsSource, ""); +; + this.shaderPrograms.push(shaderProg); // Early-Z shader is always shader 2 + fsSource = [ + "uniform lowp vec4 colorFill;", + "void main(void) {", + " gl_FragColor = colorFill;", + "}" + ].join("\n"); + var shaderProg = this.createShaderProgram({src: fsSource}, vsSource, ""); +; + this.shaderPrograms.push(shaderProg); // Fill-color shader is always shader 3 + for (var shader_name in cr.shaders) + { + if (cr.shaders.hasOwnProperty(shader_name)) + this.shaderPrograms.push(this.createShaderProgram(cr.shaders[shader_name], vsSource, shader_name)); + } + gl.activeTexture(gl.TEXTURE0); + gl.bindTexture(gl.TEXTURE_2D, null); + this.batch = []; + this.batchPtr = 0; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + this.lastProgram = -1; // start -1 so first switchProgram can do work + this.currentProgram = -1; // current program during batch execution + this.currentShader = null; + this.fbo = gl.createFramebuffer(); + this.renderToTex = null; + this.depthBuffer = null; + this.attachedDepthBuffer = false; // wait until first size call to attach, otherwise it has no storage + if (this.enableFrontToBack) + { + this.depthBuffer = gl.createRenderbuffer(); + } + this.tmpVec3 = vec3.create([0, 0, 0]); +; + var pointsizes = gl.getParameter(gl.ALIASED_POINT_SIZE_RANGE); + this.minPointSize = pointsizes[0]; + this.maxPointSize = pointsizes[1]; + if (this.maxPointSize > 2048) + this.maxPointSize = 2048; +; + this.switchProgram(0); + cr.seal(this); + }; + function GLShaderProgram(gl, shaderProgram, name) + { + this.gl = gl; + this.shaderProgram = shaderProgram; + this.name = name; + this.locAPos = gl.getAttribLocation(shaderProgram, "aPos"); + this.locATex = gl.getAttribLocation(shaderProgram, "aTex"); + this.locMatP = gl.getUniformLocation(shaderProgram, "matP"); + this.locMatMV = gl.getUniformLocation(shaderProgram, "matMV"); + this.locOpacity = gl.getUniformLocation(shaderProgram, "opacity"); + this.locColorFill = gl.getUniformLocation(shaderProgram, "colorFill"); + this.locSamplerFront = gl.getUniformLocation(shaderProgram, "samplerFront"); + this.locSamplerBack = gl.getUniformLocation(shaderProgram, "samplerBack"); + this.locDestStart = gl.getUniformLocation(shaderProgram, "destStart"); + this.locDestEnd = gl.getUniformLocation(shaderProgram, "destEnd"); + this.locSeconds = gl.getUniformLocation(shaderProgram, "seconds"); + this.locPixelWidth = gl.getUniformLocation(shaderProgram, "pixelWidth"); + this.locPixelHeight = gl.getUniformLocation(shaderProgram, "pixelHeight"); + this.locLayerScale = gl.getUniformLocation(shaderProgram, "layerScale"); + this.locLayerAngle = gl.getUniformLocation(shaderProgram, "layerAngle"); + this.locViewOrigin = gl.getUniformLocation(shaderProgram, "viewOrigin"); + this.locScrollPos = gl.getUniformLocation(shaderProgram, "scrollPos"); + this.hasAnyOptionalUniforms = !!(this.locPixelWidth || this.locPixelHeight || this.locSeconds || this.locSamplerBack || this.locDestStart || this.locDestEnd || this.locLayerScale || this.locLayerAngle || this.locViewOrigin || this.locScrollPos); + this.lpPixelWidth = -999; // set to something unlikely so never counts as cached on first set + this.lpPixelHeight = -999; + this.lpOpacity = 1; + this.lpDestStartX = 0.0; + this.lpDestStartY = 0.0; + this.lpDestEndX = 1.0; + this.lpDestEndY = 1.0; + this.lpLayerScale = 1.0; + this.lpLayerAngle = 0.0; + this.lpViewOriginX = 0.0; + this.lpViewOriginY = 0.0; + this.lpScrollPosX = 0.0; + this.lpScrollPosY = 0.0; + this.lpSeconds = 0.0; + this.lastCustomParams = []; + this.lpMatMV = mat4.create(); + if (this.locOpacity) + gl.uniform1f(this.locOpacity, 1); + if (this.locColorFill) + gl.uniform4f(this.locColorFill, 1.0, 1.0, 1.0, 1.0); + if (this.locSamplerFront) + gl.uniform1i(this.locSamplerFront, 0); + if (this.locSamplerBack) + gl.uniform1i(this.locSamplerBack, 1); + if (this.locDestStart) + gl.uniform2f(this.locDestStart, 0.0, 0.0); + if (this.locDestEnd) + gl.uniform2f(this.locDestEnd, 1.0, 1.0); + if (this.locLayerScale) + gl.uniform1f(this.locLayerScale, 1.0); + if (this.locLayerAngle) + gl.uniform1f(this.locLayerAngle, 0.0); + if (this.locViewOrigin) + gl.uniform2f(this.locViewOrigin, 0.0, 0.0); + if (this.locScrollPos) + gl.uniform2f(this.locScrollPos, 0.0, 0.0); + if (this.locSeconds) + gl.uniform1f(this.locSeconds, 0.0); + this.hasCurrentMatMV = false; // matMV needs updating + }; + function areMat4sEqual(a, b) + { + return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]&& + a[4]===b[4]&&a[5]===b[5]&&a[6]===b[6]&&a[7]===b[7]&& + a[8]===b[8]&&a[9]===b[9]&&a[10]===b[10]&&a[11]===b[11]&& + a[12]===b[12]&&a[13]===b[13]&&a[14]===b[14]&&a[15]===b[15]; + }; + GLShaderProgram.prototype.updateMatMV = function (mv) + { + if (areMat4sEqual(this.lpMatMV, mv)) + return; // no change, save the expensive GL call + mat4.set(mv, this.lpMatMV); + this.gl.uniformMatrix4fv(this.locMatMV, false, mv); + }; + GLWrap_.prototype.createShaderProgram = function(shaderEntry, vsSource, name) + { + var gl = this.gl; + var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER); + gl.shaderSource(fragmentShader, shaderEntry.src); + gl.compileShader(fragmentShader); + if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) + { + var compilationlog = gl.getShaderInfoLog(fragmentShader); + gl.deleteShader(fragmentShader); + throw new Error("error compiling fragment shader: " + compilationlog); + } + var vertexShader = gl.createShader(gl.VERTEX_SHADER); + gl.shaderSource(vertexShader, vsSource); + gl.compileShader(vertexShader); + if (!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS)) + { + var compilationlog = gl.getShaderInfoLog(vertexShader); + gl.deleteShader(fragmentShader); + gl.deleteShader(vertexShader); + throw new Error("error compiling vertex shader: " + compilationlog); + } + var shaderProgram = gl.createProgram(); + gl.attachShader(shaderProgram, fragmentShader); + gl.attachShader(shaderProgram, vertexShader); + gl.linkProgram(shaderProgram); + if (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS)) + { + var compilationlog = gl.getProgramInfoLog(shaderProgram); + gl.deleteShader(fragmentShader); + gl.deleteShader(vertexShader); + gl.deleteProgram(shaderProgram); + throw new Error("error linking shader program: " + compilationlog); + } + gl.useProgram(shaderProgram); + gl.deleteShader(fragmentShader); + gl.deleteShader(vertexShader); + var ret = new GLShaderProgram(gl, shaderProgram, name); + ret.extendBoxHorizontal = shaderEntry.extendBoxHorizontal || 0; + ret.extendBoxVertical = shaderEntry.extendBoxVertical || 0; + ret.crossSampling = !!shaderEntry.crossSampling; + ret.preservesOpaqueness = !!shaderEntry.preservesOpaqueness; + ret.animated = !!shaderEntry.animated; + ret.parameters = shaderEntry.parameters || []; + var i, len; + for (i = 0, len = ret.parameters.length; i < len; i++) + { + ret.parameters[i][1] = gl.getUniformLocation(shaderProgram, ret.parameters[i][0]); + ret.lastCustomParams.push(0); + gl.uniform1f(ret.parameters[i][1], 0); + } + cr.seal(ret); + return ret; + }; + GLWrap_.prototype.getShaderIndex = function(name_) + { + var i, len; + for (i = 0, len = this.shaderPrograms.length; i < len; i++) + { + if (this.shaderPrograms[i].name === name_) + return i; + } + return -1; + }; + GLWrap_.prototype.project = function (x, y, out) + { + var mv = this.matMV; + var proj = this.matP; + var fTempo = [0, 0, 0, 0, 0, 0, 0, 0]; + fTempo[0] = mv[0]*x+mv[4]*y+mv[12]; + fTempo[1] = mv[1]*x+mv[5]*y+mv[13]; + fTempo[2] = mv[2]*x+mv[6]*y+mv[14]; + fTempo[3] = mv[3]*x+mv[7]*y+mv[15]; + fTempo[4] = proj[0]*fTempo[0]+proj[4]*fTempo[1]+proj[8]*fTempo[2]+proj[12]*fTempo[3]; + fTempo[5] = proj[1]*fTempo[0]+proj[5]*fTempo[1]+proj[9]*fTempo[2]+proj[13]*fTempo[3]; + fTempo[6] = proj[2]*fTempo[0]+proj[6]*fTempo[1]+proj[10]*fTempo[2]+proj[14]*fTempo[3]; + fTempo[7] = -fTempo[2]; + if(fTempo[7]===0.0) //The w value + return; + fTempo[7]=1.0/fTempo[7]; + fTempo[4]*=fTempo[7]; + fTempo[5]*=fTempo[7]; + fTempo[6]*=fTempo[7]; + out[0]=(fTempo[4]*0.5+0.5)*this.width; + out[1]=(fTempo[5]*0.5+0.5)*this.height; + }; + GLWrap_.prototype.setSize = function(w, h, force) + { + if (this.width === w && this.height === h && !force) + return; + this.endBatch(); + var gl = this.gl; + this.width = w; + this.height = h; + gl.viewport(0, 0, w, h); + mat4.lookAt(this.cam, this.look, this.up, this.matMV); + if (this.enableFrontToBack) + { + mat4.ortho(-w/2, w/2, h/2, -h/2, this.zNear, this.zFar, this.matP); + this.worldScale[0] = 1; + this.worldScale[1] = 1; + } + else + { + mat4.perspective(45, w / h, this.zNear, this.zFar, this.matP); + var tl = [0, 0]; + var br = [0, 0]; + this.project(0, 0, tl); + this.project(1, 1, br); + this.worldScale[0] = 1 / (br[0] - tl[0]); + this.worldScale[1] = -1 / (br[1] - tl[1]); + } + var i, len, s; + for (i = 0, len = this.shaderPrograms.length; i < len; i++) + { + s = this.shaderPrograms[i]; + s.hasCurrentMatMV = false; + if (s.locMatP) + { + gl.useProgram(s.shaderProgram); + gl.uniformMatrix4fv(s.locMatP, false, this.matP); + } + } + gl.useProgram(this.shaderPrograms[this.lastProgram].shaderProgram); + gl.bindTexture(gl.TEXTURE_2D, null); + gl.activeTexture(gl.TEXTURE1); + gl.bindTexture(gl.TEXTURE_2D, null); + gl.activeTexture(gl.TEXTURE0); + this.lastTexture0 = null; + this.lastTexture1 = null; + if (this.depthBuffer) + { + gl.bindFramebuffer(gl.FRAMEBUFFER, this.fbo); + gl.bindRenderbuffer(gl.RENDERBUFFER, this.depthBuffer); + gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_COMPONENT16, this.width, this.height); + if (!this.attachedDepthBuffer) + { + gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, this.depthBuffer); + this.attachedDepthBuffer = true; + } + gl.bindRenderbuffer(gl.RENDERBUFFER, null); + gl.bindFramebuffer(gl.FRAMEBUFFER, null); + this.renderToTex = null; + } + }; + GLWrap_.prototype.resetModelView = function () + { + mat4.lookAt(this.cam, this.look, this.up, this.matMV); + mat4.scale(this.matMV, this.worldScale); + }; + GLWrap_.prototype.translate = function (x, y) + { + if (x === 0 && y === 0) + return; + this.tmpVec3[0] = x;// * this.worldScale[0]; + this.tmpVec3[1] = y;// * this.worldScale[1]; + this.tmpVec3[2] = 0; + mat4.translate(this.matMV, this.tmpVec3); + }; + GLWrap_.prototype.scale = function (x, y) + { + if (x === 1 && y === 1) + return; + this.tmpVec3[0] = x; + this.tmpVec3[1] = y; + this.tmpVec3[2] = 1; + mat4.scale(this.matMV, this.tmpVec3); + }; + GLWrap_.prototype.rotateZ = function (a) + { + if (a === 0) + return; + mat4.rotateZ(this.matMV, a); + }; + GLWrap_.prototype.updateModelView = function() + { + if (areMat4sEqual(this.lastMV, this.matMV)) + return; + var b = this.pushBatch(); + b.type = BATCH_UPDATEMODELVIEW; + if (b.mat4param) + mat4.set(this.matMV, b.mat4param); + else + b.mat4param = mat4.create(this.matMV); + mat4.set(this.matMV, this.lastMV); + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + /* + var debugBatch = false; + jQuery(document).mousedown( + function(info) { + if (info.which === 2) + debugBatch = true; + } + ); + */ + GLWrap_.prototype.setEarlyZIndex = function (i) + { + if (!this.enableFrontToBack) + return; + if (i > 32760) + i = 32760; + this.currentZ = this.cam[2] - this.zNear - i * this.zIncrement; + }; + function GLBatchJob(type_, glwrap_) + { + this.type = type_; + this.glwrap = glwrap_; + this.gl = glwrap_.gl; + this.opacityParam = 0; // for setOpacity() + this.startIndex = 0; // for quad() + this.indexCount = 0; // " + this.texParam = null; // for setTexture() + this.mat4param = null; // for updateModelView() + this.shaderParams = []; // for user parameters + cr.seal(this); + }; + GLBatchJob.prototype.doSetEarlyZPass = function () + { + var gl = this.gl; + var glwrap = this.glwrap; + if (this.startIndex !== 0) // enable + { + gl.depthMask(true); // enable depth writes + gl.colorMask(false, false, false, false); // disable color writes + gl.disable(gl.BLEND); // no color writes so disable blend + gl.bindFramebuffer(gl.FRAMEBUFFER, glwrap.fbo); + gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, null, 0); + gl.clear(gl.DEPTH_BUFFER_BIT); // auto-clear depth buffer + gl.bindFramebuffer(gl.FRAMEBUFFER, null); + glwrap.isBatchInEarlyZPass = true; + } + else + { + gl.depthMask(false); // disable depth writes, only test existing depth values + gl.colorMask(true, true, true, true); // enable color writes + gl.enable(gl.BLEND); // turn blending back on + glwrap.isBatchInEarlyZPass = false; + } + }; + GLBatchJob.prototype.doSetTexture = function () + { + this.gl.bindTexture(this.gl.TEXTURE_2D, this.texParam); + }; + GLBatchJob.prototype.doSetTexture1 = function () + { + var gl = this.gl; + gl.activeTexture(gl.TEXTURE1); + gl.bindTexture(gl.TEXTURE_2D, this.texParam); + gl.activeTexture(gl.TEXTURE0); + }; + GLBatchJob.prototype.doSetOpacity = function () + { + var o = this.opacityParam; + var glwrap = this.glwrap; + glwrap.currentOpacity = o; + var curProg = glwrap.currentShader; + if (curProg.locOpacity && curProg.lpOpacity !== o) + { + curProg.lpOpacity = o; + this.gl.uniform1f(curProg.locOpacity, o); + } + }; + GLBatchJob.prototype.doQuad = function () + { + this.gl.drawElements(this.gl.TRIANGLES, this.indexCount, this.gl.UNSIGNED_SHORT, this.startIndex); + }; + GLBatchJob.prototype.doSetBlend = function () + { + this.gl.blendFunc(this.startIndex, this.indexCount); + }; + GLBatchJob.prototype.doUpdateModelView = function () + { + var i, len, s, shaderPrograms = this.glwrap.shaderPrograms, currentProgram = this.glwrap.currentProgram; + for (i = 0, len = shaderPrograms.length; i < len; i++) + { + s = shaderPrograms[i]; + if (i === currentProgram && s.locMatMV) + { + s.updateMatMV(this.mat4param); + s.hasCurrentMatMV = true; + } + else + s.hasCurrentMatMV = false; + } + mat4.set(this.mat4param, this.glwrap.currentMV); + }; + GLBatchJob.prototype.doRenderToTexture = function () + { + var gl = this.gl; + var glwrap = this.glwrap; + if (this.texParam) + { + if (glwrap.lastTexture1 === this.texParam) + { + gl.activeTexture(gl.TEXTURE1); + gl.bindTexture(gl.TEXTURE_2D, null); + glwrap.lastTexture1 = null; + gl.activeTexture(gl.TEXTURE0); + } + gl.bindFramebuffer(gl.FRAMEBUFFER, glwrap.fbo); + if (!glwrap.isBatchInEarlyZPass) + { + gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, this.texParam, 0); + } + } + else + { + if (!glwrap.enableFrontToBack) + { + gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, null, 0); + } + gl.bindFramebuffer(gl.FRAMEBUFFER, null); + } + }; + GLBatchJob.prototype.doClear = function () + { + var gl = this.gl; + var mode = this.startIndex; + if (mode === 0) // clear whole surface + { + gl.clearColor(this.mat4param[0], this.mat4param[1], this.mat4param[2], this.mat4param[3]); + gl.clear(gl.COLOR_BUFFER_BIT); + } + else if (mode === 1) // clear rectangle + { + gl.enable(gl.SCISSOR_TEST); + gl.scissor(this.mat4param[0], this.mat4param[1], this.mat4param[2], this.mat4param[3]); + gl.clearColor(0, 0, 0, 0); + gl.clear(gl.COLOR_BUFFER_BIT); + gl.disable(gl.SCISSOR_TEST); + } + else // clear depth + { + gl.clear(gl.DEPTH_BUFFER_BIT); + } + }; + GLBatchJob.prototype.doSetDepthTestEnabled = function () + { + var gl = this.gl; + var enable = this.startIndex; + if (enable !== 0) + { + gl.enable(gl.DEPTH_TEST); + } + else + { + gl.disable(gl.DEPTH_TEST); + } + }; + GLBatchJob.prototype.doPoints = function () + { + var gl = this.gl; + var glwrap = this.glwrap; + if (glwrap.enableFrontToBack) + gl.disable(gl.DEPTH_TEST); + var s = glwrap.shaderPrograms[1]; + gl.useProgram(s.shaderProgram); + if (!s.hasCurrentMatMV && s.locMatMV) + { + s.updateMatMV(glwrap.currentMV); + s.hasCurrentMatMV = true; + } + gl.enableVertexAttribArray(s.locAPos); + gl.bindBuffer(gl.ARRAY_BUFFER, glwrap.pointBuffer); + gl.vertexAttribPointer(s.locAPos, 4, gl.FLOAT, false, 0, 0); + gl.drawArrays(gl.POINTS, this.startIndex / 4, this.indexCount); + s = glwrap.currentShader; + gl.useProgram(s.shaderProgram); + if (s.locAPos >= 0) + { + gl.enableVertexAttribArray(s.locAPos); + gl.bindBuffer(gl.ARRAY_BUFFER, glwrap.vertexBuffers[glwrap.curBuffer]); + gl.vertexAttribPointer(s.locAPos, glwrap.enableFrontToBack ? 3 : 2, gl.FLOAT, false, 0, 0); + } + if (s.locATex >= 0) + { + gl.enableVertexAttribArray(s.locATex); + gl.bindBuffer(gl.ARRAY_BUFFER, glwrap.texcoordBuffers[glwrap.curBuffer]); + gl.vertexAttribPointer(s.locATex, 2, gl.FLOAT, false, 0, 0); + } + if (glwrap.enableFrontToBack) + gl.enable(gl.DEPTH_TEST); + }; + GLBatchJob.prototype.doSetProgram = function () + { + var gl = this.gl; + var glwrap = this.glwrap; + var s = glwrap.shaderPrograms[this.startIndex]; // recycled param to save memory + glwrap.currentProgram = this.startIndex; // current batch program + glwrap.currentShader = s; + gl.useProgram(s.shaderProgram); // switch to + if (!s.hasCurrentMatMV && s.locMatMV) + { + s.updateMatMV(glwrap.currentMV); + s.hasCurrentMatMV = true; + } + if (s.locOpacity && s.lpOpacity !== glwrap.currentOpacity) + { + s.lpOpacity = glwrap.currentOpacity; + gl.uniform1f(s.locOpacity, glwrap.currentOpacity); + } + if (s.locAPos >= 0) + { + gl.enableVertexAttribArray(s.locAPos); + gl.bindBuffer(gl.ARRAY_BUFFER, glwrap.vertexBuffers[glwrap.curBuffer]); + gl.vertexAttribPointer(s.locAPos, glwrap.enableFrontToBack ? 3 : 2, gl.FLOAT, false, 0, 0); + } + if (s.locATex >= 0) + { + gl.enableVertexAttribArray(s.locATex); + gl.bindBuffer(gl.ARRAY_BUFFER, glwrap.texcoordBuffers[glwrap.curBuffer]); + gl.vertexAttribPointer(s.locATex, 2, gl.FLOAT, false, 0, 0); + } + } + GLBatchJob.prototype.doSetColor = function () + { + var s = this.glwrap.currentShader; + var mat4param = this.mat4param; + this.gl.uniform4f(s.locColorFill, mat4param[0], mat4param[1], mat4param[2], mat4param[3]); + }; + GLBatchJob.prototype.doSetProgramParameters = function () + { + var i, len, s = this.glwrap.currentShader; + var gl = this.gl; + var mat4param = this.mat4param; + if (s.locSamplerBack && this.glwrap.lastTexture1 !== this.texParam) + { + gl.activeTexture(gl.TEXTURE1); + gl.bindTexture(gl.TEXTURE_2D, this.texParam); + this.glwrap.lastTexture1 = this.texParam; + gl.activeTexture(gl.TEXTURE0); + } + var v = mat4param[0]; + var v2; + if (s.locPixelWidth && v !== s.lpPixelWidth) + { + s.lpPixelWidth = v; + gl.uniform1f(s.locPixelWidth, v); + } + v = mat4param[1]; + if (s.locPixelHeight && v !== s.lpPixelHeight) + { + s.lpPixelHeight = v; + gl.uniform1f(s.locPixelHeight, v); + } + v = mat4param[2]; + v2 = mat4param[3]; + if (s.locDestStart && (v !== s.lpDestStartX || v2 !== s.lpDestStartY)) + { + s.lpDestStartX = v; + s.lpDestStartY = v2; + gl.uniform2f(s.locDestStart, v, v2); + } + v = mat4param[4]; + v2 = mat4param[5]; + if (s.locDestEnd && (v !== s.lpDestEndX || v2 !== s.lpDestEndY)) + { + s.lpDestEndX = v; + s.lpDestEndY = v2; + gl.uniform2f(s.locDestEnd, v, v2); + } + v = mat4param[6]; + if (s.locLayerScale && v !== s.lpLayerScale) + { + s.lpLayerScale = v; + gl.uniform1f(s.locLayerScale, v); + } + v = mat4param[7]; + if (s.locLayerAngle && v !== s.lpLayerAngle) + { + s.lpLayerAngle = v; + gl.uniform1f(s.locLayerAngle, v); + } + v = mat4param[8]; + v2 = mat4param[9]; + if (s.locViewOrigin && (v !== s.lpViewOriginX || v2 !== s.lpViewOriginY)) + { + s.lpViewOriginX = v; + s.lpViewOriginY = v2; + gl.uniform2f(s.locViewOrigin, v, v2); + } + v = mat4param[10]; + v2 = mat4param[11]; + if (s.locScrollPos && (v !== s.lpScrollPosX || v2 !== s.lpScrollPosY)) + { + s.lpScrollPosX = v; + s.lpScrollPosY = v2; + gl.uniform2f(s.locScrollPos, v, v2); + } + v = mat4param[12]; + if (s.locSeconds && v !== s.lpSeconds) + { + s.lpSeconds = v; + gl.uniform1f(s.locSeconds, v); + } + if (s.parameters.length) + { + for (i = 0, len = s.parameters.length; i < len; i++) + { + v = this.shaderParams[i]; + if (v !== s.lastCustomParams[i]) + { + s.lastCustomParams[i] = v; + gl.uniform1f(s.parameters[i][1], v); + } + } + } + }; + GLWrap_.prototype.pushBatch = function () + { + if (this.batchPtr === this.batch.length) + this.batch.push(new GLBatchJob(BATCH_NULL, this)); + return this.batch[this.batchPtr++]; + }; + GLWrap_.prototype.endBatch = function () + { + if (this.batchPtr === 0) + return; + if (this.gl.isContextLost()) + return; + var gl = this.gl; + if (this.pointPtr > 0) + { + gl.bindBuffer(gl.ARRAY_BUFFER, this.pointBuffer); + gl.bufferSubData(gl.ARRAY_BUFFER, 0, this.pointData.subarray(0, this.pointPtr)); + if (s && s.locAPos >= 0 && s.name === "") + gl.vertexAttribPointer(s.locAPos, 4, gl.FLOAT, false, 0, 0); + } + if (this.vertexPtr > 0) + { + var s = this.currentShader; + gl.bindBuffer(gl.ARRAY_BUFFER, this.vertexBuffers[this.curBuffer]); + gl.bufferSubData(gl.ARRAY_BUFFER, 0, this.vertexData.subarray(0, this.vertexPtr)); + if (s && s.locAPos >= 0 && s.name !== "") + gl.vertexAttribPointer(s.locAPos, this.enableFrontToBack ? 3 : 2, gl.FLOAT, false, 0, 0); + gl.bindBuffer(gl.ARRAY_BUFFER, this.texcoordBuffers[this.curBuffer]); + gl.bufferSubData(gl.ARRAY_BUFFER, 0, this.texcoordData.subarray(0, this.texPtr)); + if (s && s.locATex >= 0 && s.name !== "") + gl.vertexAttribPointer(s.locATex, 2, gl.FLOAT, false, 0, 0); + } + var i, len, b; + for (i = 0, len = this.batchPtr; i < len; i++) + { + b = this.batch[i]; + switch (b.type) { + case 1: + b.doQuad(); + break; + case 2: + b.doSetTexture(); + break; + case 3: + b.doSetOpacity(); + break; + case 4: + b.doSetBlend(); + break; + case 5: + b.doUpdateModelView(); + break; + case 6: + b.doRenderToTexture(); + break; + case 7: + b.doClear(); + break; + case 8: + b.doPoints(); + break; + case 9: + b.doSetProgram(); + break; + case 10: + b.doSetProgramParameters(); + break; + case 11: + b.doSetTexture1(); + break; + case 12: + b.doSetColor(); + break; + case 13: + b.doSetDepthTestEnabled(); + break; + case 14: + b.doSetEarlyZPass(); + break; + } + } + this.batchPtr = 0; + this.vertexPtr = 0; + this.texPtr = 0; + this.pointPtr = 0; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + this.isBatchInEarlyZPass = false; + this.curBuffer++; + if (this.curBuffer >= MULTI_BUFFERS) + this.curBuffer = 0; + }; + GLWrap_.prototype.setOpacity = function (op) + { + if (op === this.lastOpacity) + return; + if (this.isEarlyZPass) + return; // ignore + var b = this.pushBatch(); + b.type = BATCH_SETOPACITY; + b.opacityParam = op; + this.lastOpacity = op; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + GLWrap_.prototype.setTexture = function (tex) + { + if (tex === this.lastTexture0) + return; +; + var b = this.pushBatch(); + b.type = BATCH_SETTEXTURE; + b.texParam = tex; + this.lastTexture0 = tex; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + GLWrap_.prototype.setBlend = function (s, d) + { + if (s === this.lastSrcBlend && d === this.lastDestBlend) + return; + if (this.isEarlyZPass) + return; // ignore + var b = this.pushBatch(); + b.type = BATCH_SETBLEND; + b.startIndex = s; // recycle params to save memory + b.indexCount = d; + this.lastSrcBlend = s; + this.lastDestBlend = d; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + GLWrap_.prototype.isPremultipliedAlphaBlend = function () + { + return (this.lastSrcBlend === this.gl.ONE && this.lastDestBlend === this.gl.ONE_MINUS_SRC_ALPHA); + }; + GLWrap_.prototype.setAlphaBlend = function () + { + this.setBlend(this.gl.ONE, this.gl.ONE_MINUS_SRC_ALPHA); + }; + GLWrap_.prototype.setNoPremultiplyAlphaBlend = function () + { + this.setBlend(this.gl.SRC_ALPHA, this.gl.ONE_MINUS_SRC_ALPHA); + }; + var LAST_VERTEX = MAX_VERTICES * 2 - 8; + GLWrap_.prototype.quad = function(tlx, tly, trx, try_, brx, bry, blx, bly) + { + if (this.vertexPtr >= LAST_VERTEX) + this.endBatch(); + var v = this.vertexPtr; // vertex cursor + var t = this.texPtr; + var vd = this.vertexData; // vertex data array + var td = this.texcoordData; // texture coord data array + var currentZ = this.currentZ; + if (this.hasQuadBatchTop) + { + this.batch[this.batchPtr - 1].indexCount += 6; + } + else + { + var b = this.pushBatch(); + b.type = BATCH_QUAD; + b.startIndex = this.enableFrontToBack ? v : (v / 2) * 3; + b.indexCount = 6; + this.hasQuadBatchTop = true; + this.hasPointBatchTop = false; + } + if (this.enableFrontToBack) + { + vd[v++] = tlx; + vd[v++] = tly; + vd[v++] = currentZ; + vd[v++] = trx; + vd[v++] = try_; + vd[v++] = currentZ; + vd[v++] = brx; + vd[v++] = bry; + vd[v++] = currentZ; + vd[v++] = blx; + vd[v++] = bly; + vd[v++] = currentZ; + } + else + { + vd[v++] = tlx; + vd[v++] = tly; + vd[v++] = trx; + vd[v++] = try_; + vd[v++] = brx; + vd[v++] = bry; + vd[v++] = blx; + vd[v++] = bly; + } + td[t++] = 0; + td[t++] = 0; + td[t++] = 1; + td[t++] = 0; + td[t++] = 1; + td[t++] = 1; + td[t++] = 0; + td[t++] = 1; + this.vertexPtr = v; + this.texPtr = t; + }; + GLWrap_.prototype.quadTex = function(tlx, tly, trx, try_, brx, bry, blx, bly, rcTex) + { + if (this.vertexPtr >= LAST_VERTEX) + this.endBatch(); + var v = this.vertexPtr; // vertex cursor + var t = this.texPtr; + var vd = this.vertexData; // vertex data array + var td = this.texcoordData; // texture coord data array + var currentZ = this.currentZ; + if (this.hasQuadBatchTop) + { + this.batch[this.batchPtr - 1].indexCount += 6; + } + else + { + var b = this.pushBatch(); + b.type = BATCH_QUAD; + b.startIndex = this.enableFrontToBack ? v : (v / 2) * 3; + b.indexCount = 6; + this.hasQuadBatchTop = true; + this.hasPointBatchTop = false; + } + var rc_left = rcTex.left; + var rc_top = rcTex.top; + var rc_right = rcTex.right; + var rc_bottom = rcTex.bottom; + if (this.enableFrontToBack) + { + vd[v++] = tlx; + vd[v++] = tly; + vd[v++] = currentZ; + vd[v++] = trx; + vd[v++] = try_; + vd[v++] = currentZ; + vd[v++] = brx; + vd[v++] = bry; + vd[v++] = currentZ; + vd[v++] = blx; + vd[v++] = bly; + vd[v++] = currentZ; + } + else + { + vd[v++] = tlx; + vd[v++] = tly; + vd[v++] = trx; + vd[v++] = try_; + vd[v++] = brx; + vd[v++] = bry; + vd[v++] = blx; + vd[v++] = bly; + } + td[t++] = rc_left; + td[t++] = rc_top; + td[t++] = rc_right; + td[t++] = rc_top; + td[t++] = rc_right; + td[t++] = rc_bottom; + td[t++] = rc_left; + td[t++] = rc_bottom; + this.vertexPtr = v; + this.texPtr = t; + }; + GLWrap_.prototype.quadTexUV = function(tlx, tly, trx, try_, brx, bry, blx, bly, tlu, tlv, tru, trv, bru, brv, blu, blv) + { + if (this.vertexPtr >= LAST_VERTEX) + this.endBatch(); + var v = this.vertexPtr; // vertex cursor + var t = this.texPtr; + var vd = this.vertexData; // vertex data array + var td = this.texcoordData; // texture coord data array + var currentZ = this.currentZ; + if (this.hasQuadBatchTop) + { + this.batch[this.batchPtr - 1].indexCount += 6; + } + else + { + var b = this.pushBatch(); + b.type = BATCH_QUAD; + b.startIndex = this.enableFrontToBack ? v : (v / 2) * 3; + b.indexCount = 6; + this.hasQuadBatchTop = true; + this.hasPointBatchTop = false; + } + if (this.enableFrontToBack) + { + vd[v++] = tlx; + vd[v++] = tly; + vd[v++] = currentZ; + vd[v++] = trx; + vd[v++] = try_; + vd[v++] = currentZ; + vd[v++] = brx; + vd[v++] = bry; + vd[v++] = currentZ; + vd[v++] = blx; + vd[v++] = bly; + vd[v++] = currentZ; + } + else + { + vd[v++] = tlx; + vd[v++] = tly; + vd[v++] = trx; + vd[v++] = try_; + vd[v++] = brx; + vd[v++] = bry; + vd[v++] = blx; + vd[v++] = bly; + } + td[t++] = tlu; + td[t++] = tlv; + td[t++] = tru; + td[t++] = trv; + td[t++] = bru; + td[t++] = brv; + td[t++] = blu; + td[t++] = blv; + this.vertexPtr = v; + this.texPtr = t; + }; + GLWrap_.prototype.convexPoly = function(pts) + { + var pts_count = pts.length / 2; +; + var tris = pts_count - 2; // 3 points = 1 tri, 4 points = 2 tris, 5 points = 3 tris etc. + var last_tri = tris - 1; + var p0x = pts[0]; + var p0y = pts[1]; + var i, i2, p1x, p1y, p2x, p2y, p3x, p3y; + for (i = 0; i < tris; i += 2) // draw 2 triangles at a time + { + i2 = i * 2; + p1x = pts[i2 + 2]; + p1y = pts[i2 + 3]; + p2x = pts[i2 + 4]; + p2y = pts[i2 + 5]; + if (i === last_tri) + { + this.quad(p0x, p0y, p1x, p1y, p2x, p2y, p2x, p2y); + } + else + { + p3x = pts[i2 + 6]; + p3y = pts[i2 + 7]; + this.quad(p0x, p0y, p1x, p1y, p2x, p2y, p3x, p3y); + } + } + }; + var LAST_POINT = MAX_POINTS - 4; + GLWrap_.prototype.point = function(x_, y_, size_, opacity_) + { + if (this.pointPtr >= LAST_POINT) + this.endBatch(); + var p = this.pointPtr; // point cursor + var pd = this.pointData; // point data array + if (this.hasPointBatchTop) + { + this.batch[this.batchPtr - 1].indexCount++; + } + else + { + var b = this.pushBatch(); + b.type = BATCH_POINTS; + b.startIndex = p; + b.indexCount = 1; + this.hasPointBatchTop = true; + this.hasQuadBatchTop = false; + } + pd[p++] = x_; + pd[p++] = y_; + pd[p++] = size_; + pd[p++] = opacity_; + this.pointPtr = p; + }; + GLWrap_.prototype.switchProgram = function (progIndex) + { + if (this.lastProgram === progIndex) + return; // no change + var shaderProg = this.shaderPrograms[progIndex]; + if (!shaderProg) + { + if (this.lastProgram === 0) + return; // already on default shader + progIndex = 0; + shaderProg = this.shaderPrograms[0]; + } + var b = this.pushBatch(); + b.type = BATCH_SETPROGRAM; + b.startIndex = progIndex; + this.lastProgram = progIndex; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + GLWrap_.prototype.programUsesDest = function (progIndex) + { + var s = this.shaderPrograms[progIndex]; + return !!(s.locDestStart || s.locDestEnd); + }; + GLWrap_.prototype.programUsesCrossSampling = function (progIndex) + { + var s = this.shaderPrograms[progIndex]; + return !!(s.locDestStart || s.locDestEnd || s.crossSampling); + }; + GLWrap_.prototype.programPreservesOpaqueness = function (progIndex) + { + return this.shaderPrograms[progIndex].preservesOpaqueness; + }; + GLWrap_.prototype.programExtendsBox = function (progIndex) + { + var s = this.shaderPrograms[progIndex]; + return s.extendBoxHorizontal !== 0 || s.extendBoxVertical !== 0; + }; + GLWrap_.prototype.getProgramBoxExtendHorizontal = function (progIndex) + { + return this.shaderPrograms[progIndex].extendBoxHorizontal; + }; + GLWrap_.prototype.getProgramBoxExtendVertical = function (progIndex) + { + return this.shaderPrograms[progIndex].extendBoxVertical; + }; + GLWrap_.prototype.getProgramParameterType = function (progIndex, paramIndex) + { + return this.shaderPrograms[progIndex].parameters[paramIndex][2]; + }; + GLWrap_.prototype.programIsAnimated = function (progIndex) + { + return this.shaderPrograms[progIndex].animated; + }; + GLWrap_.prototype.setProgramParameters = function (backTex, pixelWidth, pixelHeight, destStartX, destStartY, destEndX, destEndY, layerScale, layerAngle, viewOriginLeft, viewOriginTop, scrollPosX, scrollPosY, seconds, params) + { + var i, len; + var s = this.shaderPrograms[this.lastProgram]; + var b, mat4param, shaderParams; + if (s.hasAnyOptionalUniforms || params.length) + { + b = this.pushBatch(); + b.type = BATCH_SETPROGRAMPARAMETERS; + if (b.mat4param) + mat4.set(this.matMV, b.mat4param); + else + b.mat4param = mat4.create(); + mat4param = b.mat4param; + mat4param[0] = pixelWidth; + mat4param[1] = pixelHeight; + mat4param[2] = destStartX; + mat4param[3] = destStartY; + mat4param[4] = destEndX; + mat4param[5] = destEndY; + mat4param[6] = layerScale; + mat4param[7] = layerAngle; + mat4param[8] = viewOriginLeft; + mat4param[9] = viewOriginTop; + mat4param[10] = scrollPosX; + mat4param[11] = scrollPosY; + mat4param[12] = seconds; + if (s.locSamplerBack) + { +; + b.texParam = backTex; + } + else + b.texParam = null; + if (params.length) + { + shaderParams = b.shaderParams; + shaderParams.length = params.length; + for (i = 0, len = params.length; i < len; i++) + shaderParams[i] = params[i]; + } + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + } + }; + GLWrap_.prototype.clear = function (r, g, b_, a) + { + var b = this.pushBatch(); + b.type = BATCH_CLEAR; + b.startIndex = 0; // clear all mode + if (!b.mat4param) + b.mat4param = mat4.create(); + b.mat4param[0] = r; + b.mat4param[1] = g; + b.mat4param[2] = b_; + b.mat4param[3] = a; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + GLWrap_.prototype.clearRect = function (x, y, w, h) + { + if (w < 0 || h < 0) + return; // invalid clear area + var b = this.pushBatch(); + b.type = BATCH_CLEAR; + b.startIndex = 1; // clear rect mode + if (!b.mat4param) + b.mat4param = mat4.create(); + b.mat4param[0] = x; + b.mat4param[1] = y; + b.mat4param[2] = w; + b.mat4param[3] = h; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + GLWrap_.prototype.clearDepth = function () + { + var b = this.pushBatch(); + b.type = BATCH_CLEAR; + b.startIndex = 2; // clear depth mode + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + GLWrap_.prototype.setEarlyZPass = function (e) + { + if (!this.enableFrontToBack) + return; // no depth buffer in use + e = !!e; + if (this.isEarlyZPass === e) + return; // no change + var b = this.pushBatch(); + b.type = BATCH_SETEARLYZMODE; + b.startIndex = (e ? 1 : 0); + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + this.isEarlyZPass = e; + this.renderToTex = null; + if (this.isEarlyZPass) + { + this.switchProgram(2); // early Z program + } + else + { + this.switchProgram(0); // normal rendering + } + }; + GLWrap_.prototype.setDepthTestEnabled = function (e) + { + if (!this.enableFrontToBack) + return; // no depth buffer in use + var b = this.pushBatch(); + b.type = BATCH_SETDEPTHTEST; + b.startIndex = (e ? 1 : 0); + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + GLWrap_.prototype.fullscreenQuad = function () + { + mat4.set(this.lastMV, tempMat4); + this.resetModelView(); + this.updateModelView(); + var halfw = this.width / 2; + var halfh = this.height / 2; + this.quad(-halfw, halfh, halfw, halfh, halfw, -halfh, -halfw, -halfh); + mat4.set(tempMat4, this.matMV); + this.updateModelView(); + }; + GLWrap_.prototype.setColorFillMode = function (r_, g_, b_, a_) + { + this.switchProgram(3); + var b = this.pushBatch(); + b.type = BATCH_SETCOLOR; + if (!b.mat4param) + b.mat4param = mat4.create(); + b.mat4param[0] = r_; + b.mat4param[1] = g_; + b.mat4param[2] = b_; + b.mat4param[3] = a_; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + GLWrap_.prototype.setTextureFillMode = function () + { +; + this.switchProgram(0); + }; + GLWrap_.prototype.restoreEarlyZMode = function () + { +; + this.switchProgram(2); + }; + GLWrap_.prototype.present = function () + { + this.endBatch(); + this.gl.flush(); + /* + if (debugBatch) + { +; + debugBatch = false; + } + */ + }; + function nextHighestPowerOfTwo(x) { + --x; + for (var i = 1; i < 32; i <<= 1) { + x = x | x >> i; + } + return x + 1; + } + var all_textures = []; + var textures_by_src = {}; + GLWrap_.prototype.contextLost = function () + { + cr.clearArray(all_textures); + textures_by_src = {}; + }; + var BF_RGBA8 = 0; + var BF_RGB8 = 1; + var BF_RGBA4 = 2; + var BF_RGB5_A1 = 3; + var BF_RGB565 = 4; + GLWrap_.prototype.loadTexture = function (img, tiling, linearsampling, pixelformat, tiletype, nomip) + { + tiling = !!tiling; + linearsampling = !!linearsampling; + var tex_key = img.src + "," + tiling + "," + linearsampling + (tiling ? ("," + tiletype) : ""); + var webGL_texture = null; + if (typeof img.src !== "undefined" && textures_by_src.hasOwnProperty(tex_key)) + { + webGL_texture = textures_by_src[tex_key]; + webGL_texture.c2refcount++; + return webGL_texture; + } + this.endBatch(); +; + var gl = this.gl; + var isPOT = (cr.isPOT(img.width) && cr.isPOT(img.height)); + webGL_texture = gl.createTexture(); + gl.bindTexture(gl.TEXTURE_2D, webGL_texture); + gl.pixelStorei(gl["UNPACK_PREMULTIPLY_ALPHA_WEBGL"], true); + var internalformat = gl.RGBA; + var format = gl.RGBA; + var type = gl.UNSIGNED_BYTE; + if (pixelformat && !this.isIE) + { + switch (pixelformat) { + case BF_RGB8: + internalformat = gl.RGB; + format = gl.RGB; + break; + case BF_RGBA4: + type = gl.UNSIGNED_SHORT_4_4_4_4; + break; + case BF_RGB5_A1: + type = gl.UNSIGNED_SHORT_5_5_5_1; + break; + case BF_RGB565: + internalformat = gl.RGB; + format = gl.RGB; + type = gl.UNSIGNED_SHORT_5_6_5; + break; + } + } + if (this.version === 1 && !isPOT && tiling) + { + var canvas = document.createElement("canvas"); + canvas.width = cr.nextHighestPowerOfTwo(img.width); + canvas.height = cr.nextHighestPowerOfTwo(img.height); + var ctx = canvas.getContext("2d"); + if (typeof ctx["imageSmoothingEnabled"] !== "undefined") + { + ctx["imageSmoothingEnabled"] = linearsampling; + } + else + { + ctx["webkitImageSmoothingEnabled"] = linearsampling; + ctx["mozImageSmoothingEnabled"] = linearsampling; + ctx["msImageSmoothingEnabled"] = linearsampling; + } + ctx.drawImage(img, + 0, 0, img.width, img.height, + 0, 0, canvas.width, canvas.height); + gl.texImage2D(gl.TEXTURE_2D, 0, internalformat, format, type, canvas); + } + else + gl.texImage2D(gl.TEXTURE_2D, 0, internalformat, format, type, img); + if (tiling) + { + if (tiletype === "repeat-x") + { + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.REPEAT); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + } + else if (tiletype === "repeat-y") + { + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.REPEAT); + } + else + { + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.REPEAT); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.REPEAT); + } + } + else + { + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + } + if (linearsampling) + { + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); + if ((isPOT || this.version >= 2) && this.enable_mipmaps && !nomip) + { + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_LINEAR); + gl.generateMipmap(gl.TEXTURE_2D); + } + else + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR); + } + else + { + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST); + } + gl.bindTexture(gl.TEXTURE_2D, null); + this.lastTexture0 = null; + webGL_texture.c2width = img.width; + webGL_texture.c2height = img.height; + webGL_texture.c2refcount = 1; + webGL_texture.c2texkey = tex_key; + all_textures.push(webGL_texture); + textures_by_src[tex_key] = webGL_texture; + return webGL_texture; + }; + GLWrap_.prototype.createEmptyTexture = function (w, h, linearsampling, _16bit, tiling) + { + this.endBatch(); + var gl = this.gl; + if (this.isIE) + _16bit = false; + var webGL_texture = gl.createTexture(); + gl.bindTexture(gl.TEXTURE_2D, webGL_texture); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, w, h, 0, gl.RGBA, _16bit ? gl.UNSIGNED_SHORT_4_4_4_4 : gl.UNSIGNED_BYTE, null); + if (tiling) + { + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.REPEAT); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.REPEAT); + } + else + { + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + } + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, linearsampling ? gl.LINEAR : gl.NEAREST); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, linearsampling ? gl.LINEAR : gl.NEAREST); + gl.bindTexture(gl.TEXTURE_2D, null); + this.lastTexture0 = null; + webGL_texture.c2width = w; + webGL_texture.c2height = h; + all_textures.push(webGL_texture); + return webGL_texture; + }; + GLWrap_.prototype.videoToTexture = function (video_, texture_, _16bit) + { + this.endBatch(); + var gl = this.gl; + if (this.isIE) + _16bit = false; + gl.bindTexture(gl.TEXTURE_2D, texture_); + gl.pixelStorei(gl["UNPACK_PREMULTIPLY_ALPHA_WEBGL"], true); + try { + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, _16bit ? gl.UNSIGNED_SHORT_4_4_4_4 : gl.UNSIGNED_BYTE, video_); + } + catch (e) + { + if (console && console.error) + console.error("Error updating WebGL texture: ", e); + } + gl.bindTexture(gl.TEXTURE_2D, null); + this.lastTexture0 = null; + }; + GLWrap_.prototype.deleteTexture = function (tex) + { + if (!tex) + return; + if (typeof tex.c2refcount !== "undefined" && tex.c2refcount > 1) + { + tex.c2refcount--; + return; + } + this.endBatch(); + if (tex === this.lastTexture0) + { + this.gl.bindTexture(this.gl.TEXTURE_2D, null); + this.lastTexture0 = null; + } + if (tex === this.lastTexture1) + { + this.gl.activeTexture(this.gl.TEXTURE1); + this.gl.bindTexture(this.gl.TEXTURE_2D, null); + this.gl.activeTexture(this.gl.TEXTURE0); + this.lastTexture1 = null; + } + cr.arrayFindRemove(all_textures, tex); + if (typeof tex.c2texkey !== "undefined") + delete textures_by_src[tex.c2texkey]; + this.gl.deleteTexture(tex); + }; + GLWrap_.prototype.estimateVRAM = function () + { + var total = this.width * this.height * 4 * 2; + var i, len, t; + for (i = 0, len = all_textures.length; i < len; i++) + { + t = all_textures[i]; + total += (t.c2width * t.c2height * 4); + } + return total; + }; + GLWrap_.prototype.textureCount = function () + { + return all_textures.length; + }; + GLWrap_.prototype.setRenderingToTexture = function (tex) + { + if (tex === this.renderToTex) + return; +; + var b = this.pushBatch(); + b.type = BATCH_RENDERTOTEXTURE; + b.texParam = tex; + this.renderToTex = tex; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + cr.GLWrap = GLWrap_; +}()); +; +(function() +{ + var raf = window["requestAnimationFrame"] || + window["mozRequestAnimationFrame"] || + window["webkitRequestAnimationFrame"] || + window["msRequestAnimationFrame"] || + window["oRequestAnimationFrame"]; + function Runtime(canvas) + { + if (!canvas || (!canvas.getContext && !canvas["dc"])) + return; + if (canvas["c2runtime"]) + return; + else + canvas["c2runtime"] = this; + var self = this; + this.isCrosswalk = /crosswalk/i.test(navigator.userAgent) || /xwalk/i.test(navigator.userAgent) || !!(typeof window["c2isCrosswalk"] !== "undefined" && window["c2isCrosswalk"]); + this.isCordova = this.isCrosswalk || (typeof window["device"] !== "undefined" && (typeof window["device"]["cordova"] !== "undefined" || typeof window["device"]["phonegap"] !== "undefined")) || (typeof window["c2iscordova"] !== "undefined" && window["c2iscordova"]); + this.isPhoneGap = this.isCordova; + this.isDirectCanvas = !!canvas["dc"]; + this.isAppMobi = (typeof window["AppMobi"] !== "undefined" || this.isDirectCanvas); + this.isCocoonJs = !!window["c2cocoonjs"]; + this.isEjecta = !!window["c2ejecta"]; + if (this.isCocoonJs) + { + CocoonJS["App"]["onSuspended"].addEventListener(function() { + self["setSuspended"](true); + }); + CocoonJS["App"]["onActivated"].addEventListener(function () { + self["setSuspended"](false); + }); + } + if (this.isEjecta) + { + document.addEventListener("pagehide", function() { + self["setSuspended"](true); + }); + document.addEventListener("pageshow", function() { + self["setSuspended"](false); + }); + document.addEventListener("resize", function () { + self["setSize"](window.innerWidth, window.innerHeight); + }); + } + this.isDomFree = (this.isDirectCanvas || this.isCocoonJs || this.isEjecta); + this.isMicrosoftEdge = /edge\//i.test(navigator.userAgent); + this.isIE = (/msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent) || /iemobile/i.test(navigator.userAgent)) && !this.isMicrosoftEdge; + this.isTizen = /tizen/i.test(navigator.userAgent); + this.isAndroid = /android/i.test(navigator.userAgent) && !this.isTizen && !this.isIE && !this.isMicrosoftEdge; // IE mobile and Tizen masquerade as Android + this.isiPhone = (/iphone/i.test(navigator.userAgent) || /ipod/i.test(navigator.userAgent)) && !this.isIE && !this.isMicrosoftEdge; // treat ipod as an iphone; IE mobile masquerades as iPhone + this.isiPad = /ipad/i.test(navigator.userAgent); + this.isiOS = this.isiPhone || this.isiPad || this.isEjecta; + this.isiPhoneiOS6 = (this.isiPhone && /os\s6/i.test(navigator.userAgent)); + this.isChrome = (/chrome/i.test(navigator.userAgent) || /chromium/i.test(navigator.userAgent)) && !this.isIE && !this.isMicrosoftEdge; // note true on Chromium-based webview on Android 4.4+; IE 'Edge' mode also pretends to be Chrome + this.isAmazonWebApp = /amazonwebappplatform/i.test(navigator.userAgent); + this.isFirefox = /firefox/i.test(navigator.userAgent); + this.isSafari = /safari/i.test(navigator.userAgent) && !this.isChrome && !this.isIE && !this.isMicrosoftEdge; // Chrome and IE Mobile masquerade as Safari + this.isWindows = /windows/i.test(navigator.userAgent); + this.isNWjs = (typeof window["c2nodewebkit"] !== "undefined" || typeof window["c2nwjs"] !== "undefined" || /nodewebkit/i.test(navigator.userAgent) || /nwjs/i.test(navigator.userAgent)); + this.isNodeWebkit = this.isNWjs; // old name for backwards compat + this.isArcade = (typeof window["is_scirra_arcade"] !== "undefined"); + this.isWindows8App = !!(typeof window["c2isWindows8"] !== "undefined" && window["c2isWindows8"]); + this.isWindows8Capable = !!(typeof window["c2isWindows8Capable"] !== "undefined" && window["c2isWindows8Capable"]); + this.isWindowsPhone8 = !!(typeof window["c2isWindowsPhone8"] !== "undefined" && window["c2isWindowsPhone8"]); + this.isWindowsPhone81 = !!(typeof window["c2isWindowsPhone81"] !== "undefined" && window["c2isWindowsPhone81"]); + this.isWindows10 = !!window["cr_windows10"]; + this.isWinJS = (this.isWindows8App || this.isWindows8Capable || this.isWindowsPhone81 || this.isWindows10); // note not WP8.0 + this.isBlackberry10 = !!(typeof window["c2isBlackberry10"] !== "undefined" && window["c2isBlackberry10"]); + this.isAndroidStockBrowser = (this.isAndroid && !this.isChrome && !this.isCrosswalk && !this.isFirefox && !this.isAmazonWebApp && !this.isDomFree); + this.devicePixelRatio = 1; + this.isMobile = (this.isCordova || this.isCrosswalk || this.isAppMobi || this.isCocoonJs || this.isAndroid || this.isiOS || this.isWindowsPhone8 || this.isWindowsPhone81 || this.isBlackberry10 || this.isTizen || this.isEjecta); + if (!this.isMobile) + { + this.isMobile = /(blackberry|bb10|playbook|palm|symbian|nokia|windows\s+ce|phone|mobile|tablet|kindle|silk)/i.test(navigator.userAgent); + } + this.isWKWebView = !!(this.isiOS && this.isCordova && window["webkit"]); + if (typeof cr_is_preview !== "undefined" && !this.isNWjs && (window.location.search === "?nw" || /nodewebkit/i.test(navigator.userAgent) || /nwjs/i.test(navigator.userAgent))) + { + this.isNWjs = true; + } + this.isDebug = (typeof cr_is_preview !== "undefined" && window.location.search.indexOf("debug") > -1); + this.canvas = canvas; + this.canvasdiv = document.getElementById("c2canvasdiv"); + this.gl = null; + this.glwrap = null; + this.glUnmaskedRenderer = "(unavailable)"; + this.enableFrontToBack = false; + this.earlyz_index = 0; + this.ctx = null; + this.firstInFullscreen = false; + this.oldWidth = 0; // for restoring non-fullscreen canvas after fullscreen + this.oldHeight = 0; + this.canvas.oncontextmenu = function (e) { if (e.preventDefault) e.preventDefault(); return false; }; + this.canvas.onselectstart = function (e) { if (e.preventDefault) e.preventDefault(); return false; }; + this.canvas.ontouchstart = function (e) { if(e.preventDefault) e.preventDefault(); return false; }; + if (this.isDirectCanvas) + window["c2runtime"] = this; + if (this.isNWjs) + { + window["ondragover"] = function(e) { e.preventDefault(); return false; }; + window["ondrop"] = function(e) { e.preventDefault(); return false; }; + if (window["nwgui"] && window["nwgui"]["App"]["clearCache"]) + window["nwgui"]["App"]["clearCache"](); + } + if (this.isAndroidStockBrowser && typeof jQuery !== "undefined") + { + jQuery("canvas").parents("*").css("overflow", "visible"); + } + this.width = canvas.width; + this.height = canvas.height; + this.draw_width = this.width; + this.draw_height = this.height; + this.cssWidth = this.width; + this.cssHeight = this.height; + this.lastWindowWidth = window.innerWidth; + this.lastWindowHeight = window.innerHeight; + this.forceCanvasAlpha = false; // note: now unused, left for backwards compat since plugins could modify it + this.redraw = true; + this.isSuspended = false; + if (!Date.now) { + Date.now = function now() { + return +new Date(); + }; + } + this.plugins = []; + this.types = {}; + this.types_by_index = []; + this.behaviors = []; + this.layouts = {}; + this.layouts_by_index = []; + this.eventsheets = {}; + this.eventsheets_by_index = []; + this.wait_for_textures = []; // for blocking until textures loaded + this.triggers_to_postinit = []; + this.all_global_vars = []; + this.all_local_vars = []; + this.solidBehavior = null; + this.jumpthruBehavior = null; + this.shadowcasterBehavior = null; + this.deathRow = {}; + this.hasPendingInstances = false; // true if anything exists in create row or death row + this.isInClearDeathRow = false; + this.isInOnDestroy = 0; // needs to support recursion so increments and decrements and is true if > 0 + this.isRunningEvents = false; + this.isEndingLayout = false; + this.createRow = []; + this.isLoadingState = false; + this.saveToSlot = ""; + this.loadFromSlot = ""; + this.loadFromJson = null; // set to string when there is something to try to load + this.lastSaveJson = ""; + this.signalledContinuousPreview = false; + this.suspendDrawing = false; // for hiding display until continuous preview loads + this.fireOnCreateAfterLoad = []; // for delaying "On create" triggers until loading complete + this.dt = 0; + this.dt1 = 0; + this.minimumFramerate = 30; + this.logictime = 0; // used to calculate CPUUtilisation + this.cpuutilisation = 0; + this.timescale = 1.0; + this.kahanTime = new cr.KahanAdder(); + this.wallTime = new cr.KahanAdder(); + this.last_tick_time = 0; + this.fps = 0; + this.last_fps_time = 0; + this.tickcount = 0; + this.tickcount_nosave = 0; // same as tickcount but never saved/loaded + this.execcount = 0; + this.framecount = 0; // for fps + this.objectcount = 0; + this.changelayout = null; + this.destroycallbacks = []; + this.event_stack = []; + this.event_stack_index = -1; + this.localvar_stack = [[]]; + this.localvar_stack_index = 0; + this.trigger_depth = 0; // recursion depth for triggers + this.pushEventStack(null); + this.loop_stack = []; + this.loop_stack_index = -1; + this.next_uid = 0; + this.next_puid = 0; // permanent unique ids + this.layout_first_tick = true; + this.family_count = 0; + this.suspend_events = []; + this.raf_id = -1; + this.timeout_id = -1; + this.isloading = true; + this.loadingprogress = 0; + this.isNodeFullscreen = false; + this.stackLocalCount = 0; // number of stack-based local vars for recursion + this.audioInstance = null; + this.had_a_click = false; + this.isInUserInputEvent = false; + this.objects_to_pretick = new cr.ObjectSet(); + this.objects_to_tick = new cr.ObjectSet(); + this.objects_to_tick2 = new cr.ObjectSet(); + this.registered_collisions = []; + this.temp_poly = new cr.CollisionPoly([]); + this.temp_poly2 = new cr.CollisionPoly([]); + this.allGroups = []; // array of all event groups + this.groups_by_name = {}; + this.cndsBySid = {}; + this.actsBySid = {}; + this.varsBySid = {}; + this.blocksBySid = {}; + this.running_layout = null; // currently running layout + this.layer_canvas = null; // for layers "render-to-texture" + this.layer_ctx = null; + this.layer_tex = null; + this.layout_tex = null; + this.layout_canvas = null; + this.layout_ctx = null; + this.is_WebGL_context_lost = false; + this.uses_background_blending = false; // if any shader uses background blending, so entire layout renders to texture + this.fx_tex = [null, null]; + this.fullscreen_scaling = 0; + this.files_subfolder = ""; // path with project files + this.objectsByUid = {}; // maps every in-use UID (as a string) to its instance + this.loaderlogos = null; + this.snapshotCanvas = null; + this.snapshotData = ""; + this.objectRefTable = []; + this.requestProjectData(); + }; + Runtime.prototype.requestProjectData = function () + { + var self = this; + if (this.isWKWebView) + { + this.fetchLocalFileViaCordovaAsText("data.js", function (str) + { + self.loadProject(JSON.parse(str)); + }, function (err) + { + alert("Error fetching data.js"); + }); + return; + } + var xhr; + if (this.isWindowsPhone8) + xhr = new ActiveXObject("Microsoft.XMLHTTP"); + else + xhr = new XMLHttpRequest(); + var datajs_filename = "data.js"; + if (this.isWindows8App || this.isWindowsPhone8 || this.isWindowsPhone81 || this.isWindows10) + datajs_filename = "data.json"; + xhr.open("GET", datajs_filename, true); + var supportsJsonResponse = false; + if (!this.isDomFree && ("response" in xhr) && ("responseType" in xhr)) + { + try { + xhr["responseType"] = "json"; + supportsJsonResponse = (xhr["responseType"] === "json"); + } + catch (e) { + supportsJsonResponse = false; + } + } + if (!supportsJsonResponse && ("responseType" in xhr)) + { + try { + xhr["responseType"] = "text"; + } + catch (e) {} + } + if ("overrideMimeType" in xhr) + { + try { + xhr["overrideMimeType"]("application/json; charset=utf-8"); + } + catch (e) {} + } + if (this.isWindowsPhone8) + { + xhr.onreadystatechange = function () + { + if (xhr.readyState !== 4) + return; + self.loadProject(JSON.parse(xhr["responseText"])); + }; + } + else + { + xhr.onload = function () + { + if (supportsJsonResponse) + { + self.loadProject(xhr["response"]); // already parsed by browser + } + else + { + if (self.isEjecta) + { + var str = xhr["responseText"]; + str = str.substr(str.indexOf("{")); // trim any BOM + self.loadProject(JSON.parse(str)); + } + else + { + self.loadProject(JSON.parse(xhr["responseText"])); // forced to sync parse JSON + } + } + }; + xhr.onerror = function (e) + { + cr.logerror("Error requesting " + datajs_filename + ":"); + cr.logerror(e); + }; + } + xhr.send(); + }; + Runtime.prototype.initRendererAndLoader = function () + { + var self = this; + var i, len, j, lenj, k, lenk, t, s, l, y; + this.isRetina = ((!this.isDomFree || this.isEjecta || this.isCordova) && this.useHighDpi && !this.isAndroidStockBrowser); + if (this.fullscreen_mode === 0 && this.isiOS) + this.isRetina = false; + this.devicePixelRatio = (this.isRetina ? (window["devicePixelRatio"] || window["webkitDevicePixelRatio"] || window["mozDevicePixelRatio"] || window["msDevicePixelRatio"] || 1) : 1); + if (typeof window["StatusBar"] === "object") + window["StatusBar"]["hide"](); + this.ClearDeathRow(); + var attribs; + if (this.fullscreen_mode > 0) + this["setSize"](window.innerWidth, window.innerHeight, true); + this.canvas.addEventListener("webglcontextlost", function (ev) { + ev.preventDefault(); + self.onContextLost(); + cr.logexport("[Construct 2] WebGL context lost"); + window["cr_setSuspended"](true); // stop rendering + }, false); + this.canvas.addEventListener("webglcontextrestored", function (ev) { + self.glwrap.initState(); + self.glwrap.setSize(self.glwrap.width, self.glwrap.height, true); + self.layer_tex = null; + self.layout_tex = null; + self.fx_tex[0] = null; + self.fx_tex[1] = null; + self.onContextRestored(); + self.redraw = true; + cr.logexport("[Construct 2] WebGL context restored"); + window["cr_setSuspended"](false); // resume rendering + }, false); + try { + if (this.enableWebGL && (this.isCocoonJs || this.isEjecta || !this.isDomFree)) + { + attribs = { + "alpha": true, + "depth": false, + "antialias": false, + "powerPreference": "high-performance", + "failIfMajorPerformanceCaveat": true + }; + if (!this.isAndroid) + this.gl = this.canvas.getContext("webgl2", attribs); + if (!this.gl) + { + this.gl = (this.canvas.getContext("webgl", attribs) || + this.canvas.getContext("experimental-webgl", attribs)); + } + } + } + catch (e) { + } + if (this.gl) + { + var isWebGL2 = (this.gl.getParameter(this.gl.VERSION).indexOf("WebGL 2") === 0); + var debug_ext = this.gl.getExtension("WEBGL_debug_renderer_info"); + if (debug_ext) + { + var unmasked_vendor = this.gl.getParameter(debug_ext.UNMASKED_VENDOR_WEBGL); + var unmasked_renderer = this.gl.getParameter(debug_ext.UNMASKED_RENDERER_WEBGL); + this.glUnmaskedRenderer = unmasked_renderer + " [" + unmasked_vendor + "]"; + } + if (this.enableFrontToBack) + this.glUnmaskedRenderer += " [front-to-back enabled]"; +; + if (!this.isDomFree) + { + this.overlay_canvas = document.createElement("canvas"); + jQuery(this.overlay_canvas).appendTo(this.canvas.parentNode); + this.overlay_canvas.oncontextmenu = function (e) { return false; }; + this.overlay_canvas.onselectstart = function (e) { return false; }; + this.overlay_canvas.width = Math.round(this.cssWidth * this.devicePixelRatio); + this.overlay_canvas.height = Math.round(this.cssHeight * this.devicePixelRatio); + jQuery(this.overlay_canvas).css({"width": this.cssWidth + "px", + "height": this.cssHeight + "px"}); + this.positionOverlayCanvas(); + this.overlay_ctx = this.overlay_canvas.getContext("2d"); + } + this.glwrap = new cr.GLWrap(this.gl, this.isMobile, this.enableFrontToBack); + this.glwrap.setSize(this.canvas.width, this.canvas.height); + this.glwrap.enable_mipmaps = (this.downscalingQuality !== 0); + this.ctx = null; + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + t = this.types_by_index[i]; + for (j = 0, lenj = t.effect_types.length; j < lenj; j++) + { + s = t.effect_types[j]; + s.shaderindex = this.glwrap.getShaderIndex(s.id); + s.preservesOpaqueness = this.glwrap.programPreservesOpaqueness(s.shaderindex); + this.uses_background_blending = this.uses_background_blending || this.glwrap.programUsesDest(s.shaderindex); + } + } + for (i = 0, len = this.layouts_by_index.length; i < len; i++) + { + l = this.layouts_by_index[i]; + for (j = 0, lenj = l.effect_types.length; j < lenj; j++) + { + s = l.effect_types[j]; + s.shaderindex = this.glwrap.getShaderIndex(s.id); + s.preservesOpaqueness = this.glwrap.programPreservesOpaqueness(s.shaderindex); + } + l.updateActiveEffects(); // update preserves opaqueness flag + for (j = 0, lenj = l.layers.length; j < lenj; j++) + { + y = l.layers[j]; + for (k = 0, lenk = y.effect_types.length; k < lenk; k++) + { + s = y.effect_types[k]; + s.shaderindex = this.glwrap.getShaderIndex(s.id); + s.preservesOpaqueness = this.glwrap.programPreservesOpaqueness(s.shaderindex); + this.uses_background_blending = this.uses_background_blending || this.glwrap.programUsesDest(s.shaderindex); + } + y.updateActiveEffects(); // update preserves opaqueness flag + } + } + } + else + { + if (this.fullscreen_mode > 0 && this.isDirectCanvas) + { +; + this.canvas = null; + document.oncontextmenu = function (e) { return false; }; + document.onselectstart = function (e) { return false; }; + this.ctx = AppMobi["canvas"]["getContext"]("2d"); + try { + this.ctx["samplingMode"] = this.linearSampling ? "smooth" : "sharp"; + this.ctx["globalScale"] = 1; + this.ctx["HTML5CompatibilityMode"] = true; + this.ctx["imageSmoothingEnabled"] = this.linearSampling; + } catch(e){} + if (this.width !== 0 && this.height !== 0) + { + this.ctx.width = this.width; + this.ctx.height = this.height; + } + } + if (!this.ctx) + { +; + if (this.isCocoonJs) + { + attribs = { + "antialias": !!this.linearSampling, + "alpha": true + }; + this.ctx = this.canvas.getContext("2d", attribs); + } + else + { + attribs = { + "alpha": true + }; + this.ctx = this.canvas.getContext("2d", attribs); + } + this.setCtxImageSmoothingEnabled(this.ctx, this.linearSampling); + } + this.overlay_canvas = null; + this.overlay_ctx = null; + } + this.tickFunc = function (timestamp) { self.tick(false, timestamp); }; + if (window != window.top && !this.isDomFree && !this.isWinJS && !this.isWindowsPhone8) + { + document.addEventListener("mousedown", function () { + window.focus(); + }, true); + document.addEventListener("touchstart", function () { + window.focus(); + }, true); + } + if (typeof cr_is_preview !== "undefined") + { + if (this.isCocoonJs) + console.log("[Construct 2] In preview-over-wifi via CocoonJS mode"); + if (window.location.search.indexOf("continuous") > -1) + { + cr.logexport("Reloading for continuous preview"); + this.loadFromSlot = "__c2_continuouspreview"; + this.suspendDrawing = true; + } + if (this.pauseOnBlur && !this.isMobile) + { + jQuery(window).focus(function () + { + self["setSuspended"](false); + }); + jQuery(window).blur(function () + { + var parent = window.parent; + if (!parent || !parent.document.hasFocus()) + self["setSuspended"](true); + }); + } + } + window.addEventListener("blur", function () { + self.onWindowBlur(); + }); + if (!this.isDomFree) + { + var unfocusFormControlFunc = function (e) { + if (cr.isCanvasInputEvent(e) && document["activeElement"] && document["activeElement"] !== document.getElementsByTagName("body")[0] && document["activeElement"].blur) + { + try { + document["activeElement"].blur(); + } + catch (e) {} + } + } + if (typeof PointerEvent !== "undefined") + { + document.addEventListener("pointerdown", unfocusFormControlFunc); + } + else if (window.navigator["msPointerEnabled"]) + { + document.addEventListener("MSPointerDown", unfocusFormControlFunc); + } + else + { + document.addEventListener("touchstart", unfocusFormControlFunc); + } + document.addEventListener("mousedown", unfocusFormControlFunc); + } + if (this.fullscreen_mode === 0 && this.isRetina && this.devicePixelRatio > 1) + { + this["setSize"](this.original_width, this.original_height, true); + } + this.tryLockOrientation(); + this.getready(); // determine things to preload + this.go(); // run loading screen + this.extra = {}; + cr.seal(this); + }; + var webkitRepaintFlag = false; + Runtime.prototype["setSize"] = function (w, h, force) + { + var offx = 0, offy = 0; + var neww = 0, newh = 0, intscale = 0; + if (this.lastWindowWidth === w && this.lastWindowHeight === h && !force) + return; + this.lastWindowWidth = w; + this.lastWindowHeight = h; + var mode = this.fullscreen_mode; + var orig_aspect, cur_aspect; + var isfullscreen = (document["mozFullScreen"] || document["webkitIsFullScreen"] || !!document["msFullscreenElement"] || document["fullScreen"] || this.isNodeFullscreen) && !this.isCordova; + if (!isfullscreen && this.fullscreen_mode === 0 && !force) + return; // ignore size events when not fullscreen and not using a fullscreen-in-browser mode + if (isfullscreen) + mode = this.fullscreen_scaling; + var dpr = this.devicePixelRatio; + if (mode >= 4) + { + if (mode === 5 && dpr !== 1) // integer scaling + { + w += 1; + h += 1; + } + orig_aspect = this.original_width / this.original_height; + cur_aspect = w / h; + if (cur_aspect > orig_aspect) + { + neww = h * orig_aspect; + if (mode === 5) // integer scaling + { + intscale = (neww * dpr) / this.original_width; + if (intscale > 1) + intscale = Math.floor(intscale); + else if (intscale < 1) + intscale = 1 / Math.ceil(1 / intscale); + neww = this.original_width * intscale / dpr; + newh = this.original_height * intscale / dpr; + offx = (w - neww) / 2; + offy = (h - newh) / 2; + w = neww; + h = newh; + } + else + { + offx = (w - neww) / 2; + w = neww; + } + } + else + { + newh = w / orig_aspect; + if (mode === 5) // integer scaling + { + intscale = (newh * dpr) / this.original_height; + if (intscale > 1) + intscale = Math.floor(intscale); + else if (intscale < 1) + intscale = 1 / Math.ceil(1 / intscale); + neww = this.original_width * intscale / dpr; + newh = this.original_height * intscale / dpr; + offx = (w - neww) / 2; + offy = (h - newh) / 2; + w = neww; + h = newh; + } + else + { + offy = (h - newh) / 2; + h = newh; + } + } + } + else if (isfullscreen && mode === 0) + { + offx = Math.floor((w - this.original_width) / 2); + offy = Math.floor((h - this.original_height) / 2); + w = this.original_width; + h = this.original_height; + } + if (mode < 2) + this.aspect_scale = dpr; + this.cssWidth = Math.round(w); + this.cssHeight = Math.round(h); + this.width = Math.round(w * dpr); + this.height = Math.round(h * dpr); + this.redraw = true; + if (this.wantFullscreenScalingQuality) + { + this.draw_width = this.width; + this.draw_height = this.height; + this.fullscreenScalingQuality = true; + } + else + { + if ((this.width < this.original_width && this.height < this.original_height) || mode === 1) + { + this.draw_width = this.width; + this.draw_height = this.height; + this.fullscreenScalingQuality = true; + } + else + { + this.draw_width = this.original_width; + this.draw_height = this.original_height; + this.fullscreenScalingQuality = false; + /*var orig_aspect = this.original_width / this.original_height; + var cur_aspect = this.width / this.height; + if ((this.fullscreen_mode !== 2 && cur_aspect > orig_aspect) || (this.fullscreen_mode === 2 && cur_aspect < orig_aspect)) + this.aspect_scale = this.height / this.original_height; + else + this.aspect_scale = this.width / this.original_width;*/ + if (mode === 2) // scale inner + { + orig_aspect = this.original_width / this.original_height; + cur_aspect = this.lastWindowWidth / this.lastWindowHeight; + if (cur_aspect < orig_aspect) + this.draw_width = this.draw_height * cur_aspect; + else if (cur_aspect > orig_aspect) + this.draw_height = this.draw_width / cur_aspect; + } + else if (mode === 3) + { + orig_aspect = this.original_width / this.original_height; + cur_aspect = this.lastWindowWidth / this.lastWindowHeight; + if (cur_aspect > orig_aspect) + this.draw_width = this.draw_height * cur_aspect; + else if (cur_aspect < orig_aspect) + this.draw_height = this.draw_width / cur_aspect; + } + } + } + if (this.canvasdiv && !this.isDomFree) + { + jQuery(this.canvasdiv).css({"width": Math.round(w) + "px", + "height": Math.round(h) + "px", + "margin-left": Math.floor(offx) + "px", + "margin-top": Math.floor(offy) + "px"}); + if (typeof cr_is_preview !== "undefined") + { + jQuery("#borderwrap").css({"width": Math.round(w) + "px", + "height": Math.round(h) + "px"}); + } + } + if (this.canvas) + { + this.canvas.width = Math.round(w * dpr); + this.canvas.height = Math.round(h * dpr); + if (this.isEjecta) + { + this.canvas.style.left = Math.floor(offx) + "px"; + this.canvas.style.top = Math.floor(offy) + "px"; + this.canvas.style.width = Math.round(w) + "px"; + this.canvas.style.height = Math.round(h) + "px"; + } + else if (this.isRetina && !this.isDomFree) + { + this.canvas.style.width = Math.round(w) + "px"; + this.canvas.style.height = Math.round(h) + "px"; + } + } + if (this.overlay_canvas) + { + this.overlay_canvas.width = Math.round(w * dpr); + this.overlay_canvas.height = Math.round(h * dpr); + this.overlay_canvas.style.width = this.cssWidth + "px"; + this.overlay_canvas.style.height = this.cssHeight + "px"; + } + if (this.glwrap) + { + this.glwrap.setSize(Math.round(w * dpr), Math.round(h * dpr)); + } + if (this.isDirectCanvas && this.ctx) + { + this.ctx.width = Math.round(w); + this.ctx.height = Math.round(h); + } + if (this.ctx) + { + this.setCtxImageSmoothingEnabled(this.ctx, this.linearSampling); + } + this.tryLockOrientation(); + if (this.isiPhone && !this.isCordova) + { + window.scrollTo(0, 0); + } + }; + Runtime.prototype.tryLockOrientation = function () + { + if (!this.autoLockOrientation || this.orientations === 0) + return; + var orientation = "portrait"; + if (this.orientations === 2) + orientation = "landscape"; + try { + if (screen["orientation"] && screen["orientation"]["lock"]) + screen["orientation"]["lock"](orientation).catch(function(){}); + else if (screen["lockOrientation"]) + screen["lockOrientation"](orientation); + else if (screen["webkitLockOrientation"]) + screen["webkitLockOrientation"](orientation); + else if (screen["mozLockOrientation"]) + screen["mozLockOrientation"](orientation); + else if (screen["msLockOrientation"]) + screen["msLockOrientation"](orientation); + } + catch (e) + { + if (console && console.warn) + console.warn("Failed to lock orientation: ", e); + } + }; + Runtime.prototype.onContextLost = function () + { + this.glwrap.contextLost(); + this.is_WebGL_context_lost = true; + var i, len, t; + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + t = this.types_by_index[i]; + if (t.onLostWebGLContext) + t.onLostWebGLContext(); + } + }; + Runtime.prototype.onContextRestored = function () + { + this.is_WebGL_context_lost = false; + var i, len, t; + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + t = this.types_by_index[i]; + if (t.onRestoreWebGLContext) + t.onRestoreWebGLContext(); + } + }; + Runtime.prototype.positionOverlayCanvas = function() + { + if (this.isDomFree) + return; + var isfullscreen = (document["mozFullScreen"] || document["webkitIsFullScreen"] || document["fullScreen"] || !!document["msFullscreenElement"] || this.isNodeFullscreen) && !this.isCordova; + var overlay_position = isfullscreen ? jQuery(this.canvas).offset() : jQuery(this.canvas).position(); + overlay_position.position = "absolute"; + jQuery(this.overlay_canvas).css(overlay_position); + }; + var caf = window["cancelAnimationFrame"] || + window["mozCancelAnimationFrame"] || + window["webkitCancelAnimationFrame"] || + window["msCancelAnimationFrame"] || + window["oCancelAnimationFrame"]; + Runtime.prototype["setSuspended"] = function (s) + { + var i, len; + var self = this; + if (s && !this.isSuspended) + { + cr.logexport("[Construct 2] Suspending"); + this.isSuspended = true; // next tick will be last + if (this.raf_id !== -1 && caf) // note: CocoonJS does not implement cancelAnimationFrame + caf(this.raf_id); + if (this.timeout_id !== -1) + clearTimeout(this.timeout_id); + for (i = 0, len = this.suspend_events.length; i < len; i++) + this.suspend_events[i](true); + } + else if (!s && this.isSuspended) + { + cr.logexport("[Construct 2] Resuming"); + this.isSuspended = false; + this.last_tick_time = cr.performance_now(); // ensure first tick is a zero-dt one + this.last_fps_time = cr.performance_now(); // reset FPS counter + this.framecount = 0; + this.logictime = 0; + for (i = 0, len = this.suspend_events.length; i < len; i++) + this.suspend_events[i](false); + this.tick(false); // kick off runtime again + } + }; + Runtime.prototype.addSuspendCallback = function (f) + { + this.suspend_events.push(f); + }; + Runtime.prototype.GetObjectReference = function (i) + { +; + return this.objectRefTable[i]; + }; + Runtime.prototype.loadProject = function (data_response) + { +; + if (!data_response || !data_response["project"]) + cr.logerror("Project model unavailable"); + var pm = data_response["project"]; + this.name = pm[0]; + this.first_layout = pm[1]; + this.fullscreen_mode = pm[12]; // 0 = off, 1 = crop, 2 = scale inner, 3 = scale outer, 4 = letterbox scale, 5 = integer letterbox scale + this.fullscreen_mode_set = pm[12]; + this.original_width = pm[10]; + this.original_height = pm[11]; + this.parallax_x_origin = this.original_width / 2; + this.parallax_y_origin = this.original_height / 2; + if (this.isDomFree && !this.isEjecta && (pm[12] >= 4 || pm[12] === 0)) + { + cr.logexport("[Construct 2] Letterbox scale fullscreen modes are not supported on this platform - falling back to 'Scale outer'"); + this.fullscreen_mode = 3; + this.fullscreen_mode_set = 3; + } + this.uses_loader_layout = pm[18]; + this.loaderstyle = pm[19]; + if (this.loaderstyle === 0) + { + var loaderImage = new Image(); + loaderImage.crossOrigin = "anonymous"; + this.setImageSrc(loaderImage, "loading-logo.png"); + this.loaderlogos = { + logo: loaderImage + }; + } + else if (this.loaderstyle === 4) // c2 splash + { + var loaderC2logo_1024 = new Image(); + loaderC2logo_1024.src = ""; + var loaderC2logo_512 = new Image(); + loaderC2logo_512.src = ""; + var loaderC2logo_256 = new Image(); + loaderC2logo_256.src = ""; + var loaderC2logo_128 = new Image(); + loaderC2logo_128.src = ""; + var loaderPowered_1024 = new Image(); + loaderPowered_1024.src = ""; + var loaderPowered_512 = new Image(); + loaderPowered_512.src = ""; + var loaderPowered_256 = new Image(); + loaderPowered_256.src = ""; + var loaderPowered_128 = new Image(); + loaderPowered_128.src = ""; + var loaderWebsite_1024 = new Image(); + loaderWebsite_1024.src = ""; + var loaderWebsite_512 = new Image(); + loaderWebsite_512.src = ""; + var loaderWebsite_256 = new Image(); + loaderWebsite_256.src = ""; + var loaderWebsite_128 = new Image(); + loaderWebsite_128.src = ""; + this.loaderlogos = { + logo: [loaderC2logo_1024, loaderC2logo_512, loaderC2logo_256, loaderC2logo_128], + powered: [loaderPowered_1024, loaderPowered_512, loaderPowered_256, loaderPowered_128], + website: [loaderWebsite_1024, loaderWebsite_512, loaderWebsite_256, loaderWebsite_128] + }; + } + this.next_uid = pm[21]; + this.objectRefTable = cr.getObjectRefTable(); + this.system = new cr.system_object(this); + var i, len, j, lenj, k, lenk, idstr, m, b, t, f, p; + var plugin, plugin_ctor; + for (i = 0, len = pm[2].length; i < len; i++) + { + m = pm[2][i]; + p = this.GetObjectReference(m[0]); +; + cr.add_common_aces(m, p.prototype); + plugin = new p(this); + plugin.singleglobal = m[1]; + plugin.is_world = m[2]; + plugin.is_rotatable = m[5]; + plugin.must_predraw = m[9]; + if (plugin.onCreate) + plugin.onCreate(); // opportunity to override default ACEs + cr.seal(plugin); + this.plugins.push(plugin); + } + this.objectRefTable = cr.getObjectRefTable(); + for (i = 0, len = pm[3].length; i < len; i++) + { + m = pm[3][i]; + plugin_ctor = this.GetObjectReference(m[1]); +; + plugin = null; + for (j = 0, lenj = this.plugins.length; j < lenj; j++) + { + if (this.plugins[j] instanceof plugin_ctor) + { + plugin = this.plugins[j]; + break; + } + } +; +; + var type_inst = new plugin.Type(plugin); +; + type_inst.name = m[0]; + type_inst.is_family = m[2]; + type_inst.instvar_sids = m[3].slice(0); + type_inst.vars_count = m[3].length; + type_inst.behs_count = m[4]; + type_inst.fx_count = m[5]; + type_inst.sid = m[11]; + if (type_inst.is_family) + { + type_inst.members = []; // types in this family + type_inst.family_index = this.family_count++; + type_inst.families = null; + } + else + { + type_inst.members = null; + type_inst.family_index = -1; + type_inst.families = []; // families this type belongs to + } + type_inst.family_var_map = null; + type_inst.family_beh_map = null; + type_inst.family_fx_map = null; + type_inst.is_contained = false; + type_inst.container = null; + if (m[6]) + { + type_inst.texture_file = m[6][0]; + type_inst.texture_filesize = m[6][1]; + type_inst.texture_pixelformat = m[6][2]; + } + else + { + type_inst.texture_file = null; + type_inst.texture_filesize = 0; + type_inst.texture_pixelformat = 0; // rgba8 + } + if (m[7]) + { + type_inst.animations = m[7]; + } + else + { + type_inst.animations = null; + } + type_inst.index = i; // save index in to types array in type + type_inst.instances = []; // all instances of this type + type_inst.deadCache = []; // destroyed instances to recycle next create + type_inst.solstack = [new cr.selection(type_inst)]; // initialise SOL stack with one empty SOL + type_inst.cur_sol = 0; + type_inst.default_instance = null; + type_inst.default_layerindex = 0; + type_inst.stale_iids = true; + type_inst.updateIIDs = cr.type_updateIIDs; + type_inst.getFirstPicked = cr.type_getFirstPicked; + type_inst.getPairedInstance = cr.type_getPairedInstance; + type_inst.getCurrentSol = cr.type_getCurrentSol; + type_inst.pushCleanSol = cr.type_pushCleanSol; + type_inst.pushCopySol = cr.type_pushCopySol; + type_inst.popSol = cr.type_popSol; + type_inst.getBehaviorByName = cr.type_getBehaviorByName; + type_inst.getBehaviorIndexByName = cr.type_getBehaviorIndexByName; + type_inst.getEffectIndexByName = cr.type_getEffectIndexByName; + type_inst.applySolToContainer = cr.type_applySolToContainer; + type_inst.getInstanceByIID = cr.type_getInstanceByIID; + type_inst.collision_grid = new cr.SparseGrid(this.original_width, this.original_height); + type_inst.any_cell_changed = true; + type_inst.any_instance_parallaxed = false; + type_inst.extra = {}; + type_inst.toString = cr.type_toString; + type_inst.behaviors = []; + for (j = 0, lenj = m[8].length; j < lenj; j++) + { + b = m[8][j]; + var behavior_ctor = this.GetObjectReference(b[1]); + var behavior_plugin = null; + for (k = 0, lenk = this.behaviors.length; k < lenk; k++) + { + if (this.behaviors[k] instanceof behavior_ctor) + { + behavior_plugin = this.behaviors[k]; + break; + } + } + if (!behavior_plugin) + { + behavior_plugin = new behavior_ctor(this); + behavior_plugin.my_types = []; // types using this behavior + behavior_plugin.my_instances = new cr.ObjectSet(); // instances of this behavior + if (behavior_plugin.onCreate) + behavior_plugin.onCreate(); + cr.seal(behavior_plugin); + this.behaviors.push(behavior_plugin); + if (cr.behaviors.solid && behavior_plugin instanceof cr.behaviors.solid) + this.solidBehavior = behavior_plugin; + if (cr.behaviors.jumpthru && behavior_plugin instanceof cr.behaviors.jumpthru) + this.jumpthruBehavior = behavior_plugin; + if (cr.behaviors.shadowcaster && behavior_plugin instanceof cr.behaviors.shadowcaster) + this.shadowcasterBehavior = behavior_plugin; + } + if (behavior_plugin.my_types.indexOf(type_inst) === -1) + behavior_plugin.my_types.push(type_inst); + var behavior_type = new behavior_plugin.Type(behavior_plugin, type_inst); + behavior_type.name = b[0]; + behavior_type.sid = b[2]; + behavior_type.onCreate(); + cr.seal(behavior_type); + type_inst.behaviors.push(behavior_type); + } + type_inst.global = m[9]; + type_inst.isOnLoaderLayout = m[10]; + type_inst.effect_types = []; + for (j = 0, lenj = m[12].length; j < lenj; j++) + { + type_inst.effect_types.push({ + id: m[12][j][0], + name: m[12][j][1], + shaderindex: -1, + preservesOpaqueness: false, + active: true, + index: j + }); + } + type_inst.tile_poly_data = m[13]; + if (!this.uses_loader_layout || type_inst.is_family || type_inst.isOnLoaderLayout || !plugin.is_world) + { + type_inst.onCreate(); + cr.seal(type_inst); + } + if (type_inst.name) + this.types[type_inst.name] = type_inst; + this.types_by_index.push(type_inst); + if (plugin.singleglobal) + { + var instance = new plugin.Instance(type_inst); + instance.uid = this.next_uid++; + instance.puid = this.next_puid++; + instance.iid = 0; + instance.get_iid = cr.inst_get_iid; + instance.toString = cr.inst_toString; + instance.properties = m[14]; + instance.onCreate(); + cr.seal(instance); + type_inst.instances.push(instance); + this.objectsByUid[instance.uid.toString()] = instance; + } + } + for (i = 0, len = pm[4].length; i < len; i++) + { + var familydata = pm[4][i]; + var familytype = this.types_by_index[familydata[0]]; + var familymember; + for (j = 1, lenj = familydata.length; j < lenj; j++) + { + familymember = this.types_by_index[familydata[j]]; + familymember.families.push(familytype); + familytype.members.push(familymember); + } + } + for (i = 0, len = pm[28].length; i < len; i++) + { + var containerdata = pm[28][i]; + var containertypes = []; + for (j = 0, lenj = containerdata.length; j < lenj; j++) + containertypes.push(this.types_by_index[containerdata[j]]); + for (j = 0, lenj = containertypes.length; j < lenj; j++) + { + containertypes[j].is_contained = true; + containertypes[j].container = containertypes; + } + } + if (this.family_count > 0) + { + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + t = this.types_by_index[i]; + if (t.is_family || !t.families.length) + continue; + t.family_var_map = new Array(this.family_count); + t.family_beh_map = new Array(this.family_count); + t.family_fx_map = new Array(this.family_count); + var all_fx = []; + var varsum = 0; + var behsum = 0; + var fxsum = 0; + for (j = 0, lenj = t.families.length; j < lenj; j++) + { + f = t.families[j]; + t.family_var_map[f.family_index] = varsum; + varsum += f.vars_count; + t.family_beh_map[f.family_index] = behsum; + behsum += f.behs_count; + t.family_fx_map[f.family_index] = fxsum; + fxsum += f.fx_count; + for (k = 0, lenk = f.effect_types.length; k < lenk; k++) + all_fx.push(cr.shallowCopy({}, f.effect_types[k])); + } + t.effect_types = all_fx.concat(t.effect_types); + for (j = 0, lenj = t.effect_types.length; j < lenj; j++) + t.effect_types[j].index = j; + } + } + for (i = 0, len = pm[5].length; i < len; i++) + { + m = pm[5][i]; + var layout = new cr.layout(this, m); + cr.seal(layout); + this.layouts[layout.name] = layout; + this.layouts_by_index.push(layout); + } + for (i = 0, len = pm[6].length; i < len; i++) + { + m = pm[6][i]; + var sheet = new cr.eventsheet(this, m); + cr.seal(sheet); + this.eventsheets[sheet.name] = sheet; + this.eventsheets_by_index.push(sheet); + } + for (i = 0, len = this.eventsheets_by_index.length; i < len; i++) + this.eventsheets_by_index[i].postInit(); + for (i = 0, len = this.eventsheets_by_index.length; i < len; i++) + this.eventsheets_by_index[i].updateDeepIncludes(); + for (i = 0, len = this.triggers_to_postinit.length; i < len; i++) + this.triggers_to_postinit[i].postInit(); + cr.clearArray(this.triggers_to_postinit) + this.audio_to_preload = pm[7]; + this.files_subfolder = pm[8]; + this.pixel_rounding = pm[9]; + this.aspect_scale = 1.0; + this.enableWebGL = pm[13]; + this.linearSampling = pm[14]; + this.clearBackground = pm[15]; + this.versionstr = pm[16]; + this.useHighDpi = pm[17]; + this.orientations = pm[20]; // 0 = any, 1 = portrait, 2 = landscape + this.autoLockOrientation = (this.orientations > 0); + this.pauseOnBlur = pm[22]; + this.wantFullscreenScalingQuality = pm[23]; // false = low quality, true = high quality + this.fullscreenScalingQuality = this.wantFullscreenScalingQuality; + this.downscalingQuality = pm[24]; // 0 = low (mips off), 1 = medium (mips on, dense spritesheet), 2 = high (mips on, sparse spritesheet) + this.preloadSounds = pm[25]; // 0 = no, 1 = yes + this.projectName = pm[26]; + this.enableFrontToBack = pm[27] && !this.isIE; // front-to-back renderer disabled in IE (but not Edge) + this.start_time = Date.now(); + cr.clearArray(this.objectRefTable); + this.initRendererAndLoader(); + }; + var anyImageHadError = false; + var MAX_PARALLEL_IMAGE_LOADS = 100; + var currentlyActiveImageLoads = 0; + var imageLoadQueue = []; // array of [img, srcToSet] + Runtime.prototype.queueImageLoad = function (img_, src_) + { + var self = this; + var doneFunc = function () + { + currentlyActiveImageLoads--; + self.maybeLoadNextImages(); + }; + img_.addEventListener("load", doneFunc); + img_.addEventListener("error", doneFunc); + imageLoadQueue.push([img_, src_]); + this.maybeLoadNextImages(); + }; + Runtime.prototype.maybeLoadNextImages = function () + { + var next; + while (imageLoadQueue.length && currentlyActiveImageLoads < MAX_PARALLEL_IMAGE_LOADS) + { + currentlyActiveImageLoads++; + next = imageLoadQueue.shift(); + this.setImageSrc(next[0], next[1]); + } + }; + Runtime.prototype.waitForImageLoad = function (img_, src_) + { + img_["cocoonLazyLoad"] = true; + img_.onerror = function (e) + { + img_.c2error = true; + anyImageHadError = true; + if (console && console.error) + console.error("Error loading image '" + img_.src + "': ", e); + }; + if (this.isEjecta) + { + img_.src = src_; + } + else if (!img_.src) + { + if (typeof XAPKReader !== "undefined") + { + XAPKReader.get(src_, function (expanded_url) + { + img_.src = expanded_url; + }, function (e) + { + img_.c2error = true; + anyImageHadError = true; + if (console && console.error) + console.error("Error extracting image '" + src_ + "' from expansion file: ", e); + }); + } + else + { + img_.crossOrigin = "anonymous"; // required for Arcade sandbox compatibility + this.queueImageLoad(img_, src_); // use a queue to avoid requesting all images simultaneously + } + } + this.wait_for_textures.push(img_); + }; + Runtime.prototype.findWaitingTexture = function (src_) + { + var i, len; + for (i = 0, len = this.wait_for_textures.length; i < len; i++) + { + if (this.wait_for_textures[i].cr_src === src_) + return this.wait_for_textures[i]; + } + return null; + }; + var audio_preload_totalsize = 0; + var audio_preload_started = false; + Runtime.prototype.getready = function () + { + if (!this.audioInstance) + return; + audio_preload_totalsize = this.audioInstance.setPreloadList(this.audio_to_preload); + }; + Runtime.prototype.areAllTexturesAndSoundsLoaded = function () + { + var totalsize = audio_preload_totalsize; + var completedsize = 0; + var audiocompletedsize = 0; + var ret = true; + var i, len, img; + for (i = 0, len = this.wait_for_textures.length; i < len; i++) + { + img = this.wait_for_textures[i]; + var filesize = img.cr_filesize; + if (!filesize || filesize <= 0) + filesize = 50000; + totalsize += filesize; + if (!!img.src && (img.complete || img["loaded"]) && !img.c2error) + completedsize += filesize; + else + ret = false; // not all textures loaded + } + if (ret && this.preloadSounds && this.audioInstance) + { + if (!audio_preload_started) + { + this.audioInstance.startPreloads(); + audio_preload_started = true; + } + audiocompletedsize = this.audioInstance.getPreloadedSize(); + completedsize += audiocompletedsize; + if (audiocompletedsize < audio_preload_totalsize) + ret = false; // not done yet + } + if (totalsize == 0) + this.progress = 1; // indicate to C2 splash loader that it can finish now + else + this.progress = (completedsize / totalsize); + return ret; + }; + var isC2SplashDone = false; + Runtime.prototype.go = function () + { + if (!this.ctx && !this.glwrap) + return; + var ctx = this.ctx || this.overlay_ctx; + if (this.overlay_canvas) + this.positionOverlayCanvas(); + var curwidth = window.innerWidth; + var curheight = window.innerHeight; + if (this.lastWindowWidth !== curwidth || this.lastWindowHeight !== curheight) + { + this["setSize"](curwidth, curheight); + } + this.progress = 0; + this.last_progress = -1; + var self = this; + if (this.areAllTexturesAndSoundsLoaded() && (this.loaderstyle !== 4 || isC2SplashDone)) + { + this.go_loading_finished(); + } + else + { + var ms_elapsed = Date.now() - this.start_time; + if (ctx) + { + var overlay_width = this.width; + var overlay_height = this.height; + var dpr = this.devicePixelRatio; + if (this.loaderstyle < 3 && (this.isCocoonJs || (ms_elapsed >= 500 && this.last_progress != this.progress))) + { + ctx.clearRect(0, 0, overlay_width, overlay_height); + var mx = overlay_width / 2; + var my = overlay_height / 2; + var haslogo = (this.loaderstyle === 0 && this.loaderlogos.logo.complete); + var hlw = 40 * dpr; + var hlh = 0; + var logowidth = 80 * dpr; + var logoheight; + if (haslogo) + { + var loaderLogoImage = this.loaderlogos.logo; + logowidth = loaderLogoImage.width * dpr; + logoheight = loaderLogoImage.height * dpr; + hlw = logowidth / 2; + hlh = logoheight / 2; + ctx.drawImage(loaderLogoImage, cr.floor(mx - hlw), cr.floor(my - hlh), logowidth, logoheight); + } + if (this.loaderstyle <= 1) + { + my += hlh + (haslogo ? 12 * dpr : 0); + mx -= hlw; + mx = cr.floor(mx) + 0.5; + my = cr.floor(my) + 0.5; + ctx.fillStyle = anyImageHadError ? "red" : "DodgerBlue"; + ctx.fillRect(mx, my, Math.floor(logowidth * this.progress), 6 * dpr); + ctx.strokeStyle = "black"; + ctx.strokeRect(mx, my, logowidth, 6 * dpr); + ctx.strokeStyle = "white"; + ctx.strokeRect(mx - 1 * dpr, my - 1 * dpr, logowidth + 2 * dpr, 8 * dpr); + } + else if (this.loaderstyle === 2) + { + ctx.font = (this.isEjecta ? "12pt ArialMT" : "12pt Arial"); + ctx.fillStyle = anyImageHadError ? "#f00" : "#999"; + ctx.textBaseLine = "middle"; + var percent_text = Math.round(this.progress * 100) + "%"; + var text_dim = ctx.measureText ? ctx.measureText(percent_text) : null; + var text_width = text_dim ? text_dim.width : 0; + ctx.fillText(percent_text, mx - (text_width / 2), my); + } + this.last_progress = this.progress; + } + else if (this.loaderstyle === 4) + { + this.draw_c2_splash_loader(ctx); + if (raf) + raf(function() { self.go(); }); + else + setTimeout(function() { self.go(); }, 16); + return; + } + } + setTimeout(function() { self.go(); }, (this.isCocoonJs ? 10 : 100)); + } + }; + var splashStartTime = -1; + var splashFadeInDuration = 300; + var splashFadeOutDuration = 300; + var splashAfterFadeOutWait = (typeof cr_is_preview === "undefined" ? 200 : 0); + var splashIsFadeIn = true; + var splashIsFadeOut = false; + var splashFadeInFinish = 0; + var splashFadeOutStart = 0; + var splashMinDisplayTime = (typeof cr_is_preview === "undefined" ? 3000 : 0); + var renderViaCanvas = null; + var renderViaCtx = null; + var splashFrameNumber = 0; + function maybeCreateRenderViaCanvas(w, h) + { + if (!renderViaCanvas || renderViaCanvas.width !== w || renderViaCanvas.height !== h) + { + renderViaCanvas = document.createElement("canvas"); + renderViaCanvas.width = w; + renderViaCanvas.height = h; + renderViaCtx = renderViaCanvas.getContext("2d"); + } + }; + function mipImage(arr, size) + { + if (size <= 128) + return arr[3]; + else if (size <= 256) + return arr[2]; + else if (size <= 512) + return arr[1]; + else + return arr[0]; + }; + Runtime.prototype.draw_c2_splash_loader = function(ctx) + { + if (isC2SplashDone) + return; + var w = Math.ceil(this.width); + var h = Math.ceil(this.height); + var dpr = this.devicePixelRatio; + var logoimages = this.loaderlogos.logo; + var poweredimages = this.loaderlogos.powered; + var websiteimages = this.loaderlogos.website; + for (var i = 0; i < 4; ++i) + { + if (!logoimages[i].complete || !poweredimages[i].complete || !websiteimages[i].complete) + return; + } + if (splashFrameNumber === 0) + splashStartTime = Date.now(); + var nowTime = Date.now(); + var isRenderingVia = false; + var renderToCtx = ctx; + var drawW, drawH; + if (splashIsFadeIn || splashIsFadeOut) + { + ctx.clearRect(0, 0, w, h); + maybeCreateRenderViaCanvas(w, h); + renderToCtx = renderViaCtx; + isRenderingVia = true; + if (splashIsFadeIn && splashFrameNumber === 1) + splashStartTime = Date.now(); + } + else + { + ctx.globalAlpha = 1; + } + renderToCtx.fillStyle = "#333333"; + renderToCtx.fillRect(0, 0, w, h); + if (this.cssHeight > 256) + { + drawW = cr.clamp(h * 0.22, 105, w * 0.6); + drawH = drawW * 0.25; + renderToCtx.drawImage(mipImage(poweredimages, drawW), w * 0.5 - drawW/2, h * 0.2 - drawH/2, drawW, drawH); + drawW = Math.min(h * 0.395, w * 0.95); + drawH = drawW; + renderToCtx.drawImage(mipImage(logoimages, drawW), w * 0.5 - drawW/2, h * 0.485 - drawH/2, drawW, drawH); + drawW = cr.clamp(h * 0.22, 105, w * 0.6); + drawH = drawW * 0.25; + renderToCtx.drawImage(mipImage(websiteimages, drawW), w * 0.5 - drawW/2, h * 0.868 - drawH/2, drawW, drawH); + renderToCtx.fillStyle = "#3C3C3C"; + drawW = w; + drawH = Math.max(h * 0.005, 2); + renderToCtx.fillRect(0, h * 0.8 - drawH/2, drawW, drawH); + renderToCtx.fillStyle = anyImageHadError ? "red" : "#E0FF65"; + drawW = w * this.progress; + renderToCtx.fillRect(w * 0.5 - drawW/2, h * 0.8 - drawH/2, drawW, drawH); + } + else + { + drawW = h * 0.55; + drawH = drawW; + renderToCtx.drawImage(mipImage(logoimages, drawW), w * 0.5 - drawW/2, h * 0.45 - drawH/2, drawW, drawH); + renderToCtx.fillStyle = "#3C3C3C"; + drawW = w; + drawH = Math.max(h * 0.005, 2); + renderToCtx.fillRect(0, h * 0.85 - drawH/2, drawW, drawH); + renderToCtx.fillStyle = anyImageHadError ? "red" : "#E0FF65"; + drawW = w * this.progress; + renderToCtx.fillRect(w * 0.5 - drawW/2, h * 0.85 - drawH/2, drawW, drawH); + } + if (isRenderingVia) + { + if (splashIsFadeIn) + { + if (splashFrameNumber === 0) + ctx.globalAlpha = 0; + else + ctx.globalAlpha = Math.min((nowTime - splashStartTime) / splashFadeInDuration, 1); + } + else if (splashIsFadeOut) + { + ctx.globalAlpha = Math.max(1 - (nowTime - splashFadeOutStart) / splashFadeOutDuration, 0); + } + ctx.drawImage(renderViaCanvas, 0, 0, w, h); + } + if (splashIsFadeIn && nowTime - splashStartTime >= splashFadeInDuration && splashFrameNumber >= 2) + { + splashIsFadeIn = false; + splashFadeInFinish = nowTime; + } + if (!splashIsFadeIn && nowTime - splashFadeInFinish >= splashMinDisplayTime && !splashIsFadeOut && this.progress >= 1) + { + splashIsFadeOut = true; + splashFadeOutStart = nowTime; + } + if ((splashIsFadeOut && nowTime - splashFadeOutStart >= splashFadeOutDuration + splashAfterFadeOutWait) || + (typeof cr_is_preview !== "undefined" && this.progress >= 1 && Date.now() - splashStartTime < 500)) + { + isC2SplashDone = true; + splashIsFadeIn = false; + splashIsFadeOut = false; + renderViaCanvas = null; + renderViaCtx = null; + this.loaderlogos = null; + } + ++splashFrameNumber; + }; + Runtime.prototype.go_loading_finished = function () + { + if (this.overlay_canvas) + { + this.canvas.parentNode.removeChild(this.overlay_canvas); + this.overlay_ctx = null; + this.overlay_canvas = null; + } + this.start_time = Date.now(); + this.last_fps_time = cr.performance_now(); // for counting framerate + var i, len, t; + if (this.uses_loader_layout) + { + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + t = this.types_by_index[i]; + if (!t.is_family && !t.isOnLoaderLayout && t.plugin.is_world) + { + t.onCreate(); + cr.seal(t); + } + } + } + else + this.isloading = false; + for (i = 0, len = this.layouts_by_index.length; i < len; i++) + { + this.layouts_by_index[i].createGlobalNonWorlds(); + } + if (this.fullscreen_mode >= 2) + { + var orig_aspect = this.original_width / this.original_height; + var cur_aspect = this.width / this.height; + if ((this.fullscreen_mode !== 2 && cur_aspect > orig_aspect) || (this.fullscreen_mode === 2 && cur_aspect < orig_aspect)) + this.aspect_scale = this.height / this.original_height; + else + this.aspect_scale = this.width / this.original_width; + } + if (this.first_layout) + this.layouts[this.first_layout].startRunning(); + else + this.layouts_by_index[0].startRunning(); +; + if (!this.uses_loader_layout) + { + this.loadingprogress = 1; + this.trigger(cr.system_object.prototype.cnds.OnLoadFinished, null); + if (window["C2_RegisterSW"]) // note not all platforms use SW + window["C2_RegisterSW"](); + } + if (navigator["splashscreen"] && navigator["splashscreen"]["hide"]) + navigator["splashscreen"]["hide"](); + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + t = this.types_by_index[i]; + if (t.onAppBegin) + t.onAppBegin(); + } + if (document["hidden"] || document["webkitHidden"] || document["mozHidden"] || document["msHidden"]) + { + window["cr_setSuspended"](true); // stop rendering + } + else + { + this.tick(false); + } + if (this.isDirectCanvas) + AppMobi["webview"]["execute"]("onGameReady();"); + }; + Runtime.prototype.tick = function (background_wake, timestamp, debug_step) + { + if (!this.running_layout) + return; + var nowtime = cr.performance_now(); + var logic_start = nowtime; + if (!debug_step && this.isSuspended && !background_wake) + return; + if (!background_wake) + { + if (raf) + this.raf_id = raf(this.tickFunc); + else + { + this.timeout_id = setTimeout(this.tickFunc, this.isMobile ? 1 : 16); + } + } + var raf_time = timestamp || nowtime; + var fsmode = this.fullscreen_mode; + var isfullscreen = (document["mozFullScreen"] || document["webkitIsFullScreen"] || document["fullScreen"] || !!document["msFullscreenElement"]) && !this.isCordova; + if ((isfullscreen || this.isNodeFullscreen) && this.fullscreen_scaling > 0) + fsmode = this.fullscreen_scaling; + if (fsmode > 0) // r222: experimentally enabling this workaround for all platforms + { + var curwidth = window.innerWidth; + var curheight = window.innerHeight; + if (this.lastWindowWidth !== curwidth || this.lastWindowHeight !== curheight) + { + this["setSize"](curwidth, curheight); + } + } + if (!this.isDomFree) + { + if (isfullscreen) + { + if (!this.firstInFullscreen) + this.firstInFullscreen = true; + } + else + { + if (this.firstInFullscreen) + { + this.firstInFullscreen = false; + if (this.fullscreen_mode === 0) + { + this["setSize"](Math.round(this.oldWidth / this.devicePixelRatio), Math.round(this.oldHeight / this.devicePixelRatio), true); + } + } + else + { + this.oldWidth = this.width; + this.oldHeight = this.height; + } + } + } + if (this.isloading) + { + var done = this.areAllTexturesAndSoundsLoaded(); // updates this.progress + this.loadingprogress = this.progress; + if (done) + { + this.isloading = false; + this.progress = 1; + this.trigger(cr.system_object.prototype.cnds.OnLoadFinished, null); + if (window["C2_RegisterSW"]) + window["C2_RegisterSW"](); + } + } + this.logic(raf_time); + if ((this.redraw || this.isCocoonJs) && !this.is_WebGL_context_lost && !this.suspendDrawing && !background_wake) + { + this.redraw = false; + if (this.glwrap) + this.drawGL(); + else + this.draw(); + if (this.snapshotCanvas) + { + if (this.canvas && this.canvas.toDataURL) + { + this.snapshotData = this.canvas.toDataURL(this.snapshotCanvas[0], this.snapshotCanvas[1]); + if (window["cr_onSnapshot"]) + window["cr_onSnapshot"](this.snapshotData); + this.trigger(cr.system_object.prototype.cnds.OnCanvasSnapshot, null); + } + this.snapshotCanvas = null; + } + } + if (!this.hit_breakpoint) + { + this.tickcount++; + this.tickcount_nosave++; + this.execcount++; + this.framecount++; + } + this.logictime += cr.performance_now() - logic_start; + }; + Runtime.prototype.logic = function (cur_time) + { + var i, leni, j, lenj, k, lenk, type, inst, binst; + if (cur_time - this.last_fps_time >= 1000) // every 1 second + { + this.last_fps_time += 1000; + if (cur_time - this.last_fps_time >= 1000) + this.last_fps_time = cur_time; + this.fps = this.framecount; + this.framecount = 0; + this.cpuutilisation = this.logictime; + this.logictime = 0; + } + var wallDt = 0; + if (this.last_tick_time !== 0) + { + var ms_diff = cur_time - this.last_tick_time; + if (ms_diff < 0) + ms_diff = 0; + wallDt = ms_diff / 1000.0; // dt measured in seconds + this.dt1 = wallDt; + if (this.dt1 > 0.5) + this.dt1 = 0; + else if (this.dt1 > 1 / this.minimumFramerate) + this.dt1 = 1 / this.minimumFramerate; + } + this.last_tick_time = cur_time; + this.dt = this.dt1 * this.timescale; + this.kahanTime.add(this.dt); + this.wallTime.add(wallDt); // prevent min/max framerate affecting wall clock + var isfullscreen = (document["mozFullScreen"] || document["webkitIsFullScreen"] || document["fullScreen"] || !!document["msFullscreenElement"] || this.isNodeFullscreen) && !this.isCordova; + if (this.fullscreen_mode >= 2 /* scale */ || (isfullscreen && this.fullscreen_scaling > 0)) + { + var orig_aspect = this.original_width / this.original_height; + var cur_aspect = this.width / this.height; + var mode = this.fullscreen_mode; + if (isfullscreen && this.fullscreen_scaling > 0) + mode = this.fullscreen_scaling; + if ((mode !== 2 && cur_aspect > orig_aspect) || (mode === 2 && cur_aspect < orig_aspect)) + { + this.aspect_scale = this.height / this.original_height; + } + else + { + this.aspect_scale = this.width / this.original_width; + } + if (this.running_layout) + { + this.running_layout.scrollToX(this.running_layout.scrollX); + this.running_layout.scrollToY(this.running_layout.scrollY); + } + } + else + this.aspect_scale = (this.isRetina ? this.devicePixelRatio : 1); + this.ClearDeathRow(); + this.isInOnDestroy++; + this.system.runWaits(); // prevent instance list changing + this.isInOnDestroy--; + this.ClearDeathRow(); // allow instance list changing + this.isInOnDestroy++; + var tickarr = this.objects_to_pretick.valuesRef(); + for (i = 0, leni = tickarr.length; i < leni; i++) + tickarr[i].pretick(); + for (i = 0, leni = this.types_by_index.length; i < leni; i++) + { + type = this.types_by_index[i]; + if (type.is_family || (!type.behaviors.length && !type.families.length)) + continue; + for (j = 0, lenj = type.instances.length; j < lenj; j++) + { + inst = type.instances[j]; + for (k = 0, lenk = inst.behavior_insts.length; k < lenk; k++) + { + inst.behavior_insts[k].tick(); + } + } + } + for (i = 0, leni = this.types_by_index.length; i < leni; i++) + { + type = this.types_by_index[i]; + if (type.is_family || (!type.behaviors.length && !type.families.length)) + continue; // type doesn't have any behaviors + for (j = 0, lenj = type.instances.length; j < lenj; j++) + { + inst = type.instances[j]; + for (k = 0, lenk = inst.behavior_insts.length; k < lenk; k++) + { + binst = inst.behavior_insts[k]; + if (binst.posttick) + binst.posttick(); + } + } + } + tickarr = this.objects_to_tick.valuesRef(); + for (i = 0, leni = tickarr.length; i < leni; i++) + tickarr[i].tick(); + this.isInOnDestroy--; // end preventing instance lists from being changed + this.handleSaveLoad(); // save/load now if queued + i = 0; + while (this.changelayout && i++ < 10) + { + this.doChangeLayout(this.changelayout); + } + for (i = 0, leni = this.eventsheets_by_index.length; i < leni; i++) + this.eventsheets_by_index[i].hasRun = false; + if (this.running_layout.event_sheet) + this.running_layout.event_sheet.run(); + cr.clearArray(this.registered_collisions); + this.layout_first_tick = false; + this.isInOnDestroy++; // prevent instance lists from being changed + for (i = 0, leni = this.types_by_index.length; i < leni; i++) + { + type = this.types_by_index[i]; + if (type.is_family || (!type.behaviors.length && !type.families.length)) + continue; // type doesn't have any behaviors + for (j = 0, lenj = type.instances.length; j < lenj; j++) + { + var inst = type.instances[j]; + for (k = 0, lenk = inst.behavior_insts.length; k < lenk; k++) + { + binst = inst.behavior_insts[k]; + if (binst.tick2) + binst.tick2(); + } + } + } + tickarr = this.objects_to_tick2.valuesRef(); + for (i = 0, leni = tickarr.length; i < leni; i++) + tickarr[i].tick2(); + this.isInOnDestroy--; // end preventing instance lists from being changed + }; + Runtime.prototype.onWindowBlur = function () + { + var i, leni, j, lenj, k, lenk, type, inst, binst; + for (i = 0, leni = this.types_by_index.length; i < leni; i++) + { + type = this.types_by_index[i]; + if (type.is_family) + continue; + for (j = 0, lenj = type.instances.length; j < lenj; j++) + { + inst = type.instances[j]; + if (inst.onWindowBlur) + inst.onWindowBlur(); + if (!inst.behavior_insts) + continue; // single-globals don't have behavior_insts + for (k = 0, lenk = inst.behavior_insts.length; k < lenk; k++) + { + binst = inst.behavior_insts[k]; + if (binst.onWindowBlur) + binst.onWindowBlur(); + } + } + } + }; + Runtime.prototype.doChangeLayout = function (changeToLayout) + { + var prev_layout = this.running_layout; + this.running_layout.stopRunning(); + var i, len, j, lenj, k, lenk, type, inst, binst; + if (this.glwrap) + { + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + type = this.types_by_index[i]; + if (type.is_family) + continue; + if (type.unloadTextures && (!type.global || type.instances.length === 0) && changeToLayout.initial_types.indexOf(type) === -1) + { + type.unloadTextures(); + } + } + } + if (prev_layout == changeToLayout) + cr.clearArray(this.system.waits); + cr.clearArray(this.registered_collisions); + this.runLayoutChangeMethods(true); + changeToLayout.startRunning(); + this.runLayoutChangeMethods(false); + this.redraw = true; + this.layout_first_tick = true; + this.ClearDeathRow(); + }; + Runtime.prototype.runLayoutChangeMethods = function (isBeforeChange) + { + var i, len, beh, type, j, lenj, inst, k, lenk, binst; + for (i = 0, len = this.behaviors.length; i < len; i++) + { + beh = this.behaviors[i]; + if (isBeforeChange) + { + if (beh.onBeforeLayoutChange) + beh.onBeforeLayoutChange(); + } + else + { + if (beh.onLayoutChange) + beh.onLayoutChange(); + } + } + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + type = this.types_by_index[i]; + if (!type.global && !type.plugin.singleglobal) + continue; + for (j = 0, lenj = type.instances.length; j < lenj; j++) + { + inst = type.instances[j]; + if (isBeforeChange) + { + if (inst.onBeforeLayoutChange) + inst.onBeforeLayoutChange(); + } + else + { + if (inst.onLayoutChange) + inst.onLayoutChange(); + } + if (inst.behavior_insts) + { + for (k = 0, lenk = inst.behavior_insts.length; k < lenk; k++) + { + binst = inst.behavior_insts[k]; + if (isBeforeChange) + { + if (binst.onBeforeLayoutChange) + binst.onBeforeLayoutChange(); + } + else + { + if (binst.onLayoutChange) + binst.onLayoutChange(); + } + } + } + } + } + }; + Runtime.prototype.pretickMe = function (inst) + { + this.objects_to_pretick.add(inst); + }; + Runtime.prototype.unpretickMe = function (inst) + { + this.objects_to_pretick.remove(inst); + }; + Runtime.prototype.tickMe = function (inst) + { + this.objects_to_tick.add(inst); + }; + Runtime.prototype.untickMe = function (inst) + { + this.objects_to_tick.remove(inst); + }; + Runtime.prototype.tick2Me = function (inst) + { + this.objects_to_tick2.add(inst); + }; + Runtime.prototype.untick2Me = function (inst) + { + this.objects_to_tick2.remove(inst); + }; + Runtime.prototype.getDt = function (inst) + { + if (!inst || inst.my_timescale === -1.0) + return this.dt; + return this.dt1 * inst.my_timescale; + }; + Runtime.prototype.draw = function () + { + this.running_layout.draw(this.ctx); + if (this.isDirectCanvas) + this.ctx["present"](); + }; + Runtime.prototype.drawGL = function () + { + if (this.enableFrontToBack) + { + this.earlyz_index = 1; // start from front, 1-based to avoid exactly equalling near plane Z value + this.running_layout.drawGL_earlyZPass(this.glwrap); + } + this.running_layout.drawGL(this.glwrap); + this.glwrap.present(); + }; + Runtime.prototype.addDestroyCallback = function (f) + { + if (f) + this.destroycallbacks.push(f); + }; + Runtime.prototype.removeDestroyCallback = function (f) + { + cr.arrayFindRemove(this.destroycallbacks, f); + }; + Runtime.prototype.getObjectByUID = function (uid_) + { +; + var uidstr = uid_.toString(); + if (this.objectsByUid.hasOwnProperty(uidstr)) + return this.objectsByUid[uidstr]; + else + return null; + }; + var objectset_cache = []; + function alloc_objectset() + { + if (objectset_cache.length) + return objectset_cache.pop(); + else + return new cr.ObjectSet(); + }; + function free_objectset(s) + { + s.clear(); + objectset_cache.push(s); + }; + Runtime.prototype.DestroyInstance = function (inst) + { + var i, len; + var type = inst.type; + var typename = type.name; + var has_typename = this.deathRow.hasOwnProperty(typename); + var obj_set = null; + if (has_typename) + { + obj_set = this.deathRow[typename]; + if (obj_set.contains(inst)) + return; // already had DestroyInstance called + } + else + { + obj_set = alloc_objectset(); + this.deathRow[typename] = obj_set; + } + obj_set.add(inst); + this.hasPendingInstances = true; + if (inst.is_contained) + { + for (i = 0, len = inst.siblings.length; i < len; i++) + { + this.DestroyInstance(inst.siblings[i]); + } + } + if (this.isInClearDeathRow) + obj_set.values_cache.push(inst); + if (!this.isEndingLayout) + { + this.isInOnDestroy++; // support recursion + this.trigger(Object.getPrototypeOf(inst.type.plugin).cnds.OnDestroyed, inst); + this.isInOnDestroy--; + } + }; + Runtime.prototype.ClearDeathRow = function () + { + if (!this.hasPendingInstances) + return; + var inst, type, instances; + var i, j, leni, lenj, obj_set; + this.isInClearDeathRow = true; + for (i = 0, leni = this.createRow.length; i < leni; ++i) + { + inst = this.createRow[i]; + type = inst.type; + type.instances.push(inst); + for (j = 0, lenj = type.families.length; j < lenj; ++j) + { + type.families[j].instances.push(inst); + type.families[j].stale_iids = true; + } + } + cr.clearArray(this.createRow); + this.IterateDeathRow(); // moved to separate function so for-in performance doesn't hobble entire function + cr.wipe(this.deathRow); // all objectsets have already been recycled + this.isInClearDeathRow = false; + this.hasPendingInstances = false; + }; + Runtime.prototype.IterateDeathRow = function () + { + for (var p in this.deathRow) + { + if (this.deathRow.hasOwnProperty(p)) + { + this.ClearDeathRowForType(this.deathRow[p]); + } + } + }; + Runtime.prototype.ClearDeathRowForType = function (obj_set) + { + var arr = obj_set.valuesRef(); // get array of items from set +; + var type = arr[0].type; +; +; + var i, len, j, lenj, w, f, layer_instances, inst; + cr.arrayRemoveAllFromObjectSet(type.instances, obj_set); + type.stale_iids = true; + if (type.instances.length === 0) + type.any_instance_parallaxed = false; + for (i = 0, len = type.families.length; i < len; ++i) + { + f = type.families[i]; + cr.arrayRemoveAllFromObjectSet(f.instances, obj_set); + f.stale_iids = true; + } + for (i = 0, len = this.system.waits.length; i < len; ++i) + { + w = this.system.waits[i]; + if (w.sols.hasOwnProperty(type.index)) + cr.arrayRemoveAllFromObjectSet(w.sols[type.index].insts, obj_set); + if (!type.is_family) + { + for (j = 0, lenj = type.families.length; j < lenj; ++j) + { + f = type.families[j]; + if (w.sols.hasOwnProperty(f.index)) + cr.arrayRemoveAllFromObjectSet(w.sols[f.index].insts, obj_set); + } + } + } + var first_layer = arr[0].layer; + if (first_layer) + { + if (first_layer.useRenderCells) + { + layer_instances = first_layer.instances; + for (i = 0, len = layer_instances.length; i < len; ++i) + { + inst = layer_instances[i]; + if (!obj_set.contains(inst)) + continue; // not destroying this instance + inst.update_bbox(); + first_layer.render_grid.update(inst, inst.rendercells, null); + inst.rendercells.set(0, 0, -1, -1); + } + } + cr.arrayRemoveAllFromObjectSet(first_layer.instances, obj_set); + first_layer.setZIndicesStaleFrom(0); + } + for (i = 0; i < arr.length; ++i) // check array length every time in case it changes + { + this.ClearDeathRowForSingleInstance(arr[i], type); + } + free_objectset(obj_set); + this.redraw = true; + }; + Runtime.prototype.ClearDeathRowForSingleInstance = function (inst, type) + { + var i, len, binst; + for (i = 0, len = this.destroycallbacks.length; i < len; ++i) + this.destroycallbacks[i](inst); + if (inst.collcells) + { + type.collision_grid.update(inst, inst.collcells, null); + } + var layer = inst.layer; + if (layer) + { + layer.removeFromInstanceList(inst, true); // remove from both instance list and render grid + } + if (inst.behavior_insts) + { + for (i = 0, len = inst.behavior_insts.length; i < len; ++i) + { + binst = inst.behavior_insts[i]; + if (binst.onDestroy) + binst.onDestroy(); + binst.behavior.my_instances.remove(inst); + } + } + this.objects_to_pretick.remove(inst); + this.objects_to_tick.remove(inst); + this.objects_to_tick2.remove(inst); + if (inst.onDestroy) + inst.onDestroy(); + if (this.objectsByUid.hasOwnProperty(inst.uid.toString())) + delete this.objectsByUid[inst.uid.toString()]; + this.objectcount--; + if (type.deadCache.length < 100) + type.deadCache.push(inst); + }; + Runtime.prototype.createInstance = function (type, layer, sx, sy) + { + if (type.is_family) + { + var i = cr.floor(Math.random() * type.members.length); + return this.createInstance(type.members[i], layer, sx, sy); + } + if (!type.default_instance) + { + return null; + } + return this.createInstanceFromInit(type.default_instance, layer, false, sx, sy, false); + }; + var all_behaviors = []; + Runtime.prototype.createInstanceFromInit = function (initial_inst, layer, is_startup_instance, sx, sy, skip_siblings) + { + var i, len, j, lenj, p, effect_fallback, x, y; + if (!initial_inst) + return null; + var type = this.types_by_index[initial_inst[1]]; +; +; + var is_world = type.plugin.is_world; +; + if (this.isloading && is_world && !type.isOnLoaderLayout) + return null; + if (is_world && !this.glwrap && initial_inst[0][11] === 11) + return null; + var original_layer = layer; + if (!is_world) + layer = null; + var inst; + if (type.deadCache.length) + { + inst = type.deadCache.pop(); + inst.recycled = true; + type.plugin.Instance.call(inst, type); + } + else + { + inst = new type.plugin.Instance(type); + inst.recycled = false; + } + if (is_startup_instance && !skip_siblings && !this.objectsByUid.hasOwnProperty(initial_inst[2].toString())) + inst.uid = initial_inst[2]; + else + inst.uid = this.next_uid++; + this.objectsByUid[inst.uid.toString()] = inst; + inst.puid = this.next_puid++; + inst.iid = type.instances.length; + for (i = 0, len = this.createRow.length; i < len; ++i) + { + if (this.createRow[i].type === type) + inst.iid++; + } + inst.get_iid = cr.inst_get_iid; + inst.toString = cr.inst_toString; + var initial_vars = initial_inst[3]; + if (inst.recycled) + { + cr.wipe(inst.extra); + } + else + { + inst.extra = {}; + if (typeof cr_is_preview !== "undefined") + { + inst.instance_var_names = []; + inst.instance_var_names.length = initial_vars.length; + for (i = 0, len = initial_vars.length; i < len; i++) + inst.instance_var_names[i] = initial_vars[i][1]; + } + inst.instance_vars = []; + inst.instance_vars.length = initial_vars.length; + } + for (i = 0, len = initial_vars.length; i < len; i++) + inst.instance_vars[i] = initial_vars[i][0]; + if (is_world) + { + var wm = initial_inst[0]; +; + inst.x = cr.is_undefined(sx) ? wm[0] : sx; + inst.y = cr.is_undefined(sy) ? wm[1] : sy; + inst.z = wm[2]; + inst.width = wm[3]; + inst.height = wm[4]; + inst.depth = wm[5]; + inst.angle = wm[6]; + inst.opacity = wm[7]; + inst.hotspotX = wm[8]; + inst.hotspotY = wm[9]; + inst.blend_mode = wm[10]; + effect_fallback = wm[11]; + if (!this.glwrap && type.effect_types.length) // no WebGL renderer and shaders used + inst.blend_mode = effect_fallback; // use fallback blend mode - destroy mode was handled above + inst.compositeOp = cr.effectToCompositeOp(inst.blend_mode); + if (this.gl) + cr.setGLBlend(inst, inst.blend_mode, this.gl); + if (inst.recycled) + { + for (i = 0, len = wm[12].length; i < len; i++) + { + for (j = 0, lenj = wm[12][i].length; j < lenj; j++) + inst.effect_params[i][j] = wm[12][i][j]; + } + inst.bbox.set(0, 0, 0, 0); + inst.collcells.set(0, 0, -1, -1); + inst.rendercells.set(0, 0, -1, -1); + inst.bquad.set_from_rect(inst.bbox); + cr.clearArray(inst.bbox_changed_callbacks); + } + else + { + inst.effect_params = wm[12].slice(0); + for (i = 0, len = inst.effect_params.length; i < len; i++) + inst.effect_params[i] = wm[12][i].slice(0); + inst.active_effect_types = []; + inst.active_effect_flags = []; + inst.active_effect_flags.length = type.effect_types.length; + inst.bbox = new cr.rect(0, 0, 0, 0); + inst.collcells = new cr.rect(0, 0, -1, -1); + inst.rendercells = new cr.rect(0, 0, -1, -1); + inst.bquad = new cr.quad(); + inst.bbox_changed_callbacks = []; + inst.set_bbox_changed = cr.set_bbox_changed; + inst.add_bbox_changed_callback = cr.add_bbox_changed_callback; + inst.contains_pt = cr.inst_contains_pt; + inst.update_bbox = cr.update_bbox; + inst.update_render_cell = cr.update_render_cell; + inst.update_collision_cell = cr.update_collision_cell; + inst.get_zindex = cr.inst_get_zindex; + } + inst.tilemap_exists = false; + inst.tilemap_width = 0; + inst.tilemap_height = 0; + inst.tilemap_data = null; + if (wm.length === 14) + { + inst.tilemap_exists = true; + inst.tilemap_width = wm[13][0]; + inst.tilemap_height = wm[13][1]; + inst.tilemap_data = wm[13][2]; + } + for (i = 0, len = type.effect_types.length; i < len; i++) + inst.active_effect_flags[i] = true; + inst.shaders_preserve_opaqueness = true; + inst.updateActiveEffects = cr.inst_updateActiveEffects; + inst.updateActiveEffects(); + inst.uses_shaders = !!inst.active_effect_types.length; + inst.bbox_changed = true; + inst.cell_changed = true; + type.any_cell_changed = true; + inst.visible = true; + inst.my_timescale = -1.0; + inst.layer = layer; + inst.zindex = layer.instances.length; // will be placed at top of current layer + inst.earlyz_index = 0; + if (typeof inst.collision_poly === "undefined") + inst.collision_poly = null; + inst.collisionsEnabled = true; + this.redraw = true; + } + var initial_props, binst; + cr.clearArray(all_behaviors); + for (i = 0, len = type.families.length; i < len; i++) + { + all_behaviors.push.apply(all_behaviors, type.families[i].behaviors); + } + all_behaviors.push.apply(all_behaviors, type.behaviors); + if (inst.recycled) + { + for (i = 0, len = all_behaviors.length; i < len; i++) + { + var btype = all_behaviors[i]; + binst = inst.behavior_insts[i]; + binst.recycled = true; + btype.behavior.Instance.call(binst, btype, inst); + initial_props = initial_inst[4][i]; + for (j = 0, lenj = initial_props.length; j < lenj; j++) + binst.properties[j] = initial_props[j]; + binst.onCreate(); + btype.behavior.my_instances.add(inst); + } + } + else + { + inst.behavior_insts = []; + for (i = 0, len = all_behaviors.length; i < len; i++) + { + var btype = all_behaviors[i]; + var binst = new btype.behavior.Instance(btype, inst); + binst.recycled = false; + binst.properties = initial_inst[4][i].slice(0); + binst.onCreate(); + cr.seal(binst); + inst.behavior_insts.push(binst); + btype.behavior.my_instances.add(inst); + } + } + initial_props = initial_inst[5]; + if (inst.recycled) + { + for (i = 0, len = initial_props.length; i < len; i++) + inst.properties[i] = initial_props[i]; + } + else + inst.properties = initial_props.slice(0); + this.createRow.push(inst); + this.hasPendingInstances = true; + if (layer) + { +; + layer.appendToInstanceList(inst, true); + if (layer.parallaxX !== 1 || layer.parallaxY !== 1) + type.any_instance_parallaxed = true; + } + this.objectcount++; + if (type.is_contained) + { + inst.is_contained = true; + if (inst.recycled) + cr.clearArray(inst.siblings); + else + inst.siblings = []; // note: should not include self in siblings + if (!is_startup_instance && !skip_siblings) // layout links initial instances + { + for (i = 0, len = type.container.length; i < len; i++) + { + if (type.container[i] === type) + continue; + if (!type.container[i].default_instance) + { + return null; + } + inst.siblings.push(this.createInstanceFromInit(type.container[i].default_instance, original_layer, false, is_world ? inst.x : sx, is_world ? inst.y : sy, true)); + } + for (i = 0, len = inst.siblings.length; i < len; i++) + { + inst.siblings[i].siblings.push(inst); + for (j = 0; j < len; j++) + { + if (i !== j) + inst.siblings[i].siblings.push(inst.siblings[j]); + } + } + } + } + else + { + inst.is_contained = false; + inst.siblings = null; + } + inst.onCreate(); + if (!inst.recycled) + cr.seal(inst); + for (i = 0, len = inst.behavior_insts.length; i < len; i++) + { + if (inst.behavior_insts[i].postCreate) + inst.behavior_insts[i].postCreate(); + } + return inst; + }; + Runtime.prototype.getLayerByName = function (layer_name) + { + var i, len; + for (i = 0, len = this.running_layout.layers.length; i < len; i++) + { + var layer = this.running_layout.layers[i]; + if (cr.equals_nocase(layer.name, layer_name)) + return layer; + } + return null; + }; + Runtime.prototype.getLayerByNumber = function (index) + { + index = cr.floor(index); + if (index < 0) + index = 0; + if (index >= this.running_layout.layers.length) + index = this.running_layout.layers.length - 1; + return this.running_layout.layers[index]; + }; + Runtime.prototype.getLayer = function (l) + { + if (cr.is_number(l)) + return this.getLayerByNumber(l); + else + return this.getLayerByName(l.toString()); + }; + Runtime.prototype.clearSol = function (solModifiers) + { + var i, len; + for (i = 0, len = solModifiers.length; i < len; i++) + { + solModifiers[i].getCurrentSol().select_all = true; + } + }; + Runtime.prototype.pushCleanSol = function (solModifiers) + { + var i, len; + for (i = 0, len = solModifiers.length; i < len; i++) + { + solModifiers[i].pushCleanSol(); + } + }; + Runtime.prototype.pushCopySol = function (solModifiers) + { + var i, len; + for (i = 0, len = solModifiers.length; i < len; i++) + { + solModifiers[i].pushCopySol(); + } + }; + Runtime.prototype.popSol = function (solModifiers) + { + var i, len; + for (i = 0, len = solModifiers.length; i < len; i++) + { + solModifiers[i].popSol(); + } + }; + Runtime.prototype.updateAllCells = function (type) + { + if (!type.any_cell_changed) + return; // all instances must already be up-to-date + var i, len, instances = type.instances; + for (i = 0, len = instances.length; i < len; ++i) + { + instances[i].update_collision_cell(); + } + var createRow = this.createRow; + for (i = 0, len = createRow.length; i < len; ++i) + { + if (createRow[i].type === type) + createRow[i].update_collision_cell(); + } + type.any_cell_changed = false; + }; + Runtime.prototype.getCollisionCandidates = function (layer, rtype, bbox, candidates) + { + var i, len, t; + var is_parallaxed = (layer ? (layer.parallaxX !== 1 || layer.parallaxY !== 1) : false); + if (rtype.is_family) + { + for (i = 0, len = rtype.members.length; i < len; ++i) + { + t = rtype.members[i]; + if (is_parallaxed || t.any_instance_parallaxed) + { + cr.appendArray(candidates, t.instances); + } + else + { + this.updateAllCells(t); + t.collision_grid.queryRange(bbox, candidates); + } + } + } + else + { + if (is_parallaxed || rtype.any_instance_parallaxed) + { + cr.appendArray(candidates, rtype.instances); + } + else + { + this.updateAllCells(rtype); + rtype.collision_grid.queryRange(bbox, candidates); + } + } + }; + Runtime.prototype.getTypesCollisionCandidates = function (layer, types, bbox, candidates) + { + var i, len; + for (i = 0, len = types.length; i < len; ++i) + { + this.getCollisionCandidates(layer, types[i], bbox, candidates); + } + }; + Runtime.prototype.getSolidCollisionCandidates = function (layer, bbox, candidates) + { + var solid = this.getSolidBehavior(); + if (!solid) + return null; + this.getTypesCollisionCandidates(layer, solid.my_types, bbox, candidates); + }; + Runtime.prototype.getJumpthruCollisionCandidates = function (layer, bbox, candidates) + { + var jumpthru = this.getJumpthruBehavior(); + if (!jumpthru) + return null; + this.getTypesCollisionCandidates(layer, jumpthru.my_types, bbox, candidates); + }; + Runtime.prototype.testAndSelectCanvasPointOverlap = function (type, ptx, pty, inverted) + { + var sol = type.getCurrentSol(); + var i, j, inst, len; + var orblock = this.getCurrentEventStack().current_event.orblock; + var lx, ly, arr; + if (sol.select_all) + { + if (!inverted) + { + sol.select_all = false; + cr.clearArray(sol.instances); // clear contents + } + for (i = 0, len = type.instances.length; i < len; i++) + { + inst = type.instances[i]; + inst.update_bbox(); + lx = inst.layer.canvasToLayer(ptx, pty, true); + ly = inst.layer.canvasToLayer(ptx, pty, false); + if (inst.contains_pt(lx, ly)) + { + if (inverted) + return false; + else + sol.instances.push(inst); + } + else if (orblock) + sol.else_instances.push(inst); + } + } + else + { + j = 0; + arr = (orblock ? sol.else_instances : sol.instances); + for (i = 0, len = arr.length; i < len; i++) + { + inst = arr[i]; + inst.update_bbox(); + lx = inst.layer.canvasToLayer(ptx, pty, true); + ly = inst.layer.canvasToLayer(ptx, pty, false); + if (inst.contains_pt(lx, ly)) + { + if (inverted) + return false; + else if (orblock) + sol.instances.push(inst); + else + { + sol.instances[j] = sol.instances[i]; + j++; + } + } + } + if (!inverted) + arr.length = j; + } + type.applySolToContainer(); + if (inverted) + return true; // did not find anything overlapping + else + return sol.hasObjects(); + }; + Runtime.prototype.testOverlap = function (a, b) + { + if (!a || !b || a === b || !a.collisionsEnabled || !b.collisionsEnabled) + return false; + a.update_bbox(); + b.update_bbox(); + var layera = a.layer; + var layerb = b.layer; + var different_layers = (layera !== layerb && (layera.parallaxX !== layerb.parallaxX || layerb.parallaxY !== layerb.parallaxY || layera.scale !== layerb.scale || layera.angle !== layerb.angle || layera.zoomRate !== layerb.zoomRate)); + var i, len, i2, i21, x, y, haspolya, haspolyb, polya, polyb; + if (!different_layers) // same layers: easy check + { + if (!a.bbox.intersects_rect(b.bbox)) + return false; + if (!a.bquad.intersects_quad(b.bquad)) + return false; + if (a.tilemap_exists && b.tilemap_exists) + return false; + if (a.tilemap_exists) + return this.testTilemapOverlap(a, b); + if (b.tilemap_exists) + return this.testTilemapOverlap(b, a); + haspolya = (a.collision_poly && !a.collision_poly.is_empty()); + haspolyb = (b.collision_poly && !b.collision_poly.is_empty()); + if (!haspolya && !haspolyb) + return true; + if (haspolya) + { + a.collision_poly.cache_poly(a.width, a.height, a.angle); + polya = a.collision_poly; + } + else + { + this.temp_poly.set_from_quad(a.bquad, a.x, a.y, a.width, a.height); + polya = this.temp_poly; + } + if (haspolyb) + { + b.collision_poly.cache_poly(b.width, b.height, b.angle); + polyb = b.collision_poly; + } + else + { + this.temp_poly.set_from_quad(b.bquad, b.x, b.y, b.width, b.height); + polyb = this.temp_poly; + } + return polya.intersects_poly(polyb, b.x - a.x, b.y - a.y); + } + else // different layers: need to do full translated check + { + haspolya = (a.collision_poly && !a.collision_poly.is_empty()); + haspolyb = (b.collision_poly && !b.collision_poly.is_empty()); + if (haspolya) + { + a.collision_poly.cache_poly(a.width, a.height, a.angle); + this.temp_poly.set_from_poly(a.collision_poly); + } + else + { + this.temp_poly.set_from_quad(a.bquad, a.x, a.y, a.width, a.height); + } + polya = this.temp_poly; + if (haspolyb) + { + b.collision_poly.cache_poly(b.width, b.height, b.angle); + this.temp_poly2.set_from_poly(b.collision_poly); + } + else + { + this.temp_poly2.set_from_quad(b.bquad, b.x, b.y, b.width, b.height); + } + polyb = this.temp_poly2; + for (i = 0, len = polya.pts_count; i < len; i++) + { + i2 = i * 2; + i21 = i2 + 1; + x = polya.pts_cache[i2]; + y = polya.pts_cache[i21]; + polya.pts_cache[i2] = layera.layerToCanvas(x + a.x, y + a.y, true); + polya.pts_cache[i21] = layera.layerToCanvas(x + a.x, y + a.y, false); + } + polya.update_bbox(); + for (i = 0, len = polyb.pts_count; i < len; i++) + { + i2 = i * 2; + i21 = i2 + 1; + x = polyb.pts_cache[i2]; + y = polyb.pts_cache[i21]; + polyb.pts_cache[i2] = layerb.layerToCanvas(x + b.x, y + b.y, true); + polyb.pts_cache[i21] = layerb.layerToCanvas(x + b.x, y + b.y, false); + } + polyb.update_bbox(); + return polya.intersects_poly(polyb, 0, 0); + } + }; + var tmpQuad = new cr.quad(); + var tmpRect = new cr.rect(0, 0, 0, 0); + var collrect_candidates = []; + Runtime.prototype.testTilemapOverlap = function (tm, a) + { + var i, len, c, rc; + var bbox = a.bbox; + var tmx = tm.x; + var tmy = tm.y; + tm.getCollisionRectCandidates(bbox, collrect_candidates); + var collrects = collrect_candidates; + var haspolya = (a.collision_poly && !a.collision_poly.is_empty()); + for (i = 0, len = collrects.length; i < len; ++i) + { + c = collrects[i]; + rc = c.rc; + if (bbox.intersects_rect_off(rc, tmx, tmy)) + { + tmpQuad.set_from_rect(rc); + tmpQuad.offset(tmx, tmy); + if (tmpQuad.intersects_quad(a.bquad)) + { + if (haspolya) + { + a.collision_poly.cache_poly(a.width, a.height, a.angle); + if (c.poly) + { + if (c.poly.intersects_poly(a.collision_poly, a.x - (tmx + rc.left), a.y - (tmy + rc.top))) + { + cr.clearArray(collrect_candidates); + return true; + } + } + else + { + this.temp_poly.set_from_quad(tmpQuad, 0, 0, rc.right - rc.left, rc.bottom - rc.top); + if (this.temp_poly.intersects_poly(a.collision_poly, a.x, a.y)) + { + cr.clearArray(collrect_candidates); + return true; + } + } + } + else + { + if (c.poly) + { + this.temp_poly.set_from_quad(a.bquad, 0, 0, a.width, a.height); + if (c.poly.intersects_poly(this.temp_poly, -(tmx + rc.left), -(tmy + rc.top))) + { + cr.clearArray(collrect_candidates); + return true; + } + } + else + { + cr.clearArray(collrect_candidates); + return true; + } + } + } + } + } + cr.clearArray(collrect_candidates); + return false; + }; + Runtime.prototype.testRectOverlap = function (r, b) + { + if (!b || !b.collisionsEnabled) + return false; + b.update_bbox(); + var layerb = b.layer; + var haspolyb, polyb; + if (!b.bbox.intersects_rect(r)) + return false; + if (b.tilemap_exists) + { + b.getCollisionRectCandidates(r, collrect_candidates); + var collrects = collrect_candidates; + var i, len, c, tilerc; + var tmx = b.x; + var tmy = b.y; + for (i = 0, len = collrects.length; i < len; ++i) + { + c = collrects[i]; + tilerc = c.rc; + if (r.intersects_rect_off(tilerc, tmx, tmy)) + { + if (c.poly) + { + this.temp_poly.set_from_rect(r, 0, 0); + if (c.poly.intersects_poly(this.temp_poly, -(tmx + tilerc.left), -(tmy + tilerc.top))) + { + cr.clearArray(collrect_candidates); + return true; + } + } + else + { + cr.clearArray(collrect_candidates); + return true; + } + } + } + cr.clearArray(collrect_candidates); + return false; + } + else + { + tmpQuad.set_from_rect(r); + if (!b.bquad.intersects_quad(tmpQuad)) + return false; + haspolyb = (b.collision_poly && !b.collision_poly.is_empty()); + if (!haspolyb) + return true; + b.collision_poly.cache_poly(b.width, b.height, b.angle); + tmpQuad.offset(-r.left, -r.top); + this.temp_poly.set_from_quad(tmpQuad, 0, 0, 1, 1); + return b.collision_poly.intersects_poly(this.temp_poly, r.left - b.x, r.top - b.y); + } + }; + Runtime.prototype.testSegmentOverlap = function (x1, y1, x2, y2, b) + { + if (!b || !b.collisionsEnabled) + return false; + b.update_bbox(); + var layerb = b.layer; + var haspolyb, polyb; + tmpRect.set(cr.min(x1, x2), cr.min(y1, y2), cr.max(x1, x2), cr.max(y1, y2)); + if (!b.bbox.intersects_rect(tmpRect)) + return false; + if (b.tilemap_exists) + { + b.getCollisionRectCandidates(tmpRect, collrect_candidates); + var collrects = collrect_candidates; + var i, len, c, tilerc; + var tmx = b.x; + var tmy = b.y; + for (i = 0, len = collrects.length; i < len; ++i) + { + c = collrects[i]; + tilerc = c.rc; + if (tmpRect.intersects_rect_off(tilerc, tmx, tmy)) + { + tmpQuad.set_from_rect(tilerc); + tmpQuad.offset(tmx, tmy); + if (tmpQuad.intersects_segment(x1, y1, x2, y2)) + { + if (c.poly) + { + if (c.poly.intersects_segment(tmx + tilerc.left, tmy + tilerc.top, x1, y1, x2, y2)) + { + cr.clearArray(collrect_candidates); + return true; + } + } + else + { + cr.clearArray(collrect_candidates); + return true; + } + } + } + } + cr.clearArray(collrect_candidates); + return false; + } + else + { + if (!b.bquad.intersects_segment(x1, y1, x2, y2)) + return false; + haspolyb = (b.collision_poly && !b.collision_poly.is_empty()); + if (!haspolyb) + return true; + b.collision_poly.cache_poly(b.width, b.height, b.angle); + return b.collision_poly.intersects_segment(b.x, b.y, x1, y1, x2, y2); + } + }; + Runtime.prototype.typeHasBehavior = function (t, b) + { + if (!b) + return false; + var i, len, j, lenj, f; + for (i = 0, len = t.behaviors.length; i < len; i++) + { + if (t.behaviors[i].behavior instanceof b) + return true; + } + if (!t.is_family) + { + for (i = 0, len = t.families.length; i < len; i++) + { + f = t.families[i]; + for (j = 0, lenj = f.behaviors.length; j < lenj; j++) + { + if (f.behaviors[j].behavior instanceof b) + return true; + } + } + } + return false; + }; + Runtime.prototype.typeHasNoSaveBehavior = function (t) + { + return this.typeHasBehavior(t, cr.behaviors.NoSave); + }; + Runtime.prototype.typeHasPersistBehavior = function (t) + { + return this.typeHasBehavior(t, cr.behaviors.Persist); + }; + Runtime.prototype.getSolidBehavior = function () + { + return this.solidBehavior; + }; + Runtime.prototype.getJumpthruBehavior = function () + { + return this.jumpthruBehavior; + }; + var candidates = []; + Runtime.prototype.testOverlapSolid = function (inst) + { + var i, len, s; + inst.update_bbox(); + this.getSolidCollisionCandidates(inst.layer, inst.bbox, candidates); + for (i = 0, len = candidates.length; i < len; ++i) + { + s = candidates[i]; + if (!s.extra["solidEnabled"]) + continue; + if (this.testOverlap(inst, s)) + { + cr.clearArray(candidates); + return s; + } + } + cr.clearArray(candidates); + return null; + }; + Runtime.prototype.testRectOverlapSolid = function (r) + { + var i, len, s; + this.getSolidCollisionCandidates(null, r, candidates); + for (i = 0, len = candidates.length; i < len; ++i) + { + s = candidates[i]; + if (!s.extra["solidEnabled"]) + continue; + if (this.testRectOverlap(r, s)) + { + cr.clearArray(candidates); + return s; + } + } + cr.clearArray(candidates); + return null; + }; + var jumpthru_array_ret = []; + Runtime.prototype.testOverlapJumpThru = function (inst, all) + { + var ret = null; + if (all) + { + ret = jumpthru_array_ret; + cr.clearArray(ret); + } + inst.update_bbox(); + this.getJumpthruCollisionCandidates(inst.layer, inst.bbox, candidates); + var i, len, j; + for (i = 0, len = candidates.length; i < len; ++i) + { + j = candidates[i]; + if (!j.extra["jumpthruEnabled"]) + continue; + if (this.testOverlap(inst, j)) + { + if (all) + ret.push(j); + else + { + cr.clearArray(candidates); + return j; + } + } + } + cr.clearArray(candidates); + return ret; + }; + Runtime.prototype.pushOutSolid = function (inst, xdir, ydir, dist, include_jumpthrus, specific_jumpthru) + { + var push_dist = dist || 50; + var oldx = inst.x + var oldy = inst.y; + var i; + var last_overlapped = null, secondlast_overlapped = null; + for (i = 0; i < push_dist; i++) + { + inst.x = (oldx + (xdir * i)); + inst.y = (oldy + (ydir * i)); + inst.set_bbox_changed(); + if (!this.testOverlap(inst, last_overlapped)) + { + last_overlapped = this.testOverlapSolid(inst); + if (last_overlapped) + secondlast_overlapped = last_overlapped; + if (!last_overlapped) + { + if (include_jumpthrus) + { + if (specific_jumpthru) + last_overlapped = (this.testOverlap(inst, specific_jumpthru) ? specific_jumpthru : null); + else + last_overlapped = this.testOverlapJumpThru(inst); + if (last_overlapped) + secondlast_overlapped = last_overlapped; + } + if (!last_overlapped) + { + if (secondlast_overlapped) + this.pushInFractional(inst, xdir, ydir, secondlast_overlapped, 16); + return true; + } + } + } + } + inst.x = oldx; + inst.y = oldy; + inst.set_bbox_changed(); + return false; + }; + Runtime.prototype.pushOutSolidAxis = function(inst, xdir, ydir, dist) + { + dist = dist || 50; + var oldX = inst.x; + var oldY = inst.y; + var lastOverlapped = null; + var secondLastOverlapped = null; + var i, which, sign; + for (i = 0; i < dist; ++i) + { + for (which = 0; which < 2; ++which) + { + sign = which * 2 - 1; // -1 or 1 + inst.x = oldX + (xdir * i * sign); + inst.y = oldY + (ydir * i * sign); + inst.set_bbox_changed(); + if (!this.testOverlap(inst, lastOverlapped)) + { + lastOverlapped = this.testOverlapSolid(inst); + if (lastOverlapped) + { + secondLastOverlapped = lastOverlapped; + } + else + { + if (secondLastOverlapped) + this.pushInFractional(inst, xdir * sign, ydir * sign, secondLastOverlapped, 16); + return true; + } + } + } + } + inst.x = oldX; + inst.y = oldY; + inst.set_bbox_changed(); + return false; + }; + Runtime.prototype.pushOut = function (inst, xdir, ydir, dist, otherinst) + { + var push_dist = dist || 50; + var oldx = inst.x + var oldy = inst.y; + var i; + for (i = 0; i < push_dist; i++) + { + inst.x = (oldx + (xdir * i)); + inst.y = (oldy + (ydir * i)); + inst.set_bbox_changed(); + if (!this.testOverlap(inst, otherinst)) + return true; + } + inst.x = oldx; + inst.y = oldy; + inst.set_bbox_changed(); + return false; + }; + Runtime.prototype.pushInFractional = function (inst, xdir, ydir, obj, limit) + { + var divisor = 2; + var frac; + var forward = false; + var overlapping = false; + var bestx = inst.x; + var besty = inst.y; + while (divisor <= limit) + { + frac = 1 / divisor; + divisor *= 2; + inst.x += xdir * frac * (forward ? 1 : -1); + inst.y += ydir * frac * (forward ? 1 : -1); + inst.set_bbox_changed(); + if (this.testOverlap(inst, obj)) + { + forward = true; + overlapping = true; + } + else + { + forward = false; + overlapping = false; + bestx = inst.x; + besty = inst.y; + } + } + if (overlapping) + { + inst.x = bestx; + inst.y = besty; + inst.set_bbox_changed(); + } + }; + Runtime.prototype.pushOutSolidNearest = function (inst, max_dist_) + { + var max_dist = (cr.is_undefined(max_dist_) ? 100 : max_dist_); + var dist = 0; + var oldx = inst.x + var oldy = inst.y; + var dir = 0; + var dx = 0, dy = 0; + var last_overlapped = this.testOverlapSolid(inst); + if (!last_overlapped) + return true; // already clear of solids + while (dist <= max_dist) + { + switch (dir) { + case 0: dx = 0; dy = -1; dist++; break; + case 1: dx = 1; dy = -1; break; + case 2: dx = 1; dy = 0; break; + case 3: dx = 1; dy = 1; break; + case 4: dx = 0; dy = 1; break; + case 5: dx = -1; dy = 1; break; + case 6: dx = -1; dy = 0; break; + case 7: dx = -1; dy = -1; break; + } + dir = (dir + 1) % 8; + inst.x = cr.floor(oldx + (dx * dist)); + inst.y = cr.floor(oldy + (dy * dist)); + inst.set_bbox_changed(); + if (!this.testOverlap(inst, last_overlapped)) + { + last_overlapped = this.testOverlapSolid(inst); + if (!last_overlapped) + return true; + } + } + inst.x = oldx; + inst.y = oldy; + inst.set_bbox_changed(); + return false; + }; + Runtime.prototype.registerCollision = function (a, b) + { + if (!a.collisionsEnabled || !b.collisionsEnabled) + return; + this.registered_collisions.push([a, b]); + }; + Runtime.prototype.addRegisteredCollisionCandidates = function (inst, otherType, arr) + { + var i, len, r, otherInst; + for (i = 0, len = this.registered_collisions.length; i < len; ++i) + { + r = this.registered_collisions[i]; + if (r[0] === inst) + otherInst = r[1]; + else if (r[1] === inst) + otherInst = r[0]; + else + continue; + if (otherType.is_family) + { + if (otherType.members.indexOf(otherType) === -1) + continue; + } + else + { + if (otherInst.type !== otherType) + continue; + } + if (arr.indexOf(otherInst) === -1) + arr.push(otherInst); + } + }; + Runtime.prototype.checkRegisteredCollision = function (a, b) + { + var i, len, x; + for (i = 0, len = this.registered_collisions.length; i < len; i++) + { + x = this.registered_collisions[i]; + if ((x[0] === a && x[1] === b) || (x[0] === b && x[1] === a)) + return true; + } + return false; + }; + Runtime.prototype.calculateSolidBounceAngle = function(inst, startx, starty, obj) + { + var objx = inst.x; + var objy = inst.y; + var radius = cr.max(10, cr.distanceTo(startx, starty, objx, objy)); + var startangle = cr.angleTo(startx, starty, objx, objy); + var firstsolid = obj || this.testOverlapSolid(inst); + if (!firstsolid) + return cr.clamp_angle(startangle + cr.PI); + var cursolid = firstsolid; + var i, curangle, anticlockwise_free_angle, clockwise_free_angle; + var increment = cr.to_radians(5); // 5 degree increments + for (i = 1; i < 36; i++) + { + curangle = startangle - i * increment; + inst.x = startx + Math.cos(curangle) * radius; + inst.y = starty + Math.sin(curangle) * radius; + inst.set_bbox_changed(); + if (!this.testOverlap(inst, cursolid)) + { + cursolid = obj ? null : this.testOverlapSolid(inst); + if (!cursolid) + { + anticlockwise_free_angle = curangle; + break; + } + } + } + if (i === 36) + anticlockwise_free_angle = cr.clamp_angle(startangle + cr.PI); + var cursolid = firstsolid; + for (i = 1; i < 36; i++) + { + curangle = startangle + i * increment; + inst.x = startx + Math.cos(curangle) * radius; + inst.y = starty + Math.sin(curangle) * radius; + inst.set_bbox_changed(); + if (!this.testOverlap(inst, cursolid)) + { + cursolid = obj ? null : this.testOverlapSolid(inst); + if (!cursolid) + { + clockwise_free_angle = curangle; + break; + } + } + } + if (i === 36) + clockwise_free_angle = cr.clamp_angle(startangle + cr.PI); + inst.x = objx; + inst.y = objy; + inst.set_bbox_changed(); + if (clockwise_free_angle === anticlockwise_free_angle) + return clockwise_free_angle; + var half_diff = cr.angleDiff(clockwise_free_angle, anticlockwise_free_angle) / 2; + var normal; + if (cr.angleClockwise(clockwise_free_angle, anticlockwise_free_angle)) + { + normal = cr.clamp_angle(anticlockwise_free_angle + half_diff + cr.PI); + } + else + { + normal = cr.clamp_angle(clockwise_free_angle + half_diff); + } +; + var vx = Math.cos(startangle); + var vy = Math.sin(startangle); + var nx = Math.cos(normal); + var ny = Math.sin(normal); + var v_dot_n = vx * nx + vy * ny; + var rx = vx - 2 * v_dot_n * nx; + var ry = vy - 2 * v_dot_n * ny; + return cr.angleTo(0, 0, rx, ry); + }; + var triggerSheetIndex = -1; + Runtime.prototype.trigger = function (method, inst, value /* for fast triggers */) + { + + if (!this.running_layout) + return false; + var sheet = this.running_layout.event_sheet; + if (!sheet) + return false; // no event sheet active; nothing to trigger + var ret = false; + var r, i, len; + triggerSheetIndex++; + var deep_includes = sheet.deep_includes; + for (i = 0, len = deep_includes.length; i < len; ++i) + { + r = this.triggerOnSheet(method, inst, deep_includes[i], value); + ret = ret || r; + } + r = this.triggerOnSheet(method, inst, sheet, value); + ret = ret || r; + triggerSheetIndex--; + return ret; + }; + Runtime.prototype.triggerOnSheet = function (method, inst, sheet, value) + { + var ret = false; + var i, leni, r, families; + if (!inst) + { + r = this.triggerOnSheetForTypeName(method, inst, "system", sheet, value); + ret = ret || r; + } + else + { + r = this.triggerOnSheetForTypeName(method, inst, inst.type.name, sheet, value); + ret = ret || r; + families = inst.type.families; + for (i = 0, leni = families.length; i < leni; ++i) + { + r = this.triggerOnSheetForTypeName(method, inst, families[i].name, sheet, value); + ret = ret || r; + } + } + return ret; // true if anything got triggered + }; + Runtime.prototype.triggerOnSheetForTypeName = function (method, inst, type_name, sheet, value) + { + var i, leni; + var ret = false, ret2 = false; + var trig, index; + var fasttrigger = (typeof value !== "undefined"); + var triggers = (fasttrigger ? sheet.fasttriggers : sheet.triggers); + var obj_entry = triggers[type_name]; + if (!obj_entry) + return ret; + var triggers_list = null; + for (i = 0, leni = obj_entry.length; i < leni; ++i) + { + if (obj_entry[i].method == method) + { + triggers_list = obj_entry[i].evs; + break; + } + } + if (!triggers_list) + return ret; + var triggers_to_fire; + if (fasttrigger) + { + triggers_to_fire = triggers_list[value]; + } + else + { + triggers_to_fire = triggers_list; + } + if (!triggers_to_fire) + return null; + for (i = 0, leni = triggers_to_fire.length; i < leni; i++) + { + trig = triggers_to_fire[i][0]; + index = triggers_to_fire[i][1]; + ret2 = this.executeSingleTrigger(inst, type_name, trig, index); + ret = ret || ret2; + } + return ret; + }; + Runtime.prototype.executeSingleTrigger = function (inst, type_name, trig, index) + { + var i, leni; + var ret = false; + this.trigger_depth++; + var current_event = this.getCurrentEventStack().current_event; + if (current_event) + this.pushCleanSol(current_event.solModifiersIncludingParents); + var isrecursive = (this.trigger_depth > 1); // calling trigger from inside another trigger + this.pushCleanSol(trig.solModifiersIncludingParents); + if (isrecursive) + this.pushLocalVarStack(); + var event_stack = this.pushEventStack(trig); + event_stack.current_event = trig; + if (inst) + { + var sol = this.types[type_name].getCurrentSol(); + sol.select_all = false; + cr.clearArray(sol.instances); + sol.instances[0] = inst; + this.types[type_name].applySolToContainer(); + } + var ok_to_run = true; + if (trig.parent) + { + var temp_parents_arr = event_stack.temp_parents_arr; + var cur_parent = trig.parent; + while (cur_parent) + { + temp_parents_arr.push(cur_parent); + cur_parent = cur_parent.parent; + } + temp_parents_arr.reverse(); + for (i = 0, leni = temp_parents_arr.length; i < leni; i++) + { + if (!temp_parents_arr[i].run_pretrigger()) // parent event failed + { + ok_to_run = false; + break; + } + } + } + if (ok_to_run) + { + this.execcount++; + if (trig.orblock) + trig.run_orblocktrigger(index); + else + trig.run(); + ret = ret || event_stack.last_event_true; + } + this.popEventStack(); + if (isrecursive) + this.popLocalVarStack(); + this.popSol(trig.solModifiersIncludingParents); + if (current_event) + this.popSol(current_event.solModifiersIncludingParents); + if (this.hasPendingInstances && this.isInOnDestroy === 0 && triggerSheetIndex === 0 && !this.isRunningEvents) + { + this.ClearDeathRow(); + } + this.trigger_depth--; + return ret; + }; + Runtime.prototype.getCurrentCondition = function () + { + var evinfo = this.getCurrentEventStack(); + return evinfo.current_event.conditions[evinfo.cndindex]; + }; + Runtime.prototype.getCurrentConditionObjectType = function () + { + var cnd = this.getCurrentCondition(); + return cnd.type; + }; + Runtime.prototype.isCurrentConditionFirst = function () + { + var evinfo = this.getCurrentEventStack(); + return evinfo.cndindex === 0; + }; + Runtime.prototype.getCurrentAction = function () + { + var evinfo = this.getCurrentEventStack(); + return evinfo.current_event.actions[evinfo.actindex]; + }; + Runtime.prototype.pushLocalVarStack = function () + { + this.localvar_stack_index++; + if (this.localvar_stack_index >= this.localvar_stack.length) + this.localvar_stack.push([]); + }; + Runtime.prototype.popLocalVarStack = function () + { +; + this.localvar_stack_index--; + }; + Runtime.prototype.getCurrentLocalVarStack = function () + { + return this.localvar_stack[this.localvar_stack_index]; + }; + Runtime.prototype.pushEventStack = function (cur_event) + { + this.event_stack_index++; + if (this.event_stack_index >= this.event_stack.length) + this.event_stack.push(new cr.eventStackFrame()); + var ret = this.getCurrentEventStack(); + ret.reset(cur_event); + return ret; + }; + Runtime.prototype.popEventStack = function () + { +; + this.event_stack_index--; + }; + Runtime.prototype.getCurrentEventStack = function () + { + return this.event_stack[this.event_stack_index]; + }; + Runtime.prototype.pushLoopStack = function (name_) + { + this.loop_stack_index++; + if (this.loop_stack_index >= this.loop_stack.length) + { + this.loop_stack.push(cr.seal({ name: name_, index: 0, stopped: false })); + } + var ret = this.getCurrentLoop(); + ret.name = name_; + ret.index = 0; + ret.stopped = false; + return ret; + }; + Runtime.prototype.popLoopStack = function () + { +; + this.loop_stack_index--; + }; + Runtime.prototype.getCurrentLoop = function () + { + return this.loop_stack[this.loop_stack_index]; + }; + Runtime.prototype.getEventVariableByName = function (name, scope) + { + var i, leni, j, lenj, sheet, e; + while (scope) + { + for (i = 0, leni = scope.subevents.length; i < leni; i++) + { + e = scope.subevents[i]; + if (e instanceof cr.eventvariable && cr.equals_nocase(name, e.name)) + return e; + } + scope = scope.parent; + } + for (i = 0, leni = this.eventsheets_by_index.length; i < leni; i++) + { + sheet = this.eventsheets_by_index[i]; + for (j = 0, lenj = sheet.events.length; j < lenj; j++) + { + e = sheet.events[j]; + if (e instanceof cr.eventvariable && cr.equals_nocase(name, e.name)) + return e; + } + } + return null; + }; + Runtime.prototype.getLayoutBySid = function (sid_) + { + var i, len; + for (i = 0, len = this.layouts_by_index.length; i < len; i++) + { + if (this.layouts_by_index[i].sid === sid_) + return this.layouts_by_index[i]; + } + return null; + }; + Runtime.prototype.getObjectTypeBySid = function (sid_) + { + var i, len; + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + if (this.types_by_index[i].sid === sid_) + return this.types_by_index[i]; + } + return null; + }; + Runtime.prototype.getGroupBySid = function (sid_) + { + var i, len; + for (i = 0, len = this.allGroups.length; i < len; i++) + { + if (this.allGroups[i].sid === sid_) + return this.allGroups[i]; + } + return null; + }; + Runtime.prototype.doCanvasSnapshot = function (format_, quality_) + { + this.snapshotCanvas = [format_, quality_]; + this.redraw = true; // force redraw so snapshot is always taken + }; + function IsIndexedDBAvailable() + { + try { + return !!window.indexedDB; + } + catch (e) + { + return false; + } + }; + function makeSaveDb(e) + { + var db = e.target.result; + db.createObjectStore("saves", { keyPath: "slot" }); + }; + function IndexedDB_WriteSlot(slot_, data_, oncomplete_, onerror_) + { + try { + var request = indexedDB.open("_C2SaveStates"); + request.onupgradeneeded = makeSaveDb; + request.onerror = onerror_; + request.onsuccess = function (e) + { + var db = e.target.result; + db.onerror = onerror_; + var transaction = db.transaction(["saves"], "readwrite"); + var objectStore = transaction.objectStore("saves"); + var putReq = objectStore.put({"slot": slot_, "data": data_ }); + putReq.onsuccess = oncomplete_; + }; + } + catch (err) + { + onerror_(err); + } + }; + function IndexedDB_ReadSlot(slot_, oncomplete_, onerror_) + { + try { + var request = indexedDB.open("_C2SaveStates"); + request.onupgradeneeded = makeSaveDb; + request.onerror = onerror_; + request.onsuccess = function (e) + { + var db = e.target.result; + db.onerror = onerror_; + var transaction = db.transaction(["saves"]); + var objectStore = transaction.objectStore("saves"); + var readReq = objectStore.get(slot_); + readReq.onsuccess = function (e) + { + if (readReq.result) + oncomplete_(readReq.result["data"]); + else + oncomplete_(null); + }; + }; + } + catch (err) + { + onerror_(err); + } + }; + Runtime.prototype.signalContinuousPreview = function () + { + this.signalledContinuousPreview = true; + }; + function doContinuousPreviewReload() + { + cr.logexport("Reloading for continuous preview"); + if (!!window["c2cocoonjs"]) + { + CocoonJS["App"]["reload"](); + } + else + { + if (window.location.search.indexOf("continuous") > -1) + window.location.reload(true); + else + window.location = window.location + "?continuous"; + } + }; + Runtime.prototype.handleSaveLoad = function () + { + var self = this; + var savingToSlot = this.saveToSlot; + var savingJson = this.lastSaveJson; + var loadingFromSlot = this.loadFromSlot; + var continuous = false; + if (this.signalledContinuousPreview) + { + continuous = true; + savingToSlot = "__c2_continuouspreview"; + this.signalledContinuousPreview = false; + } + if (savingToSlot.length) + { + this.ClearDeathRow(); + savingJson = this.saveToJSONString(); + if (IsIndexedDBAvailable() && !this.isCocoonJs) + { + IndexedDB_WriteSlot(savingToSlot, savingJson, function () + { + cr.logexport("Saved state to IndexedDB storage (" + savingJson.length + " bytes)"); + self.lastSaveJson = savingJson; + self.trigger(cr.system_object.prototype.cnds.OnSaveComplete, null); + self.lastSaveJson = ""; + savingJson = ""; + if (continuous) + doContinuousPreviewReload(); + }, function (e) + { + try { + localStorage.setItem("__c2save_" + savingToSlot, savingJson); + cr.logexport("Saved state to WebStorage (" + savingJson.length + " bytes)"); + self.lastSaveJson = savingJson; + self.trigger(cr.system_object.prototype.cnds.OnSaveComplete, null); + self.lastSaveJson = ""; + savingJson = ""; + if (continuous) + doContinuousPreviewReload(); + } + catch (f) + { + cr.logexport("Failed to save game state: " + e + "; " + f); + self.trigger(cr.system_object.prototype.cnds.OnSaveFailed, null); + } + }); + } + else + { + try { + localStorage.setItem("__c2save_" + savingToSlot, savingJson); + cr.logexport("Saved state to WebStorage (" + savingJson.length + " bytes)"); + self.lastSaveJson = savingJson; + this.trigger(cr.system_object.prototype.cnds.OnSaveComplete, null); + self.lastSaveJson = ""; + savingJson = ""; + if (continuous) + doContinuousPreviewReload(); + } + catch (e) + { + cr.logexport("Error saving to WebStorage: " + e); + self.trigger(cr.system_object.prototype.cnds.OnSaveFailed, null); + } + } + this.saveToSlot = ""; + this.loadFromSlot = ""; + this.loadFromJson = null; + } + if (loadingFromSlot.length) + { + if (IsIndexedDBAvailable() && !this.isCocoonJs) + { + IndexedDB_ReadSlot(loadingFromSlot, function (result_) + { + if (result_) + { + self.loadFromJson = result_; + cr.logexport("Loaded state from IndexedDB storage (" + self.loadFromJson.length + " bytes)"); + } + else + { + self.loadFromJson = localStorage.getItem("__c2save_" + loadingFromSlot) || ""; + cr.logexport("Loaded state from WebStorage (" + self.loadFromJson.length + " bytes)"); + } + self.suspendDrawing = false; + if (!self.loadFromJson) + { + self.loadFromJson = null; + self.trigger(cr.system_object.prototype.cnds.OnLoadFailed, null); + } + }, function (e) + { + self.loadFromJson = localStorage.getItem("__c2save_" + loadingFromSlot) || ""; + cr.logexport("Loaded state from WebStorage (" + self.loadFromJson.length + " bytes)"); + self.suspendDrawing = false; + if (!self.loadFromJson) + { + self.loadFromJson = null; + self.trigger(cr.system_object.prototype.cnds.OnLoadFailed, null); + } + }); + } + else + { + try { + this.loadFromJson = localStorage.getItem("__c2save_" + loadingFromSlot) || ""; + cr.logexport("Loaded state from WebStorage (" + this.loadFromJson.length + " bytes)"); + } + catch (e) + { + this.loadFromJson = null; + } + this.suspendDrawing = false; + if (!self.loadFromJson) + { + self.loadFromJson = null; + self.trigger(cr.system_object.prototype.cnds.OnLoadFailed, null); + } + } + this.loadFromSlot = ""; + this.saveToSlot = ""; + } + if (this.loadFromJson !== null) + { + this.ClearDeathRow(); + var ok = this.loadFromJSONString(this.loadFromJson); + if (ok) + { + this.lastSaveJson = this.loadFromJson; + this.trigger(cr.system_object.prototype.cnds.OnLoadComplete, null); + this.lastSaveJson = ""; + } + else + { + self.trigger(cr.system_object.prototype.cnds.OnLoadFailed, null); + } + this.loadFromJson = null; + } + }; + function CopyExtraObject(extra) + { + var p, ret = {}; + for (p in extra) + { + if (extra.hasOwnProperty(p)) + { + if (extra[p] instanceof cr.ObjectSet) + continue; + if (extra[p] && typeof extra[p].c2userdata !== "undefined") + continue; + if (p === "spriteCreatedDestroyCallback") + continue; + ret[p] = extra[p]; + } + } + return ret; + }; + Runtime.prototype.saveToJSONString = function() + { + var i, len, j, lenj, type, layout, typeobj, g, c, a, v, p; + var o = { + "c2save": true, + "version": 1, + "rt": { + "time": this.kahanTime.sum, + "walltime": this.wallTime.sum, + "timescale": this.timescale, + "tickcount": this.tickcount, + "execcount": this.execcount, + "next_uid": this.next_uid, + "running_layout": this.running_layout.sid, + "start_time_offset": (Date.now() - this.start_time) + }, + "types": {}, + "layouts": {}, + "events": { + "groups": {}, + "cnds": {}, + "acts": {}, + "vars": {} + } + }; + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + type = this.types_by_index[i]; + if (type.is_family || this.typeHasNoSaveBehavior(type)) + continue; + typeobj = { + "instances": [] + }; + if (cr.hasAnyOwnProperty(type.extra)) + typeobj["ex"] = CopyExtraObject(type.extra); + for (j = 0, lenj = type.instances.length; j < lenj; j++) + { + typeobj["instances"].push(this.saveInstanceToJSON(type.instances[j])); + } + o["types"][type.sid.toString()] = typeobj; + } + for (i = 0, len = this.layouts_by_index.length; i < len; i++) + { + layout = this.layouts_by_index[i]; + o["layouts"][layout.sid.toString()] = layout.saveToJSON(); + } + var ogroups = o["events"]["groups"]; + for (i = 0, len = this.allGroups.length; i < len; i++) + { + g = this.allGroups[i]; + ogroups[g.sid.toString()] = this.groups_by_name[g.group_name].group_active; + } + var ocnds = o["events"]["cnds"]; + for (p in this.cndsBySid) + { + if (this.cndsBySid.hasOwnProperty(p)) + { + c = this.cndsBySid[p]; + if (cr.hasAnyOwnProperty(c.extra)) + ocnds[p] = { "ex": CopyExtraObject(c.extra) }; + } + } + var oacts = o["events"]["acts"]; + for (p in this.actsBySid) + { + if (this.actsBySid.hasOwnProperty(p)) + { + a = this.actsBySid[p]; + if (cr.hasAnyOwnProperty(a.extra)) + oacts[p] = { "ex": CopyExtraObject(a.extra) }; + } + } + var ovars = o["events"]["vars"]; + for (p in this.varsBySid) + { + if (this.varsBySid.hasOwnProperty(p)) + { + v = this.varsBySid[p]; + if (!v.is_constant && (!v.parent || v.is_static)) + ovars[p] = v.data; + } + } + o["system"] = this.system.saveToJSON(); + return JSON.stringify(o); + }; + Runtime.prototype.refreshUidMap = function () + { + var i, len, type, j, lenj, inst; + this.objectsByUid = {}; + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + type = this.types_by_index[i]; + if (type.is_family) + continue; + for (j = 0, lenj = type.instances.length; j < lenj; j++) + { + inst = type.instances[j]; + this.objectsByUid[inst.uid.toString()] = inst; + } + } + }; + Runtime.prototype.loadFromJSONString = function (str) + { + var o; + try { + o = JSON.parse(str); + } + catch (e) { + return false; + } + if (!o["c2save"]) + return false; // probably not a c2 save state + if (o["version"] > 1) + return false; // from future version of c2; assume not compatible + this.isLoadingState = true; + var rt = o["rt"]; + this.kahanTime.reset(); + this.kahanTime.sum = rt["time"]; + this.wallTime.reset(); + this.wallTime.sum = rt["walltime"] || 0; + this.timescale = rt["timescale"]; + this.tickcount = rt["tickcount"]; + this.execcount = rt["execcount"]; + this.start_time = Date.now() - rt["start_time_offset"]; + var layout_sid = rt["running_layout"]; + if (layout_sid !== this.running_layout.sid) + { + var changeToLayout = this.getLayoutBySid(layout_sid); + if (changeToLayout) + this.doChangeLayout(changeToLayout); + else + return; // layout that was saved on has gone missing (deleted?) + } + var i, len, j, lenj, k, lenk, p, type, existing_insts, load_insts, inst, binst, layout, layer, g, iid, t; + var otypes = o["types"]; + for (p in otypes) + { + if (otypes.hasOwnProperty(p)) + { + type = this.getObjectTypeBySid(parseInt(p, 10)); + if (!type || type.is_family || this.typeHasNoSaveBehavior(type)) + continue; + if (otypes[p]["ex"]) + type.extra = otypes[p]["ex"]; + else + cr.wipe(type.extra); + existing_insts = type.instances; + load_insts = otypes[p]["instances"]; + for (i = 0, len = cr.min(existing_insts.length, load_insts.length); i < len; i++) + { + this.loadInstanceFromJSON(existing_insts[i], load_insts[i]); + } + for (i = load_insts.length, len = existing_insts.length; i < len; i++) + this.DestroyInstance(existing_insts[i]); + for (i = existing_insts.length, len = load_insts.length; i < len; i++) + { + layer = null; + if (type.plugin.is_world) + { + layer = this.running_layout.getLayerBySid(load_insts[i]["w"]["l"]); + if (!layer) + continue; + } + inst = this.createInstanceFromInit(type.default_instance, layer, false, 0, 0, true); + this.loadInstanceFromJSON(inst, load_insts[i]); + } + type.stale_iids = true; + } + } + this.ClearDeathRow(); + this.refreshUidMap(); + var olayouts = o["layouts"]; + for (p in olayouts) + { + if (olayouts.hasOwnProperty(p)) + { + layout = this.getLayoutBySid(parseInt(p, 10)); + if (!layout) + continue; // must've gone missing + layout.loadFromJSON(olayouts[p]); + } + } + var ogroups = o["events"]["groups"]; + for (p in ogroups) + { + if (ogroups.hasOwnProperty(p)) + { + g = this.getGroupBySid(parseInt(p, 10)); + if (g && this.groups_by_name[g.group_name]) + this.groups_by_name[g.group_name].setGroupActive(ogroups[p]); + } + } + var ocnds = o["events"]["cnds"]; + for (p in this.cndsBySid) + { + if (this.cndsBySid.hasOwnProperty(p)) + { + if (ocnds.hasOwnProperty(p)) + { + this.cndsBySid[p].extra = ocnds[p]["ex"]; + } + else + { + this.cndsBySid[p].extra = {}; + } + } + } + var oacts = o["events"]["acts"]; + for (p in this.actsBySid) + { + if (this.actsBySid.hasOwnProperty(p)) + { + if (oacts.hasOwnProperty(p)) + { + this.actsBySid[p].extra = oacts[p]["ex"]; + } + else + { + this.actsBySid[p].extra = {}; + } + } + } + var ovars = o["events"]["vars"]; + for (p in ovars) + { + if (ovars.hasOwnProperty(p) && this.varsBySid.hasOwnProperty(p)) + { + this.varsBySid[p].data = ovars[p]; + } + } + this.next_uid = rt["next_uid"]; + this.isLoadingState = false; + for (i = 0, len = this.fireOnCreateAfterLoad.length; i < len; ++i) + { + inst = this.fireOnCreateAfterLoad[i]; + this.trigger(Object.getPrototypeOf(inst.type.plugin).cnds.OnCreated, inst); + } + cr.clearArray(this.fireOnCreateAfterLoad); + this.system.loadFromJSON(o["system"]); + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + type = this.types_by_index[i]; + if (type.is_family || this.typeHasNoSaveBehavior(type)) + continue; + for (j = 0, lenj = type.instances.length; j < lenj; j++) + { + inst = type.instances[j]; + if (type.is_contained) + { + iid = inst.get_iid(); + cr.clearArray(inst.siblings); + for (k = 0, lenk = type.container.length; k < lenk; k++) + { + t = type.container[k]; + if (type === t) + continue; +; + inst.siblings.push(t.instances[iid]); + } + } + if (inst.afterLoad) + inst.afterLoad(); + if (inst.behavior_insts) + { + for (k = 0, lenk = inst.behavior_insts.length; k < lenk; k++) + { + binst = inst.behavior_insts[k]; + if (binst.afterLoad) + binst.afterLoad(); + } + } + } + } + this.redraw = true; + return true; + }; + Runtime.prototype.saveInstanceToJSON = function(inst, state_only) + { + var i, len, world, behinst, et; + var type = inst.type; + var plugin = type.plugin; + var o = {}; + if (state_only) + o["c2"] = true; // mark as known json data from Construct 2 + else + o["uid"] = inst.uid; + if (cr.hasAnyOwnProperty(inst.extra)) + o["ex"] = CopyExtraObject(inst.extra); + if (inst.instance_vars && inst.instance_vars.length) + { + o["ivs"] = {}; + for (i = 0, len = inst.instance_vars.length; i < len; i++) + { + o["ivs"][inst.type.instvar_sids[i].toString()] = inst.instance_vars[i]; + } + } + if (plugin.is_world) + { + world = { + "x": inst.x, + "y": inst.y, + "w": inst.width, + "h": inst.height, + "l": inst.layer.sid, + "zi": inst.get_zindex() + }; + if (inst.angle !== 0) + world["a"] = inst.angle; + if (inst.opacity !== 1) + world["o"] = inst.opacity; + if (inst.hotspotX !== 0.5) + world["hX"] = inst.hotspotX; + if (inst.hotspotY !== 0.5) + world["hY"] = inst.hotspotY; + if (inst.blend_mode !== 0) + world["bm"] = inst.blend_mode; + if (!inst.visible) + world["v"] = inst.visible; + if (!inst.collisionsEnabled) + world["ce"] = inst.collisionsEnabled; + if (inst.my_timescale !== -1) + world["mts"] = inst.my_timescale; + if (type.effect_types.length) + { + world["fx"] = []; + for (i = 0, len = type.effect_types.length; i < len; i++) + { + et = type.effect_types[i]; + world["fx"].push({"name": et.name, + "active": inst.active_effect_flags[et.index], + "params": inst.effect_params[et.index] }); + } + } + o["w"] = world; + } + if (inst.behavior_insts && inst.behavior_insts.length) + { + o["behs"] = {}; + for (i = 0, len = inst.behavior_insts.length; i < len; i++) + { + behinst = inst.behavior_insts[i]; + if (behinst.saveToJSON) + o["behs"][behinst.type.sid.toString()] = behinst.saveToJSON(); + } + } + if (inst.saveToJSON) + o["data"] = inst.saveToJSON(); + return o; + }; + Runtime.prototype.getInstanceVarIndexBySid = function (type, sid_) + { + var i, len; + for (i = 0, len = type.instvar_sids.length; i < len; i++) + { + if (type.instvar_sids[i] === sid_) + return i; + } + return -1; + }; + Runtime.prototype.getBehaviorIndexBySid = function (inst, sid_) + { + var i, len; + for (i = 0, len = inst.behavior_insts.length; i < len; i++) + { + if (inst.behavior_insts[i].type.sid === sid_) + return i; + } + return -1; + }; + Runtime.prototype.loadInstanceFromJSON = function(inst, o, state_only) + { + var p, i, len, iv, oivs, world, fxindex, obehs, behindex, value; + var oldlayer; + var type = inst.type; + var plugin = type.plugin; + if (state_only) + { + if (!o["c2"]) + return; + } + else + inst.uid = o["uid"]; + if (o["ex"]) + inst.extra = o["ex"]; + else + cr.wipe(inst.extra); + oivs = o["ivs"]; + if (oivs) + { + for (p in oivs) + { + if (oivs.hasOwnProperty(p)) + { + iv = this.getInstanceVarIndexBySid(type, parseInt(p, 10)); + if (iv < 0 || iv >= inst.instance_vars.length) + continue; // must've gone missing + value = oivs[p]; + if (value === null) + value = NaN; + inst.instance_vars[iv] = value; + } + } + } + if (plugin.is_world) + { + world = o["w"]; + if (inst.layer.sid !== world["l"]) + { + oldlayer = inst.layer; + inst.layer = this.running_layout.getLayerBySid(world["l"]); + if (inst.layer) + { + oldlayer.removeFromInstanceList(inst, true); + inst.layer.appendToInstanceList(inst, true); + inst.set_bbox_changed(); + inst.layer.setZIndicesStaleFrom(0); + } + else + { + inst.layer = oldlayer; + if (!state_only) + this.DestroyInstance(inst); + } + } + inst.x = world["x"]; + inst.y = world["y"]; + inst.width = world["w"]; + inst.height = world["h"]; + inst.zindex = world["zi"]; + inst.angle = world.hasOwnProperty("a") ? world["a"] : 0; + inst.opacity = world.hasOwnProperty("o") ? world["o"] : 1; + inst.hotspotX = world.hasOwnProperty("hX") ? world["hX"] : 0.5; + inst.hotspotY = world.hasOwnProperty("hY") ? world["hY"] : 0.5; + inst.visible = world.hasOwnProperty("v") ? world["v"] : true; + inst.collisionsEnabled = world.hasOwnProperty("ce") ? world["ce"] : true; + inst.my_timescale = world.hasOwnProperty("mts") ? world["mts"] : -1; + inst.blend_mode = world.hasOwnProperty("bm") ? world["bm"] : 0;; + inst.compositeOp = cr.effectToCompositeOp(inst.blend_mode); + if (this.gl) + cr.setGLBlend(inst, inst.blend_mode, this.gl); + inst.set_bbox_changed(); + if (world.hasOwnProperty("fx")) + { + for (i = 0, len = world["fx"].length; i < len; i++) + { + fxindex = type.getEffectIndexByName(world["fx"][i]["name"]); + if (fxindex < 0) + continue; // must've gone missing + inst.active_effect_flags[fxindex] = world["fx"][i]["active"]; + inst.effect_params[fxindex] = world["fx"][i]["params"]; + } + } + inst.updateActiveEffects(); + } + obehs = o["behs"]; + if (obehs) + { + for (p in obehs) + { + if (obehs.hasOwnProperty(p)) + { + behindex = this.getBehaviorIndexBySid(inst, parseInt(p, 10)); + if (behindex < 0) + continue; // must've gone missing + inst.behavior_insts[behindex].loadFromJSON(obehs[p]); + } + } + } + if (o["data"]) + inst.loadFromJSON(o["data"]); + }; + Runtime.prototype.fetchLocalFileViaCordova = function (filename, successCallback, errorCallback) + { + var path = cordova["file"]["applicationDirectory"] + "www/" + filename; + window["resolveLocalFileSystemURL"](path, function (entry) + { + entry.file(successCallback, errorCallback); + }, errorCallback); + }; + Runtime.prototype.fetchLocalFileViaCordovaAsText = function (filename, successCallback, errorCallback) + { + this.fetchLocalFileViaCordova(filename, function (file) + { + var reader = new FileReader(); + reader.onload = function (e) + { + successCallback(e.target.result); + }; + reader.onerror = errorCallback; + reader.readAsText(file); + }, errorCallback); + }; + var queuedArrayBufferReads = []; + var activeArrayBufferReads = 0; + var MAX_ARRAYBUFFER_READS = 8; + Runtime.prototype.maybeStartNextArrayBufferRead = function() + { + if (!queuedArrayBufferReads.length) + return; // none left + if (activeArrayBufferReads >= MAX_ARRAYBUFFER_READS) + return; // already got maximum number in-flight + activeArrayBufferReads++; + var job = queuedArrayBufferReads.shift(); + this.doFetchLocalFileViaCordovaAsArrayBuffer(job.filename, job.successCallback, job.errorCallback); + }; + Runtime.prototype.fetchLocalFileViaCordovaAsArrayBuffer = function (filename, successCallback_, errorCallback_) + { + var self = this; + queuedArrayBufferReads.push({ + filename: filename, + successCallback: function (result) + { + activeArrayBufferReads--; + self.maybeStartNextArrayBufferRead(); + successCallback_(result); + }, + errorCallback: function (err) + { + activeArrayBufferReads--; + self.maybeStartNextArrayBufferRead(); + errorCallback_(err); + } + }); + this.maybeStartNextArrayBufferRead(); + }; + Runtime.prototype.doFetchLocalFileViaCordovaAsArrayBuffer = function (filename, successCallback, errorCallback) + { + this.fetchLocalFileViaCordova(filename, function (file) + { + var reader = new FileReader(); + reader.onload = function (e) + { + successCallback(e.target.result); + }; + reader.readAsArrayBuffer(file); + }, errorCallback); + }; + Runtime.prototype.fetchLocalFileViaCordovaAsURL = function (filename, successCallback, errorCallback) + { + var blobType = ""; + var lowername = filename.toLowerCase(); + var ext3 = lowername.substr(lowername.length - 4); + var ext4 = lowername.substr(lowername.length - 5); + if (ext3 === ".mp4") + blobType = "video/mp4"; + else if (ext4 === ".webm") + blobType = "video/webm"; // use video type but hopefully works with audio too + else if (ext3 === ".m4a") + blobType = "audio/mp4"; + else if (ext3 === ".mp3") + blobType = "audio/mpeg"; + this.fetchLocalFileViaCordovaAsArrayBuffer(filename, function (arrayBuffer) + { + var blob = new Blob([arrayBuffer], { type: blobType }); + var url = URL.createObjectURL(blob); + successCallback(url); + }, errorCallback); + }; + Runtime.prototype.isAbsoluteUrl = function (url) + { + return /^(?:[a-z]+:)?\/\//.test(url) || url.substr(0, 5) === "data:" || url.substr(0, 5) === "blob:"; + }; + Runtime.prototype.setImageSrc = function (img, src) + { + if (this.isWKWebView && !this.isAbsoluteUrl(src)) + { + this.fetchLocalFileViaCordovaAsURL(src, function (url) + { + img.src = url; + }, function (err) + { + alert("Failed to load image: " + err); + }); + } + else + { + img.src = src; + } + }; + Runtime.prototype.setCtxImageSmoothingEnabled = function (ctx, e) + { + if (typeof ctx["imageSmoothingEnabled"] !== "undefined") + { + ctx["imageSmoothingEnabled"] = e; + } + else + { + ctx["webkitImageSmoothingEnabled"] = e; + ctx["mozImageSmoothingEnabled"] = e; + ctx["msImageSmoothingEnabled"] = e; + } + }; + cr.runtime = Runtime; + cr.createRuntime = function (canvasid) + { + return new Runtime(document.getElementById(canvasid)); + }; + cr.createDCRuntime = function (w, h) + { + return new Runtime({ "dc": true, "width": w, "height": h }); + }; + window["cr_createRuntime"] = cr.createRuntime; + window["cr_createDCRuntime"] = cr.createDCRuntime; + window["createCocoonJSRuntime"] = function () + { + window["c2cocoonjs"] = true; + var canvas = document.createElement("screencanvas") || document.createElement("canvas"); + canvas.screencanvas = true; + document.body.appendChild(canvas); + var rt = new Runtime(canvas); + window["c2runtime"] = rt; + window.addEventListener("orientationchange", function () { + window["c2runtime"]["setSize"](window.innerWidth, window.innerHeight); + }); + window["c2runtime"]["setSize"](window.innerWidth, window.innerHeight); + return rt; + }; + window["createEjectaRuntime"] = function () + { + var canvas = document.getElementById("canvas"); + var rt = new Runtime(canvas); + window["c2runtime"] = rt; + window["c2runtime"]["setSize"](window.innerWidth, window.innerHeight); + return rt; + }; +}()); +window["cr_getC2Runtime"] = function() +{ + var canvas = document.getElementById("c2canvas"); + if (canvas) + return canvas["c2runtime"]; + else if (window["c2runtime"]) + return window["c2runtime"]; + else + return null; +} +window["cr_getSnapshot"] = function (format_, quality_) +{ + var runtime = window["cr_getC2Runtime"](); + if (runtime) + runtime.doCanvasSnapshot(format_, quality_); +} +window["cr_sizeCanvas"] = function(w, h) +{ + if (w === 0 || h === 0) + return; + var runtime = window["cr_getC2Runtime"](); + if (runtime) + runtime["setSize"](w, h); +} +window["cr_setSuspended"] = function(s) +{ + var runtime = window["cr_getC2Runtime"](); + if (runtime) + runtime["setSuspended"](s); +} +; +(function() +{ + function Layout(runtime, m) + { + this.runtime = runtime; + this.event_sheet = null; + this.scrollX = (this.runtime.original_width / 2); + this.scrollY = (this.runtime.original_height / 2); + this.scale = 1.0; + this.angle = 0; + this.first_visit = true; + this.name = m[0]; + this.originalWidth = m[1]; + this.originalHeight = m[2]; + this.width = m[1]; + this.height = m[2]; + this.unbounded_scrolling = m[3]; + this.sheetname = m[4]; + this.sid = m[5]; + var lm = m[6]; + var i, len; + this.layers = []; + this.initial_types = []; + for (i = 0, len = lm.length; i < len; i++) + { + var layer = new cr.layer(this, lm[i]); + layer.number = i; + cr.seal(layer); + this.layers.push(layer); + } + var im = m[7]; + this.initial_nonworld = []; + for (i = 0, len = im.length; i < len; i++) + { + var inst = im[i]; + var type = this.runtime.types_by_index[inst[1]]; +; + if (!type.default_instance) + type.default_instance = inst; + this.initial_nonworld.push(inst); + if (this.initial_types.indexOf(type) === -1) + this.initial_types.push(type); + } + this.effect_types = []; + this.active_effect_types = []; + this.shaders_preserve_opaqueness = true; + this.effect_params = []; + for (i = 0, len = m[8].length; i < len; i++) + { + this.effect_types.push({ + id: m[8][i][0], + name: m[8][i][1], + shaderindex: -1, + preservesOpaqueness: false, + active: true, + index: i + }); + this.effect_params.push(m[8][i][2].slice(0)); + } + this.updateActiveEffects(); + this.rcTex = new cr.rect(0, 0, 1, 1); + this.rcTex2 = new cr.rect(0, 0, 1, 1); + this.persist_data = {}; + }; + Layout.prototype.saveObjectToPersist = function (inst) + { + var sidStr = inst.type.sid.toString(); + if (!this.persist_data.hasOwnProperty(sidStr)) + this.persist_data[sidStr] = []; + var type_persist = this.persist_data[sidStr]; + type_persist.push(this.runtime.saveInstanceToJSON(inst)); + }; + Layout.prototype.hasOpaqueBottomLayer = function () + { + var layer = this.layers[0]; + return !layer.transparent && layer.opacity === 1.0 && !layer.forceOwnTexture && layer.visible; + }; + Layout.prototype.updateActiveEffects = function () + { + cr.clearArray(this.active_effect_types); + this.shaders_preserve_opaqueness = true; + var i, len, et; + for (i = 0, len = this.effect_types.length; i < len; i++) + { + et = this.effect_types[i]; + if (et.active) + { + this.active_effect_types.push(et); + if (!et.preservesOpaqueness) + this.shaders_preserve_opaqueness = false; + } + } + }; + Layout.prototype.getEffectByName = function (name_) + { + var i, len, et; + for (i = 0, len = this.effect_types.length; i < len; i++) + { + et = this.effect_types[i]; + if (et.name === name_) + return et; + } + return null; + }; + var created_instances = []; + function sort_by_zindex(a, b) + { + return a.zindex - b.zindex; + }; + var first_layout = true; + Layout.prototype.startRunning = function () + { + if (this.sheetname) + { + this.event_sheet = this.runtime.eventsheets[this.sheetname]; +; + this.event_sheet.updateDeepIncludes(); + } + this.runtime.running_layout = this; + this.width = this.originalWidth; + this.height = this.originalHeight; + this.scrollX = (this.runtime.original_width / 2); + this.scrollY = (this.runtime.original_height / 2); + var i, k, len, lenk, type, type_instances, initial_inst, inst, iid, t, s, p, q, type_data, layer; + for (i = 0, len = this.runtime.types_by_index.length; i < len; i++) + { + type = this.runtime.types_by_index[i]; + if (type.is_family) + continue; // instances are only transferred for their real type + type_instances = type.instances; + for (k = 0, lenk = type_instances.length; k < lenk; k++) + { + inst = type_instances[k]; + if (inst.layer) + { + var num = inst.layer.number; + if (num >= this.layers.length) + num = this.layers.length - 1; + inst.layer = this.layers[num]; + if (inst.layer.instances.indexOf(inst) === -1) + inst.layer.instances.push(inst); + inst.layer.zindices_stale = true; + } + } + } + if (!first_layout) + { + for (i = 0, len = this.layers.length; i < len; ++i) + { + this.layers[i].instances.sort(sort_by_zindex); + } + } + var layer; + cr.clearArray(created_instances); + this.boundScrolling(); + for (i = 0, len = this.layers.length; i < len; i++) + { + layer = this.layers[i]; + layer.createInitialInstances(); // fills created_instances + layer.updateViewport(null); + } + var uids_changed = false; + if (!this.first_visit) + { + for (p in this.persist_data) + { + if (this.persist_data.hasOwnProperty(p)) + { + type = this.runtime.getObjectTypeBySid(parseInt(p, 10)); + if (!type || type.is_family || !this.runtime.typeHasPersistBehavior(type)) + continue; + type_data = this.persist_data[p]; + for (i = 0, len = type_data.length; i < len; i++) + { + layer = null; + if (type.plugin.is_world) + { + layer = this.getLayerBySid(type_data[i]["w"]["l"]); + if (!layer) + continue; + } + inst = this.runtime.createInstanceFromInit(type.default_instance, layer, false, 0, 0, true); + this.runtime.loadInstanceFromJSON(inst, type_data[i]); + uids_changed = true; + created_instances.push(inst); + } + cr.clearArray(type_data); + } + } + for (i = 0, len = this.layers.length; i < len; i++) + { + this.layers[i].instances.sort(sort_by_zindex); + this.layers[i].zindices_stale = true; // in case of duplicates/holes + } + } + if (uids_changed) + { + this.runtime.ClearDeathRow(); + this.runtime.refreshUidMap(); + } + for (i = 0; i < created_instances.length; i++) + { + inst = created_instances[i]; + if (!inst.type.is_contained) + continue; + iid = inst.get_iid(); + for (k = 0, lenk = inst.type.container.length; k < lenk; k++) + { + t = inst.type.container[k]; + if (inst.type === t) + continue; + if (t.instances.length > iid) + inst.siblings.push(t.instances[iid]); + else + { + if (!t.default_instance) + { + } + else + { + s = this.runtime.createInstanceFromInit(t.default_instance, inst.layer, true, inst.x, inst.y, true); + this.runtime.ClearDeathRow(); + t.updateIIDs(); + inst.siblings.push(s); + created_instances.push(s); // come back around and link up its own instances too + } + } + } + } + for (i = 0, len = this.initial_nonworld.length; i < len; i++) + { + initial_inst = this.initial_nonworld[i]; + type = this.runtime.types_by_index[initial_inst[1]]; + if (!type.is_contained) + { + inst = this.runtime.createInstanceFromInit(this.initial_nonworld[i], null, true); + } +; + } + this.runtime.changelayout = null; + this.runtime.ClearDeathRow(); + if (this.runtime.ctx && !this.runtime.isDomFree) + { + for (i = 0, len = this.runtime.types_by_index.length; i < len; i++) + { + t = this.runtime.types_by_index[i]; + if (t.is_family || !t.instances.length || !t.preloadCanvas2D) + continue; + t.preloadCanvas2D(this.runtime.ctx); + } + } + /* + if (this.runtime.glwrap) + { + console.log("Estimated VRAM at layout start: " + this.runtime.glwrap.textureCount() + " textures, approx. " + Math.round(this.runtime.glwrap.estimateVRAM() / 1024) + " kb"); + } + */ + if (this.runtime.isLoadingState) + { + cr.shallowAssignArray(this.runtime.fireOnCreateAfterLoad, created_instances); + } + else + { + for (i = 0, len = created_instances.length; i < len; i++) + { + inst = created_instances[i]; + this.runtime.trigger(Object.getPrototypeOf(inst.type.plugin).cnds.OnCreated, inst); + } + } + cr.clearArray(created_instances); + if (!this.runtime.isLoadingState) + { + this.runtime.trigger(cr.system_object.prototype.cnds.OnLayoutStart, null); + } + this.first_visit = false; + }; + Layout.prototype.createGlobalNonWorlds = function () + { + var i, k, len, initial_inst, inst, type; + for (i = 0, k = 0, len = this.initial_nonworld.length; i < len; i++) + { + initial_inst = this.initial_nonworld[i]; + type = this.runtime.types_by_index[initial_inst[1]]; + if (type.global) + { + if (!type.is_contained) + { + inst = this.runtime.createInstanceFromInit(initial_inst, null, true); + } + } + else + { + this.initial_nonworld[k] = initial_inst; + k++; + } + } + cr.truncateArray(this.initial_nonworld, k); + }; + Layout.prototype.stopRunning = function () + { +; + /* + if (this.runtime.glwrap) + { + console.log("Estimated VRAM at layout end: " + this.runtime.glwrap.textureCount() + " textures, approx. " + Math.round(this.runtime.glwrap.estimateVRAM() / 1024) + " kb"); + } + */ + if (!this.runtime.isLoadingState) + { + this.runtime.trigger(cr.system_object.prototype.cnds.OnLayoutEnd, null); + } + this.runtime.isEndingLayout = true; + cr.clearArray(this.runtime.system.waits); + var i, leni, j, lenj; + var layer_instances, inst, type; + if (!this.first_visit) + { + for (i = 0, leni = this.layers.length; i < leni; i++) + { + this.layers[i].updateZIndices(); + layer_instances = this.layers[i].instances; + for (j = 0, lenj = layer_instances.length; j < lenj; j++) + { + inst = layer_instances[j]; + if (!inst.type.global) + { + if (this.runtime.typeHasPersistBehavior(inst.type)) + this.saveObjectToPersist(inst); + } + } + } + } + for (i = 0, leni = this.layers.length; i < leni; i++) + { + layer_instances = this.layers[i].instances; + for (j = 0, lenj = layer_instances.length; j < lenj; j++) + { + inst = layer_instances[j]; + if (!inst.type.global) + { + this.runtime.DestroyInstance(inst); + } + } + this.runtime.ClearDeathRow(); + cr.clearArray(layer_instances); + this.layers[i].zindices_stale = true; + } + for (i = 0, leni = this.runtime.types_by_index.length; i < leni; i++) + { + type = this.runtime.types_by_index[i]; + if (type.global || type.plugin.is_world || type.plugin.singleglobal || type.is_family) + continue; + for (j = 0, lenj = type.instances.length; j < lenj; j++) + this.runtime.DestroyInstance(type.instances[j]); + this.runtime.ClearDeathRow(); + } + first_layout = false; + this.runtime.isEndingLayout = false; + }; + var temp_rect = new cr.rect(0, 0, 0, 0); + Layout.prototype.recreateInitialObjects = function (type, x1, y1, x2, y2) + { + temp_rect.set(x1, y1, x2, y2); + var i, len; + for (i = 0, len = this.layers.length; i < len; i++) + { + this.layers[i].recreateInitialObjects(type, temp_rect); + } + }; + Layout.prototype.draw = function (ctx) + { + var layout_canvas; + var layout_ctx = ctx; + var ctx_changed = false; + var render_offscreen = !this.runtime.fullscreenScalingQuality; + if (render_offscreen) + { + if (!this.runtime.layout_canvas) + { + this.runtime.layout_canvas = document.createElement("canvas"); + layout_canvas = this.runtime.layout_canvas; + layout_canvas.width = this.runtime.draw_width; + layout_canvas.height = this.runtime.draw_height; + this.runtime.layout_ctx = layout_canvas.getContext("2d"); + ctx_changed = true; + } + layout_canvas = this.runtime.layout_canvas; + layout_ctx = this.runtime.layout_ctx; + if (layout_canvas.width !== this.runtime.draw_width) + { + layout_canvas.width = this.runtime.draw_width; + ctx_changed = true; + } + if (layout_canvas.height !== this.runtime.draw_height) + { + layout_canvas.height = this.runtime.draw_height; + ctx_changed = true; + } + if (ctx_changed) + { + this.runtime.setCtxImageSmoothingEnabled(layout_ctx, this.runtime.linearSampling); + } + } + layout_ctx.globalAlpha = 1; + layout_ctx.globalCompositeOperation = "source-over"; + if (this.runtime.clearBackground && !this.hasOpaqueBottomLayer()) + layout_ctx.clearRect(0, 0, this.runtime.draw_width, this.runtime.draw_height); + var i, len, l; + for (i = 0, len = this.layers.length; i < len; i++) + { + l = this.layers[i]; + if (l.visible && l.opacity > 0 && l.blend_mode !== 11 && (l.instances.length || !l.transparent)) + l.draw(layout_ctx); + else + l.updateViewport(null); // even if not drawing, keep viewport up to date + } + if (render_offscreen) + { + ctx.drawImage(layout_canvas, 0, 0, this.runtime.width, this.runtime.height); + } + }; + Layout.prototype.drawGL_earlyZPass = function (glw) + { + glw.setEarlyZPass(true); + if (!this.runtime.layout_tex) + { + this.runtime.layout_tex = glw.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling); + } + if (this.runtime.layout_tex.c2width !== this.runtime.draw_width || this.runtime.layout_tex.c2height !== this.runtime.draw_height) + { + glw.deleteTexture(this.runtime.layout_tex); + this.runtime.layout_tex = glw.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling); + } + glw.setRenderingToTexture(this.runtime.layout_tex); + if (!this.runtime.fullscreenScalingQuality) + { + glw.setSize(this.runtime.draw_width, this.runtime.draw_height); + } + var i, l; + for (i = this.layers.length - 1; i >= 0; --i) + { + l = this.layers[i]; + if (l.visible && l.opacity === 1 && l.shaders_preserve_opaqueness && + l.blend_mode === 0 && (l.instances.length || !l.transparent)) + { + l.drawGL_earlyZPass(glw); + } + else + { + l.updateViewport(null); // even if not drawing, keep viewport up to date + } + } + glw.setEarlyZPass(false); + }; + Layout.prototype.drawGL = function (glw) + { + var render_to_texture = (this.active_effect_types.length > 0 || + this.runtime.uses_background_blending || + !this.runtime.fullscreenScalingQuality || + this.runtime.enableFrontToBack); + if (render_to_texture) + { + if (!this.runtime.layout_tex) + { + this.runtime.layout_tex = glw.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling); + } + if (this.runtime.layout_tex.c2width !== this.runtime.draw_width || this.runtime.layout_tex.c2height !== this.runtime.draw_height) + { + glw.deleteTexture(this.runtime.layout_tex); + this.runtime.layout_tex = glw.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling); + } + glw.setRenderingToTexture(this.runtime.layout_tex); + if (!this.runtime.fullscreenScalingQuality) + { + glw.setSize(this.runtime.draw_width, this.runtime.draw_height); + } + } + else + { + if (this.runtime.layout_tex) + { + glw.setRenderingToTexture(null); + glw.deleteTexture(this.runtime.layout_tex); + this.runtime.layout_tex = null; + } + } + if (this.runtime.clearBackground && !this.hasOpaqueBottomLayer()) + glw.clear(0, 0, 0, 0); + var i, len, l; + for (i = 0, len = this.layers.length; i < len; i++) + { + l = this.layers[i]; + if (l.visible && l.opacity > 0 && (l.instances.length || !l.transparent)) + l.drawGL(glw); + else + l.updateViewport(null); // even if not drawing, keep viewport up to date + } + if (render_to_texture) + { + if (this.active_effect_types.length === 0 || + (this.active_effect_types.length === 1 && this.runtime.fullscreenScalingQuality)) + { + if (this.active_effect_types.length === 1) + { + var etindex = this.active_effect_types[0].index; + glw.switchProgram(this.active_effect_types[0].shaderindex); + glw.setProgramParameters(null, // backTex + 1.0 / this.runtime.draw_width, // pixelWidth + 1.0 / this.runtime.draw_height, // pixelHeight + 0.0, 0.0, // destStart + 1.0, 1.0, // destEnd + this.scale, // layerScale + this.angle, // layerAngle + 0.0, 0.0, // viewOrigin + this.runtime.draw_width / 2, this.runtime.draw_height / 2, // scrollPos + this.runtime.kahanTime.sum, // seconds + this.effect_params[etindex]); // fx parameters + if (glw.programIsAnimated(this.active_effect_types[0].shaderindex)) + this.runtime.redraw = true; + } + else + glw.switchProgram(0); + if (!this.runtime.fullscreenScalingQuality) + { + glw.setSize(this.runtime.width, this.runtime.height); + } + glw.setRenderingToTexture(null); // to backbuffer + glw.setDepthTestEnabled(false); // ignore depth buffer, copy full texture + glw.setOpacity(1); + glw.setTexture(this.runtime.layout_tex); + glw.setAlphaBlend(); + glw.resetModelView(); + glw.updateModelView(); + var halfw = this.runtime.width / 2; + var halfh = this.runtime.height / 2; + glw.quad(-halfw, halfh, halfw, halfh, halfw, -halfh, -halfw, -halfh); + glw.setTexture(null); + glw.setDepthTestEnabled(true); // turn depth test back on + } + else + { + this.renderEffectChain(glw, null, null, null); + } + } + }; + Layout.prototype.getRenderTarget = function() + { + if (this.active_effect_types.length > 0 || + this.runtime.uses_background_blending || + !this.runtime.fullscreenScalingQuality || + this.runtime.enableFrontToBack) + { + return this.runtime.layout_tex; + } + else + { + return null; + } + }; + Layout.prototype.getMinLayerScale = function () + { + var m = this.layers[0].getScale(); + var i, len, l; + for (i = 1, len = this.layers.length; i < len; i++) + { + l = this.layers[i]; + if (l.parallaxX === 0 && l.parallaxY === 0) + continue; + if (l.getScale() < m) + m = l.getScale(); + } + return m; + }; + Layout.prototype.scrollToX = function (x) + { + if (!this.unbounded_scrolling) + { + var widthBoundary = (this.runtime.draw_width * (1 / this.getMinLayerScale()) / 2); + if (x > this.width - widthBoundary) + x = this.width - widthBoundary; + if (x < widthBoundary) + x = widthBoundary; + } + if (this.scrollX !== x) + { + this.scrollX = x; + this.runtime.redraw = true; + } + }; + Layout.prototype.scrollToY = function (y) + { + if (!this.unbounded_scrolling) + { + var heightBoundary = (this.runtime.draw_height * (1 / this.getMinLayerScale()) / 2); + if (y > this.height - heightBoundary) + y = this.height - heightBoundary; + if (y < heightBoundary) + y = heightBoundary; + } + if (this.scrollY !== y) + { + this.scrollY = y; + this.runtime.redraw = true; + } + }; + Layout.prototype.boundScrolling = function () + { + this.scrollToX(this.scrollX); + this.scrollToY(this.scrollY); + }; + Layout.prototype.renderEffectChain = function (glw, layer, inst, rendertarget) + { + var active_effect_types = inst ? + inst.active_effect_types : + layer ? + layer.active_effect_types : + this.active_effect_types; + var layerScale = 1, layerAngle = 0, viewOriginLeft = 0, viewOriginTop = 0, viewOriginRight = this.runtime.draw_width, viewOriginBottom = this.runtime.draw_height; + if (inst) + { + layerScale = inst.layer.getScale(); + layerAngle = inst.layer.getAngle(); + viewOriginLeft = inst.layer.viewLeft; + viewOriginTop = inst.layer.viewTop; + viewOriginRight = inst.layer.viewRight; + viewOriginBottom = inst.layer.viewBottom; + } + else if (layer) + { + layerScale = layer.getScale(); + layerAngle = layer.getAngle(); + viewOriginLeft = layer.viewLeft; + viewOriginTop = layer.viewTop; + viewOriginRight = layer.viewRight; + viewOriginBottom = layer.viewBottom; + } + var fx_tex = this.runtime.fx_tex; + var i, len, last, temp, fx_index = 0, other_fx_index = 1; + var y, h; + var windowWidth = this.runtime.draw_width; + var windowHeight = this.runtime.draw_height; + var halfw = windowWidth / 2; + var halfh = windowHeight / 2; + var rcTex = layer ? layer.rcTex : this.rcTex; + var rcTex2 = layer ? layer.rcTex2 : this.rcTex2; + var screenleft = 0, clearleft = 0; + var screentop = 0, cleartop = 0; + var screenright = windowWidth, clearright = windowWidth; + var screenbottom = windowHeight, clearbottom = windowHeight; + var boxExtendHorizontal = 0; + var boxExtendVertical = 0; + var inst_layer_angle = inst ? inst.layer.getAngle() : 0; + if (inst) + { + for (i = 0, len = active_effect_types.length; i < len; i++) + { + boxExtendHorizontal += glw.getProgramBoxExtendHorizontal(active_effect_types[i].shaderindex); + boxExtendVertical += glw.getProgramBoxExtendVertical(active_effect_types[i].shaderindex); + } + var bbox = inst.bbox; + screenleft = layer.layerToCanvas(bbox.left, bbox.top, true, true); + screentop = layer.layerToCanvas(bbox.left, bbox.top, false, true); + screenright = layer.layerToCanvas(bbox.right, bbox.bottom, true, true); + screenbottom = layer.layerToCanvas(bbox.right, bbox.bottom, false, true); + if (inst_layer_angle !== 0) + { + var screentrx = layer.layerToCanvas(bbox.right, bbox.top, true, true); + var screentry = layer.layerToCanvas(bbox.right, bbox.top, false, true); + var screenblx = layer.layerToCanvas(bbox.left, bbox.bottom, true, true); + var screenbly = layer.layerToCanvas(bbox.left, bbox.bottom, false, true); + temp = Math.min(screenleft, screenright, screentrx, screenblx); + screenright = Math.max(screenleft, screenright, screentrx, screenblx); + screenleft = temp; + temp = Math.min(screentop, screenbottom, screentry, screenbly); + screenbottom = Math.max(screentop, screenbottom, screentry, screenbly); + screentop = temp; + } + screenleft -= boxExtendHorizontal; + screentop -= boxExtendVertical; + screenright += boxExtendHorizontal; + screenbottom += boxExtendVertical; + rcTex2.left = screenleft / windowWidth; + rcTex2.top = 1 - screentop / windowHeight; + rcTex2.right = screenright / windowWidth; + rcTex2.bottom = 1 - screenbottom / windowHeight; + clearleft = screenleft = cr.floor(screenleft); + cleartop = screentop = cr.floor(screentop); + clearright = screenright = cr.ceil(screenright); + clearbottom = screenbottom = cr.ceil(screenbottom); + clearleft -= boxExtendHorizontal; + cleartop -= boxExtendVertical; + clearright += boxExtendHorizontal; + clearbottom += boxExtendVertical; + if (screenleft < 0) screenleft = 0; + if (screentop < 0) screentop = 0; + if (screenright > windowWidth) screenright = windowWidth; + if (screenbottom > windowHeight) screenbottom = windowHeight; + if (clearleft < 0) clearleft = 0; + if (cleartop < 0) cleartop = 0; + if (clearright > windowWidth) clearright = windowWidth; + if (clearbottom > windowHeight) clearbottom = windowHeight; + rcTex.left = screenleft / windowWidth; + rcTex.top = 1 - screentop / windowHeight; + rcTex.right = screenright / windowWidth; + rcTex.bottom = 1 - screenbottom / windowHeight; + } + else + { + rcTex.left = rcTex2.left = 0; + rcTex.top = rcTex2.top = 0; + rcTex.right = rcTex2.right = 1; + rcTex.bottom = rcTex2.bottom = 1; + } + var pre_draw = (inst && (glw.programUsesDest(active_effect_types[0].shaderindex) || boxExtendHorizontal !== 0 || boxExtendVertical !== 0 || inst.opacity !== 1 || inst.type.plugin.must_predraw)) || (layer && !inst && layer.opacity !== 1); + glw.setAlphaBlend(); + if (pre_draw) + { + if (!fx_tex[fx_index]) + { + fx_tex[fx_index] = glw.createEmptyTexture(windowWidth, windowHeight, this.runtime.linearSampling); + } + if (fx_tex[fx_index].c2width !== windowWidth || fx_tex[fx_index].c2height !== windowHeight) + { + glw.deleteTexture(fx_tex[fx_index]); + fx_tex[fx_index] = glw.createEmptyTexture(windowWidth, windowHeight, this.runtime.linearSampling); + } + glw.switchProgram(0); + glw.setRenderingToTexture(fx_tex[fx_index]); + h = clearbottom - cleartop; + y = (windowHeight - cleartop) - h; + glw.clearRect(clearleft, y, clearright - clearleft, h); + if (inst) + { + inst.drawGL(glw); + } + else + { + glw.setTexture(this.runtime.layer_tex); + glw.setOpacity(layer.opacity); + glw.resetModelView(); + glw.translate(-halfw, -halfh); + glw.updateModelView(); + glw.quadTex(screenleft, screenbottom, screenright, screenbottom, screenright, screentop, screenleft, screentop, rcTex); + } + rcTex2.left = rcTex2.top = 0; + rcTex2.right = rcTex2.bottom = 1; + if (inst) + { + temp = rcTex.top; + rcTex.top = rcTex.bottom; + rcTex.bottom = temp; + } + fx_index = 1; + other_fx_index = 0; + } + glw.setOpacity(1); + var last = active_effect_types.length - 1; + var post_draw = glw.programUsesCrossSampling(active_effect_types[last].shaderindex) || + (!layer && !inst && !this.runtime.fullscreenScalingQuality); + var etindex = 0; + for (i = 0, len = active_effect_types.length; i < len; i++) + { + if (!fx_tex[fx_index]) + { + fx_tex[fx_index] = glw.createEmptyTexture(windowWidth, windowHeight, this.runtime.linearSampling); + } + if (fx_tex[fx_index].c2width !== windowWidth || fx_tex[fx_index].c2height !== windowHeight) + { + glw.deleteTexture(fx_tex[fx_index]); + fx_tex[fx_index] = glw.createEmptyTexture(windowWidth, windowHeight, this.runtime.linearSampling); + } + glw.switchProgram(active_effect_types[i].shaderindex); + etindex = active_effect_types[i].index; + if (glw.programIsAnimated(active_effect_types[i].shaderindex)) + this.runtime.redraw = true; + if (i == 0 && !pre_draw) + { + glw.setRenderingToTexture(fx_tex[fx_index]); + h = clearbottom - cleartop; + y = (windowHeight - cleartop) - h; + glw.clearRect(clearleft, y, clearright - clearleft, h); + if (inst) + { + var pixelWidth; + var pixelHeight; + if (inst.curFrame && inst.curFrame.texture_img) + { + var img = inst.curFrame.texture_img; + pixelWidth = 1.0 / img.width; + pixelHeight = 1.0 / img.height; + } + else + { + pixelWidth = 1.0 / inst.width; + pixelHeight = 1.0 / inst.height; + } + glw.setProgramParameters(rendertarget, // backTex + pixelWidth, + pixelHeight, + rcTex2.left, rcTex2.top, // destStart + rcTex2.right, rcTex2.bottom, // destEnd + layerScale, + layerAngle, + viewOriginLeft, viewOriginTop, + (viewOriginLeft + viewOriginRight) / 2, (viewOriginTop + viewOriginBottom) / 2, + this.runtime.kahanTime.sum, + inst.effect_params[etindex]); // fx params + inst.drawGL(glw); + } + else + { + glw.setProgramParameters(rendertarget, // backTex + 1.0 / windowWidth, // pixelWidth + 1.0 / windowHeight, // pixelHeight + 0.0, 0.0, // destStart + 1.0, 1.0, // destEnd + layerScale, + layerAngle, + viewOriginLeft, viewOriginTop, + (viewOriginLeft + viewOriginRight) / 2, (viewOriginTop + viewOriginBottom) / 2, + this.runtime.kahanTime.sum, + layer ? // fx params + layer.effect_params[etindex] : + this.effect_params[etindex]); + glw.setTexture(layer ? this.runtime.layer_tex : this.runtime.layout_tex); + glw.resetModelView(); + glw.translate(-halfw, -halfh); + glw.updateModelView(); + glw.quadTex(screenleft, screenbottom, screenright, screenbottom, screenright, screentop, screenleft, screentop, rcTex); + } + rcTex2.left = rcTex2.top = 0; + rcTex2.right = rcTex2.bottom = 1; + if (inst && !post_draw) + { + temp = screenbottom; + screenbottom = screentop; + screentop = temp; + } + } + else + { + glw.setProgramParameters(rendertarget, // backTex + 1.0 / windowWidth, // pixelWidth + 1.0 / windowHeight, // pixelHeight + rcTex2.left, rcTex2.top, // destStart + rcTex2.right, rcTex2.bottom, // destEnd + layerScale, + layerAngle, + viewOriginLeft, viewOriginTop, + (viewOriginLeft + viewOriginRight) / 2, (viewOriginTop + viewOriginBottom) / 2, + this.runtime.kahanTime.sum, + inst ? // fx params + inst.effect_params[etindex] : + layer ? + layer.effect_params[etindex] : + this.effect_params[etindex]); + glw.setTexture(null); + if (i === last && !post_draw) + { + if (inst) + glw.setBlend(inst.srcBlend, inst.destBlend); + else if (layer) + glw.setBlend(layer.srcBlend, layer.destBlend); + glw.setRenderingToTexture(rendertarget); + } + else + { + glw.setRenderingToTexture(fx_tex[fx_index]); + h = clearbottom - cleartop; + y = (windowHeight - cleartop) - h; + glw.clearRect(clearleft, y, clearright - clearleft, h); + } + glw.setTexture(fx_tex[other_fx_index]); + glw.resetModelView(); + glw.translate(-halfw, -halfh); + glw.updateModelView(); + glw.quadTex(screenleft, screenbottom, screenright, screenbottom, screenright, screentop, screenleft, screentop, rcTex); + if (i === last && !post_draw) + glw.setTexture(null); + } + fx_index = (fx_index === 0 ? 1 : 0); + other_fx_index = (fx_index === 0 ? 1 : 0); // will be opposite to fx_index since it was just assigned + } + if (post_draw) + { + glw.switchProgram(0); + if (inst) + glw.setBlend(inst.srcBlend, inst.destBlend); + else if (layer) + glw.setBlend(layer.srcBlend, layer.destBlend); + else + { + if (!this.runtime.fullscreenScalingQuality) + { + glw.setSize(this.runtime.width, this.runtime.height); + halfw = this.runtime.width / 2; + halfh = this.runtime.height / 2; + screenleft = 0; + screentop = 0; + screenright = this.runtime.width; + screenbottom = this.runtime.height; + } + } + glw.setRenderingToTexture(rendertarget); + glw.setTexture(fx_tex[other_fx_index]); + glw.resetModelView(); + glw.translate(-halfw, -halfh); + glw.updateModelView(); + if (inst && active_effect_types.length === 1 && !pre_draw) + glw.quadTex(screenleft, screentop, screenright, screentop, screenright, screenbottom, screenleft, screenbottom, rcTex); + else + glw.quadTex(screenleft, screenbottom, screenright, screenbottom, screenright, screentop, screenleft, screentop, rcTex); + glw.setTexture(null); + } + }; + Layout.prototype.getLayerBySid = function (sid_) + { + var i, len; + for (i = 0, len = this.layers.length; i < len; i++) + { + if (this.layers[i].sid === sid_) + return this.layers[i]; + } + return null; + }; + Layout.prototype.saveToJSON = function () + { + var i, len, layer, et; + var o = { + "sx": this.scrollX, + "sy": this.scrollY, + "s": this.scale, + "a": this.angle, + "w": this.width, + "h": this.height, + "fv": this.first_visit, // added r127 + "persist": this.persist_data, + "fx": [], + "layers": {} + }; + for (i = 0, len = this.effect_types.length; i < len; i++) + { + et = this.effect_types[i]; + o["fx"].push({"name": et.name, "active": et.active, "params": this.effect_params[et.index] }); + } + for (i = 0, len = this.layers.length; i < len; i++) + { + layer = this.layers[i]; + o["layers"][layer.sid.toString()] = layer.saveToJSON(); + } + return o; + }; + Layout.prototype.loadFromJSON = function (o) + { + var i, j, len, fx, p, layer; + this.scrollX = o["sx"]; + this.scrollY = o["sy"]; + this.scale = o["s"]; + this.angle = o["a"]; + this.width = o["w"]; + this.height = o["h"]; + this.persist_data = o["persist"]; + if (typeof o["fv"] !== "undefined") + this.first_visit = o["fv"]; + var ofx = o["fx"]; + for (i = 0, len = ofx.length; i < len; i++) + { + fx = this.getEffectByName(ofx[i]["name"]); + if (!fx) + continue; // must've gone missing + fx.active = ofx[i]["active"]; + this.effect_params[fx.index] = ofx[i]["params"]; + } + this.updateActiveEffects(); + var olayers = o["layers"]; + for (p in olayers) + { + if (olayers.hasOwnProperty(p)) + { + layer = this.getLayerBySid(parseInt(p, 10)); + if (!layer) + continue; // must've gone missing + layer.loadFromJSON(olayers[p]); + } + } + }; + cr.layout = Layout; + function Layer(layout, m) + { + this.layout = layout; + this.runtime = layout.runtime; + this.instances = []; // running instances + this.scale = 1.0; + this.angle = 0; + this.disableAngle = false; + this.tmprect = new cr.rect(0, 0, 0, 0); + this.tmpquad = new cr.quad(); + this.viewLeft = 0; + this.viewRight = 0; + this.viewTop = 0; + this.viewBottom = 0; + this.zindices_stale = false; + this.zindices_stale_from = -1; // first index that has changed, or -1 if no bound + this.clear_earlyz_index = 0; + this.name = m[0]; + this.index = m[1]; + this.sid = m[2]; + this.visible = m[3]; // initially visible + this.background_color = m[4]; + this.transparent = m[5]; + this.parallaxX = m[6]; + this.parallaxY = m[7]; + this.opacity = m[8]; + this.forceOwnTexture = m[9]; + this.useRenderCells = m[10]; + this.zoomRate = m[11]; + this.blend_mode = m[12]; + this.effect_fallback = m[13]; + this.compositeOp = "source-over"; + this.srcBlend = 0; + this.destBlend = 0; + this.render_grid = null; + this.last_render_list = alloc_arr(); + this.render_list_stale = true; + this.last_render_cells = new cr.rect(0, 0, -1, -1); + this.cur_render_cells = new cr.rect(0, 0, -1, -1); + if (this.useRenderCells) + { + this.render_grid = new cr.RenderGrid(this.runtime.original_width, this.runtime.original_height); + } + this.render_offscreen = false; + var im = m[14]; + var i, len; + this.startup_initial_instances = []; // for restoring initial_instances after load + this.initial_instances = []; + this.created_globals = []; // global object UIDs already created - for save/load to avoid recreating + for (i = 0, len = im.length; i < len; i++) + { + var inst = im[i]; + var type = this.runtime.types_by_index[inst[1]]; +; + if (!type.default_instance) + { + type.default_instance = inst; + type.default_layerindex = this.index; + } + this.initial_instances.push(inst); + if (this.layout.initial_types.indexOf(type) === -1) + this.layout.initial_types.push(type); + } + cr.shallowAssignArray(this.startup_initial_instances, this.initial_instances); + this.effect_types = []; + this.active_effect_types = []; + this.shaders_preserve_opaqueness = true; + this.effect_params = []; + for (i = 0, len = m[15].length; i < len; i++) + { + this.effect_types.push({ + id: m[15][i][0], + name: m[15][i][1], + shaderindex: -1, + preservesOpaqueness: false, + active: true, + index: i + }); + this.effect_params.push(m[15][i][2].slice(0)); + } + this.updateActiveEffects(); + this.rcTex = new cr.rect(0, 0, 1, 1); + this.rcTex2 = new cr.rect(0, 0, 1, 1); + }; + Layer.prototype.updateActiveEffects = function () + { + cr.clearArray(this.active_effect_types); + this.shaders_preserve_opaqueness = true; + var i, len, et; + for (i = 0, len = this.effect_types.length; i < len; i++) + { + et = this.effect_types[i]; + if (et.active) + { + this.active_effect_types.push(et); + if (!et.preservesOpaqueness) + this.shaders_preserve_opaqueness = false; + } + } + }; + Layer.prototype.getEffectByName = function (name_) + { + var i, len, et; + for (i = 0, len = this.effect_types.length; i < len; i++) + { + et = this.effect_types[i]; + if (et.name === name_) + return et; + } + return null; + }; + Layer.prototype.createInitialInstances = function () + { + var i, k, len, inst, initial_inst, type, keep, hasPersistBehavior; + for (i = 0, k = 0, len = this.initial_instances.length; i < len; i++) + { + initial_inst = this.initial_instances[i]; + type = this.runtime.types_by_index[initial_inst[1]]; +; + hasPersistBehavior = this.runtime.typeHasPersistBehavior(type); + keep = true; + if (!hasPersistBehavior || this.layout.first_visit) + { + inst = this.runtime.createInstanceFromInit(initial_inst, this, true); + if (!inst) + continue; // may have skipped creation due to fallback effect "destroy" + created_instances.push(inst); + if (inst.type.global) + { + keep = false; + this.created_globals.push(inst.uid); + } + } + if (keep) + { + this.initial_instances[k] = this.initial_instances[i]; + k++; + } + } + this.initial_instances.length = k; + this.runtime.ClearDeathRow(); // flushes creation row so IIDs will be correct + if (!this.runtime.glwrap && this.effect_types.length) // no WebGL renderer and shaders used + this.blend_mode = this.effect_fallback; // use fallback blend mode + this.compositeOp = cr.effectToCompositeOp(this.blend_mode); + if (this.runtime.gl) + cr.setGLBlend(this, this.blend_mode, this.runtime.gl); + this.render_list_stale = true; + }; + Layer.prototype.recreateInitialObjects = function (only_type, rc) + { + var i, len, initial_inst, type, wm, x, y, inst, j, lenj, s; + var types_by_index = this.runtime.types_by_index; + var only_type_is_family = only_type.is_family; + var only_type_members = only_type.members; + for (i = 0, len = this.initial_instances.length; i < len; ++i) + { + initial_inst = this.initial_instances[i]; + wm = initial_inst[0]; + x = wm[0]; + y = wm[1]; + if (!rc.contains_pt(x, y)) + continue; // not in the given area + type = types_by_index[initial_inst[1]]; + if (type !== only_type) + { + if (only_type_is_family) + { + if (only_type_members.indexOf(type) < 0) + continue; + } + else + continue; // only_type is not a family, and the initial inst type does not match + } + inst = this.runtime.createInstanceFromInit(initial_inst, this, false); + this.runtime.isInOnDestroy++; + this.runtime.trigger(Object.getPrototypeOf(type.plugin).cnds.OnCreated, inst); + if (inst.is_contained) + { + for (j = 0, lenj = inst.siblings.length; j < lenj; j++) + { + s = inst.siblings[i]; + this.runtime.trigger(Object.getPrototypeOf(s.type.plugin).cnds.OnCreated, s); + } + } + this.runtime.isInOnDestroy--; + } + }; + Layer.prototype.removeFromInstanceList = function (inst, remove_from_grid) + { + var index = cr.fastIndexOf(this.instances, inst); + if (index < 0) + return; // not found + if (remove_from_grid && this.useRenderCells && inst.rendercells && inst.rendercells.right >= inst.rendercells.left) + { + inst.update_bbox(); // make sure actually in its current rendercells + this.render_grid.update(inst, inst.rendercells, null); // no new range provided - remove only + inst.rendercells.set(0, 0, -1, -1); // set to invalid state to indicate not inserted + } + if (index === this.instances.length - 1) + this.instances.pop(); + else + { + cr.arrayRemove(this.instances, index); + this.setZIndicesStaleFrom(index); + } + this.render_list_stale = true; + }; + Layer.prototype.appendToInstanceList = function (inst, add_to_grid) + { +; + inst.zindex = this.instances.length; + this.instances.push(inst); + if (add_to_grid && this.useRenderCells && inst.rendercells) + { + inst.set_bbox_changed(); // will cause immediate update and new insertion to grid + } + this.render_list_stale = true; + }; + Layer.prototype.prependToInstanceList = function (inst, add_to_grid) + { +; + this.instances.unshift(inst); + this.setZIndicesStaleFrom(0); + if (add_to_grid && this.useRenderCells && inst.rendercells) + { + inst.set_bbox_changed(); // will cause immediate update and new insertion to grid + } + }; + Layer.prototype.moveInstanceAdjacent = function (inst, other, isafter) + { +; + var myZ = inst.get_zindex(); + var insertZ = other.get_zindex(); + cr.arrayRemove(this.instances, myZ); + if (myZ < insertZ) + insertZ--; + if (isafter) + insertZ++; + if (insertZ === this.instances.length) + this.instances.push(inst); + else + this.instances.splice(insertZ, 0, inst); + this.setZIndicesStaleFrom(myZ < insertZ ? myZ : insertZ); + }; + Layer.prototype.setZIndicesStaleFrom = function (index) + { + if (this.zindices_stale_from === -1) // not yet set + this.zindices_stale_from = index; + else if (index < this.zindices_stale_from) // determine minimum z index affected + this.zindices_stale_from = index; + this.zindices_stale = true; + this.render_list_stale = true; + }; + Layer.prototype.updateZIndices = function () + { + if (!this.zindices_stale) + return; + if (this.zindices_stale_from === -1) + this.zindices_stale_from = 0; + var i, len, inst; + if (this.useRenderCells) + { + for (i = this.zindices_stale_from, len = this.instances.length; i < len; ++i) + { + inst = this.instances[i]; + inst.zindex = i; + this.render_grid.markRangeChanged(inst.rendercells); + } + } + else + { + for (i = this.zindices_stale_from, len = this.instances.length; i < len; ++i) + { + this.instances[i].zindex = i; + } + } + this.zindices_stale = false; + this.zindices_stale_from = -1; + }; + Layer.prototype.getScale = function (include_aspect) + { + return this.getNormalScale() * (this.runtime.fullscreenScalingQuality || include_aspect ? this.runtime.aspect_scale : 1); + }; + Layer.prototype.getNormalScale = function () + { + return ((this.scale * this.layout.scale) - 1) * this.zoomRate + 1; + }; + Layer.prototype.getAngle = function () + { + if (this.disableAngle) + return 0; + return cr.clamp_angle(this.layout.angle + this.angle); + }; + var arr_cache = []; + function alloc_arr() + { + if (arr_cache.length) + return arr_cache.pop(); + else + return []; + } + function free_arr(a) + { + cr.clearArray(a); + arr_cache.push(a); + }; + function mergeSortedZArrays(a, b, out) + { + var i = 0, j = 0, k = 0, lena = a.length, lenb = b.length, ai, bj; + out.length = lena + lenb; + for ( ; i < lena && j < lenb; ++k) + { + ai = a[i]; + bj = b[j]; + if (ai.zindex < bj.zindex) + { + out[k] = ai; + ++i; + } + else + { + out[k] = bj; + ++j; + } + } + for ( ; i < lena; ++i, ++k) + out[k] = a[i]; + for ( ; j < lenb; ++j, ++k) + out[k] = b[j]; + }; + var next_arr = []; + function mergeAllSortedZArrays_pass(arr, first_pass) + { + var i, len, arr1, arr2, out; + for (i = 0, len = arr.length; i < len - 1; i += 2) + { + arr1 = arr[i]; + arr2 = arr[i+1]; + out = alloc_arr(); + mergeSortedZArrays(arr1, arr2, out); + if (!first_pass) + { + free_arr(arr1); + free_arr(arr2); + } + next_arr.push(out); + } + if (len % 2 === 1) + { + if (first_pass) + { + arr1 = alloc_arr(); + cr.shallowAssignArray(arr1, arr[len - 1]); + next_arr.push(arr1); + } + else + { + next_arr.push(arr[len - 1]); + } + } + cr.shallowAssignArray(arr, next_arr); + cr.clearArray(next_arr); + }; + function mergeAllSortedZArrays(arr) + { + var first_pass = true; + while (arr.length > 1) + { + mergeAllSortedZArrays_pass(arr, first_pass); + first_pass = false; + } + return arr[0]; + }; + var render_arr = []; + Layer.prototype.getRenderCellInstancesToDraw = function () + { +; + this.updateZIndices(); + this.render_grid.queryRange(this.viewLeft, this.viewTop, this.viewRight, this.viewBottom, render_arr); + if (!render_arr.length) + return alloc_arr(); + if (render_arr.length === 1) + { + var a = alloc_arr(); + cr.shallowAssignArray(a, render_arr[0]); + cr.clearArray(render_arr); + return a; + } + var draw_list = mergeAllSortedZArrays(render_arr); + cr.clearArray(render_arr); + return draw_list; + }; + Layer.prototype.draw = function (ctx) + { + this.render_offscreen = (this.forceOwnTexture || this.opacity !== 1.0 || this.blend_mode !== 0); + var layer_canvas = this.runtime.canvas; + var layer_ctx = ctx; + var ctx_changed = false; + if (this.render_offscreen) + { + if (!this.runtime.layer_canvas) + { + this.runtime.layer_canvas = document.createElement("canvas"); +; + layer_canvas = this.runtime.layer_canvas; + layer_canvas.width = this.runtime.draw_width; + layer_canvas.height = this.runtime.draw_height; + this.runtime.layer_ctx = layer_canvas.getContext("2d"); +; + ctx_changed = true; + } + layer_canvas = this.runtime.layer_canvas; + layer_ctx = this.runtime.layer_ctx; + if (layer_canvas.width !== this.runtime.draw_width) + { + layer_canvas.width = this.runtime.draw_width; + ctx_changed = true; + } + if (layer_canvas.height !== this.runtime.draw_height) + { + layer_canvas.height = this.runtime.draw_height; + ctx_changed = true; + } + if (ctx_changed) + { + this.runtime.setCtxImageSmoothingEnabled(layer_ctx, this.runtime.linearSampling); + } + if (this.transparent) + layer_ctx.clearRect(0, 0, this.runtime.draw_width, this.runtime.draw_height); + } + layer_ctx.globalAlpha = 1; + layer_ctx.globalCompositeOperation = "source-over"; + if (!this.transparent) + { + layer_ctx.fillStyle = "rgb(" + this.background_color[0] + "," + this.background_color[1] + "," + this.background_color[2] + ")"; + layer_ctx.fillRect(0, 0, this.runtime.draw_width, this.runtime.draw_height); + } + layer_ctx.save(); + this.disableAngle = true; + var px = this.canvasToLayer(0, 0, true, true); + var py = this.canvasToLayer(0, 0, false, true); + this.disableAngle = false; + if (this.runtime.pixel_rounding) + { + px = Math.round(px); + py = Math.round(py); + } + this.rotateViewport(px, py, layer_ctx); + var myscale = this.getScale(); + layer_ctx.scale(myscale, myscale); + layer_ctx.translate(-px, -py); + var instances_to_draw; + if (this.useRenderCells) + { + this.cur_render_cells.left = this.render_grid.XToCell(this.viewLeft); + this.cur_render_cells.top = this.render_grid.YToCell(this.viewTop); + this.cur_render_cells.right = this.render_grid.XToCell(this.viewRight); + this.cur_render_cells.bottom = this.render_grid.YToCell(this.viewBottom); + if (this.render_list_stale || !this.cur_render_cells.equals(this.last_render_cells)) + { + free_arr(this.last_render_list); + instances_to_draw = this.getRenderCellInstancesToDraw(); + this.render_list_stale = false; + this.last_render_cells.copy(this.cur_render_cells); + } + else + instances_to_draw = this.last_render_list; + } + else + instances_to_draw = this.instances; + var i, len, inst, last_inst = null; + for (i = 0, len = instances_to_draw.length; i < len; ++i) + { + inst = instances_to_draw[i]; + if (inst === last_inst) + continue; + this.drawInstance(inst, layer_ctx); + last_inst = inst; + } + if (this.useRenderCells) + this.last_render_list = instances_to_draw; + layer_ctx.restore(); + if (this.render_offscreen) + { + ctx.globalCompositeOperation = this.compositeOp; + ctx.globalAlpha = this.opacity; + ctx.drawImage(layer_canvas, 0, 0); + } + }; + Layer.prototype.drawInstance = function(inst, layer_ctx) + { + if (!inst.visible || inst.width === 0 || inst.height === 0) + return; + inst.update_bbox(); + var bbox = inst.bbox; + if (bbox.right < this.viewLeft || bbox.bottom < this.viewTop || bbox.left > this.viewRight || bbox.top > this.viewBottom) + return; + layer_ctx.globalCompositeOperation = inst.compositeOp; + inst.draw(layer_ctx); + }; + Layer.prototype.updateViewport = function (ctx) + { + this.disableAngle = true; + var px = this.canvasToLayer(0, 0, true, true); + var py = this.canvasToLayer(0, 0, false, true); + this.disableAngle = false; + if (this.runtime.pixel_rounding) + { + px = Math.round(px); + py = Math.round(py); + } + this.rotateViewport(px, py, ctx); + }; + Layer.prototype.rotateViewport = function (px, py, ctx) + { + var myscale = this.getScale(); + this.viewLeft = px; + this.viewTop = py; + this.viewRight = px + (this.runtime.draw_width * (1 / myscale)); + this.viewBottom = py + (this.runtime.draw_height * (1 / myscale)); + var temp; + if (this.viewLeft > this.viewRight) + { + temp = this.viewLeft; + this.viewLeft = this.viewRight; + this.viewRight = temp; + } + if (this.viewTop > this.viewBottom) + { + temp = this.viewTop; + this.viewTop = this.viewBottom; + this.viewBottom = temp; + } + var myAngle = this.getAngle(); + if (myAngle !== 0) + { + if (ctx) + { + ctx.translate(this.runtime.draw_width / 2, this.runtime.draw_height / 2); + ctx.rotate(-myAngle); + ctx.translate(this.runtime.draw_width / -2, this.runtime.draw_height / -2); + } + this.tmprect.set(this.viewLeft, this.viewTop, this.viewRight, this.viewBottom); + this.tmprect.offset((this.viewLeft + this.viewRight) / -2, (this.viewTop + this.viewBottom) / -2); + this.tmpquad.set_from_rotated_rect(this.tmprect, myAngle); + this.tmpquad.bounding_box(this.tmprect); + this.tmprect.offset((this.viewLeft + this.viewRight) / 2, (this.viewTop + this.viewBottom) / 2); + this.viewLeft = this.tmprect.left; + this.viewTop = this.tmprect.top; + this.viewRight = this.tmprect.right; + this.viewBottom = this.tmprect.bottom; + } + } + Layer.prototype.drawGL_earlyZPass = function (glw) + { + var windowWidth = this.runtime.draw_width; + var windowHeight = this.runtime.draw_height; + var shaderindex = 0; + var etindex = 0; + this.render_offscreen = this.forceOwnTexture; + if (this.render_offscreen) + { + if (!this.runtime.layer_tex) + { + this.runtime.layer_tex = glw.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling); + } + if (this.runtime.layer_tex.c2width !== this.runtime.draw_width || this.runtime.layer_tex.c2height !== this.runtime.draw_height) + { + glw.deleteTexture(this.runtime.layer_tex); + this.runtime.layer_tex = glw.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling); + } + glw.setRenderingToTexture(this.runtime.layer_tex); + } + this.disableAngle = true; + var px = this.canvasToLayer(0, 0, true, true); + var py = this.canvasToLayer(0, 0, false, true); + this.disableAngle = false; + if (this.runtime.pixel_rounding) + { + px = Math.round(px); + py = Math.round(py); + } + this.rotateViewport(px, py, null); + var myscale = this.getScale(); + glw.resetModelView(); + glw.scale(myscale, myscale); + glw.rotateZ(-this.getAngle()); + glw.translate((this.viewLeft + this.viewRight) / -2, (this.viewTop + this.viewBottom) / -2); + glw.updateModelView(); + var instances_to_draw; + if (this.useRenderCells) + { + this.cur_render_cells.left = this.render_grid.XToCell(this.viewLeft); + this.cur_render_cells.top = this.render_grid.YToCell(this.viewTop); + this.cur_render_cells.right = this.render_grid.XToCell(this.viewRight); + this.cur_render_cells.bottom = this.render_grid.YToCell(this.viewBottom); + if (this.render_list_stale || !this.cur_render_cells.equals(this.last_render_cells)) + { + free_arr(this.last_render_list); + instances_to_draw = this.getRenderCellInstancesToDraw(); + this.render_list_stale = false; + this.last_render_cells.copy(this.cur_render_cells); + } + else + instances_to_draw = this.last_render_list; + } + else + instances_to_draw = this.instances; + var i, inst, last_inst = null; + for (i = instances_to_draw.length - 1; i >= 0; --i) + { + inst = instances_to_draw[i]; + if (inst === last_inst) + continue; + this.drawInstanceGL_earlyZPass(instances_to_draw[i], glw); + last_inst = inst; + } + if (this.useRenderCells) + this.last_render_list = instances_to_draw; + if (!this.transparent) + { + this.clear_earlyz_index = this.runtime.earlyz_index++; + glw.setEarlyZIndex(this.clear_earlyz_index); + glw.setColorFillMode(1, 1, 1, 1); + glw.fullscreenQuad(); // fill remaining space in depth buffer with current Z value + glw.restoreEarlyZMode(); + } + }; + Layer.prototype.drawGL = function (glw) + { + var windowWidth = this.runtime.draw_width; + var windowHeight = this.runtime.draw_height; + var shaderindex = 0; + var etindex = 0; + this.render_offscreen = (this.forceOwnTexture || this.opacity !== 1.0 || this.active_effect_types.length > 0 || this.blend_mode !== 0); + if (this.render_offscreen) + { + if (!this.runtime.layer_tex) + { + this.runtime.layer_tex = glw.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling); + } + if (this.runtime.layer_tex.c2width !== this.runtime.draw_width || this.runtime.layer_tex.c2height !== this.runtime.draw_height) + { + glw.deleteTexture(this.runtime.layer_tex); + this.runtime.layer_tex = glw.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling); + } + glw.setRenderingToTexture(this.runtime.layer_tex); + if (this.transparent) + glw.clear(0, 0, 0, 0); + } + if (!this.transparent) + { + if (this.runtime.enableFrontToBack) + { + glw.setEarlyZIndex(this.clear_earlyz_index); + glw.setColorFillMode(this.background_color[0] / 255, this.background_color[1] / 255, this.background_color[2] / 255, 1); + glw.fullscreenQuad(); + glw.setTextureFillMode(); + } + else + { + glw.clear(this.background_color[0] / 255, this.background_color[1] / 255, this.background_color[2] / 255, 1); + } + } + this.disableAngle = true; + var px = this.canvasToLayer(0, 0, true, true); + var py = this.canvasToLayer(0, 0, false, true); + this.disableAngle = false; + if (this.runtime.pixel_rounding) + { + px = Math.round(px); + py = Math.round(py); + } + this.rotateViewport(px, py, null); + var myscale = this.getScale(); + glw.resetModelView(); + glw.scale(myscale, myscale); + glw.rotateZ(-this.getAngle()); + glw.translate((this.viewLeft + this.viewRight) / -2, (this.viewTop + this.viewBottom) / -2); + glw.updateModelView(); + var instances_to_draw; + if (this.useRenderCells) + { + this.cur_render_cells.left = this.render_grid.XToCell(this.viewLeft); + this.cur_render_cells.top = this.render_grid.YToCell(this.viewTop); + this.cur_render_cells.right = this.render_grid.XToCell(this.viewRight); + this.cur_render_cells.bottom = this.render_grid.YToCell(this.viewBottom); + if (this.render_list_stale || !this.cur_render_cells.equals(this.last_render_cells)) + { + free_arr(this.last_render_list); + instances_to_draw = this.getRenderCellInstancesToDraw(); + this.render_list_stale = false; + this.last_render_cells.copy(this.cur_render_cells); + } + else + instances_to_draw = this.last_render_list; + } + else + instances_to_draw = this.instances; + var i, len, inst, last_inst = null; + for (i = 0, len = instances_to_draw.length; i < len; ++i) + { + inst = instances_to_draw[i]; + if (inst === last_inst) + continue; + this.drawInstanceGL(instances_to_draw[i], glw); + last_inst = inst; + } + if (this.useRenderCells) + this.last_render_list = instances_to_draw; + if (this.render_offscreen) + { + shaderindex = this.active_effect_types.length ? this.active_effect_types[0].shaderindex : 0; + etindex = this.active_effect_types.length ? this.active_effect_types[0].index : 0; + if (this.active_effect_types.length === 0 || (this.active_effect_types.length === 1 && + !glw.programUsesCrossSampling(shaderindex) && this.opacity === 1)) + { + if (this.active_effect_types.length === 1) + { + glw.switchProgram(shaderindex); + glw.setProgramParameters(this.layout.getRenderTarget(), // backTex + 1.0 / this.runtime.draw_width, // pixelWidth + 1.0 / this.runtime.draw_height, // pixelHeight + 0.0, 0.0, // destStart + 1.0, 1.0, // destEnd + myscale, // layerScale + this.getAngle(), + this.viewLeft, this.viewTop, + (this.viewLeft + this.viewRight) / 2, (this.viewTop + this.viewBottom) / 2, + this.runtime.kahanTime.sum, + this.effect_params[etindex]); // fx parameters + if (glw.programIsAnimated(shaderindex)) + this.runtime.redraw = true; + } + else + glw.switchProgram(0); + glw.setRenderingToTexture(this.layout.getRenderTarget()); + glw.setOpacity(this.opacity); + glw.setTexture(this.runtime.layer_tex); + glw.setBlend(this.srcBlend, this.destBlend); + glw.resetModelView(); + glw.updateModelView(); + var halfw = this.runtime.draw_width / 2; + var halfh = this.runtime.draw_height / 2; + glw.quad(-halfw, halfh, halfw, halfh, halfw, -halfh, -halfw, -halfh); + glw.setTexture(null); + } + else + { + this.layout.renderEffectChain(glw, this, null, this.layout.getRenderTarget()); + } + } + }; + Layer.prototype.drawInstanceGL = function (inst, glw) + { +; + if (!inst.visible || inst.width === 0 || inst.height === 0) + return; + inst.update_bbox(); + var bbox = inst.bbox; + if (bbox.right < this.viewLeft || bbox.bottom < this.viewTop || bbox.left > this.viewRight || bbox.top > this.viewBottom) + return; + glw.setEarlyZIndex(inst.earlyz_index); + if (inst.uses_shaders) + { + this.drawInstanceWithShadersGL(inst, glw); + } + else + { + glw.switchProgram(0); // un-set any previously set shader + glw.setBlend(inst.srcBlend, inst.destBlend); + inst.drawGL(glw); + } + }; + Layer.prototype.drawInstanceGL_earlyZPass = function (inst, glw) + { +; + if (!inst.visible || inst.width === 0 || inst.height === 0) + return; + inst.update_bbox(); + var bbox = inst.bbox; + if (bbox.right < this.viewLeft || bbox.bottom < this.viewTop || bbox.left > this.viewRight || bbox.top > this.viewBottom) + return; + inst.earlyz_index = this.runtime.earlyz_index++; + if (inst.blend_mode !== 0 || inst.opacity !== 1 || !inst.shaders_preserve_opaqueness || !inst.drawGL_earlyZPass) + return; + glw.setEarlyZIndex(inst.earlyz_index); + inst.drawGL_earlyZPass(glw); + }; + Layer.prototype.drawInstanceWithShadersGL = function (inst, glw) + { + var shaderindex = inst.active_effect_types[0].shaderindex; + var etindex = inst.active_effect_types[0].index; + var myscale = this.getScale(); + if (inst.active_effect_types.length === 1 && !glw.programUsesCrossSampling(shaderindex) && + !glw.programExtendsBox(shaderindex) && ((!inst.angle && !inst.layer.getAngle()) || !glw.programUsesDest(shaderindex)) && + inst.opacity === 1 && !inst.type.plugin.must_predraw) + { + glw.switchProgram(shaderindex); + glw.setBlend(inst.srcBlend, inst.destBlend); + if (glw.programIsAnimated(shaderindex)) + this.runtime.redraw = true; + var destStartX = 0, destStartY = 0, destEndX = 0, destEndY = 0; + if (glw.programUsesDest(shaderindex)) + { + var bbox = inst.bbox; + var screenleft = this.layerToCanvas(bbox.left, bbox.top, true, true); + var screentop = this.layerToCanvas(bbox.left, bbox.top, false, true); + var screenright = this.layerToCanvas(bbox.right, bbox.bottom, true, true); + var screenbottom = this.layerToCanvas(bbox.right, bbox.bottom, false, true); + destStartX = screenleft / windowWidth; + destStartY = 1 - screentop / windowHeight; + destEndX = screenright / windowWidth; + destEndY = 1 - screenbottom / windowHeight; + } + var pixelWidth; + var pixelHeight; + if (inst.curFrame && inst.curFrame.texture_img) + { + var img = inst.curFrame.texture_img; + pixelWidth = 1.0 / img.width; + pixelHeight = 1.0 / img.height; + } + else + { + pixelWidth = 1.0 / inst.width; + pixelHeight = 1.0 / inst.height; + } + glw.setProgramParameters(this.render_offscreen ? this.runtime.layer_tex : this.layout.getRenderTarget(), // backTex + pixelWidth, + pixelHeight, + destStartX, destStartY, + destEndX, destEndY, + myscale, + this.getAngle(), + this.viewLeft, this.viewTop, + (this.viewLeft + this.viewRight) / 2, (this.viewTop + this.viewBottom) / 2, + this.runtime.kahanTime.sum, + inst.effect_params[etindex]); + inst.drawGL(glw); + } + else + { + this.layout.renderEffectChain(glw, this, inst, this.render_offscreen ? this.runtime.layer_tex : this.layout.getRenderTarget()); + glw.resetModelView(); + glw.scale(myscale, myscale); + glw.rotateZ(-this.getAngle()); + glw.translate((this.viewLeft + this.viewRight) / -2, (this.viewTop + this.viewBottom) / -2); + glw.updateModelView(); + } + }; + Layer.prototype.canvasToLayer = function (ptx, pty, getx, using_draw_area) + { + var multiplier = this.runtime.devicePixelRatio; + if (this.runtime.isRetina) + { + ptx *= multiplier; + pty *= multiplier; + } + var ox = this.runtime.parallax_x_origin; + var oy = this.runtime.parallax_y_origin; + var par_x = ((this.layout.scrollX - ox) * this.parallaxX) + ox; + var par_y = ((this.layout.scrollY - oy) * this.parallaxY) + oy; + var x = par_x; + var y = par_y; + var invScale = 1 / this.getScale(!using_draw_area); + if (using_draw_area) + { + x -= (this.runtime.draw_width * invScale) / 2; + y -= (this.runtime.draw_height * invScale) / 2; + } + else + { + x -= (this.runtime.width * invScale) / 2; + y -= (this.runtime.height * invScale) / 2; + } + x += ptx * invScale; + y += pty * invScale; + var a = this.getAngle(); + if (a !== 0) + { + x -= par_x; + y -= par_y; + var cosa = Math.cos(a); + var sina = Math.sin(a); + var x_temp = (x * cosa) - (y * sina); + y = (y * cosa) + (x * sina); + x = x_temp; + x += par_x; + y += par_y; + } + return getx ? x : y; + }; + Layer.prototype.layerToCanvas = function (ptx, pty, getx, using_draw_area) + { + var ox = this.runtime.parallax_x_origin; + var oy = this.runtime.parallax_y_origin; + var par_x = ((this.layout.scrollX - ox) * this.parallaxX) + ox; + var par_y = ((this.layout.scrollY - oy) * this.parallaxY) + oy; + var x = par_x; + var y = par_y; + var a = this.getAngle(); + if (a !== 0) + { + ptx -= par_x; + pty -= par_y; + var cosa = Math.cos(-a); + var sina = Math.sin(-a); + var x_temp = (ptx * cosa) - (pty * sina); + pty = (pty * cosa) + (ptx * sina); + ptx = x_temp; + ptx += par_x; + pty += par_y; + } + var invScale = 1 / this.getScale(!using_draw_area); + if (using_draw_area) + { + x -= (this.runtime.draw_width * invScale) / 2; + y -= (this.runtime.draw_height * invScale) / 2; + } + else + { + x -= (this.runtime.width * invScale) / 2; + y -= (this.runtime.height * invScale) / 2; + } + x = (ptx - x) / invScale; + y = (pty - y) / invScale; + var multiplier = this.runtime.devicePixelRatio; + if (this.runtime.isRetina && !using_draw_area) + { + x /= multiplier; + y /= multiplier; + } + return getx ? x : y; + }; + Layer.prototype.rotatePt = function (x_, y_, getx) + { + if (this.getAngle() === 0) + return getx ? x_ : y_; + var nx = this.layerToCanvas(x_, y_, true); + var ny = this.layerToCanvas(x_, y_, false); + this.disableAngle = true; + var px = this.canvasToLayer(nx, ny, true); + var py = this.canvasToLayer(nx, ny, true); + this.disableAngle = false; + return getx ? px : py; + }; + Layer.prototype.saveToJSON = function () + { + var i, len, et; + var o = { + "s": this.scale, + "a": this.angle, + "vl": this.viewLeft, + "vt": this.viewTop, + "vr": this.viewRight, + "vb": this.viewBottom, + "v": this.visible, + "bc": this.background_color, + "t": this.transparent, + "px": this.parallaxX, + "py": this.parallaxY, + "o": this.opacity, + "zr": this.zoomRate, + "fx": [], + "cg": this.created_globals, // added r197; list of global UIDs already created + "instances": [] + }; + for (i = 0, len = this.effect_types.length; i < len; i++) + { + et = this.effect_types[i]; + o["fx"].push({"name": et.name, "active": et.active, "params": this.effect_params[et.index] }); + } + return o; + }; + Layer.prototype.loadFromJSON = function (o) + { + var i, j, len, p, inst, fx; + this.scale = o["s"]; + this.angle = o["a"]; + this.viewLeft = o["vl"]; + this.viewTop = o["vt"]; + this.viewRight = o["vr"]; + this.viewBottom = o["vb"]; + this.visible = o["v"]; + this.background_color = o["bc"]; + this.transparent = o["t"]; + this.parallaxX = o["px"]; + this.parallaxY = o["py"]; + this.opacity = o["o"]; + this.zoomRate = o["zr"]; + this.created_globals = o["cg"] || []; // added r197 + cr.shallowAssignArray(this.initial_instances, this.startup_initial_instances); + var temp_set = new cr.ObjectSet(); + for (i = 0, len = this.created_globals.length; i < len; ++i) + temp_set.add(this.created_globals[i]); + for (i = 0, j = 0, len = this.initial_instances.length; i < len; ++i) + { + if (!temp_set.contains(this.initial_instances[i][2])) // UID in element 2 + { + this.initial_instances[j] = this.initial_instances[i]; + ++j; + } + } + cr.truncateArray(this.initial_instances, j); + var ofx = o["fx"]; + for (i = 0, len = ofx.length; i < len; i++) + { + fx = this.getEffectByName(ofx[i]["name"]); + if (!fx) + continue; // must've gone missing + fx.active = ofx[i]["active"]; + this.effect_params[fx.index] = ofx[i]["params"]; + } + this.updateActiveEffects(); + this.instances.sort(sort_by_zindex); + this.zindices_stale = true; + }; + cr.layer = Layer; +}()); +; +(function() +{ + var allUniqueSolModifiers = []; + function testSolsMatch(arr1, arr2) + { + var i, len = arr1.length; + switch (len) { + case 0: + return true; + case 1: + return arr1[0] === arr2[0]; + case 2: + return arr1[0] === arr2[0] && arr1[1] === arr2[1]; + default: + for (i = 0; i < len; i++) + { + if (arr1[i] !== arr2[i]) + return false; + } + return true; + } + }; + function solArraySorter(t1, t2) + { + return t1.index - t2.index; + }; + function findMatchingSolModifier(arr) + { + var i, len, u, temp, subarr; + if (arr.length === 2) + { + if (arr[0].index > arr[1].index) + { + temp = arr[0]; + arr[0] = arr[1]; + arr[1] = temp; + } + } + else if (arr.length > 2) + arr.sort(solArraySorter); // so testSolsMatch compares in same order + if (arr.length >= allUniqueSolModifiers.length) + allUniqueSolModifiers.length = arr.length + 1; + if (!allUniqueSolModifiers[arr.length]) + allUniqueSolModifiers[arr.length] = []; + subarr = allUniqueSolModifiers[arr.length]; + for (i = 0, len = subarr.length; i < len; i++) + { + u = subarr[i]; + if (testSolsMatch(arr, u)) + return u; + } + subarr.push(arr); + return arr; + }; + function EventSheet(runtime, m) + { + this.runtime = runtime; + this.triggers = {}; + this.fasttriggers = {}; + this.hasRun = false; + this.includes = new cr.ObjectSet(); // all event sheets included by this sheet, at first-level indirection only + this.deep_includes = []; // all includes from this sheet recursively, in trigger order + this.already_included_sheets = []; // used while building deep_includes + this.name = m[0]; + var em = m[1]; // events model + this.events = []; // triggers won't make it to this array + var i, len; + for (i = 0, len = em.length; i < len; i++) + this.init_event(em[i], null, this.events); + }; + EventSheet.prototype.toString = function () + { + return this.name; + }; + EventSheet.prototype.init_event = function (m, parent, nontriggers) + { + switch (m[0]) { + case 0: // event block + { + var block = new cr.eventblock(this, parent, m); + cr.seal(block); + if (block.orblock) + { + nontriggers.push(block); + var i, len; + for (i = 0, len = block.conditions.length; i < len; i++) + { + if (block.conditions[i].trigger) + this.init_trigger(block, i); + } + } + else + { + if (block.is_trigger()) + this.init_trigger(block, 0); + else + nontriggers.push(block); + } + break; + } + case 1: // variable + { + var v = new cr.eventvariable(this, parent, m); + cr.seal(v); + nontriggers.push(v); + break; + } + case 2: // include + { + var inc = new cr.eventinclude(this, parent, m); + cr.seal(inc); + nontriggers.push(inc); + break; + } + default: +; + } + }; + EventSheet.prototype.postInit = function () + { + var i, len; + for (i = 0, len = this.events.length; i < len; i++) + { + this.events[i].postInit(i < len - 1 && this.events[i + 1].is_else_block); + } + }; + EventSheet.prototype.updateDeepIncludes = function () + { + cr.clearArray(this.deep_includes); + cr.clearArray(this.already_included_sheets); + this.addDeepIncludes(this); + cr.clearArray(this.already_included_sheets); + }; + EventSheet.prototype.addDeepIncludes = function (root_sheet) + { + var i, len, inc, sheet; + var deep_includes = root_sheet.deep_includes; + var already_included_sheets = root_sheet.already_included_sheets; + var arr = this.includes.valuesRef(); + for (i = 0, len = arr.length; i < len; ++i) + { + inc = arr[i]; + sheet = inc.include_sheet; + if (!inc.isActive() || root_sheet === sheet || already_included_sheets.indexOf(sheet) > -1) + continue; + already_included_sheets.push(sheet); + sheet.addDeepIncludes(root_sheet); + deep_includes.push(sheet); + } + }; + EventSheet.prototype.run = function (from_include) + { + if (!this.runtime.resuming_breakpoint) + { + this.hasRun = true; + if (!from_include) + this.runtime.isRunningEvents = true; + } + var i, len; + for (i = 0, len = this.events.length; i < len; i++) + { + var ev = this.events[i]; + ev.run(); + this.runtime.clearSol(ev.solModifiers); + if (this.runtime.hasPendingInstances) + this.runtime.ClearDeathRow(); + } + if (!from_include) + this.runtime.isRunningEvents = false; + }; + function isPerformanceSensitiveTrigger(method) + { + if (cr.plugins_.Sprite && method === cr.plugins_.Sprite.prototype.cnds.OnFrameChanged) + { + return true; + } + return false; + }; + EventSheet.prototype.init_trigger = function (trig, index) + { + if (!trig.orblock) + this.runtime.triggers_to_postinit.push(trig); // needs to be postInit'd later + var i, len; + var cnd = trig.conditions[index]; + var type_name; + if (cnd.type) + type_name = cnd.type.name; + else + type_name = "system"; + var fasttrigger = cnd.fasttrigger; + var triggers = (fasttrigger ? this.fasttriggers : this.triggers); + if (!triggers[type_name]) + triggers[type_name] = []; + var obj_entry = triggers[type_name]; + var method = cnd.func; + if (fasttrigger) + { + if (!cnd.parameters.length) // no parameters + return; + var firstparam = cnd.parameters[0]; + if (firstparam.type !== 1 || // not a string param + firstparam.expression.type !== 2) // not a string literal node + { + return; + } + var fastevs; + var firstvalue = firstparam.expression.value.toLowerCase(); + var i, len; + for (i = 0, len = obj_entry.length; i < len; i++) + { + if (obj_entry[i].method == method) + { + fastevs = obj_entry[i].evs; + if (!fastevs[firstvalue]) + fastevs[firstvalue] = [[trig, index]]; + else + fastevs[firstvalue].push([trig, index]); + return; + } + } + fastevs = {}; + fastevs[firstvalue] = [[trig, index]]; + obj_entry.push({ method: method, evs: fastevs }); + } + else + { + for (i = 0, len = obj_entry.length; i < len; i++) + { + if (obj_entry[i].method == method) + { + obj_entry[i].evs.push([trig, index]); + return; + } + } + if (isPerformanceSensitiveTrigger(method)) + obj_entry.unshift({ method: method, evs: [[trig, index]]}); + else + obj_entry.push({ method: method, evs: [[trig, index]]}); + } + }; + cr.eventsheet = EventSheet; + function Selection(type) + { + this.type = type; + this.instances = []; // subset of picked instances + this.else_instances = []; // subset of unpicked instances + this.select_all = true; + }; + Selection.prototype.hasObjects = function () + { + if (this.select_all) + return this.type.instances.length; + else + return this.instances.length; + }; + Selection.prototype.getObjects = function () + { + if (this.select_all) + return this.type.instances; + else + return this.instances; + }; + /* + Selection.prototype.ensure_picked = function (inst, skip_siblings) + { + var i, len; + var orblock = inst.runtime.getCurrentEventStack().current_event.orblock; + if (this.select_all) + { + this.select_all = false; + if (orblock) + { + cr.shallowAssignArray(this.else_instances, inst.type.instances); + cr.arrayFindRemove(this.else_instances, inst); + } + this.instances.length = 1; + this.instances[0] = inst; + } + else + { + if (orblock) + { + i = this.else_instances.indexOf(inst); + if (i !== -1) + { + this.instances.push(this.else_instances[i]); + this.else_instances.splice(i, 1); + } + } + else + { + if (this.instances.indexOf(inst) === -1) + this.instances.push(inst); + } + } + if (!skip_siblings) + { + } + }; + */ + Selection.prototype.pick_one = function (inst) + { + if (!inst) + return; + if (inst.runtime.getCurrentEventStack().current_event.orblock) + { + if (this.select_all) + { + cr.clearArray(this.instances); + cr.shallowAssignArray(this.else_instances, inst.type.instances); + this.select_all = false; + } + var i = this.else_instances.indexOf(inst); + if (i !== -1) + { + this.instances.push(this.else_instances[i]); + this.else_instances.splice(i, 1); + } + } + else + { + this.select_all = false; + cr.clearArray(this.instances); + this.instances[0] = inst; + } + }; + cr.selection = Selection; + function EventBlock(sheet, parent, m) + { + this.sheet = sheet; + this.parent = parent; + this.runtime = sheet.runtime; + this.solModifiers = []; + this.solModifiersIncludingParents = []; + this.solWriterAfterCnds = false; // block does not change SOL after running its conditions + this.group = false; // is group of events + this.initially_activated = false; // if a group, is active on startup + this.toplevelevent = false; // is an event block parented only by a top-level group + this.toplevelgroup = false; // is parented only by other groups or is top-level (i.e. not in a subevent) + this.has_else_block = false; // is followed by else +; + this.conditions = []; + this.actions = []; + this.subevents = []; + this.group_name = ""; + this.group = false; + this.initially_activated = false; + this.group_active = false; + this.contained_includes = null; + if (m[1]) + { + this.group_name = m[1][1].toLowerCase(); + this.group = true; + this.initially_activated = !!m[1][0]; + this.contained_includes = []; + this.group_active = this.initially_activated; + this.runtime.allGroups.push(this); + this.runtime.groups_by_name[this.group_name] = this; + } + this.orblock = m[2]; + this.sid = m[4]; + if (!this.group) + this.runtime.blocksBySid[this.sid.toString()] = this; + var i, len; + var cm = m[5]; + for (i = 0, len = cm.length; i < len; i++) + { + var cnd = new cr.condition(this, cm[i]); + cnd.index = i; + cr.seal(cnd); + this.conditions.push(cnd); + /* + if (cnd.is_logical()) + this.is_logical = true; + if (cnd.type && !cnd.type.plugin.singleglobal && this.cndReferences.indexOf(cnd.type) === -1) + this.cndReferences.push(cnd.type); + */ + this.addSolModifier(cnd.type); + } + var am = m[6]; + for (i = 0, len = am.length; i < len; i++) + { + var act = new cr.action(this, am[i]); + act.index = i; + cr.seal(act); + this.actions.push(act); + } + if (m.length === 8) + { + var em = m[7]; + for (i = 0, len = em.length; i < len; i++) + this.sheet.init_event(em[i], this, this.subevents); + } + this.is_else_block = false; + if (this.conditions.length) + { + this.is_else_block = (this.conditions[0].type == null && this.conditions[0].func == cr.system_object.prototype.cnds.Else); + } + }; + window["_c2hh_"] = "6A19FFAE7F62FE8813F3700E41734FD8D2C6DB17"; + EventBlock.prototype.postInit = function (hasElse/*, prevBlock_*/) + { + var i, len; + var p = this.parent; + if (this.group) + { + this.toplevelgroup = true; + while (p) + { + if (!p.group) + { + this.toplevelgroup = false; + break; + } + p = p.parent; + } + } + this.toplevelevent = !this.is_trigger() && (!this.parent || (this.parent.group && this.parent.toplevelgroup)); + this.has_else_block = !!hasElse; + this.solModifiersIncludingParents = this.solModifiers.slice(0); + p = this.parent; + while (p) + { + for (i = 0, len = p.solModifiers.length; i < len; i++) + this.addParentSolModifier(p.solModifiers[i]); + p = p.parent; + } + this.solModifiers = findMatchingSolModifier(this.solModifiers); + this.solModifiersIncludingParents = findMatchingSolModifier(this.solModifiersIncludingParents); + var i, len/*, s*/; + for (i = 0, len = this.conditions.length; i < len; i++) + this.conditions[i].postInit(); + for (i = 0, len = this.actions.length; i < len; i++) + this.actions[i].postInit(); + for (i = 0, len = this.subevents.length; i < len; i++) + { + this.subevents[i].postInit(i < len - 1 && this.subevents[i + 1].is_else_block); + } + /* + if (this.is_else_block && this.prev_block) + { + for (i = 0, len = this.prev_block.solModifiers.length; i < len; i++) + { + s = this.prev_block.solModifiers[i]; + if (this.solModifiers.indexOf(s) === -1) + this.solModifiers.push(s); + } + } + */ + }; + EventBlock.prototype.setGroupActive = function (a) + { + if (this.group_active === !!a) + return; // same state + this.group_active = !!a; + var i, len; + for (i = 0, len = this.contained_includes.length; i < len; ++i) + { + this.contained_includes[i].updateActive(); + } + if (len > 0 && this.runtime.running_layout.event_sheet) + this.runtime.running_layout.event_sheet.updateDeepIncludes(); + }; + function addSolModifierToList(type, arr) + { + var i, len, t; + if (!type) + return; + if (arr.indexOf(type) === -1) + arr.push(type); + if (type.is_contained) + { + for (i = 0, len = type.container.length; i < len; i++) + { + t = type.container[i]; + if (type === t) + continue; // already handled + if (arr.indexOf(t) === -1) + arr.push(t); + } + } + }; + EventBlock.prototype.addSolModifier = function (type) + { + addSolModifierToList(type, this.solModifiers); + }; + EventBlock.prototype.addParentSolModifier = function (type) + { + addSolModifierToList(type, this.solModifiersIncludingParents); + }; + EventBlock.prototype.setSolWriterAfterCnds = function () + { + this.solWriterAfterCnds = true; + if (this.parent) + this.parent.setSolWriterAfterCnds(); + }; + EventBlock.prototype.is_trigger = function () + { + if (!this.conditions.length) // no conditions + return false; + else + return this.conditions[0].trigger; + }; + EventBlock.prototype.run = function () + { + var i, len, c, any_true = false, cnd_result; + var runtime = this.runtime; + var evinfo = this.runtime.getCurrentEventStack(); + evinfo.current_event = this; + var conditions = this.conditions; + if (!this.is_else_block) + evinfo.else_branch_ran = false; + if (this.orblock) + { + if (conditions.length === 0) + any_true = true; // be sure to run if empty block + evinfo.cndindex = 0 + for (len = conditions.length; evinfo.cndindex < len; evinfo.cndindex++) + { + c = conditions[evinfo.cndindex]; + if (c.trigger) // skip triggers when running OR block + continue; + cnd_result = c.run(); + if (cnd_result) // make sure all conditions run and run if any were true + any_true = true; + } + evinfo.last_event_true = any_true; + if (any_true) + this.run_actions_and_subevents(); + } + else + { + evinfo.cndindex = 0 + for (len = conditions.length; evinfo.cndindex < len; evinfo.cndindex++) + { + cnd_result = conditions[evinfo.cndindex].run(); + if (!cnd_result) // condition failed + { + evinfo.last_event_true = false; + if (this.toplevelevent && runtime.hasPendingInstances) + runtime.ClearDeathRow(); + return; // bail out now + } + } + evinfo.last_event_true = true; + this.run_actions_and_subevents(); + } + this.end_run(evinfo); + }; + EventBlock.prototype.end_run = function (evinfo) + { + if (evinfo.last_event_true && this.has_else_block) + evinfo.else_branch_ran = true; + if (this.toplevelevent && this.runtime.hasPendingInstances) + this.runtime.ClearDeathRow(); + }; + EventBlock.prototype.run_orblocktrigger = function (index) + { + var evinfo = this.runtime.getCurrentEventStack(); + evinfo.current_event = this; + if (this.conditions[index].run()) + { + this.run_actions_and_subevents(); + this.runtime.getCurrentEventStack().last_event_true = true; + } + }; + EventBlock.prototype.run_actions_and_subevents = function () + { + var evinfo = this.runtime.getCurrentEventStack(); + var len; + for (evinfo.actindex = 0, len = this.actions.length; evinfo.actindex < len; evinfo.actindex++) + { + if (this.actions[evinfo.actindex].run()) + return; + } + this.run_subevents(); + }; + EventBlock.prototype.resume_actions_and_subevents = function () + { + var evinfo = this.runtime.getCurrentEventStack(); + var len; + for (len = this.actions.length; evinfo.actindex < len; evinfo.actindex++) + { + if (this.actions[evinfo.actindex].run()) + return; + } + this.run_subevents(); + }; + EventBlock.prototype.run_subevents = function () + { + if (!this.subevents.length) + return; + var i, len, subev, pushpop/*, skipped_pop = false, pop_modifiers = null*/; + var last = this.subevents.length - 1; + this.runtime.pushEventStack(this); + if (this.solWriterAfterCnds) + { + for (i = 0, len = this.subevents.length; i < len; i++) + { + subev = this.subevents[i]; + pushpop = (!this.toplevelgroup || (!this.group && i < last)); + if (pushpop) + this.runtime.pushCopySol(subev.solModifiers); + subev.run(); + if (pushpop) + this.runtime.popSol(subev.solModifiers); + else + this.runtime.clearSol(subev.solModifiers); + } + } + else + { + for (i = 0, len = this.subevents.length; i < len; i++) + { + this.subevents[i].run(); + } + } + this.runtime.popEventStack(); + }; + EventBlock.prototype.run_pretrigger = function () + { + var evinfo = this.runtime.getCurrentEventStack(); + evinfo.current_event = this; + var any_true = false; + var i, len; + for (evinfo.cndindex = 0, len = this.conditions.length; evinfo.cndindex < len; evinfo.cndindex++) + { +; + if (this.conditions[evinfo.cndindex].run()) + any_true = true; + else if (!this.orblock) // condition failed (let OR blocks run all conditions anyway) + return false; // bail out + } + return this.orblock ? any_true : true; + }; + EventBlock.prototype.retrigger = function () + { + this.runtime.execcount++; + var prevcndindex = this.runtime.getCurrentEventStack().cndindex; + var len; + var evinfo = this.runtime.pushEventStack(this); + if (!this.orblock) + { + for (evinfo.cndindex = prevcndindex + 1, len = this.conditions.length; evinfo.cndindex < len; evinfo.cndindex++) + { + if (!this.conditions[evinfo.cndindex].run()) // condition failed + { + this.runtime.popEventStack(); // moving up level of recursion + return false; // bail out + } + } + } + this.run_actions_and_subevents(); + this.runtime.popEventStack(); + return true; // ran an iteration + }; + EventBlock.prototype.isFirstConditionOfType = function (cnd) + { + var cndindex = cnd.index; + if (cndindex === 0) + return true; + --cndindex; + for ( ; cndindex >= 0; --cndindex) + { + if (this.conditions[cndindex].type === cnd.type) + return false; + } + return true; + }; + cr.eventblock = EventBlock; + function Condition(block, m) + { + this.block = block; + this.sheet = block.sheet; + this.runtime = block.runtime; + this.parameters = []; + this.results = []; + this.extra = {}; // for plugins to stow away some custom info + this.index = -1; + this.anyParamVariesPerInstance = false; + this.func = this.runtime.GetObjectReference(m[1]); +; + this.trigger = (m[3] > 0); + this.fasttrigger = (m[3] === 2); + this.looping = m[4]; + this.inverted = m[5]; + this.isstatic = m[6]; + this.sid = m[7]; + this.runtime.cndsBySid[this.sid.toString()] = this; + if (m[0] === -1) // system object + { + this.type = null; + this.run = this.run_system; + this.behaviortype = null; + this.beh_index = -1; + } + else + { + this.type = this.runtime.types_by_index[m[0]]; +; + if (this.isstatic) + this.run = this.run_static; + else + this.run = this.run_object; + if (m[2]) + { + this.behaviortype = this.type.getBehaviorByName(m[2]); +; + this.beh_index = this.type.getBehaviorIndexByName(m[2]); +; + } + else + { + this.behaviortype = null; + this.beh_index = -1; + } + if (this.block.parent) + this.block.parent.setSolWriterAfterCnds(); + } + if (this.fasttrigger) + this.run = this.run_true; + if (m.length === 10) + { + var i, len; + var em = m[9]; + for (i = 0, len = em.length; i < len; i++) + { + var param = new cr.parameter(this, em[i]); + cr.seal(param); + this.parameters.push(param); + } + this.results.length = em.length; + } + }; + Condition.prototype.postInit = function () + { + var i, len, p; + for (i = 0, len = this.parameters.length; i < len; i++) + { + p = this.parameters[i]; + p.postInit(); + if (p.variesPerInstance) + this.anyParamVariesPerInstance = true; + } + }; + /* + Condition.prototype.is_logical = function () + { + return !this.type || this.type.plugin.singleglobal; + }; + */ + Condition.prototype.run_true = function () + { + return true; + }; + Condition.prototype.run_system = function () + { + var i, len; + for (i = 0, len = this.parameters.length; i < len; i++) + this.results[i] = this.parameters[i].get(); + return cr.xor(this.func.apply(this.runtime.system, this.results), this.inverted); + }; + Condition.prototype.run_static = function () + { + var i, len; + for (i = 0, len = this.parameters.length; i < len; i++) + this.results[i] = this.parameters[i].get(); + var ret = this.func.apply(this.behaviortype ? this.behaviortype : this.type, this.results); + this.type.applySolToContainer(); + return ret; + }; + Condition.prototype.run_object = function () + { + var i, j, k, leni, lenj, p, ret, met, inst, s, sol2; + var type = this.type; + var sol = type.getCurrentSol(); + var is_orblock = this.block.orblock && !this.trigger; // triggers in OR blocks need to work normally + var offset = 0; + var is_contained = type.is_contained; + var is_family = type.is_family; + var family_index = type.family_index; + var beh_index = this.beh_index; + var is_beh = (beh_index > -1); + var params_vary = this.anyParamVariesPerInstance; + var parameters = this.parameters; + var results = this.results; + var inverted = this.inverted; + var func = this.func; + var arr, container; + if (params_vary) + { + for (j = 0, lenj = parameters.length; j < lenj; ++j) + { + p = parameters[j]; + if (!p.variesPerInstance) + results[j] = p.get(0); + } + } + else + { + for (j = 0, lenj = parameters.length; j < lenj; ++j) + results[j] = parameters[j].get(0); + } + if (sol.select_all) { + cr.clearArray(sol.instances); // clear contents + cr.clearArray(sol.else_instances); + arr = type.instances; + for (i = 0, leni = arr.length; i < leni; ++i) + { + inst = arr[i]; +; + if (params_vary) + { + for (j = 0, lenj = parameters.length; j < lenj; ++j) + { + p = parameters[j]; + if (p.variesPerInstance) + results[j] = p.get(i); // default SOL index is current object + } + } + if (is_beh) + { + offset = 0; + if (is_family) + { + offset = inst.type.family_beh_map[family_index]; + } + ret = func.apply(inst.behavior_insts[beh_index + offset], results); + } + else + ret = func.apply(inst, results); + met = cr.xor(ret, inverted); + if (met) + sol.instances.push(inst); + else if (is_orblock) // in OR blocks, keep the instances not meeting the condition for subsequent testing + sol.else_instances.push(inst); + } + if (type.finish) + type.finish(true); + sol.select_all = false; + type.applySolToContainer(); + return sol.hasObjects(); + } + else { + k = 0; + var using_else_instances = (is_orblock && !this.block.isFirstConditionOfType(this)); + arr = (using_else_instances ? sol.else_instances : sol.instances); + var any_true = false; + for (i = 0, leni = arr.length; i < leni; ++i) + { + inst = arr[i]; +; + if (params_vary) + { + for (j = 0, lenj = parameters.length; j < lenj; ++j) + { + p = parameters[j]; + if (p.variesPerInstance) + results[j] = p.get(i); // default SOL index is current object + } + } + if (is_beh) + { + offset = 0; + if (is_family) + { + offset = inst.type.family_beh_map[family_index]; + } + ret = func.apply(inst.behavior_insts[beh_index + offset], results); + } + else + ret = func.apply(inst, results); + if (cr.xor(ret, inverted)) + { + any_true = true; + if (using_else_instances) + { + sol.instances.push(inst); + if (is_contained) + { + for (j = 0, lenj = inst.siblings.length; j < lenj; j++) + { + s = inst.siblings[j]; + s.type.getCurrentSol().instances.push(s); + } + } + } + else + { + arr[k] = inst; + if (is_contained) + { + for (j = 0, lenj = inst.siblings.length; j < lenj; j++) + { + s = inst.siblings[j]; + s.type.getCurrentSol().instances[k] = s; + } + } + k++; + } + } + else + { + if (using_else_instances) + { + arr[k] = inst; + if (is_contained) + { + for (j = 0, lenj = inst.siblings.length; j < lenj; j++) + { + s = inst.siblings[j]; + s.type.getCurrentSol().else_instances[k] = s; + } + } + k++; + } + else if (is_orblock) + { + sol.else_instances.push(inst); + if (is_contained) + { + for (j = 0, lenj = inst.siblings.length; j < lenj; j++) + { + s = inst.siblings[j]; + s.type.getCurrentSol().else_instances.push(s); + } + } + } + } + } + cr.truncateArray(arr, k); + if (is_contained) + { + container = type.container; + for (i = 0, leni = container.length; i < leni; i++) + { + sol2 = container[i].getCurrentSol(); + if (using_else_instances) + cr.truncateArray(sol2.else_instances, k); + else + cr.truncateArray(sol2.instances, k); + } + } + var pick_in_finish = any_true; // don't pick in finish() if we're only doing the logic test below + if (using_else_instances && !any_true) + { + for (i = 0, leni = sol.instances.length; i < leni; i++) + { + inst = sol.instances[i]; + if (params_vary) + { + for (j = 0, lenj = parameters.length; j < lenj; j++) + { + p = parameters[j]; + if (p.variesPerInstance) + results[j] = p.get(i); + } + } + if (is_beh) + ret = func.apply(inst.behavior_insts[beh_index], results); + else + ret = func.apply(inst, results); + if (cr.xor(ret, inverted)) + { + any_true = true; + break; // got our flag, don't need to test any more + } + } + } + if (type.finish) + type.finish(pick_in_finish || is_orblock); + return is_orblock ? any_true : sol.hasObjects(); + } + }; + cr.condition = Condition; + function Action(block, m) + { + this.block = block; + this.sheet = block.sheet; + this.runtime = block.runtime; + this.parameters = []; + this.results = []; + this.extra = {}; // for plugins to stow away some custom info + this.index = -1; + this.anyParamVariesPerInstance = false; + this.func = this.runtime.GetObjectReference(m[1]); +; + if (m[0] === -1) // system + { + this.type = null; + this.run = this.run_system; + this.behaviortype = null; + this.beh_index = -1; + } + else + { + this.type = this.runtime.types_by_index[m[0]]; +; + this.run = this.run_object; + if (m[2]) + { + this.behaviortype = this.type.getBehaviorByName(m[2]); +; + this.beh_index = this.type.getBehaviorIndexByName(m[2]); +; + } + else + { + this.behaviortype = null; + this.beh_index = -1; + } + } + this.sid = m[3]; + this.runtime.actsBySid[this.sid.toString()] = this; + if (m.length === 6) + { + var i, len; + var em = m[5]; + for (i = 0, len = em.length; i < len; i++) + { + var param = new cr.parameter(this, em[i]); + cr.seal(param); + this.parameters.push(param); + } + this.results.length = em.length; + } + }; + Action.prototype.postInit = function () + { + var i, len, p; + for (i = 0, len = this.parameters.length; i < len; i++) + { + p = this.parameters[i]; + p.postInit(); + if (p.variesPerInstance) + this.anyParamVariesPerInstance = true; + } + }; + Action.prototype.run_system = function () + { + var runtime = this.runtime; + var i, len; + var parameters = this.parameters; + var results = this.results; + for (i = 0, len = parameters.length; i < len; ++i) + results[i] = parameters[i].get(); + return this.func.apply(runtime.system, results); + }; + Action.prototype.run_object = function () + { + var type = this.type; + var beh_index = this.beh_index; + var family_index = type.family_index; + var params_vary = this.anyParamVariesPerInstance; + var parameters = this.parameters; + var results = this.results; + var func = this.func; + var instances = type.getCurrentSol().getObjects(); + var is_family = type.is_family; + var is_beh = (beh_index > -1); + var i, j, leni, lenj, p, inst, offset; + if (params_vary) + { + for (j = 0, lenj = parameters.length; j < lenj; ++j) + { + p = parameters[j]; + if (!p.variesPerInstance) + results[j] = p.get(0); + } + } + else + { + for (j = 0, lenj = parameters.length; j < lenj; ++j) + results[j] = parameters[j].get(0); + } + for (i = 0, leni = instances.length; i < leni; ++i) + { + inst = instances[i]; + if (params_vary) + { + for (j = 0, lenj = parameters.length; j < lenj; ++j) + { + p = parameters[j]; + if (p.variesPerInstance) + results[j] = p.get(i); // pass i to use as default SOL index + } + } + if (is_beh) + { + offset = 0; + if (is_family) + { + offset = inst.type.family_beh_map[family_index]; + } + func.apply(inst.behavior_insts[beh_index + offset], results); + } + else + func.apply(inst, results); + } + return false; + }; + cr.action = Action; + var tempValues = []; + var tempValuesPtr = -1; + function pushTempValue() + { + tempValuesPtr++; + if (tempValues.length === tempValuesPtr) + tempValues.push(new cr.expvalue()); + return tempValues[tempValuesPtr]; + }; + function popTempValue() + { + tempValuesPtr--; + }; + function Parameter(owner, m) + { + this.owner = owner; + this.block = owner.block; + this.sheet = owner.sheet; + this.runtime = owner.runtime; + this.type = m[0]; + this.expression = null; + this.solindex = 0; + this.get = null; + this.combosel = 0; + this.layout = null; + this.key = 0; + this.object = null; + this.index = 0; + this.varname = null; + this.eventvar = null; + this.fileinfo = null; + this.subparams = null; + this.variadicret = null; + this.subparams = null; + this.variadicret = null; + this.variesPerInstance = false; + var i, len, param; + switch (m[0]) + { + case 0: // number + case 7: // any + this.expression = new cr.expNode(this, m[1]); + this.solindex = 0; + this.get = this.get_exp; + break; + case 1: // string + this.expression = new cr.expNode(this, m[1]); + this.solindex = 0; + this.get = this.get_exp_str; + break; + case 5: // layer + this.expression = new cr.expNode(this, m[1]); + this.solindex = 0; + this.get = this.get_layer; + break; + case 3: // combo + case 8: // cmp + this.combosel = m[1]; + this.get = this.get_combosel; + break; + case 6: // layout + this.layout = this.runtime.layouts[m[1]]; +; + this.get = this.get_layout; + break; + case 9: // keyb + this.key = m[1]; + this.get = this.get_key; + break; + case 4: // object + this.object = this.runtime.types_by_index[m[1]]; +; + this.get = this.get_object; + this.block.addSolModifier(this.object); + if (this.owner instanceof cr.action) + this.block.setSolWriterAfterCnds(); + else if (this.block.parent) + this.block.parent.setSolWriterAfterCnds(); + break; + case 10: // instvar + this.index = m[1]; + if (owner.type && owner.type.is_family) + { + this.get = this.get_familyvar; + this.variesPerInstance = true; + } + else + this.get = this.get_instvar; + break; + case 11: // eventvar + this.varname = m[1]; + this.eventvar = null; + this.get = this.get_eventvar; + break; + case 2: // audiofile ["name", ismusic] + case 12: // fileinfo "name" + this.fileinfo = m[1]; + this.get = this.get_audiofile; + break; + case 13: // variadic + this.get = this.get_variadic; + this.subparams = []; + this.variadicret = []; + for (i = 1, len = m.length; i < len; i++) + { + param = new cr.parameter(this.owner, m[i]); + cr.seal(param); + this.subparams.push(param); + this.variadicret.push(0); + } + break; + default: +; + } + }; + Parameter.prototype.postInit = function () + { + var i, len; + if (this.type === 11) // eventvar + { + this.eventvar = this.runtime.getEventVariableByName(this.varname, this.block.parent); +; + } + else if (this.type === 13) // variadic, postInit all sub-params + { + for (i = 0, len = this.subparams.length; i < len; i++) + this.subparams[i].postInit(); + } + if (this.expression) + this.expression.postInit(); + }; + Parameter.prototype.maybeVaryForType = function (t) + { + if (this.variesPerInstance) + return; // already varies per instance, no need to check again + if (!t) + return; // never vary for system type + if (!t.plugin.singleglobal) + { + this.variesPerInstance = true; + return; + } + }; + Parameter.prototype.setVaries = function () + { + this.variesPerInstance = true; + }; + Parameter.prototype.get_exp = function (solindex) + { + this.solindex = solindex || 0; // default SOL index to use + var temp = pushTempValue(); + this.expression.get(temp); + popTempValue(); + return temp.data; // return actual JS value, not expvalue + }; + Parameter.prototype.get_exp_str = function (solindex) + { + this.solindex = solindex || 0; // default SOL index to use + var temp = pushTempValue(); + this.expression.get(temp); + popTempValue(); + if (cr.is_string(temp.data)) + return temp.data; + else + return ""; + }; + Parameter.prototype.get_object = function () + { + return this.object; + }; + Parameter.prototype.get_combosel = function () + { + return this.combosel; + }; + Parameter.prototype.get_layer = function (solindex) + { + this.solindex = solindex || 0; // default SOL index to use + var temp = pushTempValue(); + this.expression.get(temp); + popTempValue(); + if (temp.is_number()) + return this.runtime.getLayerByNumber(temp.data); + else + return this.runtime.getLayerByName(temp.data); + } + Parameter.prototype.get_layout = function () + { + return this.layout; + }; + Parameter.prototype.get_key = function () + { + return this.key; + }; + Parameter.prototype.get_instvar = function () + { + return this.index; + }; + Parameter.prototype.get_familyvar = function (solindex_) + { + var solindex = solindex_ || 0; + var familytype = this.owner.type; + var realtype = null; + var sol = familytype.getCurrentSol(); + var objs = sol.getObjects(); + if (objs.length) + realtype = objs[solindex % objs.length].type; + else if (sol.else_instances.length) + realtype = sol.else_instances[solindex % sol.else_instances.length].type; + else if (familytype.instances.length) + realtype = familytype.instances[solindex % familytype.instances.length].type; + else + return 0; + return this.index + realtype.family_var_map[familytype.family_index]; + }; + Parameter.prototype.get_eventvar = function () + { + return this.eventvar; + }; + Parameter.prototype.get_audiofile = function () + { + return this.fileinfo; + }; + Parameter.prototype.get_variadic = function () + { + var i, len; + for (i = 0, len = this.subparams.length; i < len; i++) + { + this.variadicret[i] = this.subparams[i].get(); + } + return this.variadicret; + }; + cr.parameter = Parameter; + function EventVariable(sheet, parent, m) + { + this.sheet = sheet; + this.parent = parent; + this.runtime = sheet.runtime; + this.solModifiers = []; + this.name = m[1]; + this.vartype = m[2]; + this.initial = m[3]; + this.is_static = !!m[4]; + this.is_constant = !!m[5]; + this.sid = m[6]; + this.runtime.varsBySid[this.sid.toString()] = this; + this.data = this.initial; // note: also stored in event stack frame for local nonstatic nonconst vars + if (this.parent) // local var + { + if (this.is_static || this.is_constant) + this.localIndex = -1; + else + this.localIndex = this.runtime.stackLocalCount++; + this.runtime.all_local_vars.push(this); + } + else // global var + { + this.localIndex = -1; + this.runtime.all_global_vars.push(this); + } + }; + EventVariable.prototype.postInit = function () + { + this.solModifiers = findMatchingSolModifier(this.solModifiers); + }; + EventVariable.prototype.setValue = function (x) + { +; + var lvs = this.runtime.getCurrentLocalVarStack(); + if (!this.parent || this.is_static || !lvs) + this.data = x; + else // local nonstatic variable: use event stack to keep value at this level of recursion + { + if (this.localIndex >= lvs.length) + lvs.length = this.localIndex + 1; + lvs[this.localIndex] = x; + } + }; + EventVariable.prototype.getValue = function () + { + var lvs = this.runtime.getCurrentLocalVarStack(); + if (!this.parent || this.is_static || !lvs || this.is_constant) + return this.data; + else // local nonstatic variable + { + if (this.localIndex >= lvs.length) + { + return this.initial; + } + if (typeof lvs[this.localIndex] === "undefined") + { + return this.initial; + } + return lvs[this.localIndex]; + } + }; + EventVariable.prototype.run = function () + { + if (this.parent && !this.is_static && !this.is_constant) + this.setValue(this.initial); + }; + cr.eventvariable = EventVariable; + function EventInclude(sheet, parent, m) + { + this.sheet = sheet; + this.parent = parent; + this.runtime = sheet.runtime; + this.solModifiers = []; + this.include_sheet = null; // determined in postInit + this.include_sheet_name = m[1]; + this.active = true; + }; + EventInclude.prototype.toString = function () + { + return "include:" + this.include_sheet.toString(); + }; + EventInclude.prototype.postInit = function () + { + this.include_sheet = this.runtime.eventsheets[this.include_sheet_name]; +; +; + this.sheet.includes.add(this); + this.solModifiers = findMatchingSolModifier(this.solModifiers); + var p = this.parent; + while (p) + { + if (p.group) + p.contained_includes.push(this); + p = p.parent; + } + this.updateActive(); + }; + EventInclude.prototype.run = function () + { + if (this.parent) + this.runtime.pushCleanSol(this.runtime.types_by_index); + if (!this.include_sheet.hasRun) + this.include_sheet.run(true); // from include + if (this.parent) + this.runtime.popSol(this.runtime.types_by_index); + }; + EventInclude.prototype.updateActive = function () + { + var p = this.parent; + while (p) + { + if (p.group && !p.group_active) + { + this.active = false; + return; + } + p = p.parent; + } + this.active = true; + }; + EventInclude.prototype.isActive = function () + { + return this.active; + }; + cr.eventinclude = EventInclude; + function EventStackFrame() + { + this.temp_parents_arr = []; + this.reset(null); + cr.seal(this); + }; + EventStackFrame.prototype.reset = function (cur_event) + { + this.current_event = cur_event; + this.cndindex = 0; + this.actindex = 0; + cr.clearArray(this.temp_parents_arr); + this.last_event_true = false; + this.else_branch_ran = false; + this.any_true_state = false; + }; + EventStackFrame.prototype.isModifierAfterCnds = function () + { + if (this.current_event.solWriterAfterCnds) + return true; + if (this.cndindex < this.current_event.conditions.length - 1) + return !!this.current_event.solModifiers.length; + return false; + }; + cr.eventStackFrame = EventStackFrame; +}()); +(function() +{ + function ExpNode(owner_, m) + { + this.owner = owner_; + this.runtime = owner_.runtime; + this.type = m[0]; +; + this.get = [this.eval_int, + this.eval_float, + this.eval_string, + this.eval_unaryminus, + this.eval_add, + this.eval_subtract, + this.eval_multiply, + this.eval_divide, + this.eval_mod, + this.eval_power, + this.eval_and, + this.eval_or, + this.eval_equal, + this.eval_notequal, + this.eval_less, + this.eval_lessequal, + this.eval_greater, + this.eval_greaterequal, + this.eval_conditional, + this.eval_system_exp, + this.eval_object_exp, + this.eval_instvar_exp, + this.eval_behavior_exp, + this.eval_eventvar_exp][this.type]; + var paramsModel = null; + this.value = null; + this.first = null; + this.second = null; + this.third = null; + this.func = null; + this.results = null; + this.parameters = null; + this.object_type = null; + this.beh_index = -1; + this.instance_expr = null; + this.varindex = -1; + this.behavior_type = null; + this.varname = null; + this.eventvar = null; + this.return_string = false; + switch (this.type) { + case 0: // int + case 1: // float + case 2: // string + this.value = m[1]; + break; + case 3: // unaryminus + this.first = new cr.expNode(owner_, m[1]); + break; + case 18: // conditional + this.first = new cr.expNode(owner_, m[1]); + this.second = new cr.expNode(owner_, m[2]); + this.third = new cr.expNode(owner_, m[3]); + break; + case 19: // system_exp + this.func = this.runtime.GetObjectReference(m[1]); +; + if (this.func === cr.system_object.prototype.exps.random + || this.func === cr.system_object.prototype.exps.choose) + { + this.owner.setVaries(); + } + this.results = []; + this.parameters = []; + if (m.length === 3) + { + paramsModel = m[2]; + this.results.length = paramsModel.length + 1; // must also fit 'ret' + } + else + this.results.length = 1; // to fit 'ret' + break; + case 20: // object_exp + this.object_type = this.runtime.types_by_index[m[1]]; +; + this.beh_index = -1; + this.func = this.runtime.GetObjectReference(m[2]); + this.return_string = m[3]; + if (cr.plugins_.Function && this.func === cr.plugins_.Function.prototype.exps.Call) + { + this.owner.setVaries(); + } + if (m[4]) + this.instance_expr = new cr.expNode(owner_, m[4]); + else + this.instance_expr = null; + this.results = []; + this.parameters = []; + if (m.length === 6) + { + paramsModel = m[5]; + this.results.length = paramsModel.length + 1; + } + else + this.results.length = 1; // to fit 'ret' + break; + case 21: // instvar_exp + this.object_type = this.runtime.types_by_index[m[1]]; +; + this.return_string = m[2]; + if (m[3]) + this.instance_expr = new cr.expNode(owner_, m[3]); + else + this.instance_expr = null; + this.varindex = m[4]; + break; + case 22: // behavior_exp + this.object_type = this.runtime.types_by_index[m[1]]; +; + this.behavior_type = this.object_type.getBehaviorByName(m[2]); +; + this.beh_index = this.object_type.getBehaviorIndexByName(m[2]); + this.func = this.runtime.GetObjectReference(m[3]); + this.return_string = m[4]; + if (m[5]) + this.instance_expr = new cr.expNode(owner_, m[5]); + else + this.instance_expr = null; + this.results = []; + this.parameters = []; + if (m.length === 7) + { + paramsModel = m[6]; + this.results.length = paramsModel.length + 1; + } + else + this.results.length = 1; // to fit 'ret' + break; + case 23: // eventvar_exp + this.varname = m[1]; + this.eventvar = null; // assigned in postInit + break; + } + this.owner.maybeVaryForType(this.object_type); + if (this.type >= 4 && this.type <= 17) + { + this.first = new cr.expNode(owner_, m[1]); + this.second = new cr.expNode(owner_, m[2]); + } + if (paramsModel) + { + var i, len; + for (i = 0, len = paramsModel.length; i < len; i++) + this.parameters.push(new cr.expNode(owner_, paramsModel[i])); + } + cr.seal(this); + }; + ExpNode.prototype.postInit = function () + { + if (this.type === 23) // eventvar_exp + { + this.eventvar = this.owner.runtime.getEventVariableByName(this.varname, this.owner.block.parent); +; + } + if (this.first) + this.first.postInit(); + if (this.second) + this.second.postInit(); + if (this.third) + this.third.postInit(); + if (this.instance_expr) + this.instance_expr.postInit(); + if (this.parameters) + { + var i, len; + for (i = 0, len = this.parameters.length; i < len; i++) + this.parameters[i].postInit(); + } + }; + var tempValues = []; + var tempValuesPtr = -1; + function pushTempValue() + { + ++tempValuesPtr; + if (tempValues.length === tempValuesPtr) + tempValues.push(new cr.expvalue()); + return tempValues[tempValuesPtr]; + }; + function popTempValue() + { + --tempValuesPtr; + }; + function eval_params(parameters, results, temp) + { + var i, len; + for (i = 0, len = parameters.length; i < len; ++i) + { + parameters[i].get(temp); + results[i + 1] = temp.data; // passing actual javascript value as argument instead of expvalue + } + } + ExpNode.prototype.eval_system_exp = function (ret) + { + var parameters = this.parameters; + var results = this.results; + results[0] = ret; + var temp = pushTempValue(); + eval_params(parameters, results, temp); + popTempValue(); + this.func.apply(this.runtime.system, results); + }; + ExpNode.prototype.eval_object_exp = function (ret) + { + var object_type = this.object_type; + var results = this.results; + var parameters = this.parameters; + var instance_expr = this.instance_expr; + var func = this.func; + var index = this.owner.solindex; // default to parameter's intended SOL index + var sol = object_type.getCurrentSol(); + var instances = sol.getObjects(); + if (!instances.length) + { + if (sol.else_instances.length) + instances = sol.else_instances; + else + { + if (this.return_string) + ret.set_string(""); + else + ret.set_int(0); + return; + } + } + results[0] = ret; + ret.object_class = object_type; // so expression can access family type if need be + var temp = pushTempValue(); + eval_params(parameters, results, temp); + if (instance_expr) { + instance_expr.get(temp); + if (temp.is_number()) { + index = temp.data; + instances = object_type.instances; // pick from all instances, not SOL + } + } + popTempValue(); + var len = instances.length; + if (index >= len || index <= -len) + index %= len; // wraparound + if (index < 0) + index += len; + var returned_val = func.apply(instances[index], results); +; + }; + ExpNode.prototype.eval_behavior_exp = function (ret) + { + var object_type = this.object_type; + var results = this.results; + var parameters = this.parameters; + var instance_expr = this.instance_expr; + var beh_index = this.beh_index; + var func = this.func; + var index = this.owner.solindex; // default to parameter's intended SOL index + var sol = object_type.getCurrentSol(); + var instances = sol.getObjects(); + if (!instances.length) + { + if (sol.else_instances.length) + instances = sol.else_instances; + else + { + if (this.return_string) + ret.set_string(""); + else + ret.set_int(0); + return; + } + } + results[0] = ret; + ret.object_class = object_type; // so expression can access family type if need be + var temp = pushTempValue(); + eval_params(parameters, results, temp); + if (instance_expr) { + instance_expr.get(temp); + if (temp.is_number()) { + index = temp.data; + instances = object_type.instances; // pick from all instances, not SOL + } + } + popTempValue(); + var len = instances.length; + if (index >= len || index <= -len) + index %= len; // wraparound + if (index < 0) + index += len; + var inst = instances[index]; + var offset = 0; + if (object_type.is_family) + { + offset = inst.type.family_beh_map[object_type.family_index]; + } + var returned_val = func.apply(inst.behavior_insts[beh_index + offset], results); +; + }; + ExpNode.prototype.eval_instvar_exp = function (ret) + { + var instance_expr = this.instance_expr; + var object_type = this.object_type; + var varindex = this.varindex; + var index = this.owner.solindex; // default to parameter's intended SOL index + var sol = object_type.getCurrentSol(); + var instances = sol.getObjects(); + var inst; + if (!instances.length) + { + if (sol.else_instances.length) + instances = sol.else_instances; + else + { + if (this.return_string) + ret.set_string(""); + else + ret.set_int(0); + return; + } + } + if (instance_expr) + { + var temp = pushTempValue(); + instance_expr.get(temp); + if (temp.is_number()) + { + index = temp.data; + var type_instances = object_type.instances; + if (type_instances.length !== 0) // avoid NaN result with % + { + index %= type_instances.length; // wraparound + if (index < 0) // offset + index += type_instances.length; + } + inst = object_type.getInstanceByIID(index); + var to_ret = inst.instance_vars[varindex]; + if (cr.is_string(to_ret)) + ret.set_string(to_ret); + else + ret.set_float(to_ret); + popTempValue(); + return; // done + } + popTempValue(); + } + var len = instances.length; + if (index >= len || index <= -len) + index %= len; // wraparound + if (index < 0) + index += len; + inst = instances[index]; + var offset = 0; + if (object_type.is_family) + { + offset = inst.type.family_var_map[object_type.family_index]; + } + var to_ret = inst.instance_vars[varindex + offset]; + if (cr.is_string(to_ret)) + ret.set_string(to_ret); + else + ret.set_float(to_ret); + }; + ExpNode.prototype.eval_int = function (ret) + { + ret.type = cr.exptype.Integer; + ret.data = this.value; + }; + ExpNode.prototype.eval_float = function (ret) + { + ret.type = cr.exptype.Float; + ret.data = this.value; + }; + ExpNode.prototype.eval_string = function (ret) + { + ret.type = cr.exptype.String; + ret.data = this.value; + }; + ExpNode.prototype.eval_unaryminus = function (ret) + { + this.first.get(ret); // retrieve operand + if (ret.is_number()) + ret.data = -ret.data; + }; + ExpNode.prototype.eval_add = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + if (ret.is_number() && temp.is_number()) + { + ret.data += temp.data; // both operands numbers: add + if (temp.is_float()) + ret.make_float(); + } + popTempValue(); + }; + ExpNode.prototype.eval_subtract = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + if (ret.is_number() && temp.is_number()) + { + ret.data -= temp.data; // both operands numbers: subtract + if (temp.is_float()) + ret.make_float(); + } + popTempValue(); + }; + ExpNode.prototype.eval_multiply = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + if (ret.is_number() && temp.is_number()) + { + ret.data *= temp.data; // both operands numbers: multiply + if (temp.is_float()) + ret.make_float(); + } + popTempValue(); + }; + ExpNode.prototype.eval_divide = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + if (ret.is_number() && temp.is_number()) + { + ret.data /= temp.data; // both operands numbers: divide + ret.make_float(); + } + popTempValue(); + }; + ExpNode.prototype.eval_mod = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + if (ret.is_number() && temp.is_number()) + { + ret.data %= temp.data; // both operands numbers: modulo + if (temp.is_float()) + ret.make_float(); + } + popTempValue(); + }; + ExpNode.prototype.eval_power = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + if (ret.is_number() && temp.is_number()) + { + ret.data = Math.pow(ret.data, temp.data); // both operands numbers: raise to power + if (temp.is_float()) + ret.make_float(); + } + popTempValue(); + }; + ExpNode.prototype.eval_and = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + if (temp.is_string() || ret.is_string()) + this.eval_and_stringconcat(ret, temp); + else + this.eval_and_logical(ret, temp); + popTempValue(); + }; + ExpNode.prototype.eval_and_stringconcat = function (ret, temp) + { + if (ret.is_string() && temp.is_string()) + this.eval_and_stringconcat_str_str(ret, temp); + else + this.eval_and_stringconcat_num(ret, temp); + }; + ExpNode.prototype.eval_and_stringconcat_str_str = function (ret, temp) + { + ret.data += temp.data; + }; + ExpNode.prototype.eval_and_stringconcat_num = function (ret, temp) + { + if (ret.is_string()) + { + ret.data += (Math.round(temp.data * 1e10) / 1e10).toString(); + } + else + { + ret.set_string(ret.data.toString() + temp.data); + } + }; + ExpNode.prototype.eval_and_logical = function (ret, temp) + { + ret.set_int(ret.data && temp.data ? 1 : 0); + }; + ExpNode.prototype.eval_or = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + if (ret.is_number() && temp.is_number()) + { + if (ret.data || temp.data) + ret.set_int(1); + else + ret.set_int(0); + } + popTempValue(); + }; + ExpNode.prototype.eval_conditional = function (ret) + { + this.first.get(ret); // condition operand + if (ret.data) // is true + this.second.get(ret); // evaluate second operand to ret + else + this.third.get(ret); // evaluate third operand to ret + }; + ExpNode.prototype.eval_equal = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + ret.set_int(ret.data === temp.data ? 1 : 0); + popTempValue(); + }; + ExpNode.prototype.eval_notequal = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + ret.set_int(ret.data !== temp.data ? 1 : 0); + popTempValue(); + }; + ExpNode.prototype.eval_less = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + ret.set_int(ret.data < temp.data ? 1 : 0); + popTempValue(); + }; + ExpNode.prototype.eval_lessequal = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + ret.set_int(ret.data <= temp.data ? 1 : 0); + popTempValue(); + }; + ExpNode.prototype.eval_greater = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + ret.set_int(ret.data > temp.data ? 1 : 0); + popTempValue(); + }; + ExpNode.prototype.eval_greaterequal = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + ret.set_int(ret.data >= temp.data ? 1 : 0); + popTempValue(); + }; + ExpNode.prototype.eval_eventvar_exp = function (ret) + { + var val = this.eventvar.getValue(); + if (cr.is_number(val)) + ret.set_float(val); + else + ret.set_string(val); + }; + cr.expNode = ExpNode; + function ExpValue(type, data) + { + this.type = type || cr.exptype.Integer; + this.data = data || 0; + this.object_class = null; +; +; +; + if (this.type == cr.exptype.Integer) + this.data = Math.floor(this.data); + cr.seal(this); + }; + ExpValue.prototype.is_int = function () + { + return this.type === cr.exptype.Integer; + }; + ExpValue.prototype.is_float = function () + { + return this.type === cr.exptype.Float; + }; + ExpValue.prototype.is_number = function () + { + return this.type === cr.exptype.Integer || this.type === cr.exptype.Float; + }; + ExpValue.prototype.is_string = function () + { + return this.type === cr.exptype.String; + }; + ExpValue.prototype.make_int = function () + { + if (!this.is_int()) + { + if (this.is_float()) + this.data = Math.floor(this.data); // truncate float + else if (this.is_string()) + this.data = parseInt(this.data, 10); + this.type = cr.exptype.Integer; + } + }; + ExpValue.prototype.make_float = function () + { + if (!this.is_float()) + { + if (this.is_string()) + this.data = parseFloat(this.data); + this.type = cr.exptype.Float; + } + }; + ExpValue.prototype.make_string = function () + { + if (!this.is_string()) + { + this.data = this.data.toString(); + this.type = cr.exptype.String; + } + }; + ExpValue.prototype.set_int = function (val) + { +; + this.type = cr.exptype.Integer; + this.data = Math.floor(val); + }; + ExpValue.prototype.set_float = function (val) + { +; + this.type = cr.exptype.Float; + this.data = val; + }; + ExpValue.prototype.set_string = function (val) + { +; + this.type = cr.exptype.String; + this.data = val; + }; + ExpValue.prototype.set_any = function (val) + { + if (cr.is_number(val)) + { + this.type = cr.exptype.Float; + this.data = val; + } + else if (cr.is_string(val)) + { + this.type = cr.exptype.String; + this.data = val.toString(); + } + else + { + this.type = cr.exptype.Integer; + this.data = 0; + } + }; + cr.expvalue = ExpValue; + cr.exptype = { + Integer: 0, // emulated; no native integer support in javascript + Float: 1, + String: 2 + }; +}()); +; +cr.system_object = function (runtime) +{ + this.runtime = runtime; + this.waits = []; +}; +cr.system_object.prototype.saveToJSON = function () +{ + var o = {}; + var i, len, j, lenj, p, w, t, sobj; + o["waits"] = []; + var owaits = o["waits"]; + var waitobj; + for (i = 0, len = this.waits.length; i < len; i++) + { + w = this.waits[i]; + waitobj = { + "t": w.time, + "st": w.signaltag, + "s": w.signalled, + "ev": w.ev.sid, + "sm": [], + "sols": {} + }; + if (w.ev.actions[w.actindex]) + waitobj["act"] = w.ev.actions[w.actindex].sid; + for (j = 0, lenj = w.solModifiers.length; j < lenj; j++) + waitobj["sm"].push(w.solModifiers[j].sid); + for (p in w.sols) + { + if (w.sols.hasOwnProperty(p)) + { + t = this.runtime.types_by_index[parseInt(p, 10)]; +; + sobj = { + "sa": w.sols[p].sa, + "insts": [] + }; + for (j = 0, lenj = w.sols[p].insts.length; j < lenj; j++) + sobj["insts"].push(w.sols[p].insts[j].uid); + waitobj["sols"][t.sid.toString()] = sobj; + } + } + owaits.push(waitobj); + } + return o; +}; +cr.system_object.prototype.loadFromJSON = function (o) +{ + var owaits = o["waits"]; + var i, len, j, lenj, p, w, addWait, e, aindex, t, savedsol, nusol, inst; + cr.clearArray(this.waits); + for (i = 0, len = owaits.length; i < len; i++) + { + w = owaits[i]; + e = this.runtime.blocksBySid[w["ev"].toString()]; + if (!e) + continue; // event must've gone missing + aindex = -1; + for (j = 0, lenj = e.actions.length; j < lenj; j++) + { + if (e.actions[j].sid === w["act"]) + { + aindex = j; + break; + } + } + if (aindex === -1) + continue; // action must've gone missing + addWait = {}; + addWait.sols = {}; + addWait.solModifiers = []; + addWait.deleteme = false; + addWait.time = w["t"]; + addWait.signaltag = w["st"] || ""; + addWait.signalled = !!w["s"]; + addWait.ev = e; + addWait.actindex = aindex; + for (j = 0, lenj = w["sm"].length; j < lenj; j++) + { + t = this.runtime.getObjectTypeBySid(w["sm"][j]); + if (t) + addWait.solModifiers.push(t); + } + for (p in w["sols"]) + { + if (w["sols"].hasOwnProperty(p)) + { + t = this.runtime.getObjectTypeBySid(parseInt(p, 10)); + if (!t) + continue; // type must've been deleted + savedsol = w["sols"][p]; + nusol = { + sa: savedsol["sa"], + insts: [] + }; + for (j = 0, lenj = savedsol["insts"].length; j < lenj; j++) + { + inst = this.runtime.getObjectByUID(savedsol["insts"][j]); + if (inst) + nusol.insts.push(inst); + } + addWait.sols[t.index.toString()] = nusol; + } + } + this.waits.push(addWait); + } +}; +(function () +{ + var sysProto = cr.system_object.prototype; + function SysCnds() {}; + SysCnds.prototype.EveryTick = function() + { + return true; + }; + SysCnds.prototype.OnLayoutStart = function() + { + return true; + }; + SysCnds.prototype.OnLayoutEnd = function() + { + return true; + }; + SysCnds.prototype.Compare = function(x, cmp, y) + { + return cr.do_cmp(x, cmp, y); + }; + SysCnds.prototype.CompareTime = function (cmp, t) + { + var elapsed = this.runtime.kahanTime.sum; + if (cmp === 0) + { + var cnd = this.runtime.getCurrentCondition(); + if (!cnd.extra["CompareTime_executed"]) + { + if (elapsed >= t) + { + cnd.extra["CompareTime_executed"] = true; + return true; + } + } + return false; + } + return cr.do_cmp(elapsed, cmp, t); + }; + SysCnds.prototype.LayerVisible = function (layer) + { + if (!layer) + return false; + else + return layer.visible; + }; + SysCnds.prototype.LayerEmpty = function (layer) + { + if (!layer) + return false; + else + return !layer.instances.length; + }; + SysCnds.prototype.LayerCmpOpacity = function (layer, cmp, opacity_) + { + if (!layer) + return false; + return cr.do_cmp(layer.opacity * 100, cmp, opacity_); + }; + SysCnds.prototype.Repeat = function (count) + { + var current_frame = this.runtime.getCurrentEventStack(); + var current_event = current_frame.current_event; + var solModifierAfterCnds = current_frame.isModifierAfterCnds(); + var current_loop = this.runtime.pushLoopStack(); + var i; + if (solModifierAfterCnds) + { + for (i = 0; i < count && !current_loop.stopped; i++) + { + this.runtime.pushCopySol(current_event.solModifiers); + current_loop.index = i; + current_event.retrigger(); + this.runtime.popSol(current_event.solModifiers); + } + } + else + { + for (i = 0; i < count && !current_loop.stopped; i++) + { + current_loop.index = i; + current_event.retrigger(); + } + } + this.runtime.popLoopStack(); + return false; + }; + SysCnds.prototype.While = function (count) + { + var current_frame = this.runtime.getCurrentEventStack(); + var current_event = current_frame.current_event; + var solModifierAfterCnds = current_frame.isModifierAfterCnds(); + var current_loop = this.runtime.pushLoopStack(); + var i; + if (solModifierAfterCnds) + { + for (i = 0; !current_loop.stopped; i++) + { + this.runtime.pushCopySol(current_event.solModifiers); + current_loop.index = i; + if (!current_event.retrigger()) // one of the other conditions returned false + current_loop.stopped = true; // break + this.runtime.popSol(current_event.solModifiers); + } + } + else + { + for (i = 0; !current_loop.stopped; i++) + { + current_loop.index = i; + if (!current_event.retrigger()) + current_loop.stopped = true; + } + } + this.runtime.popLoopStack(); + return false; + }; + SysCnds.prototype.For = function (name, start, end) + { + var current_frame = this.runtime.getCurrentEventStack(); + var current_event = current_frame.current_event; + var solModifierAfterCnds = current_frame.isModifierAfterCnds(); + var current_loop = this.runtime.pushLoopStack(name); + var i; + if (end < start) + { + if (solModifierAfterCnds) + { + for (i = start; i >= end && !current_loop.stopped; --i) // inclusive to end + { + this.runtime.pushCopySol(current_event.solModifiers); + current_loop.index = i; + current_event.retrigger(); + this.runtime.popSol(current_event.solModifiers); + } + } + else + { + for (i = start; i >= end && !current_loop.stopped; --i) // inclusive to end + { + current_loop.index = i; + current_event.retrigger(); + } + } + } + else + { + if (solModifierAfterCnds) + { + for (i = start; i <= end && !current_loop.stopped; ++i) // inclusive to end + { + this.runtime.pushCopySol(current_event.solModifiers); + current_loop.index = i; + current_event.retrigger(); + this.runtime.popSol(current_event.solModifiers); + } + } + else + { + for (i = start; i <= end && !current_loop.stopped; ++i) // inclusive to end + { + current_loop.index = i; + current_event.retrigger(); + } + } + } + this.runtime.popLoopStack(); + return false; + }; + var foreach_instancestack = []; + var foreach_instanceptr = -1; + SysCnds.prototype.ForEach = function (obj) + { + var sol = obj.getCurrentSol(); + foreach_instanceptr++; + if (foreach_instancestack.length === foreach_instanceptr) + foreach_instancestack.push([]); + var instances = foreach_instancestack[foreach_instanceptr]; + cr.shallowAssignArray(instances, sol.getObjects()); + var current_frame = this.runtime.getCurrentEventStack(); + var current_event = current_frame.current_event; + var solModifierAfterCnds = current_frame.isModifierAfterCnds(); + var current_loop = this.runtime.pushLoopStack(); + var i, len, j, lenj, inst, s, sol2; + var is_contained = obj.is_contained; + if (solModifierAfterCnds) + { + for (i = 0, len = instances.length; i < len && !current_loop.stopped; i++) + { + this.runtime.pushCopySol(current_event.solModifiers); + inst = instances[i]; + sol = obj.getCurrentSol(); + sol.select_all = false; + cr.clearArray(sol.instances); + sol.instances[0] = inst; + if (is_contained) + { + for (j = 0, lenj = inst.siblings.length; j < lenj; j++) + { + s = inst.siblings[j]; + sol2 = s.type.getCurrentSol(); + sol2.select_all = false; + cr.clearArray(sol2.instances); + sol2.instances[0] = s; + } + } + current_loop.index = i; + current_event.retrigger(); + this.runtime.popSol(current_event.solModifiers); + } + } + else + { + sol.select_all = false; + cr.clearArray(sol.instances); + for (i = 0, len = instances.length; i < len && !current_loop.stopped; i++) + { + inst = instances[i]; + sol.instances[0] = inst; + if (is_contained) + { + for (j = 0, lenj = inst.siblings.length; j < lenj; j++) + { + s = inst.siblings[j]; + sol2 = s.type.getCurrentSol(); + sol2.select_all = false; + cr.clearArray(sol2.instances); + sol2.instances[0] = s; + } + } + current_loop.index = i; + current_event.retrigger(); + } + } + cr.clearArray(instances); + this.runtime.popLoopStack(); + foreach_instanceptr--; + return false; + }; + function foreach_sortinstances(a, b) + { + var va = a.extra["c2_feo_val"]; + var vb = b.extra["c2_feo_val"]; + if (cr.is_number(va) && cr.is_number(vb)) + return va - vb; + else + { + va = "" + va; + vb = "" + vb; + if (va < vb) + return -1; + else if (va > vb) + return 1; + else + return 0; + } + }; + SysCnds.prototype.ForEachOrdered = function (obj, exp, order) + { + var sol = obj.getCurrentSol(); + foreach_instanceptr++; + if (foreach_instancestack.length === foreach_instanceptr) + foreach_instancestack.push([]); + var instances = foreach_instancestack[foreach_instanceptr]; + cr.shallowAssignArray(instances, sol.getObjects()); + var current_frame = this.runtime.getCurrentEventStack(); + var current_event = current_frame.current_event; + var current_condition = this.runtime.getCurrentCondition(); + var solModifierAfterCnds = current_frame.isModifierAfterCnds(); + var current_loop = this.runtime.pushLoopStack(); + var i, len, j, lenj, inst, s, sol2; + for (i = 0, len = instances.length; i < len; i++) + { + instances[i].extra["c2_feo_val"] = current_condition.parameters[1].get(i); + } + instances.sort(foreach_sortinstances); + if (order === 1) + instances.reverse(); + var is_contained = obj.is_contained; + if (solModifierAfterCnds) + { + for (i = 0, len = instances.length; i < len && !current_loop.stopped; i++) + { + this.runtime.pushCopySol(current_event.solModifiers); + inst = instances[i]; + sol = obj.getCurrentSol(); + sol.select_all = false; + cr.clearArray(sol.instances); + sol.instances[0] = inst; + if (is_contained) + { + for (j = 0, lenj = inst.siblings.length; j < lenj; j++) + { + s = inst.siblings[j]; + sol2 = s.type.getCurrentSol(); + sol2.select_all = false; + cr.clearArray(sol2.instances); + sol2.instances[0] = s; + } + } + current_loop.index = i; + current_event.retrigger(); + this.runtime.popSol(current_event.solModifiers); + } + } + else + { + sol.select_all = false; + cr.clearArray(sol.instances); + for (i = 0, len = instances.length; i < len && !current_loop.stopped; i++) + { + inst = instances[i]; + sol.instances[0] = inst; + if (is_contained) + { + for (j = 0, lenj = inst.siblings.length; j < lenj; j++) + { + s = inst.siblings[j]; + sol2 = s.type.getCurrentSol(); + sol2.select_all = false; + cr.clearArray(sol2.instances); + sol2.instances[0] = s; + } + } + current_loop.index = i; + current_event.retrigger(); + } + } + cr.clearArray(instances); + this.runtime.popLoopStack(); + foreach_instanceptr--; + return false; + }; + SysCnds.prototype.PickByComparison = function (obj_, exp_, cmp_, val_) + { + var i, len, k, inst; + if (!obj_) + return; + foreach_instanceptr++; + if (foreach_instancestack.length === foreach_instanceptr) + foreach_instancestack.push([]); + var tmp_instances = foreach_instancestack[foreach_instanceptr]; + var sol = obj_.getCurrentSol(); + cr.shallowAssignArray(tmp_instances, sol.getObjects()); + if (sol.select_all) + cr.clearArray(sol.else_instances); + var current_condition = this.runtime.getCurrentCondition(); + for (i = 0, k = 0, len = tmp_instances.length; i < len; i++) + { + inst = tmp_instances[i]; + tmp_instances[k] = inst; + exp_ = current_condition.parameters[1].get(i); + val_ = current_condition.parameters[3].get(i); + if (cr.do_cmp(exp_, cmp_, val_)) + { + k++; + } + else + { + sol.else_instances.push(inst); + } + } + cr.truncateArray(tmp_instances, k); + sol.select_all = false; + cr.shallowAssignArray(sol.instances, tmp_instances); + cr.clearArray(tmp_instances); + foreach_instanceptr--; + obj_.applySolToContainer(); + return !!sol.instances.length; + }; + SysCnds.prototype.PickByEvaluate = function (obj_, exp_) + { + var i, len, k, inst; + if (!obj_) + return; + foreach_instanceptr++; + if (foreach_instancestack.length === foreach_instanceptr) + foreach_instancestack.push([]); + var tmp_instances = foreach_instancestack[foreach_instanceptr]; + var sol = obj_.getCurrentSol(); + cr.shallowAssignArray(tmp_instances, sol.getObjects()); + if (sol.select_all) + cr.clearArray(sol.else_instances); + var current_condition = this.runtime.getCurrentCondition(); + for (i = 0, k = 0, len = tmp_instances.length; i < len; i++) + { + inst = tmp_instances[i]; + tmp_instances[k] = inst; + exp_ = current_condition.parameters[1].get(i); + if (exp_) + { + k++; + } + else + { + sol.else_instances.push(inst); + } + } + cr.truncateArray(tmp_instances, k); + sol.select_all = false; + cr.shallowAssignArray(sol.instances, tmp_instances); + cr.clearArray(tmp_instances); + foreach_instanceptr--; + obj_.applySolToContainer(); + return !!sol.instances.length; + }; + SysCnds.prototype.TriggerOnce = function () + { + var cndextra = this.runtime.getCurrentCondition().extra; + if (typeof cndextra["TriggerOnce_lastTick"] === "undefined") + cndextra["TriggerOnce_lastTick"] = -1; + var last_tick = cndextra["TriggerOnce_lastTick"]; + var cur_tick = this.runtime.tickcount; + cndextra["TriggerOnce_lastTick"] = cur_tick; + return this.runtime.layout_first_tick || last_tick !== cur_tick - 1; + }; + SysCnds.prototype.Every = function (seconds) + { + var cnd = this.runtime.getCurrentCondition(); + var last_time = cnd.extra["Every_lastTime"] || 0; + var cur_time = this.runtime.kahanTime.sum; + if (typeof cnd.extra["Every_seconds"] === "undefined") + cnd.extra["Every_seconds"] = seconds; + var this_seconds = cnd.extra["Every_seconds"]; + if (cur_time >= last_time + this_seconds) + { + cnd.extra["Every_lastTime"] = last_time + this_seconds; + if (cur_time >= cnd.extra["Every_lastTime"] + 0.04) + { + cnd.extra["Every_lastTime"] = cur_time; + } + cnd.extra["Every_seconds"] = seconds; + return true; + } + else if (cur_time < last_time - 0.1) + { + cnd.extra["Every_lastTime"] = cur_time; + } + return false; + }; + SysCnds.prototype.PickNth = function (obj, index) + { + if (!obj) + return false; + var sol = obj.getCurrentSol(); + var instances = sol.getObjects(); + index = cr.floor(index); + if (index < 0 || index >= instances.length) + return false; + var inst = instances[index]; + sol.pick_one(inst); + obj.applySolToContainer(); + return true; + }; + SysCnds.prototype.PickRandom = function (obj) + { + if (!obj) + return false; + var sol = obj.getCurrentSol(); + var instances = sol.getObjects(); + var index = cr.floor(Math.random() * instances.length); + if (index >= instances.length) + return false; + var inst = instances[index]; + sol.pick_one(inst); + obj.applySolToContainer(); + return true; + }; + SysCnds.prototype.CompareVar = function (v, cmp, val) + { + return cr.do_cmp(v.getValue(), cmp, val); + }; + SysCnds.prototype.IsGroupActive = function (group) + { + var g = this.runtime.groups_by_name[group.toLowerCase()]; + return g && g.group_active; + }; + SysCnds.prototype.IsPreview = function () + { + return typeof cr_is_preview !== "undefined"; + }; + SysCnds.prototype.PickAll = function (obj) + { + if (!obj) + return false; + if (!obj.instances.length) + return false; + var sol = obj.getCurrentSol(); + sol.select_all = true; + obj.applySolToContainer(); + return true; + }; + SysCnds.prototype.IsMobile = function () + { + return this.runtime.isMobile; + }; + SysCnds.prototype.CompareBetween = function (x, a, b) + { + return x >= a && x <= b; + }; + SysCnds.prototype.Else = function () + { + var current_frame = this.runtime.getCurrentEventStack(); + if (current_frame.else_branch_ran) + return false; // another event in this else-if chain has run + else + return !current_frame.last_event_true; + /* + var current_frame = this.runtime.getCurrentEventStack(); + var current_event = current_frame.current_event; + var prev_event = current_event.prev_block; + if (!prev_event) + return false; + if (prev_event.is_logical) + return !this.runtime.last_event_true; + var i, len, j, lenj, s, sol, temp, inst, any_picked = false; + for (i = 0, len = prev_event.cndReferences.length; i < len; i++) + { + s = prev_event.cndReferences[i]; + sol = s.getCurrentSol(); + if (sol.select_all || sol.instances.length === s.instances.length) + { + sol.select_all = false; + sol.instances.length = 0; + } + else + { + if (sol.instances.length === 1 && sol.else_instances.length === 0 && s.instances.length >= 2) + { + inst = sol.instances[0]; + sol.instances.length = 0; + for (j = 0, lenj = s.instances.length; j < lenj; j++) + { + if (s.instances[j] != inst) + sol.instances.push(s.instances[j]); + } + any_picked = true; + } + else + { + temp = sol.instances; + sol.instances = sol.else_instances; + sol.else_instances = temp; + any_picked = true; + } + } + } + return any_picked; + */ + }; + SysCnds.prototype.OnLoadFinished = function () + { + return true; + }; + SysCnds.prototype.OnCanvasSnapshot = function () + { + return true; + }; + SysCnds.prototype.EffectsSupported = function () + { + return !!this.runtime.glwrap; + }; + SysCnds.prototype.OnSaveComplete = function () + { + return true; + }; + SysCnds.prototype.OnSaveFailed = function () + { + return true; + }; + SysCnds.prototype.OnLoadComplete = function () + { + return true; + }; + SysCnds.prototype.OnLoadFailed = function () + { + return true; + }; + SysCnds.prototype.ObjectUIDExists = function (u) + { + return !!this.runtime.getObjectByUID(u); + }; + SysCnds.prototype.IsOnPlatform = function (p) + { + var rt = this.runtime; + switch (p) { + case 0: // HTML5 website + return !rt.isDomFree && !rt.isNodeWebkit && !rt.isCordova && !rt.isWinJS && !rt.isWindowsPhone8 && !rt.isBlackberry10 && !rt.isAmazonWebApp; + case 1: // iOS + return rt.isiOS; + case 2: // Android + return rt.isAndroid; + case 3: // Windows 8 + return rt.isWindows8App; + case 4: // Windows Phone 8 + return rt.isWindowsPhone8; + case 5: // Blackberry 10 + return rt.isBlackberry10; + case 6: // Tizen + return rt.isTizen; + case 7: // CocoonJS + return rt.isCocoonJs; + case 8: // Cordova + return rt.isCordova; + case 9: // Scirra Arcade + return rt.isArcade; + case 10: // node-webkit + return rt.isNodeWebkit; + case 11: // crosswalk + return rt.isCrosswalk; + case 12: // amazon webapp + return rt.isAmazonWebApp; + case 13: // windows 10 app + return rt.isWindows10; + default: // should not be possible + return false; + } + }; + var cacheRegex = null; + var lastRegex = ""; + var lastFlags = ""; + function getRegex(regex_, flags_) + { + if (!cacheRegex || regex_ !== lastRegex || flags_ !== lastFlags) + { + cacheRegex = new RegExp(regex_, flags_); + lastRegex = regex_; + lastFlags = flags_; + } + cacheRegex.lastIndex = 0; // reset + return cacheRegex; + }; + SysCnds.prototype.RegexTest = function (str_, regex_, flags_) + { + var regex = getRegex(regex_, flags_); + return regex.test(str_); + }; + var tmp_arr = []; + SysCnds.prototype.PickOverlappingPoint = function (obj_, x_, y_) + { + if (!obj_) + return false; + var sol = obj_.getCurrentSol(); + var instances = sol.getObjects(); + var current_event = this.runtime.getCurrentEventStack().current_event; + var orblock = current_event.orblock; + var cnd = this.runtime.getCurrentCondition(); + var i, len, inst, pick; + if (sol.select_all) + { + cr.shallowAssignArray(tmp_arr, instances); + cr.clearArray(sol.else_instances); + sol.select_all = false; + cr.clearArray(sol.instances); + } + else + { + if (orblock) + { + cr.shallowAssignArray(tmp_arr, sol.else_instances); + cr.clearArray(sol.else_instances); + } + else + { + cr.shallowAssignArray(tmp_arr, instances); + cr.clearArray(sol.instances); + } + } + for (i = 0, len = tmp_arr.length; i < len; ++i) + { + inst = tmp_arr[i]; + inst.update_bbox(); + pick = cr.xor(inst.contains_pt(x_, y_), cnd.inverted); + if (pick) + sol.instances.push(inst); + else + sol.else_instances.push(inst); + } + obj_.applySolToContainer(); + return cr.xor(!!sol.instances.length, cnd.inverted); + }; + SysCnds.prototype.IsNaN = function (n) + { + return !!isNaN(n); + }; + SysCnds.prototype.AngleWithin = function (a1, within, a2) + { + return cr.angleDiff(cr.to_radians(a1), cr.to_radians(a2)) <= cr.to_radians(within); + }; + SysCnds.prototype.IsClockwiseFrom = function (a1, a2) + { + return cr.angleClockwise(cr.to_radians(a1), cr.to_radians(a2)); + }; + SysCnds.prototype.IsBetweenAngles = function (a, la, ua) + { + var angle = cr.to_clamped_radians(a); + var lower = cr.to_clamped_radians(la); + var upper = cr.to_clamped_radians(ua); + var obtuse = (!cr.angleClockwise(upper, lower)); + if (obtuse) + return !(!cr.angleClockwise(angle, lower) && cr.angleClockwise(angle, upper)); + else + return cr.angleClockwise(angle, lower) && !cr.angleClockwise(angle, upper); + }; + SysCnds.prototype.IsValueType = function (x, t) + { + if (typeof x === "number") + return t === 0; + else // string + return t === 1; + }; + sysProto.cnds = new SysCnds(); + function SysActs() {}; + SysActs.prototype.GoToLayout = function (to) + { + if (this.runtime.isloading) + return; // cannot change layout while loading on loader layout + if (this.runtime.changelayout) + return; // already changing to a different layout +; + this.runtime.changelayout = to; + }; + SysActs.prototype.NextPrevLayout = function (prev) + { + if (this.runtime.isloading) + return; // cannot change layout while loading on loader layout + if (this.runtime.changelayout) + return; // already changing to a different layout + var index = this.runtime.layouts_by_index.indexOf(this.runtime.running_layout); + if (prev && index === 0) + return; // cannot go to previous layout from first layout + if (!prev && index === this.runtime.layouts_by_index.length - 1) + return; // cannot go to next layout from last layout + var to = this.runtime.layouts_by_index[index + (prev ? -1 : 1)]; +; + this.runtime.changelayout = to; + }; + SysActs.prototype.CreateObject = function (obj, layer, x, y) + { + if (!layer || !obj) + return; + var inst = this.runtime.createInstance(obj, layer, x, y); + if (!inst) + return; + this.runtime.isInOnDestroy++; + var i, len, s; + this.runtime.trigger(Object.getPrototypeOf(obj.plugin).cnds.OnCreated, inst); + if (inst.is_contained) + { + for (i = 0, len = inst.siblings.length; i < len; i++) + { + s = inst.siblings[i]; + this.runtime.trigger(Object.getPrototypeOf(s.type.plugin).cnds.OnCreated, s); + } + } + this.runtime.isInOnDestroy--; + var sol = obj.getCurrentSol(); + sol.select_all = false; + cr.clearArray(sol.instances); + sol.instances[0] = inst; + if (inst.is_contained) + { + for (i = 0, len = inst.siblings.length; i < len; i++) + { + s = inst.siblings[i]; + sol = s.type.getCurrentSol(); + sol.select_all = false; + cr.clearArray(sol.instances); + sol.instances[0] = s; + } + } + }; + SysActs.prototype.SetLayerVisible = function (layer, visible_) + { + if (!layer) + return; + if (layer.visible !== visible_) + { + layer.visible = visible_; + this.runtime.redraw = true; + } + }; + SysActs.prototype.SetLayerOpacity = function (layer, opacity_) + { + if (!layer) + return; + opacity_ = cr.clamp(opacity_ / 100, 0, 1); + if (layer.opacity !== opacity_) + { + layer.opacity = opacity_; + this.runtime.redraw = true; + } + }; + SysActs.prototype.SetLayerScaleRate = function (layer, sr) + { + if (!layer) + return; + if (layer.zoomRate !== sr) + { + layer.zoomRate = sr; + this.runtime.redraw = true; + } + }; + SysActs.prototype.SetLayerForceOwnTexture = function (layer, f) + { + if (!layer) + return; + f = !!f; + if (layer.forceOwnTexture !== f) + { + layer.forceOwnTexture = f; + this.runtime.redraw = true; + } + }; + SysActs.prototype.SetLayoutScale = function (s) + { + if (!this.runtime.running_layout) + return; + if (this.runtime.running_layout.scale !== s) + { + this.runtime.running_layout.scale = s; + this.runtime.running_layout.boundScrolling(); + this.runtime.redraw = true; + } + }; + SysActs.prototype.ScrollX = function(x) + { + this.runtime.running_layout.scrollToX(x); + }; + SysActs.prototype.ScrollY = function(y) + { + this.runtime.running_layout.scrollToY(y); + }; + SysActs.prototype.Scroll = function(x, y) + { + this.runtime.running_layout.scrollToX(x); + this.runtime.running_layout.scrollToY(y); + }; + SysActs.prototype.ScrollToObject = function(obj) + { + var inst = obj.getFirstPicked(); + if (inst) + { + this.runtime.running_layout.scrollToX(inst.x); + this.runtime.running_layout.scrollToY(inst.y); + } + }; + SysActs.prototype.SetVar = function(v, x) + { +; + if (v.vartype === 0) + { + if (cr.is_number(x)) + v.setValue(x); + else + v.setValue(parseFloat(x)); + } + else if (v.vartype === 1) + v.setValue(x.toString()); + }; + SysActs.prototype.AddVar = function(v, x) + { +; + if (v.vartype === 0) + { + if (cr.is_number(x)) + v.setValue(v.getValue() + x); + else + v.setValue(v.getValue() + parseFloat(x)); + } + else if (v.vartype === 1) + v.setValue(v.getValue() + x.toString()); + }; + SysActs.prototype.SubVar = function(v, x) + { +; + if (v.vartype === 0) + { + if (cr.is_number(x)) + v.setValue(v.getValue() - x); + else + v.setValue(v.getValue() - parseFloat(x)); + } + }; + SysActs.prototype.SetGroupActive = function (group, active) + { + var g = this.runtime.groups_by_name[group.toLowerCase()]; + if (!g) + return; + switch (active) { + case 0: + g.setGroupActive(false); + break; + case 1: + g.setGroupActive(true); + break; + case 2: + g.setGroupActive(!g.group_active); + break; + } + }; + SysActs.prototype.SetTimescale = function (ts_) + { + var ts = ts_; + if (ts < 0) + ts = 0; + this.runtime.timescale = ts; + }; + SysActs.prototype.SetObjectTimescale = function (obj, ts_) + { + var ts = ts_; + if (ts < 0) + ts = 0; + if (!obj) + return; + var sol = obj.getCurrentSol(); + var instances = sol.getObjects(); + var i, len; + for (i = 0, len = instances.length; i < len; i++) + { + instances[i].my_timescale = ts; + } + }; + SysActs.prototype.RestoreObjectTimescale = function (obj) + { + if (!obj) + return false; + var sol = obj.getCurrentSol(); + var instances = sol.getObjects(); + var i, len; + for (i = 0, len = instances.length; i < len; i++) + { + instances[i].my_timescale = -1.0; + } + }; + var waitobjrecycle = []; + function allocWaitObject() + { + var w; + if (waitobjrecycle.length) + w = waitobjrecycle.pop(); + else + { + w = {}; + w.sols = {}; + w.solModifiers = []; + } + w.deleteme = false; + return w; + }; + function freeWaitObject(w) + { + cr.wipe(w.sols); + cr.clearArray(w.solModifiers); + waitobjrecycle.push(w); + }; + var solstateobjects = []; + function allocSolStateObject() + { + var s; + if (solstateobjects.length) + s = solstateobjects.pop(); + else + { + s = {}; + s.insts = []; + } + s.sa = false; + return s; + }; + function freeSolStateObject(s) + { + cr.clearArray(s.insts); + solstateobjects.push(s); + }; + SysActs.prototype.Wait = function (seconds) + { + if (seconds < 0) + return; + var i, len, s, t, ss; + var evinfo = this.runtime.getCurrentEventStack(); + var waitobj = allocWaitObject(); + waitobj.time = this.runtime.kahanTime.sum + seconds; + waitobj.signaltag = ""; + waitobj.signalled = false; + waitobj.ev = evinfo.current_event; + waitobj.actindex = evinfo.actindex + 1; // pointing at next action + for (i = 0, len = this.runtime.types_by_index.length; i < len; i++) + { + t = this.runtime.types_by_index[i]; + s = t.getCurrentSol(); + if (s.select_all && evinfo.current_event.solModifiers.indexOf(t) === -1) + continue; + waitobj.solModifiers.push(t); + ss = allocSolStateObject(); + ss.sa = s.select_all; + cr.shallowAssignArray(ss.insts, s.instances); + waitobj.sols[i.toString()] = ss; + } + this.waits.push(waitobj); + return true; + }; + SysActs.prototype.WaitForSignal = function (tag) + { + var i, len, s, t, ss; + var evinfo = this.runtime.getCurrentEventStack(); + var waitobj = allocWaitObject(); + waitobj.time = -1; + waitobj.signaltag = tag.toLowerCase(); + waitobj.signalled = false; + waitobj.ev = evinfo.current_event; + waitobj.actindex = evinfo.actindex + 1; // pointing at next action + for (i = 0, len = this.runtime.types_by_index.length; i < len; i++) + { + t = this.runtime.types_by_index[i]; + s = t.getCurrentSol(); + if (s.select_all && evinfo.current_event.solModifiers.indexOf(t) === -1) + continue; + waitobj.solModifiers.push(t); + ss = allocSolStateObject(); + ss.sa = s.select_all; + cr.shallowAssignArray(ss.insts, s.instances); + waitobj.sols[i.toString()] = ss; + } + this.waits.push(waitobj); + return true; + }; + SysActs.prototype.Signal = function (tag) + { + var lowertag = tag.toLowerCase(); + var i, len, w; + for (i = 0, len = this.waits.length; i < len; ++i) + { + w = this.waits[i]; + if (w.time !== -1) + continue; // timer wait, ignore + if (w.signaltag === lowertag) // waiting for this signal + w.signalled = true; // will run on next check + } + }; + SysActs.prototype.SetLayerScale = function (layer, scale) + { + if (!layer) + return; + if (layer.scale === scale) + return; + layer.scale = scale; + this.runtime.redraw = true; + }; + SysActs.prototype.ResetGlobals = function () + { + var i, len, g; + for (i = 0, len = this.runtime.all_global_vars.length; i < len; i++) + { + g = this.runtime.all_global_vars[i]; + g.data = g.initial; + } + }; + SysActs.prototype.SetLayoutAngle = function (a) + { + a = cr.to_radians(a); + a = cr.clamp_angle(a); + if (this.runtime.running_layout) + { + if (this.runtime.running_layout.angle !== a) + { + this.runtime.running_layout.angle = a; + this.runtime.redraw = true; + } + } + }; + SysActs.prototype.SetLayerAngle = function (layer, a) + { + if (!layer) + return; + a = cr.to_radians(a); + a = cr.clamp_angle(a); + if (layer.angle === a) + return; + layer.angle = a; + this.runtime.redraw = true; + }; + SysActs.prototype.SetLayerParallax = function (layer, px, py) + { + if (!layer) + return; + if (layer.parallaxX === px / 100 && layer.parallaxY === py / 100) + return; + layer.parallaxX = px / 100; + layer.parallaxY = py / 100; + if (layer.parallaxX !== 1 || layer.parallaxY !== 1) + { + var i, len, instances = layer.instances; + for (i = 0, len = instances.length; i < len; ++i) + { + instances[i].type.any_instance_parallaxed = true; + } + } + this.runtime.redraw = true; + }; + SysActs.prototype.SetLayerBackground = function (layer, c) + { + if (!layer) + return; + var r = cr.GetRValue(c); + var g = cr.GetGValue(c); + var b = cr.GetBValue(c); + if (layer.background_color[0] === r && layer.background_color[1] === g && layer.background_color[2] === b) + return; + layer.background_color[0] = r; + layer.background_color[1] = g; + layer.background_color[2] = b; + this.runtime.redraw = true; + }; + SysActs.prototype.SetLayerTransparent = function (layer, t) + { + if (!layer) + return; + if (!!t === !!layer.transparent) + return; + layer.transparent = !!t; + this.runtime.redraw = true; + }; + SysActs.prototype.SetLayerBlendMode = function (layer, bm) + { + if (!layer) + return; + if (layer.blend_mode === bm) + return; + layer.blend_mode = bm; + layer.compositeOp = cr.effectToCompositeOp(layer.blend_mode); + if (this.runtime.gl) + cr.setGLBlend(layer, layer.blend_mode, this.runtime.gl); + this.runtime.redraw = true; + }; + SysActs.prototype.StopLoop = function () + { + if (this.runtime.loop_stack_index < 0) + return; // no loop currently running + this.runtime.getCurrentLoop().stopped = true; + }; + SysActs.prototype.GoToLayoutByName = function (layoutname) + { + if (this.runtime.isloading) + return; // cannot change layout while loading on loader layout + if (this.runtime.changelayout) + return; // already changing to different layout +; + var l; + for (l in this.runtime.layouts) + { + if (this.runtime.layouts.hasOwnProperty(l) && cr.equals_nocase(l, layoutname)) + { + this.runtime.changelayout = this.runtime.layouts[l]; + return; + } + } + }; + SysActs.prototype.RestartLayout = function (layoutname) + { + if (this.runtime.isloading) + return; // cannot restart loader layouts + if (this.runtime.changelayout) + return; // already changing to a different layout +; + if (!this.runtime.running_layout) + return; + this.runtime.changelayout = this.runtime.running_layout; + var i, len, g; + for (i = 0, len = this.runtime.allGroups.length; i < len; i++) + { + g = this.runtime.allGroups[i]; + g.setGroupActive(g.initially_activated); + } + }; + SysActs.prototype.SnapshotCanvas = function (format_, quality_) + { + this.runtime.doCanvasSnapshot(format_ === 0 ? "image/png" : "image/jpeg", quality_ / 100); + }; + SysActs.prototype.SetCanvasSize = function (w, h) + { + if (w <= 0 || h <= 0) + return; + var mode = this.runtime.fullscreen_mode; + var isfullscreen = (document["mozFullScreen"] || document["webkitIsFullScreen"] || !!document["msFullscreenElement"] || document["fullScreen"] || this.runtime.isNodeFullscreen); + if (isfullscreen && this.runtime.fullscreen_scaling > 0) + mode = this.runtime.fullscreen_scaling; + if (mode === 0) + { + this.runtime["setSize"](w, h, true); + } + else + { + this.runtime.original_width = w; + this.runtime.original_height = h; + this.runtime["setSize"](this.runtime.lastWindowWidth, this.runtime.lastWindowHeight, true); + } + }; + SysActs.prototype.SetLayoutEffectEnabled = function (enable_, effectname_) + { + if (!this.runtime.running_layout || !this.runtime.glwrap) + return; + var et = this.runtime.running_layout.getEffectByName(effectname_); + if (!et) + return; // effect name not found + var enable = (enable_ === 1); + if (et.active == enable) + return; // no change + et.active = enable; + this.runtime.running_layout.updateActiveEffects(); + this.runtime.redraw = true; + }; + SysActs.prototype.SetLayerEffectEnabled = function (layer, enable_, effectname_) + { + if (!layer || !this.runtime.glwrap) + return; + var et = layer.getEffectByName(effectname_); + if (!et) + return; // effect name not found + var enable = (enable_ === 1); + if (et.active == enable) + return; // no change + et.active = enable; + layer.updateActiveEffects(); + this.runtime.redraw = true; + }; + SysActs.prototype.SetLayoutEffectParam = function (effectname_, index_, value_) + { + if (!this.runtime.running_layout || !this.runtime.glwrap) + return; + var et = this.runtime.running_layout.getEffectByName(effectname_); + if (!et) + return; // effect name not found + var params = this.runtime.running_layout.effect_params[et.index]; + index_ = Math.floor(index_); + if (index_ < 0 || index_ >= params.length) + return; // effect index out of bounds + if (this.runtime.glwrap.getProgramParameterType(et.shaderindex, index_) === 1) + value_ /= 100.0; + if (params[index_] === value_) + return; // no change + params[index_] = value_; + if (et.active) + this.runtime.redraw = true; + }; + SysActs.prototype.SetLayerEffectParam = function (layer, effectname_, index_, value_) + { + if (!layer || !this.runtime.glwrap) + return; + var et = layer.getEffectByName(effectname_); + if (!et) + return; // effect name not found + var params = layer.effect_params[et.index]; + index_ = Math.floor(index_); + if (index_ < 0 || index_ >= params.length) + return; // effect index out of bounds + if (this.runtime.glwrap.getProgramParameterType(et.shaderindex, index_) === 1) + value_ /= 100.0; + if (params[index_] === value_) + return; // no change + params[index_] = value_; + if (et.active) + this.runtime.redraw = true; + }; + SysActs.prototype.SaveState = function (slot_) + { + this.runtime.saveToSlot = slot_; + }; + SysActs.prototype.LoadState = function (slot_) + { + this.runtime.loadFromSlot = slot_; + }; + SysActs.prototype.LoadStateJSON = function (jsonstr_) + { + this.runtime.loadFromJson = jsonstr_; + }; + SysActs.prototype.SetHalfFramerateMode = function (set_) + { + this.runtime.halfFramerateMode = (set_ !== 0); + }; + SysActs.prototype.SetFullscreenQuality = function (q) + { + var isfullscreen = (document["mozFullScreen"] || document["webkitIsFullScreen"] || !!document["msFullscreenElement"] || document["fullScreen"] || this.isNodeFullscreen); + if (!isfullscreen && this.runtime.fullscreen_mode === 0) + return; + this.runtime.wantFullscreenScalingQuality = (q !== 0); + this.runtime["setSize"](this.runtime.lastWindowWidth, this.runtime.lastWindowHeight, true); + }; + SysActs.prototype.ResetPersisted = function () + { + var i, len; + for (i = 0, len = this.runtime.layouts_by_index.length; i < len; ++i) + { + this.runtime.layouts_by_index[i].persist_data = {}; + this.runtime.layouts_by_index[i].first_visit = true; + } + }; + SysActs.prototype.RecreateInitialObjects = function (obj, x1, y1, x2, y2) + { + if (!obj) + return; + this.runtime.running_layout.recreateInitialObjects(obj, x1, y1, x2, y2); + }; + SysActs.prototype.SetPixelRounding = function (m) + { + this.runtime.pixel_rounding = (m !== 0); + this.runtime.redraw = true; + }; + SysActs.prototype.SetMinimumFramerate = function (f) + { + if (f < 1) + f = 1; + if (f > 120) + f = 120; + this.runtime.minimumFramerate = f; + }; + function SortZOrderList(a, b) + { + var layerA = a[0]; + var layerB = b[0]; + var diff = layerA - layerB; + if (diff !== 0) + return diff; + var indexA = a[1]; + var indexB = b[1]; + return indexA - indexB; + }; + function SortInstancesByValue(a, b) + { + return a[1] - b[1]; + }; + SysActs.prototype.SortZOrderByInstVar = function (obj, iv) + { + if (!obj) + return; + var i, len, inst, value, r, layer, toZ; + var sol = obj.getCurrentSol(); + var pickedInstances = sol.getObjects(); + var zOrderList = []; + var instValues = []; + var layout = this.runtime.running_layout; + var isFamily = obj.is_family; + var familyIndex = obj.family_index; + for (i = 0, len = pickedInstances.length; i < len; ++i) + { + inst = pickedInstances[i]; + if (!inst.layer) + continue; // not a world instance + if (isFamily) + value = inst.instance_vars[iv + inst.type.family_var_map[familyIndex]]; + else + value = inst.instance_vars[iv]; + zOrderList.push([ + inst.layer.index, + inst.get_zindex() + ]); + instValues.push([ + inst, + value + ]); + } + if (!zOrderList.length) + return; // no instances were world instances + zOrderList.sort(SortZOrderList); + instValues.sort(SortInstancesByValue); + for (i = 0, len = zOrderList.length; i < len; ++i) + { + inst = instValues[i][0]; // instance in the order we want + layer = layout.layers[zOrderList[i][0]]; // layer to put it on + toZ = zOrderList[i][1]; // Z index on that layer to put it + if (layer.instances[toZ] !== inst) // not already got this instance there + { + layer.instances[toZ] = inst; // update instance + inst.layer = layer; // update instance's layer reference (could have changed) + layer.setZIndicesStaleFrom(toZ); // mark Z indices stale from this point since they have changed + } + } + }; + sysProto.acts = new SysActs(); + function SysExps() {}; + SysExps.prototype["int"] = function(ret, x) + { + if (cr.is_string(x)) + { + ret.set_int(parseInt(x, 10)); + if (isNaN(ret.data)) + ret.data = 0; + } + else + ret.set_int(x); + }; + SysExps.prototype["float"] = function(ret, x) + { + if (cr.is_string(x)) + { + ret.set_float(parseFloat(x)); + if (isNaN(ret.data)) + ret.data = 0; + } + else + ret.set_float(x); + }; + SysExps.prototype.str = function(ret, x) + { + if (cr.is_string(x)) + ret.set_string(x); + else + ret.set_string(x.toString()); + }; + SysExps.prototype.len = function(ret, x) + { + ret.set_int(x.length || 0); + }; + SysExps.prototype.random = function (ret, a, b) + { + if (b === undefined) + { + ret.set_float(Math.random() * a); + } + else + { + ret.set_float(Math.random() * (b - a) + a); + } + }; + SysExps.prototype.sqrt = function(ret, x) + { + ret.set_float(Math.sqrt(x)); + }; + SysExps.prototype.abs = function(ret, x) + { + ret.set_float(Math.abs(x)); + }; + SysExps.prototype.round = function(ret, x) + { + ret.set_int(Math.round(x)); + }; + SysExps.prototype.floor = function(ret, x) + { + ret.set_int(Math.floor(x)); + }; + SysExps.prototype.ceil = function(ret, x) + { + ret.set_int(Math.ceil(x)); + }; + SysExps.prototype.sin = function(ret, x) + { + ret.set_float(Math.sin(cr.to_radians(x))); + }; + SysExps.prototype.cos = function(ret, x) + { + ret.set_float(Math.cos(cr.to_radians(x))); + }; + SysExps.prototype.tan = function(ret, x) + { + ret.set_float(Math.tan(cr.to_radians(x))); + }; + SysExps.prototype.asin = function(ret, x) + { + ret.set_float(cr.to_degrees(Math.asin(x))); + }; + SysExps.prototype.acos = function(ret, x) + { + ret.set_float(cr.to_degrees(Math.acos(x))); + }; + SysExps.prototype.atan = function(ret, x) + { + ret.set_float(cr.to_degrees(Math.atan(x))); + }; + SysExps.prototype.exp = function(ret, x) + { + ret.set_float(Math.exp(x)); + }; + SysExps.prototype.ln = function(ret, x) + { + ret.set_float(Math.log(x)); + }; + SysExps.prototype.log10 = function(ret, x) + { + ret.set_float(Math.log(x) / Math.LN10); + }; + SysExps.prototype.max = function(ret) + { + var max_ = arguments[1]; + if (typeof max_ !== "number") + max_ = 0; + var i, len, a; + for (i = 2, len = arguments.length; i < len; i++) + { + a = arguments[i]; + if (typeof a !== "number") + continue; // ignore non-numeric types + if (max_ < a) + max_ = a; + } + ret.set_float(max_); + }; + SysExps.prototype.min = function(ret) + { + var min_ = arguments[1]; + if (typeof min_ !== "number") + min_ = 0; + var i, len, a; + for (i = 2, len = arguments.length; i < len; i++) + { + a = arguments[i]; + if (typeof a !== "number") + continue; // ignore non-numeric types + if (min_ > a) + min_ = a; + } + ret.set_float(min_); + }; + SysExps.prototype.dt = function(ret) + { + ret.set_float(this.runtime.dt); + }; + SysExps.prototype.timescale = function(ret) + { + ret.set_float(this.runtime.timescale); + }; + SysExps.prototype.wallclocktime = function(ret) + { + ret.set_float((Date.now() - this.runtime.start_time) / 1000.0); + }; + SysExps.prototype.time = function(ret) + { + ret.set_float(this.runtime.kahanTime.sum); + }; + SysExps.prototype.tickcount = function(ret) + { + ret.set_int(this.runtime.tickcount); + }; + SysExps.prototype.objectcount = function(ret) + { + ret.set_int(this.runtime.objectcount); + }; + SysExps.prototype.fps = function(ret) + { + ret.set_int(this.runtime.fps); + }; + SysExps.prototype.loopindex = function(ret, name_) + { + var loop, i, len; + if (!this.runtime.loop_stack.length) + { + ret.set_int(0); + return; + } + if (name_) + { + for (i = this.runtime.loop_stack_index; i >= 0; --i) + { + loop = this.runtime.loop_stack[i]; + if (loop.name === name_) + { + ret.set_int(loop.index); + return; + } + } + ret.set_int(0); + } + else + { + loop = this.runtime.getCurrentLoop(); + ret.set_int(loop ? loop.index : -1); + } + }; + SysExps.prototype.distance = function(ret, x1, y1, x2, y2) + { + ret.set_float(cr.distanceTo(x1, y1, x2, y2)); + }; + SysExps.prototype.angle = function(ret, x1, y1, x2, y2) + { + ret.set_float(cr.to_degrees(cr.angleTo(x1, y1, x2, y2))); + }; + SysExps.prototype.scrollx = function(ret) + { + ret.set_float(this.runtime.running_layout.scrollX); + }; + SysExps.prototype.scrolly = function(ret) + { + ret.set_float(this.runtime.running_layout.scrollY); + }; + SysExps.prototype.newline = function(ret) + { + ret.set_string("\n"); + }; + SysExps.prototype.lerp = function(ret, a, b, x) + { + ret.set_float(cr.lerp(a, b, x)); + }; + SysExps.prototype.qarp = function(ret, a, b, c, x) + { + ret.set_float(cr.qarp(a, b, c, x)); + }; + SysExps.prototype.cubic = function(ret, a, b, c, d, x) + { + ret.set_float(cr.cubic(a, b, c, d, x)); + }; + SysExps.prototype.cosp = function(ret, a, b, x) + { + ret.set_float(cr.cosp(a, b, x)); + }; + SysExps.prototype.windowwidth = function(ret) + { + ret.set_int(this.runtime.width); + }; + SysExps.prototype.windowheight = function(ret) + { + ret.set_int(this.runtime.height); + }; + SysExps.prototype.uppercase = function(ret, str) + { + ret.set_string(cr.is_string(str) ? str.toUpperCase() : ""); + }; + SysExps.prototype.lowercase = function(ret, str) + { + ret.set_string(cr.is_string(str) ? str.toLowerCase() : ""); + }; + SysExps.prototype.clamp = function(ret, x, l, u) + { + if (x < l) + ret.set_float(l); + else if (x > u) + ret.set_float(u); + else + ret.set_float(x); + }; + SysExps.prototype.layerscale = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + if (!layer) + ret.set_float(0); + else + ret.set_float(layer.scale); + }; + SysExps.prototype.layeropacity = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + if (!layer) + ret.set_float(0); + else + ret.set_float(layer.opacity * 100); + }; + SysExps.prototype.layerscalerate = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + if (!layer) + ret.set_float(0); + else + ret.set_float(layer.zoomRate); + }; + SysExps.prototype.layerparallaxx = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + if (!layer) + ret.set_float(0); + else + ret.set_float(layer.parallaxX * 100); + }; + SysExps.prototype.layerparallaxy = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + if (!layer) + ret.set_float(0); + else + ret.set_float(layer.parallaxY * 100); + }; + SysExps.prototype.layerindex = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + if (!layer) + ret.set_int(-1); + else + ret.set_int(layer.index); + }; + SysExps.prototype.layoutscale = function (ret) + { + if (this.runtime.running_layout) + ret.set_float(this.runtime.running_layout.scale); + else + ret.set_float(0); + }; + SysExps.prototype.layoutangle = function (ret) + { + ret.set_float(cr.to_degrees(this.runtime.running_layout.angle)); + }; + SysExps.prototype.layerangle = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + if (!layer) + ret.set_float(0); + else + ret.set_float(cr.to_degrees(layer.angle)); + }; + SysExps.prototype.layoutwidth = function (ret) + { + ret.set_int(this.runtime.running_layout.width); + }; + SysExps.prototype.layoutheight = function (ret) + { + ret.set_int(this.runtime.running_layout.height); + }; + SysExps.prototype.find = function (ret, text, searchstr) + { + if (cr.is_string(text) && cr.is_string(searchstr)) + ret.set_int(text.search(new RegExp(cr.regexp_escape(searchstr), "i"))); + else + ret.set_int(-1); + }; + SysExps.prototype.findcase = function (ret, text, searchstr) + { + if (cr.is_string(text) && cr.is_string(searchstr)) + ret.set_int(text.search(new RegExp(cr.regexp_escape(searchstr), ""))); + else + ret.set_int(-1); + }; + SysExps.prototype.left = function (ret, text, n) + { + ret.set_string(cr.is_string(text) ? text.substr(0, n) : ""); + }; + SysExps.prototype.right = function (ret, text, n) + { + ret.set_string(cr.is_string(text) ? text.substr(text.length - n) : ""); + }; + SysExps.prototype.mid = function (ret, text, index_, length_) + { + ret.set_string(cr.is_string(text) ? text.substr(index_, length_) : ""); + }; + SysExps.prototype.tokenat = function (ret, text, index_, sep) + { + if (cr.is_string(text) && cr.is_string(sep)) + { + var arr = text.split(sep); + var i = cr.floor(index_); + if (i < 0 || i >= arr.length) + ret.set_string(""); + else + ret.set_string(arr[i]); + } + else + ret.set_string(""); + }; + SysExps.prototype.tokencount = function (ret, text, sep) + { + if (cr.is_string(text) && text.length) + ret.set_int(text.split(sep).length); + else + ret.set_int(0); + }; + SysExps.prototype.replace = function (ret, text, find_, replace_) + { + if (cr.is_string(text) && cr.is_string(find_) && cr.is_string(replace_)) + ret.set_string(text.replace(new RegExp(cr.regexp_escape(find_), "gi"), replace_)); + else + ret.set_string(cr.is_string(text) ? text : ""); + }; + SysExps.prototype.trim = function (ret, text) + { + ret.set_string(cr.is_string(text) ? text.trim() : ""); + }; + SysExps.prototype.pi = function (ret) + { + ret.set_float(cr.PI); + }; + SysExps.prototype.layoutname = function (ret) + { + if (this.runtime.running_layout) + ret.set_string(this.runtime.running_layout.name); + else + ret.set_string(""); + }; + SysExps.prototype.renderer = function (ret) + { + ret.set_string(this.runtime.gl ? "webgl" : "canvas2d"); + }; + SysExps.prototype.rendererdetail = function (ret) + { + ret.set_string(this.runtime.glUnmaskedRenderer); + }; + SysExps.prototype.anglediff = function (ret, a, b) + { + ret.set_float(cr.to_degrees(cr.angleDiff(cr.to_radians(a), cr.to_radians(b)))); + }; + SysExps.prototype.choose = function (ret) + { + var index = cr.floor(Math.random() * (arguments.length - 1)); + ret.set_any(arguments[index + 1]); + }; + SysExps.prototype.rgb = function (ret, r, g, b) + { + ret.set_int(cr.RGB(r, g, b)); + }; + SysExps.prototype.projectversion = function (ret) + { + ret.set_string(this.runtime.versionstr); + }; + SysExps.prototype.projectname = function (ret) + { + ret.set_string(this.runtime.projectName); + }; + SysExps.prototype.anglelerp = function (ret, a, b, x) + { + a = cr.to_radians(a); + b = cr.to_radians(b); + var diff = cr.angleDiff(a, b); + if (cr.angleClockwise(b, a)) + { + ret.set_float(cr.to_clamped_degrees(a + diff * x)); + } + else + { + ret.set_float(cr.to_clamped_degrees(a - diff * x)); + } + }; + SysExps.prototype.anglerotate = function (ret, a, b, c) + { + a = cr.to_radians(a); + b = cr.to_radians(b); + c = cr.to_radians(c); + ret.set_float(cr.to_clamped_degrees(cr.angleRotate(a, b, c))); + }; + SysExps.prototype.zeropad = function (ret, n, d) + { + var s = (n < 0 ? "-" : ""); + if (n < 0) n = -n; + var zeroes = d - n.toString().length; + for (var i = 0; i < zeroes; i++) + s += "0"; + ret.set_string(s + n.toString()); + }; + SysExps.prototype.cpuutilisation = function (ret) + { + ret.set_float(this.runtime.cpuutilisation / 1000); + }; + SysExps.prototype.viewportleft = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + ret.set_float(layer ? layer.viewLeft : 0); + }; + SysExps.prototype.viewporttop = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + ret.set_float(layer ? layer.viewTop : 0); + }; + SysExps.prototype.viewportright = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + ret.set_float(layer ? layer.viewRight : 0); + }; + SysExps.prototype.viewportbottom = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + ret.set_float(layer ? layer.viewBottom : 0); + }; + SysExps.prototype.loadingprogress = function (ret) + { + ret.set_float(this.runtime.loadingprogress); + }; + SysExps.prototype.unlerp = function(ret, a, b, y) + { + ret.set_float(cr.unlerp(a, b, y)); + }; + SysExps.prototype.canvassnapshot = function (ret) + { + ret.set_string(this.runtime.snapshotData); + }; + SysExps.prototype.urlencode = function (ret, s) + { + ret.set_string(encodeURIComponent(s)); + }; + SysExps.prototype.urldecode = function (ret, s) + { + ret.set_string(decodeURIComponent(s)); + }; + SysExps.prototype.canvastolayerx = function (ret, layerparam, x, y) + { + var layer = this.runtime.getLayer(layerparam); + ret.set_float(layer ? layer.canvasToLayer(x, y, true) : 0); + }; + SysExps.prototype.canvastolayery = function (ret, layerparam, x, y) + { + var layer = this.runtime.getLayer(layerparam); + ret.set_float(layer ? layer.canvasToLayer(x, y, false) : 0); + }; + SysExps.prototype.layertocanvasx = function (ret, layerparam, x, y) + { + var layer = this.runtime.getLayer(layerparam); + ret.set_float(layer ? layer.layerToCanvas(x, y, true) : 0); + }; + SysExps.prototype.layertocanvasy = function (ret, layerparam, x, y) + { + var layer = this.runtime.getLayer(layerparam); + ret.set_float(layer ? layer.layerToCanvas(x, y, false) : 0); + }; + SysExps.prototype.savestatejson = function (ret) + { + ret.set_string(this.runtime.lastSaveJson); + }; + SysExps.prototype.imagememoryusage = function (ret) + { + if (this.runtime.glwrap) + ret.set_float(Math.round(100 * this.runtime.glwrap.estimateVRAM() / (1024 * 1024)) / 100); + else + ret.set_float(0); + }; + SysExps.prototype.regexsearch = function (ret, str_, regex_, flags_) + { + var regex = getRegex(regex_, flags_); + ret.set_int(str_ ? str_.search(regex) : -1); + }; + SysExps.prototype.regexreplace = function (ret, str_, regex_, flags_, replace_) + { + var regex = getRegex(regex_, flags_); + ret.set_string(str_ ? str_.replace(regex, replace_) : ""); + }; + var regexMatches = []; + var lastMatchesStr = ""; + var lastMatchesRegex = ""; + var lastMatchesFlags = ""; + function updateRegexMatches(str_, regex_, flags_) + { + if (str_ === lastMatchesStr && regex_ === lastMatchesRegex && flags_ === lastMatchesFlags) + return; + var regex = getRegex(regex_, flags_); + regexMatches = str_.match(regex); + lastMatchesStr = str_; + lastMatchesRegex = regex_; + lastMatchesFlags = flags_; + }; + SysExps.prototype.regexmatchcount = function (ret, str_, regex_, flags_) + { + var regex = getRegex(regex_, flags_); + updateRegexMatches(str_.toString(), regex_, flags_); + ret.set_int(regexMatches ? regexMatches.length : 0); + }; + SysExps.prototype.regexmatchat = function (ret, str_, regex_, flags_, index_) + { + index_ = Math.floor(index_); + var regex = getRegex(regex_, flags_); + updateRegexMatches(str_.toString(), regex_, flags_); + if (!regexMatches || index_ < 0 || index_ >= regexMatches.length) + ret.set_string(""); + else + ret.set_string(regexMatches[index_]); + }; + SysExps.prototype.infinity = function (ret) + { + ret.set_float(Infinity); + }; + SysExps.prototype.setbit = function (ret, n, b, v) + { + n = n | 0; + b = b | 0; + v = (v !== 0 ? 1 : 0); + ret.set_int((n & ~(1 << b)) | (v << b)); + }; + SysExps.prototype.togglebit = function (ret, n, b) + { + n = n | 0; + b = b | 0; + ret.set_int(n ^ (1 << b)); + }; + SysExps.prototype.getbit = function (ret, n, b) + { + n = n | 0; + b = b | 0; + ret.set_int((n & (1 << b)) ? 1 : 0); + }; + SysExps.prototype.originalwindowwidth = function (ret) + { + ret.set_int(this.runtime.original_width); + }; + SysExps.prototype.originalwindowheight = function (ret) + { + ret.set_int(this.runtime.original_height); + }; + sysProto.exps = new SysExps(); + sysProto.runWaits = function () + { + var i, j, len, w, k, s, ss; + var evinfo = this.runtime.getCurrentEventStack(); + for (i = 0, len = this.waits.length; i < len; i++) + { + w = this.waits[i]; + if (w.time === -1) // signalled wait + { + if (!w.signalled) + continue; // not yet signalled + } + else // timer wait + { + if (w.time > this.runtime.kahanTime.sum) + continue; // timer not yet expired + } + evinfo.current_event = w.ev; + evinfo.actindex = w.actindex; + evinfo.cndindex = 0; + for (k in w.sols) + { + if (w.sols.hasOwnProperty(k)) + { + s = this.runtime.types_by_index[parseInt(k, 10)].getCurrentSol(); + ss = w.sols[k]; + s.select_all = ss.sa; + cr.shallowAssignArray(s.instances, ss.insts); + freeSolStateObject(ss); + } + } + w.ev.resume_actions_and_subevents(); + this.runtime.clearSol(w.solModifiers); + w.deleteme = true; + } + for (i = 0, j = 0, len = this.waits.length; i < len; i++) + { + w = this.waits[i]; + this.waits[j] = w; + if (w.deleteme) + freeWaitObject(w); + else + j++; + } + cr.truncateArray(this.waits, j); + }; +}()); +; +(function () { + cr.add_common_aces = function (m, pluginProto) + { + var singleglobal_ = m[1]; + var position_aces = m[3]; + var size_aces = m[4]; + var angle_aces = m[5]; + var appearance_aces = m[6]; + var zorder_aces = m[7]; + var effects_aces = m[8]; + if (!pluginProto.cnds) + pluginProto.cnds = {}; + if (!pluginProto.acts) + pluginProto.acts = {}; + if (!pluginProto.exps) + pluginProto.exps = {}; + var cnds = pluginProto.cnds; + var acts = pluginProto.acts; + var exps = pluginProto.exps; + if (position_aces) + { + cnds.CompareX = function (cmp, x) + { + return cr.do_cmp(this.x, cmp, x); + }; + cnds.CompareY = function (cmp, y) + { + return cr.do_cmp(this.y, cmp, y); + }; + cnds.IsOnScreen = function () + { + var layer = this.layer; + this.update_bbox(); + var bbox = this.bbox; + return !(bbox.right < layer.viewLeft || bbox.bottom < layer.viewTop || bbox.left > layer.viewRight || bbox.top > layer.viewBottom); + }; + cnds.IsOutsideLayout = function () + { + this.update_bbox(); + var bbox = this.bbox; + var layout = this.runtime.running_layout; + return (bbox.right < 0 || bbox.bottom < 0 || bbox.left > layout.width || bbox.top > layout.height); + }; + cnds.PickDistance = function (which, x, y) + { + var sol = this.getCurrentSol(); + var instances = sol.getObjects(); + if (!instances.length) + return false; + var inst = instances[0]; + var pickme = inst; + var dist = cr.distanceTo(inst.x, inst.y, x, y); + var i, len, d; + for (i = 1, len = instances.length; i < len; i++) + { + inst = instances[i]; + d = cr.distanceTo(inst.x, inst.y, x, y); + if ((which === 0 && d < dist) || (which === 1 && d > dist)) + { + dist = d; + pickme = inst; + } + } + sol.pick_one(pickme); + return true; + }; + acts.SetX = function (x) + { + if (this.x !== x) + { + this.x = x; + this.set_bbox_changed(); + } + }; + acts.SetY = function (y) + { + if (this.y !== y) + { + this.y = y; + this.set_bbox_changed(); + } + }; + acts.SetPos = function (x, y) + { + if (this.x !== x || this.y !== y) + { + this.x = x; + this.y = y; + this.set_bbox_changed(); + } + }; + acts.SetPosToObject = function (obj, imgpt) + { + var inst = obj.getPairedInstance(this); + if (!inst) + return; + var newx, newy; + if (inst.getImagePoint) + { + newx = inst.getImagePoint(imgpt, true); + newy = inst.getImagePoint(imgpt, false); + } + else + { + newx = inst.x; + newy = inst.y; + } + if (this.x !== newx || this.y !== newy) + { + this.x = newx; + this.y = newy; + this.set_bbox_changed(); + } + }; + acts.MoveForward = function (dist) + { + if (dist !== 0) + { + this.x += Math.cos(this.angle) * dist; + this.y += Math.sin(this.angle) * dist; + this.set_bbox_changed(); + } + }; + acts.MoveAtAngle = function (a, dist) + { + if (dist !== 0) + { + this.x += Math.cos(cr.to_radians(a)) * dist; + this.y += Math.sin(cr.to_radians(a)) * dist; + this.set_bbox_changed(); + } + }; + exps.X = function (ret) + { + ret.set_float(this.x); + }; + exps.Y = function (ret) + { + ret.set_float(this.y); + }; + exps.dt = function (ret) + { + ret.set_float(this.runtime.getDt(this)); + }; + } + if (size_aces) + { + cnds.CompareWidth = function (cmp, w) + { + return cr.do_cmp(this.width, cmp, w); + }; + cnds.CompareHeight = function (cmp, h) + { + return cr.do_cmp(this.height, cmp, h); + }; + acts.SetWidth = function (w) + { + if (this.width !== w) + { + this.width = w; + this.set_bbox_changed(); + } + }; + acts.SetHeight = function (h) + { + if (this.height !== h) + { + this.height = h; + this.set_bbox_changed(); + } + }; + acts.SetSize = function (w, h) + { + if (this.width !== w || this.height !== h) + { + this.width = w; + this.height = h; + this.set_bbox_changed(); + } + }; + exps.Width = function (ret) + { + ret.set_float(this.width); + }; + exps.Height = function (ret) + { + ret.set_float(this.height); + }; + exps.BBoxLeft = function (ret) + { + this.update_bbox(); + ret.set_float(this.bbox.left); + }; + exps.BBoxTop = function (ret) + { + this.update_bbox(); + ret.set_float(this.bbox.top); + }; + exps.BBoxRight = function (ret) + { + this.update_bbox(); + ret.set_float(this.bbox.right); + }; + exps.BBoxBottom = function (ret) + { + this.update_bbox(); + ret.set_float(this.bbox.bottom); + }; + } + if (angle_aces) + { + cnds.AngleWithin = function (within, a) + { + return cr.angleDiff(this.angle, cr.to_radians(a)) <= cr.to_radians(within); + }; + cnds.IsClockwiseFrom = function (a) + { + return cr.angleClockwise(this.angle, cr.to_radians(a)); + }; + cnds.IsBetweenAngles = function (a, b) + { + var lower = cr.to_clamped_radians(a); + var upper = cr.to_clamped_radians(b); + var angle = cr.clamp_angle(this.angle); + var obtuse = (!cr.angleClockwise(upper, lower)); + if (obtuse) + return !(!cr.angleClockwise(angle, lower) && cr.angleClockwise(angle, upper)); + else + return cr.angleClockwise(angle, lower) && !cr.angleClockwise(angle, upper); + }; + acts.SetAngle = function (a) + { + var newangle = cr.to_radians(cr.clamp_angle_degrees(a)); + if (isNaN(newangle)) + return; + if (this.angle !== newangle) + { + this.angle = newangle; + this.set_bbox_changed(); + } + }; + acts.RotateClockwise = function (a) + { + if (a !== 0 && !isNaN(a)) + { + this.angle += cr.to_radians(a); + this.angle = cr.clamp_angle(this.angle); + this.set_bbox_changed(); + } + }; + acts.RotateCounterclockwise = function (a) + { + if (a !== 0 && !isNaN(a)) + { + this.angle -= cr.to_radians(a); + this.angle = cr.clamp_angle(this.angle); + this.set_bbox_changed(); + } + }; + acts.RotateTowardAngle = function (amt, target) + { + var newangle = cr.angleRotate(this.angle, cr.to_radians(target), cr.to_radians(amt)); + if (isNaN(newangle)) + return; + if (this.angle !== newangle) + { + this.angle = newangle; + this.set_bbox_changed(); + } + }; + acts.RotateTowardPosition = function (amt, x, y) + { + var dx = x - this.x; + var dy = y - this.y; + var target = Math.atan2(dy, dx); + var newangle = cr.angleRotate(this.angle, target, cr.to_radians(amt)); + if (isNaN(newangle)) + return; + if (this.angle !== newangle) + { + this.angle = newangle; + this.set_bbox_changed(); + } + }; + acts.SetTowardPosition = function (x, y) + { + var dx = x - this.x; + var dy = y - this.y; + var newangle = Math.atan2(dy, dx); + if (isNaN(newangle)) + return; + if (this.angle !== newangle) + { + this.angle = newangle; + this.set_bbox_changed(); + } + }; + exps.Angle = function (ret) + { + ret.set_float(cr.to_clamped_degrees(this.angle)); + }; + } + if (!singleglobal_) + { + cnds.CompareInstanceVar = function (iv, cmp, val) + { + return cr.do_cmp(this.instance_vars[iv], cmp, val); + }; + cnds.IsBoolInstanceVarSet = function (iv) + { + return this.instance_vars[iv]; + }; + cnds.PickInstVarHiLow = function (which, iv) + { + var sol = this.getCurrentSol(); + var instances = sol.getObjects(); + if (!instances.length) + return false; + var inst = instances[0]; + var pickme = inst; + var val = inst.instance_vars[iv]; + var i, len, v; + for (i = 1, len = instances.length; i < len; i++) + { + inst = instances[i]; + v = inst.instance_vars[iv]; + if ((which === 0 && v < val) || (which === 1 && v > val)) + { + val = v; + pickme = inst; + } + } + sol.pick_one(pickme); + return true; + }; + cnds.PickByUID = function (u) + { + var i, len, j, inst, families, instances, sol; + var cnd = this.runtime.getCurrentCondition(); + if (cnd.inverted) + { + sol = this.getCurrentSol(); + if (sol.select_all) + { + sol.select_all = false; + cr.clearArray(sol.instances); + cr.clearArray(sol.else_instances); + instances = this.instances; + for (i = 0, len = instances.length; i < len; i++) + { + inst = instances[i]; + if (inst.uid === u) + sol.else_instances.push(inst); + else + sol.instances.push(inst); + } + this.applySolToContainer(); + return !!sol.instances.length; + } + else + { + for (i = 0, j = 0, len = sol.instances.length; i < len; i++) + { + inst = sol.instances[i]; + sol.instances[j] = inst; + if (inst.uid === u) + { + sol.else_instances.push(inst); + } + else + j++; + } + cr.truncateArray(sol.instances, j); + this.applySolToContainer(); + return !!sol.instances.length; + } + } + else + { + inst = this.runtime.getObjectByUID(u); + if (!inst) + return false; + sol = this.getCurrentSol(); + if (!sol.select_all && sol.instances.indexOf(inst) === -1) + return false; // not picked + if (this.is_family) + { + families = inst.type.families; + for (i = 0, len = families.length; i < len; i++) + { + if (families[i] === this) + { + sol.pick_one(inst); + this.applySolToContainer(); + return true; + } + } + } + else if (inst.type === this) + { + sol.pick_one(inst); + this.applySolToContainer(); + return true; + } + return false; + } + }; + cnds.OnCreated = function () + { + return true; + }; + cnds.OnDestroyed = function () + { + return true; + }; + acts.SetInstanceVar = function (iv, val) + { + var myinstvars = this.instance_vars; + if (cr.is_number(myinstvars[iv])) + { + if (cr.is_number(val)) + myinstvars[iv] = val; + else + myinstvars[iv] = parseFloat(val); + } + else if (cr.is_string(myinstvars[iv])) + { + if (cr.is_string(val)) + myinstvars[iv] = val; + else + myinstvars[iv] = val.toString(); + } + else +; + }; + acts.AddInstanceVar = function (iv, val) + { + var myinstvars = this.instance_vars; + if (cr.is_number(myinstvars[iv])) + { + if (cr.is_number(val)) + myinstvars[iv] += val; + else + myinstvars[iv] += parseFloat(val); + } + else if (cr.is_string(myinstvars[iv])) + { + if (cr.is_string(val)) + myinstvars[iv] += val; + else + myinstvars[iv] += val.toString(); + } + else +; + }; + acts.SubInstanceVar = function (iv, val) + { + var myinstvars = this.instance_vars; + if (cr.is_number(myinstvars[iv])) + { + if (cr.is_number(val)) + myinstvars[iv] -= val; + else + myinstvars[iv] -= parseFloat(val); + } + else +; + }; + acts.SetBoolInstanceVar = function (iv, val) + { + this.instance_vars[iv] = val ? 1 : 0; + }; + acts.ToggleBoolInstanceVar = function (iv) + { + this.instance_vars[iv] = 1 - this.instance_vars[iv]; + }; + acts.Destroy = function () + { + this.runtime.DestroyInstance(this); + }; + if (!acts.LoadFromJsonString) + { + acts.LoadFromJsonString = function (str_) + { + var o, i, len, binst; + try { + o = JSON.parse(str_); + } + catch (e) { + return; + } + this.runtime.loadInstanceFromJSON(this, o, true); + if (this.afterLoad) + this.afterLoad(); + if (this.behavior_insts) + { + for (i = 0, len = this.behavior_insts.length; i < len; ++i) + { + binst = this.behavior_insts[i]; + if (binst.afterLoad) + binst.afterLoad(); + } + } + }; + } + exps.Count = function (ret) + { + var count = ret.object_class.instances.length; + var i, len, inst; + for (i = 0, len = this.runtime.createRow.length; i < len; i++) + { + inst = this.runtime.createRow[i]; + if (ret.object_class.is_family) + { + if (inst.type.families.indexOf(ret.object_class) >= 0) + count++; + } + else + { + if (inst.type === ret.object_class) + count++; + } + } + ret.set_int(count); + }; + exps.PickedCount = function (ret) + { + ret.set_int(ret.object_class.getCurrentSol().getObjects().length); + }; + exps.UID = function (ret) + { + ret.set_int(this.uid); + }; + exps.IID = function (ret) + { + ret.set_int(this.get_iid()); + }; + if (!exps.AsJSON) + { + exps.AsJSON = function (ret) + { + ret.set_string(JSON.stringify(this.runtime.saveInstanceToJSON(this, true))); + }; + } + } + if (appearance_aces) + { + cnds.IsVisible = function () + { + return this.visible; + }; + acts.SetVisible = function (v) + { + if (!v !== !this.visible) + { + this.visible = !!v; + this.runtime.redraw = true; + } + }; + cnds.CompareOpacity = function (cmp, x) + { + return cr.do_cmp(cr.round6dp(this.opacity * 100), cmp, x); + }; + acts.SetOpacity = function (x) + { + var new_opacity = x / 100.0; + if (new_opacity < 0) + new_opacity = 0; + else if (new_opacity > 1) + new_opacity = 1; + if (new_opacity !== this.opacity) + { + this.opacity = new_opacity; + this.runtime.redraw = true; + } + }; + exps.Opacity = function (ret) + { + ret.set_float(cr.round6dp(this.opacity * 100.0)); + }; + } + if (zorder_aces) + { + cnds.IsOnLayer = function (layer_) + { + if (!layer_) + return false; + return this.layer === layer_; + }; + cnds.PickTopBottom = function (which_) + { + var sol = this.getCurrentSol(); + var instances = sol.getObjects(); + if (!instances.length) + return false; + var inst = instances[0]; + var pickme = inst; + var i, len; + for (i = 1, len = instances.length; i < len; i++) + { + inst = instances[i]; + if (which_ === 0) + { + if (inst.layer.index > pickme.layer.index || (inst.layer.index === pickme.layer.index && inst.get_zindex() > pickme.get_zindex())) + { + pickme = inst; + } + } + else + { + if (inst.layer.index < pickme.layer.index || (inst.layer.index === pickme.layer.index && inst.get_zindex() < pickme.get_zindex())) + { + pickme = inst; + } + } + } + sol.pick_one(pickme); + return true; + }; + acts.MoveToTop = function () + { + var layer = this.layer; + var layer_instances = layer.instances; + if (layer_instances.length && layer_instances[layer_instances.length - 1] === this) + return; // is already at top + layer.removeFromInstanceList(this, false); + layer.appendToInstanceList(this, false); + this.runtime.redraw = true; + }; + acts.MoveToBottom = function () + { + var layer = this.layer; + var layer_instances = layer.instances; + if (layer_instances.length && layer_instances[0] === this) + return; // is already at bottom + layer.removeFromInstanceList(this, false); + layer.prependToInstanceList(this, false); + this.runtime.redraw = true; + }; + acts.MoveToLayer = function (layerMove) + { + if (!layerMove || layerMove == this.layer) + return; + this.layer.removeFromInstanceList(this, true); + this.layer = layerMove; + layerMove.appendToInstanceList(this, true); + this.runtime.redraw = true; + }; + acts.ZMoveToObject = function (where_, obj_) + { + var isafter = (where_ === 0); + if (!obj_) + return; + var other = obj_.getFirstPicked(this); + if (!other || other.uid === this.uid) + return; + if (this.layer.index !== other.layer.index) + { + this.layer.removeFromInstanceList(this, true); + this.layer = other.layer; + other.layer.appendToInstanceList(this, true); + } + this.layer.moveInstanceAdjacent(this, other, isafter); + this.runtime.redraw = true; + }; + exps.LayerNumber = function (ret) + { + ret.set_int(this.layer.number); + }; + exps.LayerName = function (ret) + { + ret.set_string(this.layer.name); + }; + exps.ZIndex = function (ret) + { + ret.set_int(this.get_zindex()); + }; + } + if (effects_aces) + { + acts.SetEffectEnabled = function (enable_, effectname_) + { + if (!this.runtime.glwrap) + return; + var i = this.type.getEffectIndexByName(effectname_); + if (i < 0) + return; // effect name not found + var enable = (enable_ === 1); + if (this.active_effect_flags[i] === enable) + return; // no change + this.active_effect_flags[i] = enable; + this.updateActiveEffects(); + this.runtime.redraw = true; + }; + acts.SetEffectParam = function (effectname_, index_, value_) + { + if (!this.runtime.glwrap) + return; + var i = this.type.getEffectIndexByName(effectname_); + if (i < 0) + return; // effect name not found + var et = this.type.effect_types[i]; + var params = this.effect_params[i]; + index_ = Math.floor(index_); + if (index_ < 0 || index_ >= params.length) + return; // effect index out of bounds + if (this.runtime.glwrap.getProgramParameterType(et.shaderindex, index_) === 1) + value_ /= 100.0; + if (params[index_] === value_) + return; // no change + params[index_] = value_; + if (et.active) + this.runtime.redraw = true; + }; + } + }; + cr.set_bbox_changed = function () + { + this.bbox_changed = true; // will recreate next time box requested + this.cell_changed = true; + this.type.any_cell_changed = true; // avoid unnecessary updateAllBBox() calls + this.runtime.redraw = true; // assume runtime needs to redraw + var i, len, callbacks = this.bbox_changed_callbacks; + for (i = 0, len = callbacks.length; i < len; ++i) + { + callbacks[i](this); + } + if (this.layer.useRenderCells) + this.update_bbox(); + }; + cr.add_bbox_changed_callback = function (f) + { + if (f) + { + this.bbox_changed_callbacks.push(f); + } + }; + cr.update_bbox = function () + { + if (!this.bbox_changed) + return; // bounding box not changed + var bbox = this.bbox; + var bquad = this.bquad; + bbox.set(this.x, this.y, this.x + this.width, this.y + this.height); + bbox.offset(-this.hotspotX * this.width, -this.hotspotY * this.height); + if (!this.angle) + { + bquad.set_from_rect(bbox); // make bounding quad from box + } + else + { + bbox.offset(-this.x, -this.y); // translate to origin + bquad.set_from_rotated_rect(bbox, this.angle); // rotate around origin + bquad.offset(this.x, this.y); // translate back to original position + bquad.bounding_box(bbox); + } + bbox.normalize(); + this.bbox_changed = false; // bounding box up to date + this.update_render_cell(); + }; + var tmprc = new cr.rect(0, 0, 0, 0); + cr.update_render_cell = function () + { + if (!this.layer.useRenderCells) + return; + var mygrid = this.layer.render_grid; + var bbox = this.bbox; + tmprc.set(mygrid.XToCell(bbox.left), mygrid.YToCell(bbox.top), mygrid.XToCell(bbox.right), mygrid.YToCell(bbox.bottom)); + if (this.rendercells.equals(tmprc)) + return; + if (this.rendercells.right < this.rendercells.left) + mygrid.update(this, null, tmprc); // first insertion with invalid rect: don't provide old range + else + mygrid.update(this, this.rendercells, tmprc); + this.rendercells.copy(tmprc); + this.layer.render_list_stale = true; + }; + cr.update_collision_cell = function () + { + if (!this.cell_changed || !this.collisionsEnabled) + return; + this.update_bbox(); + var mygrid = this.type.collision_grid; + var bbox = this.bbox; + tmprc.set(mygrid.XToCell(bbox.left), mygrid.YToCell(bbox.top), mygrid.XToCell(bbox.right), mygrid.YToCell(bbox.bottom)); + if (this.collcells.equals(tmprc)) + return; + if (this.collcells.right < this.collcells.left) + mygrid.update(this, null, tmprc); // first insertion with invalid rect: don't provide old range + else + mygrid.update(this, this.collcells, tmprc); + this.collcells.copy(tmprc); + this.cell_changed = false; + }; + cr.inst_contains_pt = function (x, y) + { + if (!this.bbox.contains_pt(x, y)) + return false; + if (!this.bquad.contains_pt(x, y)) + return false; + if (this.tilemap_exists) + return this.testPointOverlapTile(x, y); + if (this.collision_poly && !this.collision_poly.is_empty()) + { + this.collision_poly.cache_poly(this.width, this.height, this.angle); + return this.collision_poly.contains_pt(x - this.x, y - this.y); + } + else + return true; + }; + cr.inst_get_iid = function () + { + this.type.updateIIDs(); + return this.iid; + }; + cr.inst_get_zindex = function () + { + this.layer.updateZIndices(); + return this.zindex; + }; + cr.inst_updateActiveEffects = function () + { + cr.clearArray(this.active_effect_types); + var i, len, et; + var preserves_opaqueness = true; + for (i = 0, len = this.active_effect_flags.length; i < len; i++) + { + if (this.active_effect_flags[i]) + { + et = this.type.effect_types[i]; + this.active_effect_types.push(et); + if (!et.preservesOpaqueness) + preserves_opaqueness = false; + } + } + this.uses_shaders = !!this.active_effect_types.length; + this.shaders_preserve_opaqueness = preserves_opaqueness; + }; + cr.inst_toString = function () + { + return "Inst" + this.puid; + }; + cr.type_getFirstPicked = function (frominst) + { + if (frominst && frominst.is_contained && frominst.type != this) + { + var i, len, s; + for (i = 0, len = frominst.siblings.length; i < len; i++) + { + s = frominst.siblings[i]; + if (s.type == this) + return s; + } + } + var instances = this.getCurrentSol().getObjects(); + if (instances.length) + return instances[0]; + else + return null; + }; + cr.type_getPairedInstance = function (inst) + { + var instances = this.getCurrentSol().getObjects(); + if (instances.length) + return instances[inst.get_iid() % instances.length]; + else + return null; + }; + cr.type_updateIIDs = function () + { + if (!this.stale_iids || this.is_family) + return; // up to date or is family - don't want family to overwrite IIDs + var i, len; + for (i = 0, len = this.instances.length; i < len; i++) + this.instances[i].iid = i; + var next_iid = i; + var createRow = this.runtime.createRow; + for (i = 0, len = createRow.length; i < len; ++i) + { + if (createRow[i].type === this) + createRow[i].iid = next_iid++; + } + this.stale_iids = false; + }; + cr.type_getInstanceByIID = function (i) + { + if (i < this.instances.length) + return this.instances[i]; + i -= this.instances.length; + var createRow = this.runtime.createRow; + var j, lenj; + for (j = 0, lenj = createRow.length; j < lenj; ++j) + { + if (createRow[j].type === this) + { + if (i === 0) + return createRow[j]; + --i; + } + } +; + return null; + }; + cr.type_getCurrentSol = function () + { + return this.solstack[this.cur_sol]; + }; + cr.type_pushCleanSol = function () + { + this.cur_sol++; + if (this.cur_sol === this.solstack.length) + { + this.solstack.push(new cr.selection(this)); + } + else + { + this.solstack[this.cur_sol].select_all = true; // else clear next SOL + cr.clearArray(this.solstack[this.cur_sol].else_instances); + } + }; + cr.type_pushCopySol = function () + { + this.cur_sol++; + if (this.cur_sol === this.solstack.length) + this.solstack.push(new cr.selection(this)); + var clonesol = this.solstack[this.cur_sol]; + var prevsol = this.solstack[this.cur_sol - 1]; + if (prevsol.select_all) + { + clonesol.select_all = true; + } + else + { + clonesol.select_all = false; + cr.shallowAssignArray(clonesol.instances, prevsol.instances); + } + cr.clearArray(clonesol.else_instances); + }; + cr.type_popSol = function () + { +; + this.cur_sol--; + }; + cr.type_getBehaviorByName = function (behname) + { + var i, len, j, lenj, f, index = 0; + if (!this.is_family) + { + for (i = 0, len = this.families.length; i < len; i++) + { + f = this.families[i]; + for (j = 0, lenj = f.behaviors.length; j < lenj; j++) + { + if (behname === f.behaviors[j].name) + { + this.extra["lastBehIndex"] = index; + return f.behaviors[j]; + } + index++; + } + } + } + for (i = 0, len = this.behaviors.length; i < len; i++) { + if (behname === this.behaviors[i].name) + { + this.extra["lastBehIndex"] = index; + return this.behaviors[i]; + } + index++; + } + return null; + }; + cr.type_getBehaviorIndexByName = function (behname) + { + var b = this.getBehaviorByName(behname); + if (b) + return this.extra["lastBehIndex"]; + else + return -1; + }; + cr.type_getEffectIndexByName = function (name_) + { + var i, len; + for (i = 0, len = this.effect_types.length; i < len; i++) + { + if (this.effect_types[i].name === name_) + return i; + } + return -1; + }; + cr.type_applySolToContainer = function () + { + if (!this.is_contained || this.is_family) + return; + var i, len, j, lenj, t, sol, sol2; + this.updateIIDs(); + sol = this.getCurrentSol(); + var select_all = sol.select_all; + var es = this.runtime.getCurrentEventStack(); + var orblock = es && es.current_event && es.current_event.orblock; + for (i = 0, len = this.container.length; i < len; i++) + { + t = this.container[i]; + if (t === this) + continue; + t.updateIIDs(); + sol2 = t.getCurrentSol(); + sol2.select_all = select_all; + if (!select_all) + { + cr.clearArray(sol2.instances); + for (j = 0, lenj = sol.instances.length; j < lenj; ++j) + sol2.instances[j] = t.getInstanceByIID(sol.instances[j].iid); + if (orblock) + { + cr.clearArray(sol2.else_instances); + for (j = 0, lenj = sol.else_instances.length; j < lenj; ++j) + sol2.else_instances[j] = t.getInstanceByIID(sol.else_instances[j].iid); + } + } + } + }; + cr.type_toString = function () + { + return "Type" + this.sid; + }; + cr.do_cmp = function (x, cmp, y) + { + if (typeof x === "undefined" || typeof y === "undefined") + return false; + switch (cmp) + { + case 0: // equal + return x === y; + case 1: // not equal + return x !== y; + case 2: // less + return x < y; + case 3: // less/equal + return x <= y; + case 4: // greater + return x > y; + case 5: // greater/equal + return x >= y; + default: +; + return false; + } + }; +})(); +cr.shaders = {}; +cr.shaders["difference"] = {src: ["varying mediump vec2 vTex;", +"uniform lowp sampler2D samplerFront;", +"uniform lowp sampler2D samplerBack;", +"uniform mediump vec2 destStart;", +"uniform mediump vec2 destEnd;", +"void main(void)", +"{", +"lowp vec4 front = texture2D(samplerFront, vTex);", +"front.rgb /= front.a;", +"lowp vec4 back = texture2D(samplerBack, mix(destStart, destEnd, vTex));", +"back.rgb /= back.a;", +"front.rgb = (max(front.rgb, back.rgb) - min(front.rgb, back.rgb)) * front.a;", +"gl_FragColor = front;", +"}" +].join("\n"), + extendBoxHorizontal: 0, + extendBoxVertical: 0, + crossSampling: true, + preservesOpaqueness: false, + animated: false, + parameters: [] } +cr.shaders["replacecolor"] = {src: ["varying mediump vec2 vTex;", +"uniform lowp sampler2D samplerFront;", +"uniform mediump float rsource;", +"uniform mediump float gsource;", +"uniform mediump float bsource;", +"uniform mediump float rdest;", +"uniform mediump float gdest;", +"uniform mediump float bdest;", +"uniform lowp float tolerance;", +"void main(void)", +"{", +"lowp vec4 front = texture2D(samplerFront, vTex);", +"lowp float a = front.a;", +"if (a != 0.0)", +"front.rgb /= a;", +"lowp float diff = length(front.rgb - vec3(rsource, gsource, bsource) / 255.0);", +"if (diff <= tolerance)", +"{", +"front.rgb = mix(front.rgb, vec3(rdest, gdest, bdest) / 255.0, 1.0 - diff / tolerance);", +"}", +"front.rgb *= a;", +"gl_FragColor = front;", +"}" +].join("\n"), + extendBoxHorizontal: 0, + extendBoxVertical: 0, + crossSampling: false, + preservesOpaqueness: true, + animated: false, + parameters: [["rsource", 0, 0], ["gsource", 0, 0], ["bsource", 0, 0], ["rdest", 0, 0], ["gdest", 0, 0], ["bdest", 0, 0], ["tolerance", 0, 1]] } +; +; +cr.plugins_.AJAX = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var isNWjs = false; + var path = null; + var fs = null; + var nw_appfolder = ""; + var pluginProto = cr.plugins_.AJAX.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + this.lastData = ""; + this.curTag = ""; + this.progress = 0; + this.timeout = -1; + isNWjs = this.runtime.isNWjs; + if (isNWjs) + { + path = require("path"); + fs = require("fs"); + var process = window["process"] || nw["process"]; + nw_appfolder = path["dirname"](process["execPath"]) + "\\"; + } + }; + var instanceProto = pluginProto.Instance.prototype; + var theInstance = null; + window["C2_AJAX_DCSide"] = function (event_, tag_, param_) + { + if (!theInstance) + return; + if (event_ === "success") + { + theInstance.curTag = tag_; + theInstance.lastData = param_; + theInstance.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnAnyComplete, theInstance); + theInstance.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnComplete, theInstance); + } + else if (event_ === "error") + { + theInstance.curTag = tag_; + theInstance.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnAnyError, theInstance); + theInstance.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnError, theInstance); + } + else if (event_ === "progress") + { + theInstance.progress = param_; + theInstance.curTag = tag_; + theInstance.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnProgress, theInstance); + } + }; + instanceProto.onCreate = function() + { + theInstance = this; + }; + instanceProto.saveToJSON = function () + { + return { "lastData": this.lastData }; + }; + instanceProto.loadFromJSON = function (o) + { + this.lastData = o["lastData"]; + this.curTag = ""; + this.progress = 0; + }; + var next_request_headers = {}; + var next_override_mime = ""; + instanceProto.doRequest = function (tag_, url_, method_, data_) + { + if (this.runtime.isDirectCanvas) + { + AppMobi["webview"]["execute"]('C2_AJAX_WebSide("' + tag_ + '", "' + url_ + '", "' + method_ + '", ' + (data_ ? '"' + data_ + '"' : "null") + ');'); + return; + } + var self = this; + var request = null; + var doErrorFunc = function () + { + self.curTag = tag_; + self.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnAnyError, self); + self.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnError, self); + }; + var errorFunc = function () + { + if (isNWjs) + { + var filepath = nw_appfolder + url_; + if (fs["existsSync"](filepath)) + { + fs["readFile"](filepath, {"encoding": "utf8"}, function (err, data) { + if (err) + { + doErrorFunc(); + return; + } + self.curTag = tag_; + self.lastData = data.replace(/\r\n/g, "\n") + self.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnAnyComplete, self); + self.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnComplete, self); + }); + } + else + doErrorFunc(); + } + else + doErrorFunc(); + }; + var progressFunc = function (e) + { + if (!e["lengthComputable"]) + return; + self.progress = e.loaded / e.total; + self.curTag = tag_; + self.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnProgress, self); + }; + try + { + if (this.runtime.isWindowsPhone8) + request = new ActiveXObject("Microsoft.XMLHTTP"); + else + request = new XMLHttpRequest(); + request.onreadystatechange = function() + { + if (request.readyState === 4) + { + self.curTag = tag_; + if (request.responseText) + self.lastData = request.responseText.replace(/\r\n/g, "\n"); // fix windows style line endings + else + self.lastData = ""; + if (request.status >= 400) + { + self.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnAnyError, self); + self.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnError, self); + } + else + { + if ((!isNWjs || self.lastData.length) && !(!isNWjs && request.status === 0 && !self.lastData.length)) + { + self.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnAnyComplete, self); + self.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnComplete, self); + } + } + } + }; + if (!this.runtime.isWindowsPhone8) + { + request.onerror = errorFunc; + request.ontimeout = errorFunc; + request.onabort = errorFunc; + request["onprogress"] = progressFunc; + } + request.open(method_, url_); + if (!this.runtime.isWindowsPhone8) + { + if (this.timeout >= 0 && typeof request["timeout"] !== "undefined") + request["timeout"] = this.timeout; + } + try { + request.responseType = "text"; + } catch (e) {} + if (data_) + { + if (request["setRequestHeader"] && !next_request_headers.hasOwnProperty("Content-Type")) + { + request["setRequestHeader"]("Content-Type", "application/x-www-form-urlencoded"); + } + } + if (request["setRequestHeader"]) + { + var p; + for (p in next_request_headers) + { + if (next_request_headers.hasOwnProperty(p)) + { + try { + request["setRequestHeader"](p, next_request_headers[p]); + } + catch (e) {} + } + } + next_request_headers = {}; + } + if (next_override_mime && request["overrideMimeType"]) + { + try { + request["overrideMimeType"](next_override_mime); + } + catch (e) {} + next_override_mime = ""; + } + if (data_) + request.send(data_); + else + request.send(); + } + catch (e) + { + errorFunc(); + } + }; + function Cnds() {}; + Cnds.prototype.OnComplete = function (tag) + { + return cr.equals_nocase(tag, this.curTag); + }; + Cnds.prototype.OnAnyComplete = function (tag) + { + return true; + }; + Cnds.prototype.OnError = function (tag) + { + return cr.equals_nocase(tag, this.curTag); + }; + Cnds.prototype.OnAnyError = function (tag) + { + return true; + }; + Cnds.prototype.OnProgress = function (tag) + { + return cr.equals_nocase(tag, this.curTag); + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.Request = function (tag_, url_) + { + var self = this; + if (this.runtime.isWKWebView && !this.runtime.isAbsoluteUrl(url_)) + { + this.runtime.fetchLocalFileViaCordovaAsText(url_, + function (str) + { + self.curTag = tag_; + self.lastData = str.replace(/\r\n/g, "\n"); // fix windows style line endings + self.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnAnyComplete, self); + self.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnComplete, self); + }, + function (err) + { + self.curTag = tag_; + self.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnAnyError, self); + self.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnError, self); + }); + } + else + { + this.doRequest(tag_, url_, "GET"); + } + }; + Acts.prototype.RequestFile = function (tag_, file_) + { + var self = this; + if (this.runtime.isWKWebView) + { + this.runtime.fetchLocalFileViaCordovaAsText(file_, + function (str) + { + self.curTag = tag_; + self.lastData = str.replace(/\r\n/g, "\n"); // fix windows style line endings + self.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnAnyComplete, self); + self.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnComplete, self); + }, + function (err) + { + self.curTag = tag_; + self.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnAnyError, self); + self.runtime.trigger(cr.plugins_.AJAX.prototype.cnds.OnError, self); + }); + } + else + { + this.doRequest(tag_, file_, "GET"); + } + }; + Acts.prototype.Post = function (tag_, url_, data_, method_) + { + this.doRequest(tag_, url_, method_, data_); + }; + Acts.prototype.SetTimeout = function (t) + { + this.timeout = t * 1000; + }; + Acts.prototype.SetHeader = function (n, v) + { + next_request_headers[n] = v; + }; + Acts.prototype.OverrideMIMEType = function (m) + { + next_override_mime = m; + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.LastData = function (ret) + { + ret.set_string(this.lastData); + }; + Exps.prototype.Progress = function (ret) + { + ret.set_float(this.progress); + }; + Exps.prototype.Tag = function (ret) + { + ret.set_string(this.curTag); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.Arr = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Arr.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + var arrCache = []; + function allocArray() + { + if (arrCache.length) + return arrCache.pop(); + else + return []; + }; + if (!Array.isArray) + { + Array.isArray = function (vArg) { + return Object.prototype.toString.call(vArg) === "[object Array]"; + }; + } + function freeArray(a) + { + var i, len; + for (i = 0, len = a.length; i < len; i++) + { + if (Array.isArray(a[i])) + freeArray(a[i]); + } + cr.clearArray(a); + arrCache.push(a); + }; + instanceProto.onCreate = function() + { + this.cx = this.properties[0]; + this.cy = this.properties[1]; + this.cz = this.properties[2]; + if (!this.recycled) + this.arr = allocArray(); + var a = this.arr; + a.length = this.cx; + var x, y, z; + for (x = 0; x < this.cx; x++) + { + if (!a[x]) + a[x] = allocArray(); + a[x].length = this.cy; + for (y = 0; y < this.cy; y++) + { + if (!a[x][y]) + a[x][y] = allocArray(); + a[x][y].length = this.cz; + for (z = 0; z < this.cz; z++) + a[x][y][z] = 0; + } + } + this.forX = []; + this.forY = []; + this.forZ = []; + this.forDepth = -1; + }; + instanceProto.onDestroy = function () + { + var x; + for (x = 0; x < this.cx; x++) + freeArray(this.arr[x]); // will recurse down and recycle other arrays + cr.clearArray(this.arr); + }; + instanceProto.at = function (x, y, z) + { + x = Math.floor(x); + y = Math.floor(y); + z = Math.floor(z); + if (isNaN(x) || x < 0 || x > this.cx - 1) + return 0; + if (isNaN(y) || y < 0 || y > this.cy - 1) + return 0; + if (isNaN(z) || z < 0 || z > this.cz - 1) + return 0; + return this.arr[x][y][z]; + }; + instanceProto.set = function (x, y, z, val) + { + x = Math.floor(x); + y = Math.floor(y); + z = Math.floor(z); + if (isNaN(x) || x < 0 || x > this.cx - 1) + return; + if (isNaN(y) || y < 0 || y > this.cy - 1) + return; + if (isNaN(z) || z < 0 || z > this.cz - 1) + return; + this.arr[x][y][z] = val; + }; + instanceProto.getAsJSON = function () + { + return JSON.stringify({ + "c2array": true, + "size": [this.cx, this.cy, this.cz], + "data": this.arr + }); + }; + instanceProto.saveToJSON = function () + { + return { + "size": [this.cx, this.cy, this.cz], + "data": this.arr + }; + }; + instanceProto.loadFromJSON = function (o) + { + var sz = o["size"]; + this.cx = sz[0]; + this.cy = sz[1]; + this.cz = sz[2]; + this.arr = o["data"]; + }; + instanceProto.setSize = function (w, h, d) + { + if (w < 0) w = 0; + if (h < 0) h = 0; + if (d < 0) d = 0; + if (this.cx === w && this.cy === h && this.cz === d) + return; // no change + this.cx = w; + this.cy = h; + this.cz = d; + var x, y, z; + var a = this.arr; + a.length = w; + for (x = 0; x < this.cx; x++) + { + if (cr.is_undefined(a[x])) + a[x] = allocArray(); + a[x].length = h; + for (y = 0; y < this.cy; y++) + { + if (cr.is_undefined(a[x][y])) + a[x][y] = allocArray(); + a[x][y].length = d; + for (z = 0; z < this.cz; z++) + { + if (cr.is_undefined(a[x][y][z])) + a[x][y][z] = 0; + } + } + } + }; + instanceProto.getForX = function () + { + if (this.forDepth >= 0 && this.forDepth < this.forX.length) + return this.forX[this.forDepth]; + else + return 0; + }; + instanceProto.getForY = function () + { + if (this.forDepth >= 0 && this.forDepth < this.forY.length) + return this.forY[this.forDepth]; + else + return 0; + }; + instanceProto.getForZ = function () + { + if (this.forDepth >= 0 && this.forDepth < this.forZ.length) + return this.forZ[this.forDepth]; + else + return 0; + }; + function Cnds() {}; + Cnds.prototype.CompareX = function (x, cmp, val) + { + return cr.do_cmp(this.at(x, 0, 0), cmp, val); + }; + Cnds.prototype.CompareXY = function (x, y, cmp, val) + { + return cr.do_cmp(this.at(x, y, 0), cmp, val); + }; + Cnds.prototype.CompareXYZ = function (x, y, z, cmp, val) + { + return cr.do_cmp(this.at(x, y, z), cmp, val); + }; + instanceProto.doForEachTrigger = function (current_event) + { + this.runtime.pushCopySol(current_event.solModifiers); + current_event.retrigger(); + this.runtime.popSol(current_event.solModifiers); + }; + Cnds.prototype.ArrForEach = function (dims) + { + var current_event = this.runtime.getCurrentEventStack().current_event; + this.forDepth++; + var forDepth = this.forDepth; + if (forDepth === this.forX.length) + { + this.forX.push(0); + this.forY.push(0); + this.forZ.push(0); + } + else + { + this.forX[forDepth] = 0; + this.forY[forDepth] = 0; + this.forZ[forDepth] = 0; + } + switch (dims) { + case 0: + for (this.forX[forDepth] = 0; this.forX[forDepth] < this.cx; this.forX[forDepth]++) + { + for (this.forY[forDepth] = 0; this.forY[forDepth] < this.cy; this.forY[forDepth]++) + { + for (this.forZ[forDepth] = 0; this.forZ[forDepth] < this.cz; this.forZ[forDepth]++) + { + this.doForEachTrigger(current_event); + } + } + } + break; + case 1: + for (this.forX[forDepth] = 0; this.forX[forDepth] < this.cx; this.forX[forDepth]++) + { + for (this.forY[forDepth] = 0; this.forY[forDepth] < this.cy; this.forY[forDepth]++) + { + this.doForEachTrigger(current_event); + } + } + break; + case 2: + for (this.forX[forDepth] = 0; this.forX[forDepth] < this.cx; this.forX[forDepth]++) + { + this.doForEachTrigger(current_event); + } + break; + } + this.forDepth--; + return false; + }; + Cnds.prototype.CompareCurrent = function (cmp, val) + { + return cr.do_cmp(this.at(this.getForX(), this.getForY(), this.getForZ()), cmp, val); + }; + Cnds.prototype.Contains = function(val) + { + var x, y, z; + for (x = 0; x < this.cx; x++) + { + for (y = 0; y < this.cy; y++) + { + for (z = 0; z < this.cz; z++) + { + if (this.arr[x][y][z] === val) + return true; + } + } + } + return false; + }; + Cnds.prototype.IsEmpty = function () + { + return this.cx === 0 || this.cy === 0 || this.cz === 0; + }; + Cnds.prototype.CompareSize = function (axis, cmp, value) + { + var s = 0; + switch (axis) { + case 0: + s = this.cx; + break; + case 1: + s = this.cy; + break; + case 2: + s = this.cz; + break; + } + return cr.do_cmp(s, cmp, value); + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.Clear = function () + { + var x, y, z; + for (x = 0; x < this.cx; x++) + for (y = 0; y < this.cy; y++) + for (z = 0; z < this.cz; z++) + this.arr[x][y][z] = 0; + }; + Acts.prototype.SetSize = function (w, h, d) + { + this.setSize(w, h, d); + }; + Acts.prototype.SetX = function (x, val) + { + this.set(x, 0, 0, val); + }; + Acts.prototype.SetXY = function (x, y, val) + { + this.set(x, y, 0, val); + }; + Acts.prototype.SetXYZ = function (x, y, z, val) + { + this.set(x, y, z, val); + }; + Acts.prototype.Push = function (where, value, axis) + { + var x = 0, y = 0, z = 0; + var a = this.arr; + switch (axis) { + case 0: // X axis + if (where === 0) // back + { + x = a.length; + a.push(allocArray()); + } + else // front + { + x = 0; + a.unshift(allocArray()); + } + a[x].length = this.cy; + for ( ; y < this.cy; y++) + { + a[x][y] = allocArray(); + a[x][y].length = this.cz; + for (z = 0; z < this.cz; z++) + a[x][y][z] = value; + } + this.cx++; + break; + case 1: // Y axis + for ( ; x < this.cx; x++) + { + if (where === 0) // back + { + y = a[x].length; + a[x].push(allocArray()); + } + else // front + { + y = 0; + a[x].unshift(allocArray()); + } + a[x][y].length = this.cz; + for (z = 0; z < this.cz; z++) + a[x][y][z] = value; + } + this.cy++; + break; + case 2: // Z axis + for ( ; x < this.cx; x++) + { + for (y = 0; y < this.cy; y++) + { + if (where === 0) // back + { + a[x][y].push(value); + } + else // front + { + a[x][y].unshift(value); + } + } + } + this.cz++; + break; + } + }; + Acts.prototype.Pop = function (where, axis) + { + var x = 0, y = 0, z = 0; + var a = this.arr; + switch (axis) { + case 0: // X axis + if (this.cx === 0) + break; + if (where === 0) // back + { + freeArray(a.pop()); + } + else // front + { + freeArray(a.shift()); + } + this.cx--; + break; + case 1: // Y axis + if (this.cy === 0) + break; + for ( ; x < this.cx; x++) + { + if (where === 0) // back + { + freeArray(a[x].pop()); + } + else // front + { + freeArray(a[x].shift()); + } + } + this.cy--; + break; + case 2: // Z axis + if (this.cz === 0) + break; + for ( ; x < this.cx; x++) + { + for (y = 0; y < this.cy; y++) + { + if (where === 0) // back + { + a[x][y].pop(); + } + else // front + { + a[x][y].shift(); + } + } + } + this.cz--; + break; + } + }; + Acts.prototype.Reverse = function (axis) + { + var x = 0, y = 0, z = 0; + var a = this.arr; + if (this.cx === 0 || this.cy === 0 || this.cz === 0) + return; // no point reversing empty array + switch (axis) { + case 0: // X axis + a.reverse(); + break; + case 1: // Y axis + for ( ; x < this.cx; x++) + a[x].reverse(); + break; + case 2: // Z axis + for ( ; x < this.cx; x++) + for (y = 0; y < this.cy; y++) + a[x][y].reverse(); + break; + } + }; + function compareValues(va, vb) + { + if (cr.is_number(va) && cr.is_number(vb)) + return va - vb; + else + { + var sa = "" + va; + var sb = "" + vb; + if (sa < sb) + return -1; + else if (sa > sb) + return 1; + else + return 0; + } + } + Acts.prototype.Sort = function (axis) + { + var x = 0, y = 0, z = 0; + var a = this.arr; + if (this.cx === 0 || this.cy === 0 || this.cz === 0) + return; // no point sorting empty array + switch (axis) { + case 0: // X axis + a.sort(function (a, b) { + return compareValues(a[0][0], b[0][0]); + }); + break; + case 1: // Y axis + for ( ; x < this.cx; x++) + { + a[x].sort(function (a, b) { + return compareValues(a[0], b[0]); + }); + } + break; + case 2: // Z axis + for ( ; x < this.cx; x++) + { + for (y = 0; y < this.cy; y++) + { + a[x][y].sort(compareValues); + } + } + break; + } + }; + Acts.prototype.Delete = function (index, axis) + { + var x = 0, y = 0, z = 0; + index = Math.floor(index); + var a = this.arr; + if (index < 0) + return; + switch (axis) { + case 0: // X axis + if (index >= this.cx) + break; + freeArray(a[index]); + a.splice(index, 1); + this.cx--; + break; + case 1: // Y axis + if (index >= this.cy) + break; + for ( ; x < this.cx; x++) + { + freeArray(a[x][index]); + a[x].splice(index, 1); + } + this.cy--; + break; + case 2: // Z axis + if (index >= this.cz) + break; + for ( ; x < this.cx; x++) + { + for (y = 0; y < this.cy; y++) + { + a[x][y].splice(index, 1); + } + } + this.cz--; + break; + } + }; + Acts.prototype.Insert = function (value, index, axis) + { + var x = 0, y = 0, z = 0; + index = Math.floor(index); + var a = this.arr; + if (index < 0) + return; + switch (axis) { + case 0: // X axis + if (index > this.cx) + return; + x = index; + a.splice(x, 0, allocArray()); + a[x].length = this.cy; + for ( ; y < this.cy; y++) + { + a[x][y] = allocArray(); + a[x][y].length = this.cz; + for (z = 0; z < this.cz; z++) + a[x][y][z] = value; + } + this.cx++; + break; + case 1: // Y axis + if (index > this.cy) + return; + for ( ; x < this.cx; x++) + { + y = index; + a[x].splice(y, 0, allocArray()); + a[x][y].length = this.cz; + for (z = 0; z < this.cz; z++) + a[x][y][z] = value; + } + this.cy++; + break; + case 2: // Z axis + if (index > this.cz) + return; + for ( ; x < this.cx; x++) + { + for (y = 0; y < this.cy; y++) + { + a[x][y].splice(index, 0, value); + } + } + this.cz++; + break; + } + }; + Acts.prototype.JSONLoad = function (json_) + { + var o; + try { + o = JSON.parse(json_); + } + catch(e) { return; } + if (!o["c2array"]) // presumably not a c2array object + return; + var sz = o["size"]; + this.cx = sz[0]; + this.cy = sz[1]; + this.cz = sz[2]; + this.arr = o["data"]; + }; + Acts.prototype.JSONDownload = function (filename) + { + var a = document.createElement("a"); + if (typeof a.download === "undefined") + { + var str = 'data:text/html,' + encodeURIComponent("

Download link

"); + window.open(str); + } + else + { + var body = document.getElementsByTagName("body")[0]; + a.textContent = filename; + a.href = "data:application/json," + encodeURIComponent(this.getAsJSON()); + a.download = filename; + body.appendChild(a); + var clickEvent = document.createEvent("MouseEvent"); + clickEvent.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); + a.dispatchEvent(clickEvent); + body.removeChild(a); + } + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.At = function (ret, x, y_, z_) + { + var y = y_ || 0; + var z = z_ || 0; + ret.set_any(this.at(x, y, z)); + }; + Exps.prototype.Width = function (ret) + { + ret.set_int(this.cx); + }; + Exps.prototype.Height = function (ret) + { + ret.set_int(this.cy); + }; + Exps.prototype.Depth = function (ret) + { + ret.set_int(this.cz); + }; + Exps.prototype.CurX = function (ret) + { + ret.set_int(this.getForX()); + }; + Exps.prototype.CurY = function (ret) + { + ret.set_int(this.getForY()); + }; + Exps.prototype.CurZ = function (ret) + { + ret.set_int(this.getForZ()); + }; + Exps.prototype.CurValue = function (ret) + { + ret.set_any(this.at(this.getForX(), this.getForY(), this.getForZ())); + }; + Exps.prototype.Front = function (ret) + { + ret.set_any(this.at(0, 0, 0)); + }; + Exps.prototype.Back = function (ret) + { + ret.set_any(this.at(this.cx - 1, 0, 0)); + }; + Exps.prototype.IndexOf = function (ret, v) + { + for (var i = 0; i < this.cx; i++) + { + if (this.arr[i][0][0] === v) + { + ret.set_int(i); + return; + } + } + ret.set_int(-1); + }; + Exps.prototype.LastIndexOf = function (ret, v) + { + for (var i = this.cx - 1; i >= 0; i--) + { + if (this.arr[i][0][0] === v) + { + ret.set_int(i); + return; + } + } + ret.set_int(-1); + }; + Exps.prototype.AsJSON = function (ret) + { + ret.set_string(this.getAsJSON()); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.Audio = function (runtime) { + this.runtime = runtime; +}; +(function () { + var pluginProto = cr.plugins_.Audio.prototype; + pluginProto.Type = function (plugin) { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function () {}; + var audRuntime = null; + var audInst = null; + var audTag = ""; + var appPath = ""; // for Cordova only + var API_HTML5 = 0; + var API_WEBAUDIO = 1; + var API_CORDOVA = 2; + var API_APPMOBI = 3; + var api = API_HTML5; + var context = null; + var audioBuffers = []; // cache of buffers + var audioInstances = []; // cache of instances + var lastAudio = null; + var useOgg = false; // determined at create time + var timescale_mode = 0; + var silent = false; + var masterVolume = 1; + var listenerX = 0; + var listenerY = 0; + var isContextSuspended = false; + var panningModel = 1; // HRTF + var distanceModel = 1; // Inverse + var refDistance = 10; + var maxDistance = 10000; + var rolloffFactor = 1; + var micSource = null; + var micTag = ""; + var useNextTouchWorkaround = false; // heuristic in case play() does not return a promise and we have to guess if the play was blocked + var playOnNextInput = []; // C2AudioInstances with HTMLAudioElements to play on next input event + var playMusicAsSoundWorkaround = false; // play music tracks with Web Audio API + var hasPlayedDummyBuffer = false; // dummy buffer played to unblock AudioContext on some platforms + function addAudioToPlayOnNextInput(a) { + var i = playOnNextInput.indexOf(a); + if (i === -1) playOnNextInput.push(a); + } + function tryPlayAudioElement(a) { + var audioElem = a.instanceObject; + var playRet; + try { + playRet = audioElem.play(); + } catch (err) { + addAudioToPlayOnNextInput(a); + return; + } + if (playRet) { + playRet.catch(function (err) { + addAudioToPlayOnNextInput(a); + }); + } + else if (useNextTouchWorkaround && !audRuntime.isInUserInputEvent) { + addAudioToPlayOnNextInput(a); + } + } + function playQueuedAudio() { + var i, len, m, playRet; + if (!hasPlayedDummyBuffer && !isContextSuspended && context) { + playDummyBuffer(); + if (context["state"] === "running") hasPlayedDummyBuffer = true; + } + var tryPlay = playOnNextInput.slice(0); + cr.clearArray(playOnNextInput); + if (!silent) { + for (i = 0, len = tryPlay.length; i < len; ++i) { + m = tryPlay[i]; + if (!m.stopped && !m.is_paused) { + playRet = m.instanceObject.play(); + if (playRet) { + playRet.catch(function (err) { + addAudioToPlayOnNextInput(m); + }); + } + } + } + } + } + function playDummyBuffer() { + if (context["state"] === "suspended" && context["resume"]) + context["resume"](); + if (!context["createBuffer"]) return; + var buffer = context["createBuffer"](1, 220, 22050); + var source = context["createBufferSource"](); + source["buffer"] = buffer; + source["connect"](context["destination"]); + startSource(source); + } + document.addEventListener("pointerup", playQueuedAudio, true); + document.addEventListener("touchend", playQueuedAudio, true); + document.addEventListener("click", playQueuedAudio, true); + document.addEventListener("keydown", playQueuedAudio, true); + document.addEventListener("gamepadconnected", playQueuedAudio, true); + function dbToLinear(x) { + var v = dbToLinear_nocap(x); + if (!isFinite(v)) + v = 0; + if (v < 0) v = 0; + if (v > 1) v = 1; + return v; + } + function linearToDb(x) { + if (x < 0) x = 0; + if (x > 1) x = 1; + return linearToDb_nocap(x); + } + function dbToLinear_nocap(x) { + return Math.pow(10, x / 20); + } + function linearToDb_nocap(x) { + return (Math.log(x) / Math.log(10)) * 20; + } + var effects = {}; + function getDestinationForTag(tag) { + tag = tag.toLowerCase(); + if (effects.hasOwnProperty(tag)) { + if (effects[tag].length) return effects[tag][0].getInputNode(); + } + return context["destination"]; + } + function createGain() { + if (context["createGain"]) return context["createGain"](); + else return context["createGainNode"](); + } + function createDelay(d) { + if (context["createDelay"]) return context["createDelay"](d); + else return context["createDelayNode"](d); + } + function startSource(s, scheduledTime) { + if (s["start"]) s["start"](scheduledTime || 0); + else s["noteOn"](scheduledTime || 0); + } + function startSourceAt(s, x, d, scheduledTime) { + if (s["start"]) s["start"](scheduledTime || 0, x); + else s["noteGrainOn"](scheduledTime || 0, x, d - x); + } + function stopSource(s) { + try { + if (s["stop"]) s["stop"](0); + else s["noteOff"](0); + } catch (e) {} + } + function setAudioParam(ap, value, ramp, time) { + if (!ap) return; // iOS is missing some parameters + ap["cancelScheduledValues"](0); + if (time === 0) { + ap["value"] = value; + return; + } + var curTime = context["currentTime"]; + time += curTime; + switch (ramp) { + case 0: // step + ap["setValueAtTime"](value, time); + break; + case 1: // linear + ap["setValueAtTime"](ap["value"], curTime); // to set what to ramp from + ap["linearRampToValueAtTime"](value, time); + break; + case 2: // exponential + ap["setValueAtTime"](ap["value"], curTime); // to set what to ramp from + ap["exponentialRampToValueAtTime"](value, time); + break; + } + } + var filterTypes = [ + "lowpass", + "highpass", + "bandpass", + "lowshelf", + "highshelf", + "peaking", + "notch", + "allpass", + ]; + function FilterEffect(type, freq, detune, q, gain, mix) { + this.type = "filter"; + this.params = [type, freq, detune, q, gain, mix]; + this.inputNode = createGain(); + this.wetNode = createGain(); + this.wetNode["gain"]["value"] = mix; + this.dryNode = createGain(); + this.dryNode["gain"]["value"] = 1 - mix; + this.filterNode = context["createBiquadFilter"](); + if (typeof this.filterNode["type"] === "number") + this.filterNode["type"] = type; + else this.filterNode["type"] = filterTypes[type]; + this.filterNode["frequency"]["value"] = freq; + if (this.filterNode["detune"]) + this.filterNode["detune"]["value"] = detune; + this.filterNode["Q"]["value"] = q; + this.filterNode["gain"]["value"] = gain; + this.inputNode["connect"](this.filterNode); + this.inputNode["connect"](this.dryNode); + this.filterNode["connect"](this.wetNode); + } + FilterEffect.prototype.connectTo = function (node) { + this.wetNode["disconnect"](); + this.wetNode["connect"](node); + this.dryNode["disconnect"](); + this.dryNode["connect"](node); + }; + FilterEffect.prototype.remove = function () { + this.inputNode["disconnect"](); + this.filterNode["disconnect"](); + this.wetNode["disconnect"](); + this.dryNode["disconnect"](); + }; + FilterEffect.prototype.getInputNode = function () { + return this.inputNode; + }; + FilterEffect.prototype.setParam = function (param, value, ramp, time) { + switch (param) { + case 0: // mix + value = value / 100; + if (value < 0) value = 0; + if (value > 1) value = 1; + this.params[5] = value; + setAudioParam(this.wetNode["gain"], value, ramp, time); + setAudioParam(this.dryNode["gain"], 1 - value, ramp, time); + break; + case 1: // filter frequency + this.params[1] = value; + setAudioParam(this.filterNode["frequency"], value, ramp, time); + break; + case 2: // filter detune + this.params[2] = value; + setAudioParam(this.filterNode["detune"], value, ramp, time); + break; + case 3: // filter Q + this.params[3] = value; + setAudioParam(this.filterNode["Q"], value, ramp, time); + break; + case 4: // filter/delay gain (note value is in dB here) + this.params[4] = value; + setAudioParam(this.filterNode["gain"], value, ramp, time); + break; + } + }; + function DelayEffect(delayTime, delayGain, mix) { + this.type = "delay"; + this.params = [delayTime, delayGain, mix]; + this.inputNode = createGain(); + this.wetNode = createGain(); + this.wetNode["gain"]["value"] = mix; + this.dryNode = createGain(); + this.dryNode["gain"]["value"] = 1 - mix; + this.mainNode = createGain(); + this.delayNode = createDelay(delayTime); + this.delayNode["delayTime"]["value"] = delayTime; + this.delayGainNode = createGain(); + this.delayGainNode["gain"]["value"] = delayGain; + this.inputNode["connect"](this.mainNode); + this.inputNode["connect"](this.dryNode); + this.mainNode["connect"](this.wetNode); + this.mainNode["connect"](this.delayNode); + this.delayNode["connect"](this.delayGainNode); + this.delayGainNode["connect"](this.mainNode); + } + DelayEffect.prototype.connectTo = function (node) { + this.wetNode["disconnect"](); + this.wetNode["connect"](node); + this.dryNode["disconnect"](); + this.dryNode["connect"](node); + }; + DelayEffect.prototype.remove = function () { + this.inputNode["disconnect"](); + this.mainNode["disconnect"](); + this.delayNode["disconnect"](); + this.delayGainNode["disconnect"](); + this.wetNode["disconnect"](); + this.dryNode["disconnect"](); + }; + DelayEffect.prototype.getInputNode = function () { + return this.inputNode; + }; + DelayEffect.prototype.setParam = function (param, value, ramp, time) { + switch (param) { + case 0: // mix + value = value / 100; + if (value < 0) value = 0; + if (value > 1) value = 1; + this.params[2] = value; + setAudioParam(this.wetNode["gain"], value, ramp, time); + setAudioParam(this.dryNode["gain"], 1 - value, ramp, time); + break; + case 4: // filter/delay gain (note value is passed in dB but needs to be linear here) + this.params[1] = dbToLinear(value); + setAudioParam( + this.delayGainNode["gain"], + dbToLinear(value), + ramp, + time + ); + break; + case 5: // delay time + this.params[0] = value; + setAudioParam(this.delayNode["delayTime"], value, ramp, time); + break; + } + }; + function ConvolveEffect(buffer, normalize, mix, src) { + this.type = "convolve"; + this.params = [normalize, mix, src]; + this.inputNode = createGain(); + this.wetNode = createGain(); + this.wetNode["gain"]["value"] = mix; + this.dryNode = createGain(); + this.dryNode["gain"]["value"] = 1 - mix; + this.convolveNode = context["createConvolver"](); + if (buffer) { + this.convolveNode["normalize"] = normalize; + this.convolveNode["buffer"] = buffer; + } + this.inputNode["connect"](this.convolveNode); + this.inputNode["connect"](this.dryNode); + this.convolveNode["connect"](this.wetNode); + } + ConvolveEffect.prototype.connectTo = function (node) { + this.wetNode["disconnect"](); + this.wetNode["connect"](node); + this.dryNode["disconnect"](); + this.dryNode["connect"](node); + }; + ConvolveEffect.prototype.remove = function () { + this.inputNode["disconnect"](); + this.convolveNode["disconnect"](); + this.wetNode["disconnect"](); + this.dryNode["disconnect"](); + }; + ConvolveEffect.prototype.getInputNode = function () { + return this.inputNode; + }; + ConvolveEffect.prototype.setParam = function (param, value, ramp, time) { + switch (param) { + case 0: // mix + value = value / 100; + if (value < 0) value = 0; + if (value > 1) value = 1; + this.params[1] = value; + setAudioParam(this.wetNode["gain"], value, ramp, time); + setAudioParam(this.dryNode["gain"], 1 - value, ramp, time); + break; + } + }; + function FlangerEffect(delay, modulation, freq, feedback, mix) { + this.type = "flanger"; + this.params = [delay, modulation, freq, feedback, mix]; + this.inputNode = createGain(); + this.dryNode = createGain(); + this.dryNode["gain"]["value"] = 1 - mix / 2; + this.wetNode = createGain(); + this.wetNode["gain"]["value"] = mix / 2; + this.feedbackNode = createGain(); + this.feedbackNode["gain"]["value"] = feedback; + this.delayNode = createDelay(delay + modulation); + this.delayNode["delayTime"]["value"] = delay; + this.oscNode = context["createOscillator"](); + this.oscNode["frequency"]["value"] = freq; + this.oscGainNode = createGain(); + this.oscGainNode["gain"]["value"] = modulation; + this.inputNode["connect"](this.delayNode); + this.inputNode["connect"](this.dryNode); + this.delayNode["connect"](this.wetNode); + this.delayNode["connect"](this.feedbackNode); + this.feedbackNode["connect"](this.delayNode); + this.oscNode["connect"](this.oscGainNode); + this.oscGainNode["connect"](this.delayNode["delayTime"]); + startSource(this.oscNode); + } + FlangerEffect.prototype.connectTo = function (node) { + this.dryNode["disconnect"](); + this.dryNode["connect"](node); + this.wetNode["disconnect"](); + this.wetNode["connect"](node); + }; + FlangerEffect.prototype.remove = function () { + this.inputNode["disconnect"](); + this.delayNode["disconnect"](); + this.oscNode["disconnect"](); + this.oscGainNode["disconnect"](); + this.dryNode["disconnect"](); + this.wetNode["disconnect"](); + this.feedbackNode["disconnect"](); + }; + FlangerEffect.prototype.getInputNode = function () { + return this.inputNode; + }; + FlangerEffect.prototype.setParam = function (param, value, ramp, time) { + switch (param) { + case 0: // mix + value = value / 100; + if (value < 0) value = 0; + if (value > 1) value = 1; + this.params[4] = value; + setAudioParam(this.wetNode["gain"], value / 2, ramp, time); + setAudioParam(this.dryNode["gain"], 1 - value / 2, ramp, time); + break; + case 6: // modulation + this.params[1] = value / 1000; + setAudioParam(this.oscGainNode["gain"], value / 1000, ramp, time); + break; + case 7: // modulation frequency + this.params[2] = value; + setAudioParam(this.oscNode["frequency"], value, ramp, time); + break; + case 8: // feedback + this.params[3] = value / 100; + setAudioParam(this.feedbackNode["gain"], value / 100, ramp, time); + break; + } + }; + function PhaserEffect(freq, detune, q, modulation, modfreq, mix) { + this.type = "phaser"; + this.params = [freq, detune, q, modulation, modfreq, mix]; + this.inputNode = createGain(); + this.dryNode = createGain(); + this.dryNode["gain"]["value"] = 1 - mix / 2; + this.wetNode = createGain(); + this.wetNode["gain"]["value"] = mix / 2; + this.filterNode = context["createBiquadFilter"](); + if (typeof this.filterNode["type"] === "number") + this.filterNode["type"] = 7; + else this.filterNode["type"] = "allpass"; + this.filterNode["frequency"]["value"] = freq; + if (this.filterNode["detune"]) + this.filterNode["detune"]["value"] = detune; + this.filterNode["Q"]["value"] = q; + this.oscNode = context["createOscillator"](); + this.oscNode["frequency"]["value"] = modfreq; + this.oscGainNode = createGain(); + this.oscGainNode["gain"]["value"] = modulation; + this.inputNode["connect"](this.filterNode); + this.inputNode["connect"](this.dryNode); + this.filterNode["connect"](this.wetNode); + this.oscNode["connect"](this.oscGainNode); + this.oscGainNode["connect"](this.filterNode["frequency"]); + startSource(this.oscNode); + } + PhaserEffect.prototype.connectTo = function (node) { + this.dryNode["disconnect"](); + this.dryNode["connect"](node); + this.wetNode["disconnect"](); + this.wetNode["connect"](node); + }; + PhaserEffect.prototype.remove = function () { + this.inputNode["disconnect"](); + this.filterNode["disconnect"](); + this.oscNode["disconnect"](); + this.oscGainNode["disconnect"](); + this.dryNode["disconnect"](); + this.wetNode["disconnect"](); + }; + PhaserEffect.prototype.getInputNode = function () { + return this.inputNode; + }; + PhaserEffect.prototype.setParam = function (param, value, ramp, time) { + switch (param) { + case 0: // mix + value = value / 100; + if (value < 0) value = 0; + if (value > 1) value = 1; + this.params[5] = value; + setAudioParam(this.wetNode["gain"], value / 2, ramp, time); + setAudioParam(this.dryNode["gain"], 1 - value / 2, ramp, time); + break; + case 1: // filter frequency + this.params[0] = value; + setAudioParam(this.filterNode["frequency"], value, ramp, time); + break; + case 2: // filter detune + this.params[1] = value; + setAudioParam(this.filterNode["detune"], value, ramp, time); + break; + case 3: // filter Q + this.params[2] = value; + setAudioParam(this.filterNode["Q"], value, ramp, time); + break; + case 6: // modulation + this.params[3] = value; + setAudioParam(this.oscGainNode["gain"], value, ramp, time); + break; + case 7: // modulation frequency + this.params[4] = value; + setAudioParam(this.oscNode["frequency"], value, ramp, time); + break; + } + }; + function GainEffect(g) { + this.type = "gain"; + this.params = [g]; + this.node = createGain(); + this.node["gain"]["value"] = g; + } + GainEffect.prototype.connectTo = function (node_) { + this.node["disconnect"](); + this.node["connect"](node_); + }; + GainEffect.prototype.remove = function () { + this.node["disconnect"](); + }; + GainEffect.prototype.getInputNode = function () { + return this.node; + }; + GainEffect.prototype.setParam = function (param, value, ramp, time) { + switch (param) { + case 4: // gain + this.params[0] = dbToLinear(value); + setAudioParam(this.node["gain"], dbToLinear(value), ramp, time); + break; + } + }; + function TremoloEffect(freq, mix) { + this.type = "tremolo"; + this.params = [freq, mix]; + this.node = createGain(); + this.node["gain"]["value"] = 1 - mix / 2; + this.oscNode = context["createOscillator"](); + this.oscNode["frequency"]["value"] = freq; + this.oscGainNode = createGain(); + this.oscGainNode["gain"]["value"] = mix / 2; + this.oscNode["connect"](this.oscGainNode); + this.oscGainNode["connect"](this.node["gain"]); + startSource(this.oscNode); + } + TremoloEffect.prototype.connectTo = function (node_) { + this.node["disconnect"](); + this.node["connect"](node_); + }; + TremoloEffect.prototype.remove = function () { + this.oscNode["disconnect"](); + this.oscGainNode["disconnect"](); + this.node["disconnect"](); + }; + TremoloEffect.prototype.getInputNode = function () { + return this.node; + }; + TremoloEffect.prototype.setParam = function (param, value, ramp, time) { + switch (param) { + case 0: // mix + value = value / 100; + if (value < 0) value = 0; + if (value > 1) value = 1; + this.params[1] = value; + setAudioParam(this.node["gain"]["value"], 1 - value / 2, ramp, time); + setAudioParam(this.oscGainNode["gain"]["value"], value / 2, ramp, time); + break; + case 7: // modulation frequency + this.params[0] = value; + setAudioParam(this.oscNode["frequency"], value, ramp, time); + break; + } + }; + function RingModulatorEffect(freq, mix) { + this.type = "ringmod"; + this.params = [freq, mix]; + this.inputNode = createGain(); + this.wetNode = createGain(); + this.wetNode["gain"]["value"] = mix; + this.dryNode = createGain(); + this.dryNode["gain"]["value"] = 1 - mix; + this.ringNode = createGain(); + this.ringNode["gain"]["value"] = 0; + this.oscNode = context["createOscillator"](); + this.oscNode["frequency"]["value"] = freq; + this.oscNode["connect"](this.ringNode["gain"]); + startSource(this.oscNode); + this.inputNode["connect"](this.ringNode); + this.inputNode["connect"](this.dryNode); + this.ringNode["connect"](this.wetNode); + } + RingModulatorEffect.prototype.connectTo = function (node_) { + this.wetNode["disconnect"](); + this.wetNode["connect"](node_); + this.dryNode["disconnect"](); + this.dryNode["connect"](node_); + }; + RingModulatorEffect.prototype.remove = function () { + this.oscNode["disconnect"](); + this.ringNode["disconnect"](); + this.inputNode["disconnect"](); + this.wetNode["disconnect"](); + this.dryNode["disconnect"](); + }; + RingModulatorEffect.prototype.getInputNode = function () { + return this.inputNode; + }; + RingModulatorEffect.prototype.setParam = function (param, value, ramp, time) { + switch (param) { + case 0: // mix + value = value / 100; + if (value < 0) value = 0; + if (value > 1) value = 1; + this.params[1] = value; + setAudioParam(this.wetNode["gain"], value, ramp, time); + setAudioParam(this.dryNode["gain"], 1 - value, ramp, time); + break; + case 7: // modulation frequency + this.params[0] = value; + setAudioParam(this.oscNode["frequency"], value, ramp, time); + break; + } + }; + function DistortionEffect(threshold, headroom, drive, makeupgain, mix) { + this.type = "distortion"; + this.params = [threshold, headroom, drive, makeupgain, mix]; + this.inputNode = createGain(); + this.preGain = createGain(); + this.postGain = createGain(); + this.setDrive(drive, dbToLinear_nocap(makeupgain)); + this.wetNode = createGain(); + this.wetNode["gain"]["value"] = mix; + this.dryNode = createGain(); + this.dryNode["gain"]["value"] = 1 - mix; + this.waveShaper = context["createWaveShaper"](); + this.curve = new Float32Array(65536); + this.generateColortouchCurve(threshold, headroom); + this.waveShaper.curve = this.curve; + this.inputNode["connect"](this.preGain); + this.inputNode["connect"](this.dryNode); + this.preGain["connect"](this.waveShaper); + this.waveShaper["connect"](this.postGain); + this.postGain["connect"](this.wetNode); + } + DistortionEffect.prototype.setDrive = function (drive, makeupgain) { + if (drive < 0.01) drive = 0.01; + this.preGain["gain"]["value"] = drive; + this.postGain["gain"]["value"] = Math.pow(1 / drive, 0.6) * makeupgain; + }; + function e4(x, k) { + return 1.0 - Math.exp(-k * x); + } + DistortionEffect.prototype.shape = function ( + x, + linearThreshold, + linearHeadroom + ) { + var maximum = 1.05 * linearHeadroom * linearThreshold; + var kk = maximum - linearThreshold; + var sign = x < 0 ? -1 : +1; + var absx = x < 0 ? -x : x; + var shapedInput = + absx < linearThreshold + ? absx + : linearThreshold + kk * e4(absx - linearThreshold, 1.0 / kk); + shapedInput *= sign; + return shapedInput; + }; + DistortionEffect.prototype.generateColortouchCurve = function ( + threshold, + headroom + ) { + var linearThreshold = dbToLinear_nocap(threshold); + var linearHeadroom = dbToLinear_nocap(headroom); + var n = 65536; + var n2 = n / 2; + var x = 0; + for (var i = 0; i < n2; ++i) { + x = i / n2; + x = this.shape(x, linearThreshold, linearHeadroom); + this.curve[n2 + i] = x; + this.curve[n2 - i - 1] = -x; + } + }; + DistortionEffect.prototype.connectTo = function (node) { + this.wetNode["disconnect"](); + this.wetNode["connect"](node); + this.dryNode["disconnect"](); + this.dryNode["connect"](node); + }; + DistortionEffect.prototype.remove = function () { + this.inputNode["disconnect"](); + this.preGain["disconnect"](); + this.waveShaper["disconnect"](); + this.postGain["disconnect"](); + this.wetNode["disconnect"](); + this.dryNode["disconnect"](); + }; + DistortionEffect.prototype.getInputNode = function () { + return this.inputNode; + }; + DistortionEffect.prototype.setParam = function (param, value, ramp, time) { + switch (param) { + case 0: // mix + value = value / 100; + if (value < 0) value = 0; + if (value > 1) value = 1; + this.params[4] = value; + setAudioParam(this.wetNode["gain"], value, ramp, time); + setAudioParam(this.dryNode["gain"], 1 - value, ramp, time); + break; + } + }; + function CompressorEffect(threshold, knee, ratio, attack, release) { + this.type = "compressor"; + this.params = [threshold, knee, ratio, attack, release]; + this.node = context["createDynamicsCompressor"](); + try { + this.node["threshold"]["value"] = threshold; + this.node["knee"]["value"] = knee; + this.node["ratio"]["value"] = ratio; + this.node["attack"]["value"] = attack; + this.node["release"]["value"] = release; + } catch (e) {} + } + CompressorEffect.prototype.connectTo = function (node_) { + this.node["disconnect"](); + this.node["connect"](node_); + }; + CompressorEffect.prototype.remove = function () { + this.node["disconnect"](); + }; + CompressorEffect.prototype.getInputNode = function () { + return this.node; + }; + CompressorEffect.prototype.setParam = function (param, value, ramp, time) { + }; + function AnalyserEffect(fftSize, smoothing) { + this.type = "analyser"; + this.params = [fftSize, smoothing]; + this.node = context["createAnalyser"](); + this.node["fftSize"] = fftSize; + this.node["smoothingTimeConstant"] = smoothing; + this.freqBins = new Float32Array(this.node["frequencyBinCount"]); + this.signal = new Uint8Array(fftSize); + this.peak = 0; + this.rms = 0; + } + AnalyserEffect.prototype.tick = function () { + this.node["getFloatFrequencyData"](this.freqBins); + this.node["getByteTimeDomainData"](this.signal); + var fftSize = this.node["fftSize"]; + var i = 0; + this.peak = 0; + var rmsSquaredSum = 0; + var s = 0; + for (; i < fftSize; i++) { + s = (this.signal[i] - 128) / 128; + if (s < 0) s = -s; + if (this.peak < s) this.peak = s; + rmsSquaredSum += s * s; + } + this.peak = linearToDb(this.peak); + this.rms = linearToDb(Math.sqrt(rmsSquaredSum / fftSize)); + }; + AnalyserEffect.prototype.connectTo = function (node_) { + this.node["disconnect"](); + this.node["connect"](node_); + }; + AnalyserEffect.prototype.remove = function () { + this.node["disconnect"](); + }; + AnalyserEffect.prototype.getInputNode = function () { + return this.node; + }; + AnalyserEffect.prototype.setParam = function (param, value, ramp, time) { + }; + function ObjectTracker() { + this.obj = null; + this.loadUid = 0; + } + ObjectTracker.prototype.setObject = function (obj_) { + this.obj = obj_; + }; + ObjectTracker.prototype.hasObject = function () { + return !!this.obj; + }; + ObjectTracker.prototype.tick = function (dt) {}; + function C2AudioBuffer(src_, is_music) { + this.src = src_; + this.myapi = api; + this.is_music = is_music; + this.added_end_listener = false; + var self = this; + this.outNode = null; + this.mediaSourceNode = null; + this.panWhenReady = []; // for web audio API positioned sounds + this.seekWhenReady = 0; + this.pauseWhenReady = false; + this.supportWebAudioAPI = false; + this.failedToLoad = false; + this.wasEverReady = false; // if a buffer is ever marked as ready, it's permanently considered ready after then. + if (api === API_WEBAUDIO && is_music && !playMusicAsSoundWorkaround) { + this.myapi = API_HTML5; + this.outNode = createGain(); + } + this.bufferObject = null; // actual audio object + this.audioData = null; // web audio api: ajax request result (compressed audio that needs decoding) + var request; + switch (this.myapi) { + case API_HTML5: + this.bufferObject = new Audio(); + this.bufferObject.crossOrigin = "anonymous"; + this.bufferObject.addEventListener("canplaythrough", function () { + self.wasEverReady = true; // update loaded state so preload is considered complete + }); + if ( + api === API_WEBAUDIO && + context["createMediaElementSource"] && + !/wiiu/i.test(navigator.userAgent) + ) { + this.supportWebAudioAPI = true; // can be routed through web audio api + this.bufferObject.addEventListener("canplay", function () { + if (!self.mediaSourceNode && self.bufferObject) { + self.mediaSourceNode = context["createMediaElementSource"]( + self.bufferObject + ); + self.mediaSourceNode["connect"](self.outNode); + } + }); + } + this.bufferObject.autoplay = false; // this is only a source buffer, not an instance + this.bufferObject.preload = "auto"; + this.bufferObject.src = src_; + break; + case API_WEBAUDIO: + if (audRuntime.isWKWebView) { + audRuntime.fetchLocalFileViaCordovaAsArrayBuffer( + src_, + function (arrayBuffer) { + self.audioData = arrayBuffer; + self.decodeAudioBuffer(); + }, + function (err) { + self.failedToLoad = true; + } + ); + } else { + request = new XMLHttpRequest(); + request.open("GET", src_, true); + request.responseType = "arraybuffer"; + request.onload = function () { + self.audioData = request.response; + self.decodeAudioBuffer(); + }; + request.onerror = function () { + self.failedToLoad = true; + }; + request.send(); + } + break; + case API_CORDOVA: + this.bufferObject = true; + break; + case API_APPMOBI: + this.bufferObject = true; + break; + } + } + C2AudioBuffer.prototype.release = function () { + var i, len, j, a; + for (i = 0, j = 0, len = audioInstances.length; i < len; ++i) { + a = audioInstances[i]; + audioInstances[j] = a; + if (a.buffer === this) a.stop(); + else ++j; // keep + } + audioInstances.length = j; + if (this.mediaSourceNode) { + this.mediaSourceNode["disconnect"](); + this.mediaSourceNode = null; + } + if (this.outNode) { + this.outNode["disconnect"](); + this.outNode = null; + } + this.bufferObject = null; + this.audioData = null; + }; + C2AudioBuffer.prototype.decodeAudioBuffer = function () { + if (this.bufferObject || !this.audioData) return; // audio already decoded or AJAX request not yet complete + var self = this; + if (context["decodeAudioData"]) { + context["decodeAudioData"]( + this.audioData, + function (buffer) { + self.bufferObject = buffer; + self.audioData = null; // clear AJAX response to allow GC and save memory, only need the bufferObject now + var p, i, len, a; + if (!cr.is_undefined(self.playTagWhenReady) && !silent) { + if (self.panWhenReady.length) { + for (i = 0, len = self.panWhenReady.length; i < len; i++) { + p = self.panWhenReady[i]; + a = new C2AudioInstance(self, p.thistag); + a.setPannerEnabled(true); + if (typeof p.objUid !== "undefined") { + p.obj = audRuntime.getObjectByUID(p.objUid); + if (!p.obj) continue; + } + if (p.obj) { + var px = cr.rotatePtAround( + p.obj.x, + p.obj.y, + -p.obj.layer.getAngle(), + listenerX, + listenerY, + true + ); + var py = cr.rotatePtAround( + p.obj.x, + p.obj.y, + -p.obj.layer.getAngle(), + listenerX, + listenerY, + false + ); + a.setPan( + px, + py, + cr.to_degrees(p.obj.angle - p.obj.layer.getAngle()), + p.ia, + p.oa, + p.og + ); + a.setObject(p.obj); + } else { + a.setPan(p.x, p.y, p.a, p.ia, p.oa, p.og); + } + a.play( + self.loopWhenReady, + self.volumeWhenReady, + self.seekWhenReady + ); + if (self.pauseWhenReady) a.pause(); + audioInstances.push(a); + } + cr.clearArray(self.panWhenReady); + } else { + a = new C2AudioInstance(self, self.playTagWhenReady || ""); // sometimes playTagWhenReady is not set - TODO: why? + a.play( + self.loopWhenReady, + self.volumeWhenReady, + self.seekWhenReady + ); + if (self.pauseWhenReady) a.pause(); + audioInstances.push(a); + } + } else if (!cr.is_undefined(self.convolveWhenReady)) { + var convolveNode = self.convolveWhenReady.convolveNode; + convolveNode["normalize"] = self.normalizeWhenReady; + convolveNode["buffer"] = buffer; + } + }, + function (e) { + self.failedToLoad = true; + } + ); + } else { + this.bufferObject = context["createBuffer"](this.audioData, false); + this.audioData = null; // clear AJAX response to allow GC and save memory, only need the bufferObject now + if (!cr.is_undefined(this.playTagWhenReady) && !silent) { + var a = new C2AudioInstance(this, this.playTagWhenReady); + a.play(this.loopWhenReady, this.volumeWhenReady, this.seekWhenReady); + if (this.pauseWhenReady) a.pause(); + audioInstances.push(a); + } else if (!cr.is_undefined(this.convolveWhenReady)) { + var convolveNode = this.convolveWhenReady.convolveNode; + convolveNode["normalize"] = this.normalizeWhenReady; + convolveNode["buffer"] = this.bufferObject; + } + } + }; + C2AudioBuffer.prototype.isLoaded = function () { + switch (this.myapi) { + case API_HTML5: + var ret = this.bufferObject["readyState"] >= 4; // HAVE_ENOUGH_DATA + if (ret) this.wasEverReady = true; + return ret || this.wasEverReady; + case API_WEBAUDIO: + return !!this.audioData || !!this.bufferObject; + case API_CORDOVA: + return true; + case API_APPMOBI: + return true; + } + return false; + }; + C2AudioBuffer.prototype.isLoadedAndDecoded = function () { + switch (this.myapi) { + case API_HTML5: + return this.isLoaded(); // no distinction between loaded and decoded in HTML5 audio, just rely on ready state + case API_WEBAUDIO: + return !!this.bufferObject; + case API_CORDOVA: + return true; + case API_APPMOBI: + return true; + } + return false; + }; + C2AudioBuffer.prototype.hasFailedToLoad = function () { + switch (this.myapi) { + case API_HTML5: + return !!this.bufferObject["error"]; + case API_WEBAUDIO: + return this.failedToLoad; + } + return false; + }; + function C2AudioInstance(buffer_, tag_) { + var self = this; + this.tag = tag_; + this.fresh = true; + this.stopped = true; + this.src = buffer_.src; + this.buffer = buffer_; + this.myapi = api; + this.is_music = buffer_.is_music; + this.playbackRate = 1; + this.hasPlaybackEnded = true; // ended flag + this.resume_me = false; // make sure resumes when leaving suspend + this.is_paused = false; + this.resume_position = 0; // for web audio api to resume from correct playback position + this.looping = false; + this.is_muted = false; + this.is_silent = false; + this.volume = 1; + this.onended_handler = function (e) { + if (self.is_paused || self.resume_me) return; + var bufferThatEnded = this; + if (!bufferThatEnded) bufferThatEnded = e.target; + if (bufferThatEnded !== self.active_buffer) return; + self.hasPlaybackEnded = true; + self.stopped = true; + audTag = self.tag; + audRuntime.trigger(cr.plugins_.Audio.prototype.cnds.OnEnded, audInst); + }; + this.active_buffer = null; + this.isTimescaled = + (timescale_mode === 1 && !this.is_music) || timescale_mode === 2; + this.mutevol = 1; + this.startTime = this.isTimescaled + ? audRuntime.kahanTime.sum + : audRuntime.wallTime.sum; + this.gainNode = null; + this.pannerNode = null; + this.pannerEnabled = false; + this.objectTracker = null; + this.panX = 0; + this.panY = 0; + this.panAngle = 0; + this.panConeInner = 0; + this.panConeOuter = 0; + this.panConeOuterGain = 0; + this.instanceObject = null; + var add_end_listener = false; + if ( + this.myapi === API_WEBAUDIO && + this.buffer.myapi === API_HTML5 && + !this.buffer.supportWebAudioAPI + ) + this.myapi = API_HTML5; + switch (this.myapi) { + case API_HTML5: + if (this.is_music) { + this.instanceObject = buffer_.bufferObject; + add_end_listener = !buffer_.added_end_listener; + buffer_.added_end_listener = true; + } else { + this.instanceObject = new Audio(); + this.instanceObject.crossOrigin = "anonymous"; + this.instanceObject.autoplay = false; + this.instanceObject.src = buffer_.bufferObject.src; + add_end_listener = true; + } + if (add_end_listener) { + this.instanceObject.addEventListener("ended", function () { + audTag = self.tag; + self.stopped = true; + audRuntime.trigger( + cr.plugins_.Audio.prototype.cnds.OnEnded, + audInst + ); + }); + } + break; + case API_WEBAUDIO: + this.gainNode = createGain(); + this.gainNode["connect"](getDestinationForTag(tag_)); + if (this.buffer.myapi === API_WEBAUDIO) { + if (buffer_.bufferObject) { + this.instanceObject = context["createBufferSource"](); + this.instanceObject["buffer"] = buffer_.bufferObject; + this.instanceObject["connect"](this.gainNode); + } + } + else { + this.instanceObject = this.buffer.bufferObject; // reference the audio element + this.buffer.outNode["connect"](this.gainNode); + if (!this.buffer.added_end_listener) { + this.buffer.added_end_listener = true; + this.buffer.bufferObject.addEventListener("ended", function () { + audTag = self.tag; + self.stopped = true; + audRuntime.trigger( + cr.plugins_.Audio.prototype.cnds.OnEnded, + audInst + ); + }); + } + } + break; + case API_CORDOVA: + this.instanceObject = new window["Media"]( + appPath + this.src, + null, + null, + function (status) { + if (status === window["Media"]["MEDIA_STOPPED"]) { + self.hasPlaybackEnded = true; + self.stopped = true; + audTag = self.tag; + audRuntime.trigger( + cr.plugins_.Audio.prototype.cnds.OnEnded, + audInst + ); + } + } + ); + break; + case API_APPMOBI: + this.instanceObject = true; + break; + } + } + C2AudioInstance.prototype.hasEnded = function () { + var time; + switch (this.myapi) { + case API_HTML5: + return this.instanceObject.ended; + case API_WEBAUDIO: + if (this.buffer.myapi === API_WEBAUDIO) { + if (!this.fresh && !this.stopped && this.instanceObject["loop"]) + return false; + if (this.is_paused) return false; + return this.hasPlaybackEnded; + } else return this.instanceObject.ended; + case API_CORDOVA: + return this.hasPlaybackEnded; + case API_APPMOBI: + true; // recycling an AppMobi sound does not matter because it will just do another throwaway playSound + } + return true; + }; + C2AudioInstance.prototype.canBeRecycled = function () { + if (this.fresh || this.stopped) return true; // not yet used or is not playing + return this.hasEnded(); + }; + C2AudioInstance.prototype.setPannerEnabled = function (enable_) { + if (api !== API_WEBAUDIO) return; + if (!this.pannerEnabled && enable_) { + if (!this.gainNode) return; + if (!this.pannerNode) { + this.pannerNode = context["createPanner"](); + if (typeof this.pannerNode["panningModel"] === "number") + this.pannerNode["panningModel"] = panningModel; + else + this.pannerNode["panningModel"] = [ + "equalpower", + "HRTF", + "soundfield", + ][panningModel]; + if (typeof this.pannerNode["distanceModel"] === "number") + this.pannerNode["distanceModel"] = distanceModel; + else + this.pannerNode["distanceModel"] = [ + "linear", + "inverse", + "exponential", + ][distanceModel]; + this.pannerNode["refDistance"] = refDistance; + this.pannerNode["maxDistance"] = maxDistance; + this.pannerNode["rolloffFactor"] = rolloffFactor; + } + this.gainNode["disconnect"](); + this.gainNode["connect"](this.pannerNode); + this.pannerNode["connect"](getDestinationForTag(this.tag)); + this.pannerEnabled = true; + } + else if (this.pannerEnabled && !enable_) { + if (!this.gainNode) return; + this.pannerNode["disconnect"](); + this.gainNode["disconnect"](); + this.gainNode["connect"](getDestinationForTag(this.tag)); + this.pannerEnabled = false; + } + }; + C2AudioInstance.prototype.setPan = function ( + x, + y, + angle, + innerangle, + outerangle, + outergain + ) { + if (!this.pannerEnabled || api !== API_WEBAUDIO) return; + this.pannerNode["setPosition"](x, y, 0); + this.pannerNode["setOrientation"]( + Math.cos(cr.to_radians(angle)), + Math.sin(cr.to_radians(angle)), + 0 + ); + this.pannerNode["coneInnerAngle"] = innerangle; + this.pannerNode["coneOuterAngle"] = outerangle; + this.pannerNode["coneOuterGain"] = outergain; + this.panX = x; + this.panY = y; + this.panAngle = angle; + this.panConeInner = innerangle; + this.panConeOuter = outerangle; + this.panConeOuterGain = outergain; + }; + C2AudioInstance.prototype.setObject = function (o) { + if (!this.pannerEnabled || api !== API_WEBAUDIO) return; + if (!this.objectTracker) this.objectTracker = new ObjectTracker(); + this.objectTracker.setObject(o); + }; + C2AudioInstance.prototype.tick = function (dt) { + if ( + !this.pannerEnabled || + api !== API_WEBAUDIO || + !this.objectTracker || + !this.objectTracker.hasObject() || + !this.isPlaying() + ) { + return; + } + this.objectTracker.tick(dt); + var inst = this.objectTracker.obj; + var px = cr.rotatePtAround( + inst.x, + inst.y, + -inst.layer.getAngle(), + listenerX, + listenerY, + true + ); + var py = cr.rotatePtAround( + inst.x, + inst.y, + -inst.layer.getAngle(), + listenerX, + listenerY, + false + ); + this.pannerNode["setPosition"](px, py, 0); + var a = 0; + if (typeof this.objectTracker.obj.angle !== "undefined") { + a = inst.angle - inst.layer.getAngle(); + this.pannerNode["setOrientation"](Math.cos(a), Math.sin(a), 0); + } + }; + C2AudioInstance.prototype.play = function ( + looping, + vol, + fromPosition, + scheduledTime + ) { + var instobj = this.instanceObject; + this.looping = looping; + this.volume = vol; + var seekPos = fromPosition || 0; + scheduledTime = scheduledTime || 0; + switch (this.myapi) { + case API_HTML5: + if (instobj.playbackRate !== 1.0) instobj.playbackRate = 1.0; + if (instobj.volume !== vol * masterVolume) + instobj.volume = vol * masterVolume; + if (instobj.loop !== looping) instobj.loop = looping; + if (instobj.muted) instobj.muted = false; + if (instobj.currentTime !== seekPos) { + try { + instobj.currentTime = seekPos; + } catch (err) { +; + } + } + tryPlayAudioElement(this); + break; + case API_WEBAUDIO: + this.muted = false; + this.mutevol = 1; + if (this.buffer.myapi === API_WEBAUDIO) { + this.gainNode["gain"]["value"] = vol * masterVolume; + if (!this.fresh) { + this.instanceObject = context["createBufferSource"](); + this.instanceObject["buffer"] = this.buffer.bufferObject; + this.instanceObject["connect"](this.gainNode); + } + this.instanceObject["onended"] = this.onended_handler; + this.active_buffer = this.instanceObject; + this.instanceObject.loop = looping; + this.hasPlaybackEnded = false; + if (seekPos === 0) startSource(this.instanceObject, scheduledTime); + else + startSourceAt( + this.instanceObject, + seekPos, + this.getDuration(), + scheduledTime + ); + } else { + if (instobj.playbackRate !== 1.0) instobj.playbackRate = 1.0; + if (instobj.loop !== looping) instobj.loop = looping; + instobj.volume = vol * masterVolume; + if (instobj.currentTime !== seekPos) { + try { + instobj.currentTime = seekPos; + } catch (err) { +; + } + } + tryPlayAudioElement(this); + } + break; + case API_CORDOVA: + if ((!this.fresh && this.stopped) || seekPos !== 0) + instobj["seekTo"](seekPos); + instobj["play"](); + this.hasPlaybackEnded = false; + break; + case API_APPMOBI: + if (audRuntime.isDirectCanvas) + AppMobi["context"]["playSound"](this.src, looping); + else AppMobi["player"]["playSound"](this.src, looping); + break; + } + this.playbackRate = 1; + this.startTime = + (this.isTimescaled ? audRuntime.kahanTime.sum : audRuntime.wallTime.sum) - + seekPos; + this.fresh = false; + this.stopped = false; + this.is_paused = false; + }; + C2AudioInstance.prototype.stop = function () { + switch (this.myapi) { + case API_HTML5: + if (!this.instanceObject.paused) this.instanceObject.pause(); + break; + case API_WEBAUDIO: + if (this.buffer.myapi === API_WEBAUDIO) stopSource(this.instanceObject); + else { + if (!this.instanceObject.paused) this.instanceObject.pause(); + } + break; + case API_CORDOVA: + this.instanceObject["stop"](); + break; + case API_APPMOBI: + if (audRuntime.isDirectCanvas) + AppMobi["context"]["stopSound"](this.src); + break; + } + this.stopped = true; + this.is_paused = false; + }; + C2AudioInstance.prototype.pause = function () { + if (this.fresh || this.stopped || this.hasEnded() || this.is_paused) return; + switch (this.myapi) { + case API_HTML5: + if (!this.instanceObject.paused) this.instanceObject.pause(); + break; + case API_WEBAUDIO: + if (this.buffer.myapi === API_WEBAUDIO) { + this.resume_position = this.getPlaybackTime(true); + if (this.looping) + this.resume_position = this.resume_position % this.getDuration(); + this.is_paused = true; + stopSource(this.instanceObject); + } else { + if (!this.instanceObject.paused) this.instanceObject.pause(); + } + break; + case API_CORDOVA: + this.instanceObject["pause"](); + break; + case API_APPMOBI: + if (audRuntime.isDirectCanvas) + AppMobi["context"]["stopSound"](this.src); + break; + } + this.is_paused = true; + }; + C2AudioInstance.prototype.resume = function () { + if (this.fresh || this.stopped || this.hasEnded() || !this.is_paused) + return; + switch (this.myapi) { + case API_HTML5: + tryPlayAudioElement(this); + break; + case API_WEBAUDIO: + if (this.buffer.myapi === API_WEBAUDIO) { + this.instanceObject = context["createBufferSource"](); + this.instanceObject["buffer"] = this.buffer.bufferObject; + this.instanceObject["connect"](this.gainNode); + this.instanceObject["onended"] = this.onended_handler; + this.active_buffer = this.instanceObject; + this.instanceObject.loop = this.looping; + this.gainNode["gain"]["value"] = + masterVolume * this.volume * this.mutevol; + this.updatePlaybackRate(); + this.startTime = + (this.isTimescaled + ? audRuntime.kahanTime.sum + : audRuntime.wallTime.sum) - + this.resume_position / (this.playbackRate || 0.001); + startSourceAt( + this.instanceObject, + this.resume_position, + this.getDuration() + ); + } else { + tryPlayAudioElement(this); + } + break; + case API_CORDOVA: + this.instanceObject["play"](); + break; + case API_APPMOBI: + if (audRuntime.isDirectCanvas) + AppMobi["context"]["resumeSound"](this.src); + break; + } + this.is_paused = false; + }; + C2AudioInstance.prototype.seek = function (pos) { + if (this.fresh || this.stopped || this.hasEnded()) return; + switch (this.myapi) { + case API_HTML5: + try { + this.instanceObject.currentTime = pos; + } catch (e) {} + break; + case API_WEBAUDIO: + if (this.buffer.myapi === API_WEBAUDIO) { + if (this.is_paused) this.resume_position = pos; + else { + this.pause(); + this.resume_position = pos; + this.resume(); + } + } else { + try { + this.instanceObject.currentTime = pos; + } catch (e) {} + } + break; + case API_CORDOVA: + break; + case API_APPMOBI: + if (audRuntime.isDirectCanvas) + AppMobi["context"]["seekSound"](this.src, pos); + break; + } + }; + C2AudioInstance.prototype.reconnect = function (toNode) { + if (this.myapi !== API_WEBAUDIO) return; + if (this.pannerEnabled) { + this.pannerNode["disconnect"](); + this.pannerNode["connect"](toNode); + } else { + this.gainNode["disconnect"](); + this.gainNode["connect"](toNode); + } + }; + C2AudioInstance.prototype.getDuration = function (applyPlaybackRate) { + var ret = 0; + switch (this.myapi) { + case API_HTML5: + if (typeof this.instanceObject.duration !== "undefined") + ret = this.instanceObject.duration; + break; + case API_WEBAUDIO: + ret = this.buffer.bufferObject["duration"]; + break; + case API_CORDOVA: + ret = this.instanceObject["getDuration"](); + break; + case API_APPMOBI: + if (audRuntime.isDirectCanvas) + ret = AppMobi["context"]["getDurationSound"](this.src); + break; + } + if (applyPlaybackRate) ret /= this.playbackRate || 0.001; // avoid divide-by-zero + return ret; + }; + C2AudioInstance.prototype.getPlaybackTime = function (applyPlaybackRate) { + var duration = this.getDuration(); + var ret = 0; + switch (this.myapi) { + case API_HTML5: + if (typeof this.instanceObject.currentTime !== "undefined") + ret = this.instanceObject.currentTime; + break; + case API_WEBAUDIO: + if (this.buffer.myapi === API_WEBAUDIO) { + if (this.is_paused) return this.resume_position; + else + ret = + (this.isTimescaled + ? audRuntime.kahanTime.sum + : audRuntime.wallTime.sum) - this.startTime; + } else if (typeof this.instanceObject.currentTime !== "undefined") + ret = this.instanceObject.currentTime; + break; + case API_CORDOVA: + break; + case API_APPMOBI: + if (audRuntime.isDirectCanvas) + ret = AppMobi["context"]["getPlaybackTimeSound"](this.src); + break; + } + if (applyPlaybackRate) ret *= this.playbackRate; + if (!this.looping && ret > duration) ret = duration; + return ret; + }; + C2AudioInstance.prototype.isPlaying = function () { + return !this.is_paused && !this.fresh && !this.stopped && !this.hasEnded(); + }; + C2AudioInstance.prototype.shouldSave = function () { + return !this.fresh && !this.stopped && !this.hasEnded(); + }; + C2AudioInstance.prototype.setVolume = function (v) { + this.volume = v; + this.updateVolume(); + }; + C2AudioInstance.prototype.updateVolume = function () { + var volToSet = this.volume * masterVolume; + if (!isFinite(volToSet)) volToSet = 0; // HTMLMediaElement throws if setting non-finite volume + switch (this.myapi) { + case API_HTML5: + if ( + typeof this.instanceObject.volume !== "undefined" && + this.instanceObject.volume !== volToSet + ) + this.instanceObject.volume = volToSet; + break; + case API_WEBAUDIO: + if (this.buffer.myapi === API_WEBAUDIO) { + this.gainNode["gain"]["value"] = volToSet * this.mutevol; + } else { + if ( + typeof this.instanceObject.volume !== "undefined" && + this.instanceObject.volume !== volToSet + ) + this.instanceObject.volume = volToSet; + } + break; + case API_CORDOVA: + break; + case API_APPMOBI: + break; + } + }; + C2AudioInstance.prototype.getVolume = function () { + return this.volume; + }; + C2AudioInstance.prototype.doSetMuted = function (m) { + switch (this.myapi) { + case API_HTML5: + if (this.instanceObject.muted !== !!m) this.instanceObject.muted = !!m; + break; + case API_WEBAUDIO: + if (this.buffer.myapi === API_WEBAUDIO) { + this.mutevol = m ? 0 : 1; + this.gainNode["gain"]["value"] = + masterVolume * this.volume * this.mutevol; + } else { + if (this.instanceObject.muted !== !!m) + this.instanceObject.muted = !!m; + } + break; + case API_CORDOVA: + break; + case API_APPMOBI: + break; + } + }; + C2AudioInstance.prototype.setMuted = function (m) { + this.is_muted = !!m; + this.doSetMuted(this.is_muted || this.is_silent); + }; + C2AudioInstance.prototype.setSilent = function (m) { + this.is_silent = !!m; + this.doSetMuted(this.is_muted || this.is_silent); + }; + C2AudioInstance.prototype.setLooping = function (l) { + this.looping = l; + switch (this.myapi) { + case API_HTML5: + if (this.instanceObject.loop !== !!l) this.instanceObject.loop = !!l; + break; + case API_WEBAUDIO: + if (this.instanceObject.loop !== !!l) this.instanceObject.loop = !!l; + break; + case API_CORDOVA: + break; + case API_APPMOBI: + if (audRuntime.isDirectCanvas) + AppMobi["context"]["setLoopingSound"](this.src, l); + break; + } + }; + C2AudioInstance.prototype.setPlaybackRate = function (r) { + this.playbackRate = r; + this.updatePlaybackRate(); + }; + C2AudioInstance.prototype.updatePlaybackRate = function () { + var r = this.playbackRate; + if (this.isTimescaled) r *= audRuntime.timescale; + switch (this.myapi) { + case API_HTML5: + if (this.instanceObject.playbackRate !== r) + this.instanceObject.playbackRate = r; + break; + case API_WEBAUDIO: + if (this.buffer.myapi === API_WEBAUDIO) { + if (this.instanceObject["playbackRate"]["value"] !== r) + this.instanceObject["playbackRate"]["value"] = r; + } else { + if (this.instanceObject.playbackRate !== r) + this.instanceObject.playbackRate = r; + } + break; + case API_CORDOVA: + break; + case API_APPMOBI: + break; + } + }; + C2AudioInstance.prototype.setSuspended = function (s) { + switch (this.myapi) { + case API_HTML5: + if (s) { + if (this.isPlaying()) { + this.resume_me = true; + this.instanceObject["pause"](); + } else this.resume_me = false; + } else { + if (this.resume_me) { + this.instanceObject["play"](); + this.resume_me = false; + } + } + break; + case API_WEBAUDIO: + if (s) { + if (this.isPlaying()) { + this.resume_me = true; + if (this.buffer.myapi === API_WEBAUDIO) { + this.resume_position = this.getPlaybackTime(true); + if (this.looping) + this.resume_position = + this.resume_position % this.getDuration(); + stopSource(this.instanceObject); + } else this.instanceObject["pause"](); + } else this.resume_me = false; + } else { + if (this.resume_me) { + if (this.buffer.myapi === API_WEBAUDIO) { + this.instanceObject = context["createBufferSource"](); + this.instanceObject["buffer"] = this.buffer.bufferObject; + this.instanceObject["connect"](this.gainNode); + this.instanceObject["onended"] = this.onended_handler; + this.active_buffer = this.instanceObject; + this.instanceObject.loop = this.looping; + this.gainNode["gain"]["value"] = + masterVolume * this.volume * this.mutevol; + this.updatePlaybackRate(); + this.startTime = + (this.isTimescaled + ? audRuntime.kahanTime.sum + : audRuntime.wallTime.sum) - + this.resume_position / (this.playbackRate || 0.001); + startSourceAt( + this.instanceObject, + this.resume_position, + this.getDuration() + ); + } else { + this.instanceObject["play"](); + } + this.resume_me = false; + } + } + break; + case API_CORDOVA: + if (s) { + if (this.isPlaying()) { + this.instanceObject["pause"](); + this.resume_me = true; + } else this.resume_me = false; + } else { + if (this.resume_me) { + this.resume_me = false; + this.instanceObject["play"](); + } + } + break; + case API_APPMOBI: + break; + } + }; + pluginProto.Instance = function (type) { + this.type = type; + this.runtime = type.runtime; + audRuntime = this.runtime; + audInst = this; + this.listenerTracker = null; + this.listenerZ = -600; + if (this.runtime.isWKWebView) playMusicAsSoundWorkaround = true; + if ( + (this.runtime.isiOS || + (this.runtime.isAndroid && + (this.runtime.isChrome || this.runtime.isAndroidStockBrowser))) && + !this.runtime.isCrosswalk && + !this.runtime.isDomFree && + !this.runtime.isAmazonWebApp && + !playMusicAsSoundWorkaround + ) { + useNextTouchWorkaround = true; + } + context = null; + if (typeof AudioContext !== "undefined") { + api = API_WEBAUDIO; + context = new AudioContext(); + } else if (typeof webkitAudioContext !== "undefined") { + api = API_WEBAUDIO; + context = new webkitAudioContext(); + } + if (this.runtime.isiOS && context) { + if (context.close) context.close(); + if (typeof AudioContext !== "undefined") context = new AudioContext(); + else if (typeof webkitAudioContext !== "undefined") + context = new webkitAudioContext(); + } + if (api !== API_WEBAUDIO) { + if (this.runtime.isCordova && typeof window["Media"] !== "undefined") + api = API_CORDOVA; + else if (this.runtime.isAppMobi) api = API_APPMOBI; + } + if (api === API_CORDOVA) { + appPath = location.href; + var i = appPath.lastIndexOf("/"); + if (i > -1) appPath = appPath.substr(0, i + 1); + appPath = appPath.replace("file://", ""); + } + if ( + this.runtime.isSafari && + this.runtime.isWindows && + typeof Audio === "undefined" + ) { + alert( + "It looks like you're using Safari for Windows without Quicktime. Audio cannot be played until Quicktime is installed." + ); + this.runtime.DestroyInstance(this); + } else { + if (this.runtime.isDirectCanvas) useOgg = this.runtime.isAndroid; + else { + try { + useOgg = + !!new Audio().canPlayType('audio/ogg; codecs="vorbis"') && + !this.runtime.isWindows10; + } catch (e) { + useOgg = false; + } + } + switch (api) { + case API_HTML5: +; + break; + case API_WEBAUDIO: +; + break; + case API_CORDOVA: +; + break; + case API_APPMOBI: +; + break; + default: +; + } + this.runtime.tickMe(this); + } + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function () { + this.runtime.audioInstance = this; + timescale_mode = this.properties[0]; // 0 = off, 1 = sounds only, 2 = all + this.saveload = this.properties[1]; // 0 = all, 1 = sounds only, 2 = music only, 3 = none + this.playinbackground = this.properties[2] !== 0; + this.nextPlayTime = 0; + panningModel = this.properties[3]; // 0 = equalpower, 1 = hrtf, 3 = soundfield + distanceModel = this.properties[4]; // 0 = linear, 1 = inverse, 2 = exponential + this.listenerZ = -this.properties[5]; + refDistance = this.properties[6]; + maxDistance = this.properties[7]; + rolloffFactor = this.properties[8]; + this.listenerTracker = new ObjectTracker(); + var draw_width = this.runtime.draw_width || this.runtime.width; + var draw_height = this.runtime.draw_height || this.runtime.height; + if (api === API_WEBAUDIO) { + context["listener"]["setPosition"]( + draw_width / 2, + draw_height / 2, + this.listenerZ + ); + context["listener"]["setOrientation"](0, 0, 1, 0, -1, 0); + window["c2OnAudioMicStream"] = function (localMediaStream, tag) { + if (micSource) micSource["disconnect"](); + micTag = tag.toLowerCase(); + micSource = context["createMediaStreamSource"](localMediaStream); + micSource["connect"](getDestinationForTag(micTag)); + }; + } + this.runtime.addSuspendCallback(function (s) { + audInst.onSuspend(s); + }); + var self = this; + this.runtime.addDestroyCallback(function (inst) { + self.onInstanceDestroyed(inst); + }); + }; + instanceProto.onInstanceDestroyed = function (inst) { + var i, len, a; + for (i = 0, len = audioInstances.length; i < len; i++) { + a = audioInstances[i]; + if (a.objectTracker) { + if (a.objectTracker.obj === inst) { + a.objectTracker.obj = null; + if (a.pannerEnabled && a.isPlaying() && a.looping) a.stop(); + } + } + } + if (this.listenerTracker.obj === inst) this.listenerTracker.obj = null; + }; + instanceProto.saveToJSON = function () { + var o = { + silent: silent, + masterVolume: masterVolume, + listenerZ: this.listenerZ, + listenerUid: this.listenerTracker.hasObject() + ? this.listenerTracker.obj.uid + : -1, + playing: [], + effects: {}, + }; + var playingarr = o["playing"]; + var i, len, a, d, p, panobj, playbackTime; + for (i = 0, len = audioInstances.length; i < len; i++) { + a = audioInstances[i]; + if (!a.shouldSave()) continue; // no need to save stopped sounds + if (this.saveload === 3) + continue; + if (a.is_music && this.saveload === 1) + continue; + if (!a.is_music && this.saveload === 2) + continue; + playbackTime = a.getPlaybackTime(); + if (a.looping) playbackTime = playbackTime % a.getDuration(); + d = { + tag: a.tag, + buffersrc: a.buffer.src, + is_music: a.is_music, + playbackTime: playbackTime, + volume: a.volume, + looping: a.looping, + muted: a.is_muted, + playbackRate: a.playbackRate, + paused: a.is_paused, + resume_position: a.resume_position, + }; + if (a.pannerEnabled) { + d["pan"] = {}; + panobj = d["pan"]; + if (a.objectTracker && a.objectTracker.hasObject()) { + panobj["objUid"] = a.objectTracker.obj.uid; + } else { + panobj["x"] = a.panX; + panobj["y"] = a.panY; + panobj["a"] = a.panAngle; + } + panobj["ia"] = a.panConeInner; + panobj["oa"] = a.panConeOuter; + panobj["og"] = a.panConeOuterGain; + } + playingarr.push(d); + } + var fxobj = o["effects"]; + var fxarr; + for (p in effects) { + if (effects.hasOwnProperty(p)) { + fxarr = []; + for (i = 0, len = effects[p].length; i < len; i++) { + fxarr.push({ + type: effects[p][i].type, + params: effects[p][i].params, + }); + } + fxobj[p] = fxarr; + } + } + return o; + }; + var objectTrackerUidsToLoad = []; + instanceProto.loadFromJSON = function (o) { + var setSilent = o["silent"]; + masterVolume = o["masterVolume"]; + this.listenerZ = o["listenerZ"]; + this.listenerTracker.setObject(null); + var listenerUid = o["listenerUid"]; + if (listenerUid !== -1) { + this.listenerTracker.loadUid = listenerUid; + objectTrackerUidsToLoad.push(this.listenerTracker); + } + var playingarr = o["playing"]; + var i, + len, + d, + src, + is_music, + tag, + playbackTime, + looping, + vol, + b, + a, + p, + pan, + panObjUid; + if (this.saveload !== 3) { + for (i = 0, len = audioInstances.length; i < len; i++) { + a = audioInstances[i]; + if (a.is_music && this.saveload === 1) continue; // only saving/loading sound: leave music playing + if (!a.is_music && this.saveload === 2) continue; // only saving/loading music: leave sound playing + a.stop(); + } + } + var fxarr, fxtype, fxparams, fx; + for (p in effects) { + if (effects.hasOwnProperty(p)) { + for (i = 0, len = effects[p].length; i < len; i++) + effects[p][i].remove(); + } + } + cr.wipe(effects); + for (p in o["effects"]) { + if (o["effects"].hasOwnProperty(p)) { + fxarr = o["effects"][p]; + for (i = 0, len = fxarr.length; i < len; i++) { + fxtype = fxarr[i]["type"]; + fxparams = fxarr[i]["params"]; + switch (fxtype) { + case "filter": + addEffectForTag( + p, + new FilterEffect( + fxparams[0], + fxparams[1], + fxparams[2], + fxparams[3], + fxparams[4], + fxparams[5] + ) + ); + break; + case "delay": + addEffectForTag( + p, + new DelayEffect(fxparams[0], fxparams[1], fxparams[2]) + ); + break; + case "convolve": + src = fxparams[2]; + b = this.getAudioBuffer(src, false); + if (b.bufferObject) { + fx = new ConvolveEffect( + b.bufferObject, + fxparams[0], + fxparams[1], + src + ); + } + else { + fx = new ConvolveEffect(null, fxparams[0], fxparams[1], src); + b.normalizeWhenReady = fxparams[0]; + b.convolveWhenReady = fx; + } + addEffectForTag(p, fx); + break; + case "flanger": + addEffectForTag( + p, + new FlangerEffect( + fxparams[0], + fxparams[1], + fxparams[2], + fxparams[3], + fxparams[4] + ) + ); + break; + case "phaser": + addEffectForTag( + p, + new PhaserEffect( + fxparams[0], + fxparams[1], + fxparams[2], + fxparams[3], + fxparams[4], + fxparams[5] + ) + ); + break; + case "gain": + addEffectForTag(p, new GainEffect(fxparams[0])); + break; + case "tremolo": + addEffectForTag(p, new TremoloEffect(fxparams[0], fxparams[1])); + break; + case "ringmod": + addEffectForTag( + p, + new RingModulatorEffect(fxparams[0], fxparams[1]) + ); + break; + case "distortion": + addEffectForTag( + p, + new DistortionEffect( + fxparams[0], + fxparams[1], + fxparams[2], + fxparams[3], + fxparams[4] + ) + ); + break; + case "compressor": + addEffectForTag( + p, + new CompressorEffect( + fxparams[0], + fxparams[1], + fxparams[2], + fxparams[3], + fxparams[4] + ) + ); + break; + case "analyser": + addEffectForTag(p, new AnalyserEffect(fxparams[0], fxparams[1])); + break; + } + } + } + } + for (i = 0, len = playingarr.length; i < len; i++) { + if (this.saveload === 3) + continue; + d = playingarr[i]; + src = d["buffersrc"]; + is_music = d["is_music"]; + tag = d["tag"]; + playbackTime = d["playbackTime"]; + looping = d["looping"]; + vol = d["volume"]; + pan = d["pan"]; + panObjUid = pan && pan.hasOwnProperty("objUid") ? pan["objUid"] : -1; + if (is_music && this.saveload === 1) + continue; + if (!is_music && this.saveload === 2) + continue; + a = this.getAudioInstance(src, tag, is_music, looping, vol); + if (!a) { + b = this.getAudioBuffer(src, is_music); + b.seekWhenReady = playbackTime; + b.pauseWhenReady = d["paused"]; + if (pan) { + if (panObjUid !== -1) { + b.panWhenReady.push({ + objUid: panObjUid, + ia: pan["ia"], + oa: pan["oa"], + og: pan["og"], + thistag: tag, + }); + } else { + b.panWhenReady.push({ + x: pan["x"], + y: pan["y"], + a: pan["a"], + ia: pan["ia"], + oa: pan["oa"], + og: pan["og"], + thistag: tag, + }); + } + } + continue; + } + a.resume_position = d["resume_position"]; + a.setPannerEnabled(!!pan); + a.play(looping, vol, playbackTime); + a.updatePlaybackRate(); + a.updateVolume(); + a.doSetMuted(a.is_muted || a.is_silent); + if (d["paused"]) a.pause(); + if (d["muted"]) a.setMuted(true); + a.doSetMuted(a.is_muted || a.is_silent); + if (pan) { + if (panObjUid !== -1) { + a.objectTracker = a.objectTracker || new ObjectTracker(); + a.objectTracker.loadUid = panObjUid; + objectTrackerUidsToLoad.push(a.objectTracker); + } else { + a.setPan( + pan["x"], + pan["y"], + pan["a"], + pan["ia"], + pan["oa"], + pan["og"] + ); + } + } + } + if (setSilent && !silent) { + for (i = 0, len = audioInstances.length; i < len; i++) + audioInstances[i].setSilent(true); + silent = true; + } else if (!setSilent && silent) { + for (i = 0, len = audioInstances.length; i < len; i++) + audioInstances[i].setSilent(false); + silent = false; + } + }; + instanceProto.afterLoad = function () { + var i, len, ot, inst; + for (i = 0, len = objectTrackerUidsToLoad.length; i < len; i++) { + ot = objectTrackerUidsToLoad[i]; + inst = this.runtime.getObjectByUID(ot.loadUid); + ot.setObject(inst); + ot.loadUid = -1; + if (inst) { + listenerX = inst.x; + listenerY = inst.y; + } + } + cr.clearArray(objectTrackerUidsToLoad); + }; + instanceProto.onSuspend = function (s) { + if (this.playinbackground) return; + if (!s && context && context["resume"]) { + context["resume"](); + isContextSuspended = false; + } + var i, len; + for (i = 0, len = audioInstances.length; i < len; i++) + audioInstances[i].setSuspended(s); + if (s && context && context["suspend"]) { + context["suspend"](); + isContextSuspended = true; + } + }; + instanceProto.tick = function () { + var dt = this.runtime.dt; + var i, len, a; + for (i = 0, len = audioInstances.length; i < len; i++) { + a = audioInstances[i]; + a.tick(dt); + if (timescale_mode !== 0) a.updatePlaybackRate(); + } + var p, arr, f; + for (p in effects) { + if (effects.hasOwnProperty(p)) { + arr = effects[p]; + for (i = 0, len = arr.length; i < len; i++) { + f = arr[i]; + if (f.tick) f.tick(); + } + } + } + if (api === API_WEBAUDIO && this.listenerTracker.hasObject()) { + this.listenerTracker.tick(dt); + listenerX = this.listenerTracker.obj.x; + listenerY = this.listenerTracker.obj.y; + context["listener"]["setPosition"]( + this.listenerTracker.obj.x, + this.listenerTracker.obj.y, + this.listenerZ + ); + } + }; + var preload_list = []; + instanceProto.setPreloadList = function (arr) { + var i, len, p, filename, size, isOgg; + var total_size = 0; + for (i = 0, len = arr.length; i < len; ++i) { + p = arr[i]; + filename = p[0]; + size = p[1] * 2; + isOgg = + filename.length > 4 && filename.substr(filename.length - 4) === ".ogg"; + if ((isOgg && useOgg) || (!isOgg && !useOgg)) { + preload_list.push({ + filename: filename, + size: size, + obj: null, + }); + total_size += size; + } + } + return total_size; + }; + instanceProto.startPreloads = function () { + var i, len, p, src; + for (i = 0, len = preload_list.length; i < len; ++i) { + p = preload_list[i]; + src = this.runtime.files_subfolder + p.filename; + p.obj = this.getAudioBuffer(src, false); + } + }; + instanceProto.getPreloadedSize = function () { + var completed = 0; + var i, len, p; + for (i = 0, len = preload_list.length; i < len; ++i) { + p = preload_list[i]; + if ( + p.obj.isLoadedAndDecoded() || + p.obj.hasFailedToLoad() || + this.runtime.isDomFree || + this.runtime.isAndroidStockBrowser + ) { + completed += p.size; + } else if (p.obj.isLoaded()) { + completed += Math.floor(p.size / 2); + } + } + return completed; + }; + instanceProto.releaseAllMusicBuffers = function () { + var i, len, j, b; + for (i = 0, j = 0, len = audioBuffers.length; i < len; ++i) { + b = audioBuffers[i]; + audioBuffers[j] = b; + if (b.is_music) b.release(); + else ++j; // keep + } + audioBuffers.length = j; + }; + instanceProto.getAudioBuffer = function (src_, is_music, dont_create) { + var i, + len, + a, + ret = null, + j, + k, + lenj, + ai; + for (i = 0, len = audioBuffers.length; i < len; i++) { + a = audioBuffers[i]; + if (a.src === src_) { + ret = a; + break; + } + } + if (!ret && !dont_create) { + if (playMusicAsSoundWorkaround && is_music) this.releaseAllMusicBuffers(); + ret = new C2AudioBuffer(src_, is_music); + audioBuffers.push(ret); + } + return ret; + }; + instanceProto.getAudioInstance = function ( + src_, + tag, + is_music, + looping, + vol + ) { + var i, len, a; + for (i = 0, len = audioInstances.length; i < len; i++) { + a = audioInstances[i]; + if (a.src === src_ && (a.canBeRecycled() || is_music)) { + a.tag = tag; + return a; + } + } + var b = this.getAudioBuffer(src_, is_music); + if (!b.bufferObject) { + if (tag !== "") { + b.playTagWhenReady = tag; + b.loopWhenReady = looping; + b.volumeWhenReady = vol; + } + return null; + } + a = new C2AudioInstance(b, tag); + audioInstances.push(a); + return a; + }; + var taggedAudio = []; + function SortByIsPlaying(a, b) { + var an = a.isPlaying() ? 1 : 0; + var bn = b.isPlaying() ? 1 : 0; + if (an === bn) return 0; + else if (an < bn) return 1; + else return -1; + } + function getAudioByTag(tag, sort_by_playing) { + cr.clearArray(taggedAudio); + if (!tag.length) { + if (!lastAudio || lastAudio.hasEnded()) return; + else { + cr.clearArray(taggedAudio); + taggedAudio[0] = lastAudio; + return; + } + } + var i, len, a; + for (i = 0, len = audioInstances.length; i < len; i++) { + a = audioInstances[i]; + if (cr.equals_nocase(tag, a.tag)) taggedAudio.push(a); + } + if (sort_by_playing) taggedAudio.sort(SortByIsPlaying); + } + function reconnectEffects(tag) { + var i, + len, + arr, + n, + toNode = context["destination"]; + if (effects.hasOwnProperty(tag)) { + arr = effects[tag]; + if (arr.length) { + toNode = arr[0].getInputNode(); + for (i = 0, len = arr.length; i < len; i++) { + n = arr[i]; + if (i + 1 === len) n.connectTo(context["destination"]); + else n.connectTo(arr[i + 1].getInputNode()); + } + } + } + getAudioByTag(tag); + for (i = 0, len = taggedAudio.length; i < len; i++) + taggedAudio[i].reconnect(toNode); + if (micSource && micTag === tag) { + micSource["disconnect"](); + micSource["connect"](toNode); + } + } + function addEffectForTag(tag, fx) { + if (!effects.hasOwnProperty(tag)) effects[tag] = [fx]; + else effects[tag].push(fx); + reconnectEffects(tag); + } + function Cnds() {} + Cnds.prototype.OnEnded = function (t) { + return cr.equals_nocase(audTag, t); + }; + Cnds.prototype.PreloadsComplete = function () { + var i, len; + for (i = 0, len = audioBuffers.length; i < len; i++) { + if ( + !audioBuffers[i].isLoadedAndDecoded() && + !audioBuffers[i].hasFailedToLoad() + ) + return false; + } + return true; + }; + Cnds.prototype.AdvancedAudioSupported = function () { + return api === API_WEBAUDIO; + }; + Cnds.prototype.IsSilent = function () { + return silent; + }; + Cnds.prototype.IsAnyPlaying = function () { + var i, len; + for (i = 0, len = audioInstances.length; i < len; i++) { + if (audioInstances[i].isPlaying()) return true; + } + return false; + }; + Cnds.prototype.IsTagPlaying = function (tag) { + getAudioByTag(tag); + var i, len; + for (i = 0, len = taggedAudio.length; i < len; i++) { + if (taggedAudio[i].isPlaying()) return true; + } + return false; + }; + pluginProto.cnds = new Cnds(); + function Acts() {} + Acts.prototype.Play = function (file, looping, vol, tag) { + if (silent) return; + var v = dbToLinear(vol); + var is_music = file[1]; + var src = + this.runtime.files_subfolder + file[0] + (useOgg ? ".ogg" : ".m4a"); + lastAudio = this.getAudioInstance(src, tag, is_music, looping !== 0, v); + if (!lastAudio) return; + lastAudio.setPannerEnabled(false); + lastAudio.play(looping !== 0, v, 0, this.nextPlayTime); + this.nextPlayTime = 0; + }; + Acts.prototype.PlayAtPosition = function ( + file, + looping, + vol, + x_, + y_, + angle_, + innerangle_, + outerangle_, + outergain_, + tag + ) { + if (silent) return; + var v = dbToLinear(vol); + var is_music = file[1]; + var src = + this.runtime.files_subfolder + file[0] + (useOgg ? ".ogg" : ".m4a"); + lastAudio = this.getAudioInstance(src, tag, is_music, looping !== 0, v); + if (!lastAudio) { + var b = this.getAudioBuffer(src, is_music); + b.panWhenReady.push({ + x: x_, + y: y_, + a: angle_, + ia: innerangle_, + oa: outerangle_, + og: dbToLinear(outergain_), + thistag: tag, + }); + return; + } + lastAudio.setPannerEnabled(true); + lastAudio.setPan( + x_, + y_, + angle_, + innerangle_, + outerangle_, + dbToLinear(outergain_) + ); + lastAudio.play(looping !== 0, v, 0, this.nextPlayTime); + this.nextPlayTime = 0; + }; + Acts.prototype.PlayAtObject = function ( + file, + looping, + vol, + obj, + innerangle, + outerangle, + outergain, + tag + ) { + if (silent || !obj) return; + var inst = obj.getFirstPicked(); + if (!inst) return; + var v = dbToLinear(vol); + var is_music = file[1]; + var src = + this.runtime.files_subfolder + file[0] + (useOgg ? ".ogg" : ".m4a"); + lastAudio = this.getAudioInstance(src, tag, is_music, looping !== 0, v); + if (!lastAudio) { + var b = this.getAudioBuffer(src, is_music); + b.panWhenReady.push({ + obj: inst, + ia: innerangle, + oa: outerangle, + og: dbToLinear(outergain), + thistag: tag, + }); + return; + } + lastAudio.setPannerEnabled(true); + var px = cr.rotatePtAround( + inst.x, + inst.y, + -inst.layer.getAngle(), + listenerX, + listenerY, + true + ); + var py = cr.rotatePtAround( + inst.x, + inst.y, + -inst.layer.getAngle(), + listenerX, + listenerY, + false + ); + lastAudio.setPan( + px, + py, + cr.to_degrees(inst.angle - inst.layer.getAngle()), + innerangle, + outerangle, + dbToLinear(outergain) + ); + lastAudio.setObject(inst); + lastAudio.play(looping !== 0, v, 0, this.nextPlayTime); + this.nextPlayTime = 0; + }; + Acts.prototype.PlayByName = function (folder, filename, looping, vol, tag) { + if (silent) return; + var v = dbToLinear(vol); + var is_music = folder === 1; + var src = + this.runtime.files_subfolder + + filename.toLowerCase() + + (useOgg ? ".ogg" : ".m4a"); + lastAudio = this.getAudioInstance(src, tag, is_music, looping !== 0, v); + if (!lastAudio) return; + lastAudio.setPannerEnabled(false); + lastAudio.play(looping !== 0, v, 0, this.nextPlayTime); + this.nextPlayTime = 0; + }; + Acts.prototype.PlayAtPositionByName = function ( + folder, + filename, + looping, + vol, + x_, + y_, + angle_, + innerangle_, + outerangle_, + outergain_, + tag + ) { + if (silent) return; + var v = dbToLinear(vol); + var is_music = folder === 1; + var src = + this.runtime.files_subfolder + + filename.toLowerCase() + + (useOgg ? ".ogg" : ".m4a"); + lastAudio = this.getAudioInstance(src, tag, is_music, looping !== 0, v); + if (!lastAudio) { + var b = this.getAudioBuffer(src, is_music); + b.panWhenReady.push({ + x: x_, + y: y_, + a: angle_, + ia: innerangle_, + oa: outerangle_, + og: dbToLinear(outergain_), + thistag: tag, + }); + return; + } + lastAudio.setPannerEnabled(true); + lastAudio.setPan( + x_, + y_, + angle_, + innerangle_, + outerangle_, + dbToLinear(outergain_) + ); + lastAudio.play(looping !== 0, v, 0, this.nextPlayTime); + this.nextPlayTime = 0; + }; + Acts.prototype.PlayAtObjectByName = function ( + folder, + filename, + looping, + vol, + obj, + innerangle, + outerangle, + outergain, + tag + ) { + if (silent || !obj) return; + var inst = obj.getFirstPicked(); + if (!inst) return; + var v = dbToLinear(vol); + var is_music = folder === 1; + var src = + this.runtime.files_subfolder + + filename.toLowerCase() + + (useOgg ? ".ogg" : ".m4a"); + lastAudio = this.getAudioInstance(src, tag, is_music, looping !== 0, v); + if (!lastAudio) { + var b = this.getAudioBuffer(src, is_music); + b.panWhenReady.push({ + obj: inst, + ia: innerangle, + oa: outerangle, + og: dbToLinear(outergain), + thistag: tag, + }); + return; + } + lastAudio.setPannerEnabled(true); + var px = cr.rotatePtAround( + inst.x, + inst.y, + -inst.layer.getAngle(), + listenerX, + listenerY, + true + ); + var py = cr.rotatePtAround( + inst.x, + inst.y, + -inst.layer.getAngle(), + listenerX, + listenerY, + false + ); + lastAudio.setPan( + px, + py, + cr.to_degrees(inst.angle - inst.layer.getAngle()), + innerangle, + outerangle, + dbToLinear(outergain) + ); + lastAudio.setObject(inst); + lastAudio.play(looping !== 0, v, 0, this.nextPlayTime); + this.nextPlayTime = 0; + }; + Acts.prototype.SetLooping = function (tag, looping) { + getAudioByTag(tag); + var i, len; + for (i = 0, len = taggedAudio.length; i < len; i++) + taggedAudio[i].setLooping(looping === 0); + }; + Acts.prototype.SetMuted = function (tag, muted) { + getAudioByTag(tag); + var i, len; + for (i = 0, len = taggedAudio.length; i < len; i++) + taggedAudio[i].setMuted(muted === 0); + }; + Acts.prototype.SetVolume = function (tag, vol) { + getAudioByTag(tag); + var v = dbToLinear(vol); + var i, len; + for (i = 0, len = taggedAudio.length; i < len; i++) + taggedAudio[i].setVolume(v); + }; + Acts.prototype.Preload = function (file) { + if (silent) return; + var is_music = file[1]; + var src = + this.runtime.files_subfolder + file[0] + (useOgg ? ".ogg" : ".m4a"); + if (api === API_APPMOBI) { + if (this.runtime.isDirectCanvas) AppMobi["context"]["loadSound"](src); + else AppMobi["player"]["loadSound"](src); + return; + } else if (api === API_CORDOVA) { + return; + } + this.getAudioInstance(src, "", is_music, false); + }; + Acts.prototype.PreloadByName = function (folder, filename) { + if (silent) return; + var is_music = folder === 1; + var src = + this.runtime.files_subfolder + + filename.toLowerCase() + + (useOgg ? ".ogg" : ".m4a"); + if (api === API_APPMOBI) { + if (this.runtime.isDirectCanvas) AppMobi["context"]["loadSound"](src); + else AppMobi["player"]["loadSound"](src); + return; + } else if (api === API_CORDOVA) { + return; + } + this.getAudioInstance(src, "", is_music, false); + }; + Acts.prototype.SetPlaybackRate = function (tag, rate) { + getAudioByTag(tag); + if (rate < 0.0) rate = 0; + var i, len; + for (i = 0, len = taggedAudio.length; i < len; i++) + taggedAudio[i].setPlaybackRate(rate); + }; + Acts.prototype.Stop = function (tag) { + getAudioByTag(tag); + var i, len; + for (i = 0, len = taggedAudio.length; i < len; i++) taggedAudio[i].stop(); + }; + Acts.prototype.StopAll = function () { + var i, len; + for (i = 0, len = audioInstances.length; i < len; i++) + audioInstances[i].stop(); + }; + Acts.prototype.SetPaused = function (tag, state) { + getAudioByTag(tag); + var i, len; + for (i = 0, len = taggedAudio.length; i < len; i++) { + if (state === 0) taggedAudio[i].pause(); + else taggedAudio[i].resume(); + } + }; + Acts.prototype.Seek = function (tag, pos) { + getAudioByTag(tag); + var i, len; + for (i = 0, len = taggedAudio.length; i < len; i++) { + taggedAudio[i].seek(pos); + } + }; + Acts.prototype.SetSilent = function (s) { + var i, len; + if (s === 2) + s = silent ? 1 : 0; // choose opposite state + if (s === 0 && !silent) { + for (i = 0, len = audioInstances.length; i < len; i++) + audioInstances[i].setSilent(true); + silent = true; + } else if (s === 1 && silent) { + for (i = 0, len = audioInstances.length; i < len; i++) + audioInstances[i].setSilent(false); + silent = false; + } + }; + Acts.prototype.SetMasterVolume = function (vol) { + masterVolume = dbToLinear(vol); + var i, len; + for (i = 0, len = audioInstances.length; i < len; i++) + audioInstances[i].updateVolume(); + }; + Acts.prototype.AddFilterEffect = function ( + tag, + type, + freq, + detune, + q, + gain, + mix + ) { + if ( + api !== API_WEBAUDIO || + type < 0 || + type >= filterTypes.length || + !context["createBiquadFilter"] + ) + return; + tag = tag.toLowerCase(); + mix = mix / 100; + if (mix < 0) mix = 0; + if (mix > 1) mix = 1; + addEffectForTag(tag, new FilterEffect(type, freq, detune, q, gain, mix)); + }; + Acts.prototype.AddDelayEffect = function (tag, delay, gain, mix) { + if (api !== API_WEBAUDIO) return; + tag = tag.toLowerCase(); + mix = mix / 100; + if (mix < 0) mix = 0; + if (mix > 1) mix = 1; + addEffectForTag(tag, new DelayEffect(delay, dbToLinear(gain), mix)); + }; + Acts.prototype.AddFlangerEffect = function ( + tag, + delay, + modulation, + freq, + feedback, + mix + ) { + if (api !== API_WEBAUDIO || !context["createOscillator"]) return; + tag = tag.toLowerCase(); + mix = mix / 100; + if (mix < 0) mix = 0; + if (mix > 1) mix = 1; + addEffectForTag( + tag, + new FlangerEffect( + delay / 1000, + modulation / 1000, + freq, + feedback / 100, + mix + ) + ); + }; + Acts.prototype.AddPhaserEffect = function ( + tag, + freq, + detune, + q, + mod, + modfreq, + mix + ) { + if (api !== API_WEBAUDIO || !context["createOscillator"]) return; + tag = tag.toLowerCase(); + mix = mix / 100; + if (mix < 0) mix = 0; + if (mix > 1) mix = 1; + addEffectForTag(tag, new PhaserEffect(freq, detune, q, mod, modfreq, mix)); + }; + Acts.prototype.AddConvolutionEffect = function (tag, file, norm, mix) { + if (api !== API_WEBAUDIO || !context["createConvolver"]) return; + var doNormalize = norm === 0; + var src = + this.runtime.files_subfolder + file[0] + (useOgg ? ".ogg" : ".m4a"); + var b = this.getAudioBuffer(src, false); + tag = tag.toLowerCase(); + mix = mix / 100; + if (mix < 0) mix = 0; + if (mix > 1) mix = 1; + var fx; + if (b.bufferObject) { + fx = new ConvolveEffect(b.bufferObject, doNormalize, mix, src); + } + else { + fx = new ConvolveEffect(null, doNormalize, mix, src); + b.normalizeWhenReady = doNormalize; + b.convolveWhenReady = fx; + } + addEffectForTag(tag, fx); + }; + Acts.prototype.AddGainEffect = function (tag, g) { + if (api !== API_WEBAUDIO) return; + tag = tag.toLowerCase(); + addEffectForTag(tag, new GainEffect(dbToLinear(g))); + }; + Acts.prototype.AddMuteEffect = function (tag) { + if (api !== API_WEBAUDIO) return; + tag = tag.toLowerCase(); + addEffectForTag(tag, new GainEffect(0)); // re-use gain effect with 0 gain + }; + Acts.prototype.AddTremoloEffect = function (tag, freq, mix) { + if (api !== API_WEBAUDIO || !context["createOscillator"]) return; + tag = tag.toLowerCase(); + mix = mix / 100; + if (mix < 0) mix = 0; + if (mix > 1) mix = 1; + addEffectForTag(tag, new TremoloEffect(freq, mix)); + }; + Acts.prototype.AddRingModEffect = function (tag, freq, mix) { + if (api !== API_WEBAUDIO || !context["createOscillator"]) return; + tag = tag.toLowerCase(); + mix = mix / 100; + if (mix < 0) mix = 0; + if (mix > 1) mix = 1; + addEffectForTag(tag, new RingModulatorEffect(freq, mix)); + }; + Acts.prototype.AddDistortionEffect = function ( + tag, + threshold, + headroom, + drive, + makeupgain, + mix + ) { + if (api !== API_WEBAUDIO || !context["createWaveShaper"]) return; + tag = tag.toLowerCase(); + mix = mix / 100; + if (mix < 0) mix = 0; + if (mix > 1) mix = 1; + addEffectForTag( + tag, + new DistortionEffect(threshold, headroom, drive, makeupgain, mix) + ); + }; + Acts.prototype.AddCompressorEffect = function ( + tag, + threshold, + knee, + ratio, + attack, + release + ) { + if (api !== API_WEBAUDIO || !context["createDynamicsCompressor"]) return; + tag = tag.toLowerCase(); + addEffectForTag( + tag, + new CompressorEffect( + threshold, + knee, + ratio, + attack / 1000, + release / 1000 + ) + ); + }; + Acts.prototype.AddAnalyserEffect = function (tag, fftSize, smoothing) { + if (api !== API_WEBAUDIO) return; + tag = tag.toLowerCase(); + addEffectForTag(tag, new AnalyserEffect(fftSize, smoothing)); + }; + Acts.prototype.RemoveEffects = function (tag) { + if (api !== API_WEBAUDIO) return; + tag = tag.toLowerCase(); + var i, len, arr; + if (effects.hasOwnProperty(tag)) { + arr = effects[tag]; + if (arr.length) { + for (i = 0, len = arr.length; i < len; i++) arr[i].remove(); + cr.clearArray(arr); + reconnectEffects(tag); + } + } + }; + Acts.prototype.SetEffectParameter = function ( + tag, + index, + param, + value, + ramp, + time + ) { + if (api !== API_WEBAUDIO) return; + tag = tag.toLowerCase(); + index = Math.floor(index); + var arr; + if (!effects.hasOwnProperty(tag)) return; + arr = effects[tag]; + if (index < 0 || index >= arr.length) return; + arr[index].setParam(param, value, ramp, time); + }; + Acts.prototype.SetListenerObject = function (obj_) { + if (!obj_ || api !== API_WEBAUDIO) return; + var inst = obj_.getFirstPicked(); + if (!inst) return; + this.listenerTracker.setObject(inst); + listenerX = inst.x; + listenerY = inst.y; + }; + Acts.prototype.SetListenerZ = function (z) { + this.listenerZ = z; + }; + Acts.prototype.ScheduleNextPlay = function (t) { + if (!context) return; // needs Web Audio API + this.nextPlayTime = t; + }; + Acts.prototype.UnloadAudio = function (file) { + var is_music = file[1]; + var src = + this.runtime.files_subfolder + file[0] + (useOgg ? ".ogg" : ".m4a"); + var b = this.getAudioBuffer( + src, + is_music, + true /* don't create if missing */ + ); + if (!b) return; // not loaded + b.release(); + cr.arrayFindRemove(audioBuffers, b); + }; + Acts.prototype.UnloadAudioByName = function (folder, filename) { + var is_music = folder === 1; + var src = + this.runtime.files_subfolder + + filename.toLowerCase() + + (useOgg ? ".ogg" : ".m4a"); + var b = this.getAudioBuffer( + src, + is_music, + true /* don't create if missing */ + ); + if (!b) return; // not loaded + b.release(); + cr.arrayFindRemove(audioBuffers, b); + }; + Acts.prototype.UnloadAll = function () { + var i, len; + for (i = 0, len = audioBuffers.length; i < len; ++i) { + audioBuffers[i].release(); + } + cr.clearArray(audioBuffers); + }; + pluginProto.acts = new Acts(); + function Exps() {} + Exps.prototype.Duration = function (ret, tag) { + getAudioByTag(tag, true); + if (taggedAudio.length) ret.set_float(taggedAudio[0].getDuration()); + else ret.set_float(0); + }; + Exps.prototype.PlaybackTime = function (ret, tag) { + getAudioByTag(tag, true); + if (taggedAudio.length) ret.set_float(taggedAudio[0].getPlaybackTime(true)); + else ret.set_float(0); + }; + Exps.prototype.Volume = function (ret, tag) { + getAudioByTag(tag, true); + if (taggedAudio.length) { + var v = taggedAudio[0].getVolume(); + ret.set_float(linearToDb(v)); + } else ret.set_float(0); + }; + Exps.prototype.MasterVolume = function (ret) { + ret.set_float(linearToDb(masterVolume)); + }; + Exps.prototype.EffectCount = function (ret, tag) { + tag = tag.toLowerCase(); + var arr = null; + if (effects.hasOwnProperty(tag)) arr = effects[tag]; + ret.set_int(arr ? arr.length : 0); + }; + function getAnalyser(tag, index) { + var arr = null; + if (effects.hasOwnProperty(tag)) arr = effects[tag]; + if (arr && index >= 0 && index < arr.length && arr[index].freqBins) + return arr[index]; + else return null; + } + Exps.prototype.AnalyserFreqBinCount = function (ret, tag, index) { + tag = tag.toLowerCase(); + index = Math.floor(index); + var analyser = getAnalyser(tag, index); + ret.set_int(analyser ? analyser.node["frequencyBinCount"] : 0); + }; + Exps.prototype.AnalyserFreqBinAt = function (ret, tag, index, bin) { + tag = tag.toLowerCase(); + index = Math.floor(index); + bin = Math.floor(bin); + var analyser = getAnalyser(tag, index); + if (!analyser) ret.set_float(0); + else if (bin < 0 || bin >= analyser.node["frequencyBinCount"]) + ret.set_float(0); + else ret.set_float(analyser.freqBins[bin]); + }; + Exps.prototype.AnalyserPeakLevel = function (ret, tag, index) { + tag = tag.toLowerCase(); + index = Math.floor(index); + var analyser = getAnalyser(tag, index); + if (analyser) ret.set_float(analyser.peak); + else ret.set_float(0); + }; + Exps.prototype.AnalyserRMSLevel = function (ret, tag, index) { + tag = tag.toLowerCase(); + index = Math.floor(index); + var analyser = getAnalyser(tag, index); + if (analyser) ret.set_float(analyser.rms); + else ret.set_float(0); + }; + Exps.prototype.SampleRate = function (ret) { + ret.set_int(context ? context.sampleRate : 0); + }; + Exps.prototype.CurrentTime = function (ret) { + ret.set_float(context ? context.currentTime : cr.performance_now()); + }; + pluginProto.exps = new Exps(); +})(); +; +; +cr.plugins_.Browser = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Browser.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + var offlineScriptReady = false; + var browserPluginReady = false; + document.addEventListener("DOMContentLoaded", function () + { + if (window["C2_RegisterSW"] && navigator["serviceWorker"]) + { + var offlineClientScript = document.createElement("script"); + offlineClientScript.onload = function () + { + offlineScriptReady = true; + checkReady() + }; + offlineClientScript.src = "offlineClient.js"; + document.head.appendChild(offlineClientScript); + } + }); + var browserInstance = null; + typeProto.onAppBegin = function () + { + browserPluginReady = true; + checkReady(); + }; + function checkReady() + { + if (offlineScriptReady && browserPluginReady && window["OfflineClientInfo"]) + { + window["OfflineClientInfo"]["SetMessageCallback"](function (e) + { + browserInstance.onSWMessage(e); + }); + } + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + var self = this; + window.addEventListener("resize", function () { + self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnResize, self); + }); + browserInstance = this; + if (typeof navigator.onLine !== "undefined") + { + window.addEventListener("online", function() { + self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnOnline, self); + }); + window.addEventListener("offline", function() { + self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnOffline, self); + }); + } + if (!this.runtime.isDirectCanvas) + { + document.addEventListener("appMobi.device.update.available", function() { + self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnUpdateReady, self); + }); + document.addEventListener("backbutton", function() { + self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnBackButton, self); + }); + document.addEventListener("menubutton", function() { + self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnMenuButton, self); + }); + document.addEventListener("searchbutton", function() { + self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnSearchButton, self); + }); + document.addEventListener("tizenhwkey", function (e) { + var ret; + switch (e["keyName"]) { + case "back": + ret = self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnBackButton, self); + if (!ret) + { + if (window["tizen"]) + window["tizen"]["application"]["getCurrentApplication"]()["exit"](); + } + break; + case "menu": + ret = self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnMenuButton, self); + if (!ret) + e.preventDefault(); + break; + } + }); + } + if (this.runtime.isWindows10 && typeof Windows !== "undefined") + { + Windows["UI"]["Core"]["SystemNavigationManager"]["getForCurrentView"]().addEventListener("backrequested", function (e) + { + var ret = self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnBackButton, self); + if (ret) + e["handled"] = true; + }); + } + else if (this.runtime.isWinJS && WinJS["Application"]) + { + WinJS["Application"]["onbackclick"] = function (e) + { + return !!self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnBackButton, self); + }; + } + this.runtime.addSuspendCallback(function(s) { + if (s) + { + self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnPageHidden, self); + } + else + { + self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnPageVisible, self); + } + }); + this.is_arcade = (typeof window["is_scirra_arcade"] !== "undefined"); + }; + instanceProto.onSWMessage = function (e) + { + var messageType = e["data"]["type"]; + if (messageType === "downloading-update") + this.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnUpdateFound, this); + else if (messageType === "update-ready" || messageType === "update-pending") + this.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnUpdateReady, this); + else if (messageType === "offline-ready") + this.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnOfflineReady, this); + }; + var batteryManager = null; + var loadedBatteryManager = false; + function maybeLoadBatteryManager() + { + if (loadedBatteryManager) + return; + if (!navigator["getBattery"]) + return; + var promise = navigator["getBattery"](); + loadedBatteryManager = true; + if (promise) + { + promise.then(function (manager) { + batteryManager = manager; + }); + } + }; + function Cnds() {}; + Cnds.prototype.CookiesEnabled = function() + { + return navigator ? navigator.cookieEnabled : false; + }; + Cnds.prototype.IsOnline = function() + { + return navigator ? navigator.onLine : false; + }; + Cnds.prototype.HasJava = function() + { + return navigator ? navigator.javaEnabled() : false; + }; + Cnds.prototype.OnOnline = function() + { + return true; + }; + Cnds.prototype.OnOffline = function() + { + return true; + }; + Cnds.prototype.IsDownloadingUpdate = function () + { + return false; // deprecated + }; + Cnds.prototype.OnUpdateReady = function () + { + return true; + }; + Cnds.prototype.PageVisible = function () + { + return !this.runtime.isSuspended; + }; + Cnds.prototype.OnPageVisible = function () + { + return true; + }; + Cnds.prototype.OnPageHidden = function () + { + return true; + }; + Cnds.prototype.OnResize = function () + { + return true; + }; + Cnds.prototype.IsFullscreen = function () + { + return !!(document["mozFullScreen"] || document["webkitIsFullScreen"] || document["fullScreen"] || this.runtime.isNodeFullscreen); + }; + Cnds.prototype.OnBackButton = function () + { + return true; + }; + Cnds.prototype.OnMenuButton = function () + { + return true; + }; + Cnds.prototype.OnSearchButton = function () + { + return true; + }; + Cnds.prototype.IsMetered = function () + { + var connection = navigator["connection"] || navigator["mozConnection"] || navigator["webkitConnection"]; + if (!connection) + return false; + return !!connection["metered"]; + }; + Cnds.prototype.IsCharging = function () + { + var battery = navigator["battery"] || navigator["mozBattery"] || navigator["webkitBattery"]; + if (battery) + { + return !!battery["charging"] + } + else + { + maybeLoadBatteryManager(); + if (batteryManager) + { + return !!batteryManager["charging"]; + } + else + { + return true; // if unknown, default to charging (powered) + } + } + }; + Cnds.prototype.IsPortraitLandscape = function (p) + { + var current = (window.innerWidth <= window.innerHeight ? 0 : 1); + return current === p; + }; + Cnds.prototype.SupportsFullscreen = function () + { + if (this.runtime.isNodeWebkit) + return true; + var elem = this.runtime.canvasdiv || this.runtime.canvas; + return !!(elem["requestFullscreen"] || elem["mozRequestFullScreen"] || elem["msRequestFullscreen"] || elem["webkitRequestFullScreen"]); + }; + Cnds.prototype.OnUpdateFound = function () + { + return true; + }; + Cnds.prototype.OnUpdateReady = function () + { + return true; + }; + Cnds.prototype.OnOfflineReady = function () + { + return true; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.Alert = function (msg) + { + if (!this.runtime.isDomFree) + alert(msg.toString()); + }; + Acts.prototype.Close = function () + { + if (this.runtime.isCocoonJs) + CocoonJS["App"]["forceToFinish"](); + else if (window["tizen"]) + window["tizen"]["application"]["getCurrentApplication"]()["exit"](); + else if (navigator["app"] && navigator["app"]["exitApp"]) + navigator["app"]["exitApp"](); + else if (navigator["device"] && navigator["device"]["exitApp"]) + navigator["device"]["exitApp"](); + else if (!this.is_arcade && !this.runtime.isDomFree) + window.close(); + }; + Acts.prototype.Focus = function () + { + if (this.runtime.isNodeWebkit) + { + var win = window["nwgui"]["Window"]["get"](); + win["focus"](); + } + else if (!this.is_arcade && !this.runtime.isDomFree) + window.focus(); + }; + Acts.prototype.Blur = function () + { + if (this.runtime.isNodeWebkit) + { + var win = window["nwgui"]["Window"]["get"](); + win["blur"](); + } + else if (!this.is_arcade && !this.runtime.isDomFree) + window.blur(); + }; + Acts.prototype.GoBack = function () + { + if (navigator["app"] && navigator["app"]["backHistory"]) + navigator["app"]["backHistory"](); + else if (!this.is_arcade && !this.runtime.isDomFree && window.back) + window.back(); + }; + Acts.prototype.GoForward = function () + { + if (!this.is_arcade && !this.runtime.isDomFree && window.forward) + window.forward(); + }; + Acts.prototype.GoHome = function () + { + if (!this.is_arcade && !this.runtime.isDomFree && window.home) + window.home(); + }; + Acts.prototype.GoToURL = function (url, target) + { + if (this.runtime.isCocoonJs) + CocoonJS["App"]["openURL"](url); + else if (this.runtime.isEjecta) + ejecta["openURL"](url); + else if (this.runtime.isWinJS) + Windows["System"]["Launcher"]["launchUriAsync"](new Windows["Foundation"]["Uri"](url)); + else if (navigator["app"] && navigator["app"]["loadUrl"]) + navigator["app"]["loadUrl"](url, { "openExternal": true }); + else if (self["cordova"] && self["cordova"]["InAppBrowser"]) + self["cordova"]["InAppBrowser"]["open"](url, "_system"); + else if (!this.is_arcade && !this.runtime.isDomFree) + { + if (target === 2 && !this.is_arcade) // top + window.top.location = url; + else if (target === 1 && !this.is_arcade) // parent + window.parent.location = url; + else // self + window.location = url; + } + }; + Acts.prototype.GoToURLWindow = function (url, tag) + { + if (this.runtime.isCocoonJs) + CocoonJS["App"]["openURL"](url); + else if (this.runtime.isEjecta) + ejecta["openURL"](url); + else if (this.runtime.isWinJS) + Windows["System"]["Launcher"]["launchUriAsync"](new Windows["Foundation"]["Uri"](url)); + else if (navigator["app"] && navigator["app"]["loadUrl"]) + navigator["app"]["loadUrl"](url, { "openExternal": true }); + else if (self["cordova"] && self["cordova"]["InAppBrowser"]) + self["cordova"]["InAppBrowser"]["open"](url, "_system"); + else if (!this.is_arcade && !this.runtime.isDomFree) + window.open(url, tag); + }; + Acts.prototype.Reload = function () + { + if (!this.is_arcade && !this.runtime.isDomFree) + window.location.reload(); + }; + var firstRequestFullscreen = true; + var crruntime = null; + function onFullscreenError(e) + { + if (console && console.warn) + console.warn("Fullscreen request failed: ", e); + crruntime["setSize"](window.innerWidth, window.innerHeight); + }; + Acts.prototype.RequestFullScreen = function (stretchmode) + { + if (this.runtime.isDomFree) + { + cr.logexport("[Construct 2] Requesting fullscreen is not supported on this platform - the request has been ignored"); + return; + } + if (stretchmode >= 2) + stretchmode += 1; + if (stretchmode === 6) + stretchmode = 2; + if (this.runtime.isNodeWebkit) + { + if (this.runtime.isDebug) + { + debuggerFullscreen(true); + } + else if (!this.runtime.isNodeFullscreen && window["nwgui"]) + { + window["nwgui"]["Window"]["get"]()["enterFullscreen"](); + this.runtime.isNodeFullscreen = true; + this.runtime.fullscreen_scaling = (stretchmode >= 2 ? stretchmode : 0); + } + } + else + { + if (document["mozFullScreen"] || document["webkitIsFullScreen"] || !!document["msFullscreenElement"] || document["fullScreen"] || document["fullScreenElement"]) + { + return; + } + this.runtime.fullscreen_scaling = (stretchmode >= 2 ? stretchmode : 0); + var elem = document.documentElement; + if (firstRequestFullscreen) + { + firstRequestFullscreen = false; + crruntime = this.runtime; + elem.addEventListener("mozfullscreenerror", onFullscreenError); + elem.addEventListener("webkitfullscreenerror", onFullscreenError); + elem.addEventListener("MSFullscreenError", onFullscreenError); + elem.addEventListener("fullscreenerror", onFullscreenError); + } + if (elem["requestFullscreen"]) + elem["requestFullscreen"](); + else if (elem["mozRequestFullScreen"]) + elem["mozRequestFullScreen"](); + else if (elem["msRequestFullscreen"]) + elem["msRequestFullscreen"](); + else if (elem["webkitRequestFullScreen"]) + { + if (typeof Element !== "undefined" && typeof Element["ALLOW_KEYBOARD_INPUT"] !== "undefined") + elem["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]); + else + elem["webkitRequestFullScreen"](); + } + } + }; + Acts.prototype.CancelFullScreen = function () + { + if (this.runtime.isDomFree) + { + cr.logexport("[Construct 2] Exiting fullscreen is not supported on this platform - the request has been ignored"); + return; + } + if (this.runtime.isNodeWebkit) + { + if (this.runtime.isDebug) + { + debuggerFullscreen(false); + } + else if (this.runtime.isNodeFullscreen && window["nwgui"]) + { + window["nwgui"]["Window"]["get"]()["leaveFullscreen"](); + this.runtime.isNodeFullscreen = false; + } + } + else + { + if (document["exitFullscreen"]) + document["exitFullscreen"](); + else if (document["mozCancelFullScreen"]) + document["mozCancelFullScreen"](); + else if (document["msExitFullscreen"]) + document["msExitFullscreen"](); + else if (document["webkitCancelFullScreen"]) + document["webkitCancelFullScreen"](); + } + }; + Acts.prototype.Vibrate = function (pattern_) + { + try { + var arr = pattern_.split(","); + var i, len; + for (i = 0, len = arr.length; i < len; i++) + { + arr[i] = parseInt(arr[i], 10); + } + if (navigator["vibrate"]) + navigator["vibrate"](arr); + else if (navigator["mozVibrate"]) + navigator["mozVibrate"](arr); + else if (navigator["webkitVibrate"]) + navigator["webkitVibrate"](arr); + else if (navigator["msVibrate"]) + navigator["msVibrate"](arr); + } + catch (e) {} + }; + Acts.prototype.InvokeDownload = function (url_, filename_) + { + var a = document.createElement("a"); + if (typeof a["download"] === "undefined") + { + window.open(url_); + } + else + { + var body = document.getElementsByTagName("body")[0]; + a.textContent = filename_; + a.href = url_; + a["download"] = filename_; + body.appendChild(a); + var clickEvent = new MouseEvent("click"); + a.dispatchEvent(clickEvent); + body.removeChild(a); + } + }; + Acts.prototype.InvokeDownloadString = function (str_, mimetype_, filename_) + { + var datauri = "data:" + mimetype_ + "," + encodeURIComponent(str_); + var a = document.createElement("a"); + if (typeof a["download"] === "undefined") + { + window.open(datauri); + } + else + { + var body = document.getElementsByTagName("body")[0]; + a.textContent = filename_; + a.href = datauri; + a["download"] = filename_; + body.appendChild(a); + var clickEvent = new MouseEvent("click"); + a.dispatchEvent(clickEvent); + body.removeChild(a); + } + }; + Acts.prototype.ConsoleLog = function (type_, msg_) + { + if (typeof console === "undefined") + return; + if (type_ === 0 && console.log) + console.log(msg_.toString()); + if (type_ === 1 && console.warn) + console.warn(msg_.toString()); + if (type_ === 2 && console.error) + console.error(msg_.toString()); + }; + Acts.prototype.ConsoleGroup = function (name_) + { + if (console && console.group) + console.group(name_); + }; + Acts.prototype.ConsoleGroupEnd = function () + { + if (console && console.groupEnd) + console.groupEnd(); + }; + Acts.prototype.ExecJs = function (js_) + { + try { + if (eval) + eval(js_); + } + catch (e) + { + if (console && console.error) + console.error("Error executing Javascript: ", e); + } + }; + var orientations = [ + "portrait", + "landscape", + "portrait-primary", + "portrait-secondary", + "landscape-primary", + "landscape-secondary" + ]; + Acts.prototype.LockOrientation = function (o) + { + o = Math.floor(o); + if (o < 0 || o >= orientations.length) + return; + this.runtime.autoLockOrientation = false; + var orientation = orientations[o]; + if (screen["orientation"] && screen["orientation"]["lock"]) + screen["orientation"]["lock"](orientation); + else if (screen["lockOrientation"]) + screen["lockOrientation"](orientation); + else if (screen["webkitLockOrientation"]) + screen["webkitLockOrientation"](orientation); + else if (screen["mozLockOrientation"]) + screen["mozLockOrientation"](orientation); + else if (screen["msLockOrientation"]) + screen["msLockOrientation"](orientation); + }; + Acts.prototype.UnlockOrientation = function () + { + this.runtime.autoLockOrientation = false; + if (screen["orientation"] && screen["orientation"]["unlock"]) + screen["orientation"]["unlock"](); + else if (screen["unlockOrientation"]) + screen["unlockOrientation"](); + else if (screen["webkitUnlockOrientation"]) + screen["webkitUnlockOrientation"](); + else if (screen["mozUnlockOrientation"]) + screen["mozUnlockOrientation"](); + else if (screen["msUnlockOrientation"]) + screen["msUnlockOrientation"](); + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.URL = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : window.location.toString()); + }; + Exps.prototype.Protocol = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : window.location.protocol); + }; + Exps.prototype.Domain = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : window.location.hostname); + }; + Exps.prototype.PathName = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : window.location.pathname); + }; + Exps.prototype.Hash = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : window.location.hash); + }; + Exps.prototype.Referrer = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : document.referrer); + }; + Exps.prototype.Title = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : document.title); + }; + Exps.prototype.Name = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : navigator.appName); + }; + Exps.prototype.Version = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : navigator.appVersion); + }; + Exps.prototype.Language = function (ret) + { + if (navigator && navigator.language) + ret.set_string(navigator.language); + else + ret.set_string(""); + }; + Exps.prototype.Platform = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : navigator.platform); + }; + Exps.prototype.Product = function (ret) + { + if (navigator && navigator.product) + ret.set_string(navigator.product); + else + ret.set_string(""); + }; + Exps.prototype.Vendor = function (ret) + { + if (navigator && navigator.vendor) + ret.set_string(navigator.vendor); + else + ret.set_string(""); + }; + Exps.prototype.UserAgent = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : navigator.userAgent); + }; + Exps.prototype.QueryString = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : window.location.search); + }; + Exps.prototype.QueryParam = function (ret, paramname) + { + if (this.runtime.isDomFree) + { + ret.set_string(""); + return; + } + var match = RegExp('[?&]' + paramname + '=([^&]*)').exec(window.location.search); + if (match) + ret.set_string(decodeURIComponent(match[1].replace(/\+/g, ' '))); + else + ret.set_string(""); + }; + Exps.prototype.Bandwidth = function (ret) + { + var connection = navigator["connection"] || navigator["mozConnection"] || navigator["webkitConnection"]; + if (!connection) + ret.set_float(Number.POSITIVE_INFINITY); + else + { + if (typeof connection["bandwidth"] !== "undefined") + ret.set_float(connection["bandwidth"]); + else if (typeof connection["downlinkMax"] !== "undefined") + ret.set_float(connection["downlinkMax"]); + else + ret.set_float(Number.POSITIVE_INFINITY); + } + }; + Exps.prototype.ConnectionType = function (ret) + { + var connection = navigator["connection"] || navigator["mozConnection"] || navigator["webkitConnection"]; + if (!connection) + ret.set_string("unknown"); + else + { + ret.set_string(connection["type"] || "unknown"); + } + }; + Exps.prototype.BatteryLevel = function (ret) + { + var battery = navigator["battery"] || navigator["mozBattery"] || navigator["webkitBattery"]; + if (battery) + { + ret.set_float(battery["level"]); + } + else + { + maybeLoadBatteryManager(); + if (batteryManager) + { + ret.set_float(batteryManager["level"]); + } + else + { + ret.set_float(1); // not supported/unknown: assume charged + } + } + }; + Exps.prototype.BatteryTimeLeft = function (ret) + { + var battery = navigator["battery"] || navigator["mozBattery"] || navigator["webkitBattery"]; + if (battery) + { + ret.set_float(battery["dischargingTime"]); + } + else + { + maybeLoadBatteryManager(); + if (batteryManager) + { + ret.set_float(batteryManager["dischargingTime"]); + } + else + { + ret.set_float(Number.POSITIVE_INFINITY); // not supported/unknown: assume infinite time left + } + } + }; + Exps.prototype.ExecJS = function (ret, js_) + { + if (!eval) + { + ret.set_any(0); + return; + } + var result = 0; + try { + result = eval(js_); + } + catch (e) + { + if (console && console.error) + console.error("Error executing Javascript: ", e); + } + if (typeof result === "number") + ret.set_any(result); + else if (typeof result === "string") + ret.set_any(result); + else if (typeof result === "boolean") + ret.set_any(result ? 1 : 0); + else + ret.set_any(0); + }; + Exps.prototype.ScreenWidth = function (ret) + { + ret.set_int(screen.width); + }; + Exps.prototype.ScreenHeight = function (ret) + { + ret.set_int(screen.height); + }; + Exps.prototype.DevicePixelRatio = function (ret) + { + ret.set_float(this.runtime.devicePixelRatio); + }; + Exps.prototype.WindowInnerWidth = function (ret) + { + ret.set_int(window.innerWidth); + }; + Exps.prototype.WindowInnerHeight = function (ret) + { + ret.set_int(window.innerHeight); + }; + Exps.prototype.WindowOuterWidth = function (ret) + { + ret.set_int(window.outerWidth); + }; + Exps.prototype.WindowOuterHeight = function (ret) + { + ret.set_int(window.outerHeight); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.Button = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Button.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + if (this.runtime.isDomFree) + { + cr.logexport("[Construct 2] Button plugin not supported on this platform - the object will not be created"); + return; + } + this.isCheckbox = (this.properties[0] === 1); + this.inputElem = document.createElement("input"); + if (this.isCheckbox) + this.elem = document.createElement("label"); + else + this.elem = this.inputElem; + this.labelText = null; + this.inputElem.type = (this.isCheckbox ? "checkbox" : "button"); + this.inputElem.id = this.properties[6]; + jQuery(this.elem).appendTo(this.runtime.canvasdiv ? this.runtime.canvasdiv : "body"); + if (this.isCheckbox) + { + jQuery(this.inputElem).appendTo(this.elem); + this.labelText = document.createTextNode(this.properties[1]); + jQuery(this.elem).append(this.labelText); + this.inputElem.checked = (this.properties[7] !== 0); + jQuery(this.elem).css("font-family", "sans-serif"); + jQuery(this.elem).css("display", "inline-block"); + jQuery(this.elem).css("color", "black"); + } + else + this.inputElem.value = this.properties[1]; + this.elem.title = this.properties[2]; + this.inputElem.disabled = (this.properties[4] === 0); + this.autoFontSize = (this.properties[5] !== 0); + this.element_hidden = false; + if (this.properties[3] === 0) + { + jQuery(this.elem).hide(); + this.visible = false; + this.element_hidden = true; + } + this.inputElem.onclick = (function (self) { + return function(e) { + e.stopPropagation(); + self.runtime.isInUserInputEvent = true; + self.runtime.trigger(cr.plugins_.Button.prototype.cnds.OnClicked, self); + self.runtime.isInUserInputEvent = false; + }; + })(this); + this.elem.addEventListener("touchstart", function (e) { + e.stopPropagation(); + }, false); + this.elem.addEventListener("touchmove", function (e) { + e.stopPropagation(); + }, false); + this.elem.addEventListener("touchend", function (e) { + e.stopPropagation(); + }, false); + jQuery(this.elem).mousedown(function (e) { + e.stopPropagation(); + }); + jQuery(this.elem).mouseup(function (e) { + e.stopPropagation(); + }); + jQuery(this.elem).keydown(function (e) { + e.stopPropagation(); + }); + jQuery(this.elem).keyup(function (e) { + e.stopPropagation(); + }); + this.lastLeft = 0; + this.lastTop = 0; + this.lastRight = 0; + this.lastBottom = 0; + this.lastWinWidth = 0; + this.lastWinHeight = 0; + this.updatePosition(true); + this.runtime.tickMe(this); + }; + instanceProto.saveToJSON = function () + { + var o = { + "tooltip": this.elem.title, + "disabled": !!this.inputElem.disabled + }; + if (this.isCheckbox) + { + o["checked"] = !!this.inputElem.checked; + o["text"] = this.labelText.nodeValue; + } + else + { + o["text"] = this.elem.value; + } + return o; + }; + instanceProto.loadFromJSON = function (o) + { + this.elem.title = o["tooltip"]; + this.inputElem.disabled = o["disabled"]; + if (this.isCheckbox) + { + this.inputElem.checked = o["checked"]; + this.labelText.nodeValue = o["text"]; + } + else + { + this.elem.value = o["text"]; + } + }; + instanceProto.onDestroy = function () + { + if (this.runtime.isDomFree) + return; + jQuery(this.elem).remove(); + this.elem = null; + }; + instanceProto.tick = function () + { + this.updatePosition(); + }; + var last_canvas_offset = null; + var last_checked_tick = -1; + instanceProto.updatePosition = function (first) + { + if (this.runtime.isDomFree) + return; + var left = this.layer.layerToCanvas(this.x, this.y, true); + var top = this.layer.layerToCanvas(this.x, this.y, false); + var right = this.layer.layerToCanvas(this.x + this.width, this.y + this.height, true); + var bottom = this.layer.layerToCanvas(this.x + this.width, this.y + this.height, false); + var rightEdge = this.runtime.width / this.runtime.devicePixelRatio; + var bottomEdge = this.runtime.height / this.runtime.devicePixelRatio; + if (!this.visible || !this.layer.visible || right <= 0 || bottom <= 0 || left >= rightEdge || top >= bottomEdge) + { + if (!this.element_hidden) + jQuery(this.elem).hide(); + this.element_hidden = true; + return; + } + if (left < 1) + left = 1; + if (top < 1) + top = 1; + if (right >= rightEdge) + right = rightEdge - 1; + if (bottom >= bottomEdge) + bottom = bottomEdge - 1; + var curWinWidth = window.innerWidth; + var curWinHeight = window.innerHeight; + if (!first && this.lastLeft === left && this.lastTop === top && this.lastRight === right && this.lastBottom === bottom && this.lastWinWidth === curWinWidth && this.lastWinHeight === curWinHeight) + { + if (this.element_hidden) + { + jQuery(this.elem).show(); + this.element_hidden = false; + } + return; + } + this.lastLeft = left; + this.lastTop = top; + this.lastRight = right; + this.lastBottom = bottom; + this.lastWinWidth = curWinWidth; + this.lastWinHeight = curWinHeight; + if (this.element_hidden) + { + jQuery(this.elem).show(); + this.element_hidden = false; + } + var offx = Math.round(left) + jQuery(this.runtime.canvas).offset().left; + var offy = Math.round(top) + jQuery(this.runtime.canvas).offset().top; + jQuery(this.elem).css("position", "absolute"); + jQuery(this.elem).offset({left: offx, top: offy}); + jQuery(this.elem).width(Math.round(right - left)); + jQuery(this.elem).height(Math.round(bottom - top)); + if (this.autoFontSize) + jQuery(this.elem).css("font-size", ((this.layer.getScale(true) / this.runtime.devicePixelRatio) - 0.2) + "em"); + }; + instanceProto.draw = function(ctx) + { + }; + instanceProto.drawGL = function(glw) + { + }; + function Cnds() {}; + Cnds.prototype.OnClicked = function () + { + return true; + }; + Cnds.prototype.IsChecked = function () + { + return this.isCheckbox && this.inputElem.checked; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetText = function (text) + { + if (this.runtime.isDomFree) + return; + if (this.isCheckbox) + this.labelText.nodeValue = text; + else + this.elem.value = text; + }; + Acts.prototype.SetTooltip = function (text) + { + if (this.runtime.isDomFree) + return; + this.elem.title = text; + }; + Acts.prototype.SetVisible = function (vis) + { + if (this.runtime.isDomFree) + return; + this.visible = (vis !== 0); + }; + Acts.prototype.SetEnabled = function (en) + { + if (this.runtime.isDomFree) + return; + this.inputElem.disabled = (en === 0); + }; + Acts.prototype.SetFocus = function () + { + if (this.runtime.isDomFree) + return; + this.inputElem.focus(); + }; + Acts.prototype.SetBlur = function () + { + if (this.runtime.isDomFree) + return; + this.inputElem.blur(); + }; + Acts.prototype.SetCSSStyle = function (p, v) + { + if (this.runtime.isDomFree) + return; + jQuery(this.elem).css(p, v); + }; + Acts.prototype.SetChecked = function (c) + { + if (this.runtime.isDomFree || !this.isCheckbox) + return; + this.inputElem.checked = (c === 1); + }; + Acts.prototype.ToggleChecked = function () + { + if (this.runtime.isDomFree || !this.isCheckbox) + return; + this.inputElem.checked = !this.inputElem.checked; + }; + pluginProto.acts = new Acts(); + function Exps() {}; + pluginProto.exps = new Exps(); +}()); +; +; +var lastCSS = ""; +var importList = []; +function importcssfile(filename){ + if (importList.indexOf(filename)==-1){ //Only imports if file of same name not already imported + var fileref=document.createElement("link") + fileref.setAttribute("rel", "stylesheet") + fileref.setAttribute("type", "text/css") + fileref.setAttribute("href", filename) + document.getElementsByTagName("head")[0].appendChild(fileref) + importList.push(filename) + } +}; +if(!Array.prototype.indexOf) { + Array.prototype.indexOf = function(what, i) { + i = i || 0; + var L = this.length; + while (i < L) { + if(this[i] === what) return i; + ++i; + } + return -1; + }; +}; +function removecssfile(filename){ + var removeList=document.getElementsByTagName("link") + for (var i=removeList.length; i>=0; i--){ //search backwards within nodelist for matching elements to remove + if (removeList[i] && removeList[i].getAttribute("href")!=null && removeList[i].getAttribute("href").indexOf(filename)!=-1) + removeList[i].parentNode.removeChild(removeList[i]) //remove element by calling parentNode.removeChild() + } + importList.splice(importList.indexOf(filename), 1); +}; +cr.plugins_.CSS_import = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.CSS_import.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + if (this.properties[0] != ""){ + importcssfile(this.properties[0]); + lastCSS = this.properties[0]; + } + }; + instanceProto.onDestroy = function () + { + }; + instanceProto.draw = function(ctx) + { + }; + instanceProto.drawGL = function(glw) + { + }; + pluginProto.cnds = {}; + var cnds = pluginProto.cnds; + cnds.CompareCSS = function (text, case_) + { + return this.properties[0] === text; + }; + pluginProto.acts = {}; + var acts = pluginProto.acts; + acts.SetCSS = function (setName) + { + importcssfile(setName); + lastCSS = setName; + }; + acts.RemCSS = function (remName) + { + removecssfile(remName); + }; + pluginProto.exps = {}; + var exps = pluginProto.exps; + exps.GetCSS = function (ret) + { + if (lastCSS != ""){ + ret.set_string(lastCSS); + } else if (this.properties[0] != ""){ + ret.set_string(this.properties[0]); + } else { + ret.set_string(""); + } + }; +}()); +; +; +cr.plugins_.Function = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Function.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + var funcStack = []; + var funcStackPtr = -1; + var isInPreview = false; // set in onCreate + function FuncStackEntry() + { + this.name = ""; + this.retVal = 0; + this.params = []; + }; + function pushFuncStack() + { + funcStackPtr++; + if (funcStackPtr === funcStack.length) + funcStack.push(new FuncStackEntry()); + return funcStack[funcStackPtr]; + }; + function getCurrentFuncStack() + { + if (funcStackPtr < 0) + return null; + return funcStack[funcStackPtr]; + }; + function getOneAboveFuncStack() + { + if (!funcStack.length) + return null; + var i = funcStackPtr + 1; + if (i >= funcStack.length) + i = funcStack.length - 1; + return funcStack[i]; + }; + function popFuncStack() + { +; + funcStackPtr--; + }; + instanceProto.onCreate = function() + { + isInPreview = (typeof cr_is_preview !== "undefined"); + var self = this; + window["c2_callFunction"] = function (name_, params_) + { + var i, len, v; + var fs = pushFuncStack(); + fs.name = name_.toLowerCase(); + fs.retVal = 0; + if (params_) + { + fs.params.length = params_.length; + for (i = 0, len = params_.length; i < len; ++i) + { + v = params_[i]; + if (typeof v === "number" || typeof v === "string") + fs.params[i] = v; + else if (typeof v === "boolean") + fs.params[i] = (v ? 1 : 0); + else + fs.params[i] = 0; + } + } + else + { + cr.clearArray(fs.params); + } + self.runtime.trigger(cr.plugins_.Function.prototype.cnds.OnFunction, self, fs.name); + popFuncStack(); + return fs.retVal; + }; + }; + function Cnds() {}; + Cnds.prototype.OnFunction = function (name_) + { + var fs = getCurrentFuncStack(); + if (!fs) + return false; + return cr.equals_nocase(name_, fs.name); + }; + Cnds.prototype.CompareParam = function (index_, cmp_, value_) + { + var fs = getCurrentFuncStack(); + if (!fs) + return false; + index_ = cr.floor(index_); + if (index_ < 0 || index_ >= fs.params.length) + return false; + return cr.do_cmp(fs.params[index_], cmp_, value_); + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.CallFunction = function (name_, params_) + { + var fs = pushFuncStack(); + fs.name = name_.toLowerCase(); + fs.retVal = 0; + cr.shallowAssignArray(fs.params, params_); + var ran = this.runtime.trigger(cr.plugins_.Function.prototype.cnds.OnFunction, this, fs.name); + if (isInPreview && !ran) + { +; + } + popFuncStack(); + }; + Acts.prototype.SetReturnValue = function (value_) + { + var fs = getCurrentFuncStack(); + if (fs) + fs.retVal = value_; + else +; + }; + Acts.prototype.CallExpression = function (unused) + { + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.ReturnValue = function (ret) + { + var fs = getOneAboveFuncStack(); + if (fs) + ret.set_any(fs.retVal); + else + ret.set_int(0); + }; + Exps.prototype.ParamCount = function (ret) + { + var fs = getCurrentFuncStack(); + if (fs) + ret.set_int(fs.params.length); + else + { +; + ret.set_int(0); + } + }; + Exps.prototype.Param = function (ret, index_) + { + index_ = cr.floor(index_); + var fs = getCurrentFuncStack(); + if (fs) + { + if (index_ >= 0 && index_ < fs.params.length) + { + ret.set_any(fs.params[index_]); + } + else + { +; + ret.set_int(0); + } + } + else + { +; + ret.set_int(0); + } + }; + Exps.prototype.Call = function (ret, name_) + { + var fs = pushFuncStack(); + fs.name = name_.toLowerCase(); + fs.retVal = 0; + cr.clearArray(fs.params); + var i, len; + for (i = 2, len = arguments.length; i < len; i++) + fs.params.push(arguments[i]); + var ran = this.runtime.trigger(cr.plugins_.Function.prototype.cnds.OnFunction, this, fs.name); + if (isInPreview && !ran) + { +; + } + popFuncStack(); + ret.set_any(fs.retVal); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.GameAnalytics = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.GameAnalytics.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + this.build = this.properties[0]; + this.customUserId = this.properties[1]; + this.enableManualSessionHandling = this.properties[2]; + this.enableInfoLog = this.properties[3]; + this.enableVerboseLog = this.properties[4]; + this.gameKeyBrowser = this.properties[5]; + this.secretKeyBrowser = this.properties[6]; + this.gameKeyAndroid = this.properties[7]; + this.secretKeyAndroid = this.properties[8]; + this.gameKeyIOS = this.properties[9]; + this.secretKeyIOS = this.properties[10]; + this.customDimensions01 = []; + this.customDimensions02 = []; + this.customDimensions03 = []; + this.resourceCurrencies = []; + this.resourceItemTypes = []; + }; + instanceProto.onDestroy = function () + { + }; + instanceProto.saveToJSON = function () + { + return { + }; + }; + instanceProto.loadFromJSON = function (o) + { + }; + instanceProto.draw = function(ctx) + { + }; + instanceProto.drawGL = function (glw) + { + }; + function Cnds() {}; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.addAvailableCustomDimension01 = function (dimension) + { + this.customDimensions01.push(dimension); + }; + Acts.prototype.addAvailableCustomDimension02 = function (dimension) + { + this.customDimensions02.push(dimension); + }; + Acts.prototype.addAvailableCustomDimension03 = function (dimension) + { + this.customDimensions03.push(dimension); + }; + Acts.prototype.addAvailableResourceCurrency = function (currency) + { + this.resourceCurrencies.push(currency); + }; + Acts.prototype.addAvailableResourceItemType = function (itemType) + { + this.resourceItemTypes.push(itemType); + }; + Acts.prototype.initialize = function () + { + var VERSION = "1.1.1"; + if(window["gameanalytics"] && typeof window["GameAnalytics"]["initialize"] == "function") + { + if(this.enableInfoLog) + { + GameAnalytics.setEnabledInfoLog(true); + } + if(this.enableVerboseLog) + { + GameAnalytics.setEnabledVerboseLog(true); + } + if(this.enableManualSessionHandling) + { + GameAnalytics.setEnabledManualSessionHandling(true); + } + if(this.customDimensions01.length > 0) + { + GameAnalytics.configureAvailableCustomDimensions01(this.customDimensions01); + } + if(this.customDimensions02.length > 0) + { + GameAnalytics.configureAvailableCustomDimensions02(this.customDimensions02); + } + if(this.customDimensions03.length > 0) + { + GameAnalytics.configureAvailableCustomDimensions03(this.customDimensions03); + } + if(this.resourceCurrencies.length > 0) + { + GameAnalytics.configureAvailableResourceCurrencies(this.resourceCurrencies); + } + if(this.resourceItemTypes.length > 0) + { + GameAnalytics.configureAvailableResourceItemTypes(this.resourceItemTypes); + } + GameAnalytics.configureBuild(this.build); + var sdkVersion = "construct " + VERSION; + var gameKey = device.platform === "Android" ? this.gameKeyAndroid : this.gameKeyIOS; + var secretKey = device.platform === "Android" ? this.secretKeyAndroid : this.secretKeyIOS; + GameAnalytics.initialize({ + gameKey: gameKey, + secretKey: secretKey, + sdkVersion: sdkVersion + }); + } + else if(window["gameanalytics"] && typeof window["gameanalytics"]["GameAnalytics"] != "undefined") + { + var ga = window["gameanalytics"]["GameAnalytics"]; + if(this.enableInfoLog) + { + ga["setEnabledInfoLog"](true); + } + if(this.enableVerboseLog) + { + ga["setEnabledVerboseLog"](true); + } + if(this.enableManualSessionHandling) + { + ga["setEnabledManualSessionHandling"](true); + } + if(this.customDimensions01.length > 0) + { + ga["configureAvailableCustomDimensions01"](this.customDimensions01); + } + if(this.customDimensions02.length > 0) + { + ga["configureAvailableCustomDimensions02"](this.customDimensions02); + } + if(this.customDimensions03.length > 0) + { + ga["configureAvailableCustomDimensions03"](this.customDimensions03); + } + if(this.resourceCurrencies.length > 0) + { + ga["configureAvailableResourceCurrencies"](this.resourceCurrencies); + } + if(this.resourceItemTypes.length > 0) + { + ga["configureAvailableResourceItemTypes"](this.resourceItemTypes); + } + ga["configureBuild"](this.build); + ga["configureSdkGameEngineVersion"]("construct " + VERSION); + ga["initialize"](this.gameKeyBrowser, this.secretKeyBrowser); + } + else + { + console.log("initialize: GameAnalytics object not found"); + return; + } + }; + Acts.prototype.addBusinessEvent = function (currency, amount, itemType, itemId, cartType) + { + if(typeof window["GameAnalytics"]["addBusinessEvent"] == "function") + { + GameAnalytics.addBusinessEvent({ + currency: currency, + amount: amount, + itemType: itemType, + itemId: itemId, + cartType: cartType + }); + } + else if(window["GameAnalytics"] && typeof window["gameanalytics"]["GameAnalytics"] != "undefined") + { + window["gameanalytics"]["GameAnalytics"]["addBusinessEvent"](currency, amount, itemType, itemId, cartType); + } + else + { + console.log("addBusinessEvent: GameAnalytics object not found"); + return; + } + }; + Acts.prototype.addResourceEvent = function (flowType, currency, amount, itemType, itemId) + { + if(typeof window["GameAnalytics"]["addResourceEvent"] == "function") + { + GameAnalytics.addResourceEvent({ + flowType: flowType, + currency: currency, + amount: amount, + itemType: itemType, + itemId: itemId + }); + } + else if(window["GameAnalytics"] && typeof window["gameanalytics"]["GameAnalytics"] != "undefined") + { + window["gameanalytics"]["GameAnalytics"]["addResourceEvent"](flowType, currency, amount, itemType, itemId); + } + else + { + console.log("addResourceEvent: GameAnalytics object not found"); + return; + } + }; + Acts.prototype.addProgressionEvent = function (progressionStatus, progression01, progression02, progression03) + { + if(window["GameAnalytics"] && typeof window["GameAnalytics"]["addProgressionEvent"] == "function") + { + GameAnalytics.addProgressionEvent({ + progressionStatus: progressionStatus, + progression01: progression01, + progression02: progression02, + progression03: progression03 + }); + } + else if(window["GameAnalytics"] && typeof window["gameanalytics"]["GameAnalytics"] != "undefined") + { + window["gameanalytics"]["GameAnalytics"]["addProgressionEvent"](progressionStatus, progression01, progression02, progression03); + } + else + { + console.log("addProgressionEvent: GameAnalytics object not found"); + return; + } + }; + Acts.prototype.addProgressionEventWithScore = function (progressionStatus, progression01, progression02, progression03, score) + { + if(typeof window["GameAnalytics"]["addProgressionEvent"] == "function") + { + GameAnalytics.addProgressionEvent({ + progressionStatus: progressionStatus, + progression01: progression01, + progression02: progression02, + progression03: progression03, + score: score + }); + } + else if(window["GameAnalytics"] && typeof window["gameanalytics"]["GameAnalytics"] != "undefined") + { + window["gameanalytics"]["GameAnalytics"]["addProgressionEvent"](progressionStatus, progression01, progression02, progression03, score); + } + else + { + console.log("addProgressionEventWithScore: GameAnalytics object not found"); + return; + } + }; + Acts.prototype.addDesignEvent = function (eventId) + { + if(typeof window["GameAnalytics"]["addDesignEvent"] == "function") + { + GameAnalytics.addDesignEvent({ + eventId: eventId + }); + } + else if(window["GameAnalytics"] && typeof window["gameanalytics"]["GameAnalytics"] != "undefined") + { + window["gameanalytics"]["GameAnalytics"]["addDesignEvent"](eventId); + } + else + { + console.log("addDesignEvent: GameAnalytics object not found"); + return; + } + }; + Acts.prototype.addDesignEventWithValue = function (eventId, value) + { + if(typeof window["GameAnalytics"]["addDesignEvent"] == "function") + { + GameAnalytics.addDesignEvent({ + eventId: eventId, + value: value + }); + } + else if(window["GameAnalytics"] && typeof window["gameanalytics"]["GameAnalytics"] != "undefined") + { + window["gameanalytics"]["GameAnalytics"]["addDesignEvent"](eventId, value); + } + else + { + console.log("addDesignEventWithValue: GameAnalytics object not found"); + return; + } + }; + Acts.prototype.addErrorEvent = function (severity, message) + { + if(typeof window["GameAnalytics"]["addErrorEvent"] == "function") + { + GameAnalytics.addErrorEvent({ + severity: severity, + message: message + }); + } + else if(window["GameAnalytics"] && typeof window["gameanalytics"]["GameAnalytics"] != "undefined") + { + window["gameanalytics"]["GameAnalytics"]["addErrorEvent"](severity, message); + } + else + { + console.log("addErrorEvent: GameAnalytics object not found"); + return; + } + }; + Acts.prototype.setEnabledManualSessionHandling = function (flag) + { + if(typeof window["GameAnalytics"]["setEnabledManualSessionHandling"] == "function") + { + GameAnalytics.setEnabledManualSessionHandling(flag ? true : false); + } + else if(window["GameAnalytics"] && typeof window["gameanalytics"]["GameAnalytics"] != "undefined") + { + window["gameanalytics"]["GameAnalytics"]["setEnabledManualSessionHandling"](flag ? true : false); + } + else + { + console.log("setEnabledManualSessionHandling: GameAnalytics object not found"); + return; + } + }; + Acts.prototype.setCustomDimension01 = function (dimension) + { + if(typeof window["GameAnalytics"]["setCustomDimension01"] == "function") + { + GameAnalytics.setCustomDimension01(dimension); + } + else if(window["GameAnalytics"] && typeof window["gameanalytics"]["GameAnalytics"] != "undefined") + { + window["gameanalytics"]["GameAnalytics"]["setCustomDimension01"](dimension); + } + else + { + console.log("setCustomDimension01: GameAnalytics object not found"); + return; + } + }; + Acts.prototype.setCustomDimension02 = function (dimension) + { + if(typeof window["GameAnalytics"]["setCustomDimension02"] == "function") + { + GameAnalytics.setCustomDimension02(dimension); + } + else if(window["GameAnalytics"] && typeof window["gameanalytics"]["GameAnalytics"] != "undefined") + { + window["gameanalytics"]["GameAnalytics"]["setCustomDimension02"](dimension); + } + else + { + console.log("setCustomDimension02: GameAnalytics object not found"); + return; + } + }; + Acts.prototype.setCustomDimension03 = function (dimension) + { + if(typeof window["GameAnalytics"]["setCustomDimension03"] == "function") + { + GameAnalytics.setCustomDimension03(dimension); + } + else if(window["GameAnalytics"] && typeof window["gameanalytics"]["GameAnalytics"] != "undefined") + { + window["gameanalytics"]["GameAnalytics"]["setCustomDimension03"](dimension); + } + else + { + console.log("setCustomDimension03: GameAnalytics object not found"); + return; + } + }; + Acts.prototype.setFacebookId = function (facebookId) + { + if(typeof window["GameAnalytics"]["setFacebookId"] == "function") + { + GameAnalytics.setFacebookId(facebookId); + } + else if(window["GameAnalytics"] && typeof window["gameanalytics"]["GameAnalytics"] != "undefined") + { + window["gameanalytics"]["GameAnalytics"]["setFacebookId"](facebookId); + } + else + { + console.log("setFacebookId: GameAnalytics object not found"); + return; + } + }; + Acts.prototype.setGender = function (gender) + { + if(typeof window["GameAnalytics"]["setGender"] == "function") + { + GameAnalytics.setGender(gender); + } + else if(window["GameAnalytics"] && typeof window["gameanalytics"]["GameAnalytics"] != "undefined") + { + window["gameanalytics"]["GameAnalytics"]["setGender"](gender); + } + else + { + console.log("setGender: GameAnalytics object not found"); + return; + } + }; + Acts.prototype.setBirthYear = function (birthYear) + { + if(typeof window["GameAnalytics"]["setBirthYear"] == "function") + { + GameAnalytics.setBirthYear(birthYear); + } + else if(window["GameAnalytics"] && typeof window["gameanalytics"]["GameAnalytics"] != "undefined") + { + window["gameanalytics"]["GameAnalytics"]["setBirthYear"](birthYear); + } + else + { + console.log("setBirthYear: GameAnalytics object not found"); + return; + } + }; + Acts.prototype.startSession = function () + { + if(typeof window["GameAnalytics"]["startSession"] == "function") + { + GameAnalytics.startSession(); + } + else if(window["GameAnalytics"] && typeof window["gameanalytics"]["GameAnalytics"] != "undefined") + { + window["gameanalytics"]["GameAnalytics"]["startSession"](); + } + else + { + console.log("startSession: GameAnalytics object not found"); + return; + } + }; + Acts.prototype.endSession = function () + { + if(typeof window["GameAnalytics"]["endSession"] == "function") + { + GameAnalytics.endSession(); + } + else if(window["GameAnalytics"] && typeof window["gameanalytics"]["GameAnalytics"] != "undefined") + { + window["gameanalytics"]["GameAnalytics"]["endSession"](); + } + else + { + console.log("endSession: GameAnalytics object not found"); + return; + } + }; + pluginProto.acts = new Acts(); + function Exps() {}; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.Globals = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Globals.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + this.defaultVarsValues = JSON.stringify(this.instance_vars); + }; + instanceProto.saveToJSON = function () + { + return { + "v": JSON.stringify(this.instance_vars) + }; + }; + instanceProto.loadFromJSON = function (o) + { + this.instance_vars = JSON.parse(o["v"]); + }; + function Cnds() {}; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.ResetVariables = function() + { + this.instance_vars = JSON.parse(this.defaultVarsValues); + }; + Acts.prototype.LoadVariables = function(varsJSON_) + { + this.instance_vars = JSON.parse(varsJSON_); + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.GetVariablesAsJSON = function(ret) + { + ret.set_string(JSON.stringify(this.instance_vars)); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.HTML_Div_Pode = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.HTML_Div_Pode.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + this.divloaded=0; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + this.elem = document.createElement("div"); + this.elem.innerHTML=this.properties[1]; + this.elem.style.cssText=this.properties[2]; + this.CSSstyle = this.properties[2]; + var widthfactor = this.width > 0 ? 1 : -1; + var heightfactor = this.height > 0 ? 1 : -1; + this.elem.setAttribute("id",this.properties[3]); + this.angle2D = this.angle; + /*this.angle3DX = 0; + this.angle3DY = 0; + this.angle3DZ = 0; + if(this.properties[5] == 1){ + this.angle3DX = this.properties[8]; + } + if(this.properties[6] == 1){ + this.angle3DY = this.properties[8]; + } + if(this.properties[7] == 1){ + this.angle3DZ = this.properties[8]; + }*/ + this.rotation2D = "-webkit-transform:rotate("+ this.angle * widthfactor * heightfactor*180/3.1416 + +"deg);"+ + "-moz-transform:rotate("+ this.angle * widthfactor * heightfactor*180/3.1416 + +"deg);"+ + "-o-transform:rotate("+ this.angle * widthfactor * heightfactor*180/3.1416 + +"deg);"; + /*this.perspectiveValue = "-webkit-perspective:"+ this.properties[4] + +";"+ + "-moz-perspective:"+ this.properties[4] + +";"+ + "-o-perspective:"+ this.properties[4] + +";"; + this.rotation3D = "-webkit-transform:rotate3d("+ this.properties[5] + "," + this.properties[6] + "," + this.properties[7] + "," + this.properties[8] + "deg);" + + "-moz-transform:rotate3d("+ this.properties[5] + "," + this.properties[6] + "," + this.properties[7] + "," + this.properties[8] + "deg);" + + "-o-transform:rotate3d("+ this.properties[5] + "," + this.properties[6] + "," + this.properties[7] + "," + this.properties[8] + "deg);" + + "-ms-transform:rotate3d("+ this.properties[5] + "," + this.properties[6] + "," + this.properties[7] + "," + this.properties[8] + "deg);" + + "transform:rotate3d("+ this.properties[5] + "," + this.properties[6] + "," + this.properties[7] + "," + this.properties[8] + "deg);"; + */ + this.elem.style.cssText += ";"+/*this.CSSstyle +";"+*/ this.rotation2D/* + this.perspectiveValue + this.rotation3D*/; + this.elem.width = Math.round(this.elem.width); + this.elem.height = Math.round(this.elem.height); + this.elem.x = Math.round(this.elem.x); + this.elem.y = Math.round(this.elem.y); + jQuery(this.elem).appendTo("body"); + if (this.properties[0] === 0) + { + jQuery(this.elem).hide(); + this.visible = false; + } + this.updatePosition(); + this.runtime.tickMe(this); + }; + instanceProto.onDestroy = function () + { + jQuery(this.elem).remove(); + this.elem = null; + }; + instanceProto.tick = function () + { + this.updatePosition(); + }; + instanceProto.updatePosition = function () + { + var left = this.layer.layerToCanvas(this.x, this.y, true); + var top = this.layer.layerToCanvas(this.x, this.y, false); + var right = this.layer.layerToCanvas(this.x + this.width, this.y + this.height, true); + var bottom = this.layer.layerToCanvas(this.x + this.width, this.y + this.height, false); + if (!this.visible || !this.layer.visible || right <= 0 || bottom <= 0 || left >= this.runtime.width || top >= this.runtime.height) + { + jQuery(this.elem).hide(); + return; + } + if (left < 1) + left = 1; + if (top < 1) + top = 1; + if (right >= this.runtime.width) + right = this.runtime.width - 1; + if (bottom >= this.runtime.height) + bottom = this.runtime.height - 1; + jQuery(this.elem).show(); + var offx = left + jQuery(this.runtime.canvas).offset().left; + var offy = top + jQuery(this.runtime.canvas).offset().top; + jQuery(this.elem).offset({left: offx, top: offy}); + jQuery(this.elem).width(right - left); + jQuery(this.elem).height(bottom - top); + this.elem.width = Math.round(this.elem.width); + this.elem.height = Math.round(this.elem.height); + this.elem.x = Math.round(this.elem.x); + this.elem.y = Math.round(this.elem.y); + }; + instanceProto.draw = function(ctx) + { + }; + instanceProto.drawGL = function(glw) + { + }; + pluginProto.cnds = {}; + var cnds = pluginProto.cnds; + cnds.CompareinnerHTML = function (text, case_) + { + return this.elem.innerHTML === text; + }; + cnds.CompareStyle = function (text, case_) + { + return this.elem.style.cssText === text; + }; + cnds.OnComplete = function (hmm) + { + return true; + }; + cnds.OnError = function () + { + return true; + }; + cnds.isFocused = function () + { + if(this.elem == document.activeElement) return true; + else return false; + }; + pluginProto.acts = {}; + var acts = pluginProto.acts; + acts.SetInnerHTML = function (text) + { + this.elem.innerHTML = text; + }; + acts.rotate3d = function (x,y,z,deg) + { + var rotationTemp = ""; + if(x == 1){ + this.angle3DX = this.angle3DX+deg; + rotationTemp = "-webkit-transform:rotateX("+this.angle3DX + "deg);" + + "-moz-transform:rotateX("+this.angle3DX + "deg);" + + "-o-transform:rotateX("+this.angle3DX + "deg);" + + "-ms-transform:rotateX("+this.angle3DX + "deg);" + + "transform:rotateX("+this.angle3DX + "deg);"; + } + if(y == 1){ + this.angle3DY = this.angle3DY+deg; + rotationTemp = rotationTemp + "-webkit-transform:rotateY("+this.angle3DY + "deg);" + + "-moz-transform:rotateY("+this.angle3DY + "deg);" + + "-o-transform:rotateY("+this.angle3DY + "deg);" + + "-ms-transform:rotateY("+this.angle3DY + "deg);" + + "transform:rotateY("+this.angle3DY + "deg);"; + } + if(z == 1){ + this.angle3DZ = this.angle3DZ+deg; + rotationTemp = rotationTemp + "-webkit-transform:rotateZ("+this.angle3DZ + "deg);" + + "-moz-transform:rotateZ("+this.angle3DZ + "deg);" + + "-o-transform:rotateZ("+this.angle3DZ + "deg);" + + "-ms-transform:rotateZ("+this.angle3DZ + "deg);" + + "transform:rotateZ("+this.angle3DZ + "deg);"; + } + this.rotation3D = rotationTemp; + this.elem.style.cssText= this.CSSstyle + this.rotation2D + this.perspectiveValue + this.rotation3D + /*+"position: absolute;" + +"left"+this.x+"px;" + +"top"+this.y+"px;" + +"-webkit-backface-visibility:visible;" + +"-webkit-transform-style: flat;";*/ + this.updatePosition(); + }; + acts.rotate2d = function (deg) + { + var widthfactor = this.width > 0 ? 1 : -1; + var heightfactor = this.height > 0 ? 1 : -1; + this.rotation2D = "-webkit-transform:rotate("+ deg * widthfactor * heightfactor*180/3.1416 + +"deg);"+ + "-moz-transform:rotate("+ deg * widthfactor * heightfactor*180/3.1416 + +"deg);"+ + "-o-transform:rotate("+ deg * widthfactor * heightfactor*180/3.1416 + +"deg);"; + this.elem.style.cssText= this.CSSstyle + this.rotation2D + this.perspectiveValue + this.rotation3D; + this.angle = this.angle2D+deg*180/3.1416; + }; + acts.setPerspective = function (perspective) + { + this.perspectiveValue = "-webkit-perspective:" + perspective +";" + + "-moz-perspective:" + perspective +";" + + "-o-perspective:" + perspective +";" + + "-ms-perspective:" + perspective +";" + + "perspective:" + perspective +";" + this.elem.style.cssText= this.CSSstyle + this.rotation2D + this.perspectiveValue + this.rotation3D; + }; + acts.LoadDiv = function (url_,postdata_) + { + if(postdata_.length){ + jQuery.ajax({ + context: this, + dataType: "text", + type: "POST", + url: url_, + data: postdata_, + success: function(data) { + this.elem.innerHTML=data; + this.runtime.trigger(cr.plugins_.HTML_Div.prototype.cnds.OnComplete, this); + }, + error: function() { + this.runtime.trigger(cr.plugins_.HTML_Div.prototype.cnds.OnError, this); + } + }); + } else { + jQuery.ajax({ + context: this, + dataType: "text", + type: "GET", + url: url_, + success: function(data) { + this.elem.innerHTML=data; + this.runtime.trigger(cr.plugins_.HTML_Div.prototype.cnds.OnComplete, this); + }, + error: function() { + this.runtime.trigger(cr.plugins_.HTML_Div.prototype.cnds.OnError, this); + } + }); + }; + }; + acts.SetStyle = function (text) + { + this.CSSstyle = text; + this.elem.style.cssText= this.CSSstyle + this.rotation2D + this.perspectiveValue + this.rotation3D; + }; + acts.SetVisible = function (vis) + { + this.visible = (vis !== 0); + }; + acts.setFocus = function () + { + this.elem.focus(); + }; + pluginProto.exps = {}; + var exps = pluginProto.exps; + exps.GetInnerHTML = function (ret) + { + ret.set_string(this.elem.innerHTML); + }; + exps.GetStyle = function (ret) + { + ret.set_string(this.elem.style.cssText); + }; +}()); +; +; +cr.plugins_.JSON = function(runtime) +{ + this.runtime = runtime; + this.references = {}; +}; +(function () +{ + /*! (C) WebReflection Mit Style License */ + var CircularJSON=function(e,t){function l(e,t,o){var u=[],f=[e],l=[e],c=[o?n:"[Circular]"],h=e,p=1,d;return function(e,v){return t&&(v=t.call(this,e,v)),e!==""&&(h!==this&&(d=p-a.call(f,this)-1,p-=d,f.splice(p,f.length),u.splice(p-1,u.length),h=this),typeof v=="object"&&v?(a.call(f,v)<0&&f.push(h=v),p=f.length,d=a.call(l,v),d<0?(d=l.push(v)-1,o?(u.push((""+e).replace(s,r)),c[d]=n+u.join(n)):c[d]=c[0]):v=c[d]):typeof v=="string"&&o&&(v=v.replace(r,i).replace(n,r))),v}}function c(e,t){for(var r=0,i=t.length;r -1) + { + info.preventDefault(); + alreadyPreventedDefault = true; + info.stopPropagation(); + } + if (this.keyMap[info.which]) + { + if (this.usedKeys[info.which] && !alreadyPreventedDefault) + info.preventDefault(); + return; + } + this.keyMap[info.which] = true; + this.triggerKey = info.which; + this.runtime.isInUserInputEvent = true; + this.runtime.trigger(cr.plugins_.Keyboard.prototype.cnds.OnAnyKey, this); + var eventRan = this.runtime.trigger(cr.plugins_.Keyboard.prototype.cnds.OnKey, this); + var eventRan2 = this.runtime.trigger(cr.plugins_.Keyboard.prototype.cnds.OnKeyCode, this); + this.runtime.isInUserInputEvent = false; + if (eventRan || eventRan2) + { + this.usedKeys[info.which] = true; + if (!alreadyPreventedDefault) + info.preventDefault(); + } + }; + instanceProto.onKeyUp = function (info) + { + this.keyMap[info.which] = false; + this.triggerKey = info.which; + this.runtime.isInUserInputEvent = true; + this.runtime.trigger(cr.plugins_.Keyboard.prototype.cnds.OnAnyKeyReleased, this); + var eventRan = this.runtime.trigger(cr.plugins_.Keyboard.prototype.cnds.OnKeyReleased, this); + var eventRan2 = this.runtime.trigger(cr.plugins_.Keyboard.prototype.cnds.OnKeyCodeReleased, this); + this.runtime.isInUserInputEvent = false; + if (eventRan || eventRan2 || this.usedKeys[info.which]) + { + this.usedKeys[info.which] = true; + info.preventDefault(); + } + }; + instanceProto.onWindowBlur = function () + { + var i; + for (i = 0; i < 256; ++i) + { + if (!this.keyMap[i]) + continue; // key already up + this.keyMap[i] = false; + this.triggerKey = i; + this.runtime.trigger(cr.plugins_.Keyboard.prototype.cnds.OnAnyKeyReleased, this); + var eventRan = this.runtime.trigger(cr.plugins_.Keyboard.prototype.cnds.OnKeyReleased, this); + var eventRan2 = this.runtime.trigger(cr.plugins_.Keyboard.prototype.cnds.OnKeyCodeReleased, this); + if (eventRan || eventRan2) + this.usedKeys[i] = true; + } + }; + instanceProto.saveToJSON = function () + { + return { "triggerKey": this.triggerKey }; + }; + instanceProto.loadFromJSON = function (o) + { + this.triggerKey = o["triggerKey"]; + }; + function Cnds() {}; + Cnds.prototype.IsKeyDown = function(key) + { + return this.keyMap[key]; + }; + Cnds.prototype.OnKey = function(key) + { + return (key === this.triggerKey); + }; + Cnds.prototype.OnAnyKey = function(key) + { + return true; + }; + Cnds.prototype.OnAnyKeyReleased = function(key) + { + return true; + }; + Cnds.prototype.OnKeyReleased = function(key) + { + return (key === this.triggerKey); + }; + Cnds.prototype.IsKeyCodeDown = function(key) + { + key = Math.floor(key); + if (key < 0 || key >= this.keyMap.length) + return false; + return this.keyMap[key]; + }; + Cnds.prototype.OnKeyCode = function(key) + { + return (key === this.triggerKey); + }; + Cnds.prototype.OnKeyCodeReleased = function(key) + { + return (key === this.triggerKey); + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.LastKeyCode = function (ret) + { + ret.set_int(this.triggerKey); + }; + function fixedStringFromCharCode(kc) + { + kc = Math.floor(kc); + switch (kc) { + case 8: return "backspace"; + case 9: return "tab"; + case 13: return "enter"; + case 16: return "shift"; + case 17: return "control"; + case 18: return "alt"; + case 19: return "pause"; + case 20: return "capslock"; + case 27: return "esc"; + case 33: return "pageup"; + case 34: return "pagedown"; + case 35: return "end"; + case 36: return "home"; + case 37: return "←"; + case 38: return "↑"; + case 39: return "→"; + case 40: return "↓"; + case 45: return "insert"; + case 46: return "del"; + case 91: return "left window key"; + case 92: return "right window key"; + case 93: return "select"; + case 96: return "numpad 0"; + case 97: return "numpad 1"; + case 98: return "numpad 2"; + case 99: return "numpad 3"; + case 100: return "numpad 4"; + case 101: return "numpad 5"; + case 102: return "numpad 6"; + case 103: return "numpad 7"; + case 104: return "numpad 8"; + case 105: return "numpad 9"; + case 106: return "numpad *"; + case 107: return "numpad +"; + case 109: return "numpad -"; + case 110: return "numpad ."; + case 111: return "numpad /"; + case 112: return "F1"; + case 113: return "F2"; + case 114: return "F3"; + case 115: return "F4"; + case 116: return "F5"; + case 117: return "F6"; + case 118: return "F7"; + case 119: return "F8"; + case 120: return "F9"; + case 121: return "F10"; + case 122: return "F11"; + case 123: return "F12"; + case 144: return "numlock"; + case 145: return "scroll lock"; + case 186: return ";"; + case 187: return "="; + case 188: return ","; + case 189: return "-"; + case 190: return "."; + case 191: return "/"; + case 192: return "'"; + case 219: return "["; + case 220: return "\\"; + case 221: return "]"; + case 222: return "#"; + case 223: return "`"; + default: return String.fromCharCode(kc); + } + }; + Exps.prototype.StringFromKeyCode = function (ret, kc) + { + ret.set_string(fixedStringFromCharCode(kc)); + }; + pluginProto.exps = new Exps(); +}()); +; +; +var localForageInitFailed = false; +try { +/*! + localForage -- Offline Storage, Improved + Version 1.4.0 + https://mozilla.github.io/localForage + (c) 2013-2015 Mozilla, Apache License 2.0 +*/ +!function(){var a,b,c,d;!function(){var e={},f={};a=function(a,b,c){e[a]={deps:b,callback:c}},d=c=b=function(a){function c(b){if("."!==b.charAt(0))return b;for(var c=b.split("/"),d=a.split("/").slice(0,-1),e=0,f=c.length;f>e;e++){var g=c[e];if(".."===g)d.pop();else{if("."===g)continue;d.push(g)}}return d.join("/")}if(d._eak_seen=e,f[a])return f[a];if(f[a]={},!e[a])throw new Error("Could not find module "+a);for(var g,h=e[a],i=h.deps,j=h.callback,k=[],l=0,m=i.length;m>l;l++)"exports"===i[l]?k.push(g={}):k.push(b(c(i[l])));var n=j.apply(this,k);return f[a]=g||n}}(),a("promise/all",["./utils","exports"],function(a,b){"use strict";function c(a){var b=this;if(!d(a))throw new TypeError("You must pass an array to all.");return new b(function(b,c){function d(a){return function(b){f(a,b)}}function f(a,c){h[a]=c,0===--i&&b(h)}var g,h=[],i=a.length;0===i&&b([]);for(var j=0;jc;c++){var e=a[c];this.supports(e)&&b.push(e)}return b},a.prototype._wrapLibraryMethodsWithReady=function(){for(var a=0;ae;e++)d[e]=a.charCodeAt(e);return c}function d(a){return new Promise(function(b,c){var d=new XMLHttpRequest;d.open("GET",a),d.withCredentials=!0,d.responseType="arraybuffer",d.onreadystatechange=function(){return 4===d.readyState?200===d.status?b({response:d.response,type:d.getResponseHeader("Content-Type")}):void c({status:d.status,response:d.response}):void 0},d.send()})}function e(a){return new Promise(function(c,e){var f=b([""],{type:"image/png"}),g=a.transaction([D],"readwrite");g.objectStore(D).put(f,"key"),g.oncomplete=function(){var b=a.transaction([D],"readwrite"),f=b.objectStore(D).get("key");f.onerror=e,f.onsuccess=function(a){var b=a.target.result,e=URL.createObjectURL(b);d(e).then(function(a){c(!(!a||"image/png"!==a.type))},function(){c(!1)}).then(function(){URL.revokeObjectURL(e)})}},g.onerror=g.onabort=e})["catch"](function(){return!1})}function f(a){return"boolean"==typeof B?Promise.resolve(B):e(a).then(function(a){return B=a})}function g(a){return new Promise(function(b,c){var d=new FileReader;d.onerror=c,d.onloadend=function(c){var d=btoa(c.target.result||"");b({__local_forage_encoded_blob:!0,data:d,type:a.type})},d.readAsBinaryString(a)})}function h(a){var d=c(atob(a.data));return b([d],{type:a.type})}function i(a){return a&&a.__local_forage_encoded_blob}function j(a){var b=this,c=b._initReady().then(function(){var a=C[b._dbInfo.name];return a&&a.dbReady?a.dbReady:void 0});return c.then(a,a),c}function k(a){var b=C[a.name],c={};c.promise=new Promise(function(a){c.resolve=a}),b.deferredOperations.push(c),b.dbReady?b.dbReady=b.dbReady.then(function(){return c.promise}):b.dbReady=c.promise}function l(a){var b=C[a.name],c=b.deferredOperations.pop();c&&c.resolve()}function m(a){function b(){return Promise.resolve()}var c=this,d={db:null};if(a)for(var e in a)d[e]=a[e];C||(C={});var f=C[d.name];f||(f={forages:[],db:null,dbReady:null,deferredOperations:[]},C[d.name]=f),f.forages.push(c),c._initReady||(c._initReady=c.ready,c.ready=j);for(var g=[],h=0;hb.db.version;if(e&&(b.version!==c&&a.console.warn('The database "'+b.name+"\" can't be downgraded from version "+b.db.version+" to version "+b.version+"."),b.version=b.db.version),f||d){if(d){var g=b.db.version+1;g>b.version&&(b.version=g)}return!0}return!1}function r(b,c){var d=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var e=new Promise(function(a,c){d.ready().then(function(){var e=d._dbInfo,f=e.db.transaction(e.storeName,"readonly").objectStore(e.storeName),g=f.get(b);g.onsuccess=function(){var b=g.result;void 0===b&&(b=null),i(b)&&(b=h(b)),a(b)},g.onerror=function(){c(g.error)}})["catch"](c)});return z(e,c),e}function s(a,b){var c=this,d=new Promise(function(b,d){c.ready().then(function(){var e=c._dbInfo,f=e.db.transaction(e.storeName,"readonly").objectStore(e.storeName),g=f.openCursor(),j=1;g.onsuccess=function(){var c=g.result;if(c){var d=c.value;i(d)&&(d=h(d));var e=a(d,c.key,j++);void 0!==e?b(e):c["continue"]()}else b()},g.onerror=function(){d(g.error)}})["catch"](d)});return z(d,b),d}function t(b,c,d){var e=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var h=new Promise(function(a,d){var h;e.ready().then(function(){return h=e._dbInfo,c instanceof Blob?f(h.db).then(function(a){return a?c:g(c)}):c}).then(function(c){var e=h.db.transaction(h.storeName,"readwrite"),f=e.objectStore(h.storeName);null===c&&(c=void 0),e.oncomplete=function(){void 0===c&&(c=null),a(c)},e.onabort=e.onerror=function(){var a=g.error?g.error:g.transaction.error;d(a)};var g=f.put(c,b)})["catch"](d)});return z(h,d),h}function u(b,c){var d=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var e=new Promise(function(a,c){d.ready().then(function(){var e=d._dbInfo,f=e.db.transaction(e.storeName,"readwrite"),g=f.objectStore(e.storeName),h=g["delete"](b);f.oncomplete=function(){a()},f.onerror=function(){c(h.error)},f.onabort=function(){var a=h.error?h.error:h.transaction.error;c(a)}})["catch"](c)});return z(e,c),e}function v(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b._dbInfo,e=d.db.transaction(d.storeName,"readwrite"),f=e.objectStore(d.storeName),g=f.clear();e.oncomplete=function(){a()},e.onabort=e.onerror=function(){var a=g.error?g.error:g.transaction.error;c(a)}})["catch"](c)});return z(c,a),c}function w(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b._dbInfo,e=d.db.transaction(d.storeName,"readonly").objectStore(d.storeName),f=e.count();f.onsuccess=function(){a(f.result)},f.onerror=function(){c(f.error)}})["catch"](c)});return z(c,a),c}function x(a,b){var c=this,d=new Promise(function(b,d){return 0>a?void b(null):void c.ready().then(function(){var e=c._dbInfo,f=e.db.transaction(e.storeName,"readonly").objectStore(e.storeName),g=!1,h=f.openCursor();h.onsuccess=function(){var c=h.result;return c?void(0===a?b(c.key):g?b(c.key):(g=!0,c.advance(a))):void b(null)},h.onerror=function(){d(h.error)}})["catch"](d)});return z(d,b),d}function y(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b._dbInfo,e=d.db.transaction(d.storeName,"readonly").objectStore(d.storeName),f=e.openCursor(),g=[];f.onsuccess=function(){var b=f.result;return b?(g.push(b.key),void b["continue"]()):void a(g)},f.onerror=function(){c(f.error)}})["catch"](c)});return z(c,a),c}function z(a,b){b&&a.then(function(a){b(null,a)},function(a){b(a)})}var A=A||a.indexedDB||a.webkitIndexedDB||a.mozIndexedDB||a.OIndexedDB||a.msIndexedDB;if(A){var B,C,D="local-forage-detect-blob-support",E={_driver:"asyncStorage",_initStorage:m,iterate:s,getItem:r,setItem:t,removeItem:u,clear:v,length:w,key:x,keys:y};return E}}("undefined"!=typeof window?window:self);b["default"]=c,a.exports=b["default"]},function(a,b,c){"use strict";b.__esModule=!0;var d=function(a){function b(a){var b=this,d={};if(a)for(var e in a)d[e]=a[e];return d.keyPrefix=d.name+"/",d.storeName!==b._defaultConfig.storeName&&(d.keyPrefix+=d.storeName+"/"),b._dbInfo=d,new Promise(function(a,b){a(c(3))}).then(function(a){return d.serializer=a,Promise.resolve()})}function d(a){var b=this,c=b.ready().then(function(){for(var a=b._dbInfo.keyPrefix,c=m.length-1;c>=0;c--){var d=m.key(c);0===d.indexOf(a)&&m.removeItem(d)}});return l(c,a),c}function e(b,c){var d=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var e=d.ready().then(function(){var a=d._dbInfo,c=m.getItem(a.keyPrefix+b);return c&&(c=a.serializer.deserialize(c)),c});return l(e,c),e}function f(a,b){var c=this,d=c.ready().then(function(){for(var b=c._dbInfo,d=b.keyPrefix,e=d.length,f=m.length,g=1,h=0;f>h;h++){var i=m.key(h);if(0===i.indexOf(d)){var j=m.getItem(i);if(j&&(j=b.serializer.deserialize(j)),j=a(j,i.substring(e),g++),void 0!==j)return j}}});return l(d,b),d}function g(a,b){var c=this,d=c.ready().then(function(){var b,d=c._dbInfo;try{b=m.key(a)}catch(e){b=null}return b&&(b=b.substring(d.keyPrefix.length)),b});return l(d,b),d}function h(a){var b=this,c=b.ready().then(function(){for(var a=b._dbInfo,c=m.length,d=[],e=0;c>e;e++)0===m.key(e).indexOf(a.keyPrefix)&&d.push(m.key(e).substring(a.keyPrefix.length));return d});return l(c,a),c}function i(a){var b=this,c=b.keys().then(function(a){return a.length});return l(c,a),c}function j(b,c){var d=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var e=d.ready().then(function(){var a=d._dbInfo;m.removeItem(a.keyPrefix+b)});return l(e,c),e}function k(b,c,d){var e=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var f=e.ready().then(function(){void 0===c&&(c=null);var a=c;return new Promise(function(d,f){var g=e._dbInfo;g.serializer.serialize(c,function(c,e){if(e)f(e);else try{m.setItem(g.keyPrefix+b,c),d(a)}catch(h){("QuotaExceededError"===h.name||"NS_ERROR_DOM_QUOTA_REACHED"===h.name)&&f(h),f(h)}})})});return l(f,d),f}function l(a,b){b&&a.then(function(a){b(null,a)},function(a){b(a)})}var m=null;try{if(!(a.localStorage&&"setItem"in a.localStorage))return;m=a.localStorage}catch(n){return}var o={_driver:"localStorageWrapper",_initStorage:b,iterate:f,getItem:e,setItem:k,removeItem:j,clear:d,length:i,key:g,keys:h};return o}("undefined"!=typeof window?window:self);b["default"]=d,a.exports=b["default"]},function(a,b){"use strict";b.__esModule=!0;var c=function(a){function b(b,c){b=b||[],c=c||{};try{return new Blob(b,c)}catch(d){if("TypeError"!==d.name)throw d;for(var e=a.BlobBuilder||a.MSBlobBuilder||a.MozBlobBuilder||a.WebKitBlobBuilder,f=new e,g=0;gb;b+=4)c=g.indexOf(a[b]),d=g.indexOf(a[b+1]),e=g.indexOf(a[b+2]),f=g.indexOf(a[b+3]),l[j++]=c<<2|d>>4,l[j++]=(15&d)<<4|e>>2,l[j++]=(3&e)<<6|63&f;return k}function f(a){var b,c=new Uint8Array(a),d="";for(b=0;b>2],d+=g[(3&c[b])<<4|c[b+1]>>4],d+=g[(15&c[b+1])<<2|c[b+2]>>6],d+=g[63&c[b+2]];return c.length%3===2?d=d.substring(0,d.length-1)+"=":c.length%3===1&&(d=d.substring(0,d.length-2)+"=="),d}var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h="~~local_forage_type~",i=/^~~local_forage_type~([^~]+)~/,j="__lfsc__:",k=j.length,l="arbf",m="blob",n="si08",o="ui08",p="uic8",q="si16",r="si32",s="ur16",t="ui32",u="fl32",v="fl64",w=k+l.length,x={serialize:c,deserialize:d,stringToBuffer:e,bufferToString:f};return x}("undefined"!=typeof window?window:self);b["default"]=c,a.exports=b["default"]},function(a,b,c){"use strict";b.__esModule=!0;var d=function(a){function b(a){var b=this,d={db:null};if(a)for(var e in a)d[e]="string"!=typeof a[e]?a[e].toString():a[e];var f=new Promise(function(a,c){try{d.db=m(d.name,String(d.version),d.description,d.size)}catch(e){return c(e)}d.db.transaction(function(e){e.executeSql("CREATE TABLE IF NOT EXISTS "+d.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],function(){b._dbInfo=d,a()},function(a,b){c(b)})})});return new Promise(function(a,b){a(c(3))}).then(function(a){return d.serializer=a,f})}function d(b,c){var d=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var e=new Promise(function(a,c){d.ready().then(function(){var e=d._dbInfo;e.db.transaction(function(d){d.executeSql("SELECT * FROM "+e.storeName+" WHERE key = ? LIMIT 1",[b],function(b,c){var d=c.rows.length?c.rows.item(0).value:null;d&&(d=e.serializer.deserialize(d)),a(d)},function(a,b){c(b)})})})["catch"](c)});return l(e,c),e}function e(a,b){var c=this,d=new Promise(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("SELECT * FROM "+e.storeName,[],function(c,d){for(var f=d.rows,g=f.length,h=0;g>h;h++){var i=f.item(h),j=i.value;if(j&&(j=e.serializer.deserialize(j)),j=a(j,i.key,h+1),void 0!==j)return void b(j)}b()},function(a,b){d(b)})})})["catch"](d)});return l(d,b),d}function f(b,c,d){var e=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var f=new Promise(function(a,d){e.ready().then(function(){void 0===c&&(c=null);var f=c,g=e._dbInfo;g.serializer.serialize(c,function(c,e){e?d(e):g.db.transaction(function(e){e.executeSql("INSERT OR REPLACE INTO "+g.storeName+" (key, value) VALUES (?, ?)",[b,c],function(){a(f)},function(a,b){d(b)})},function(a){a.code===a.QUOTA_ERR&&d(a)})})})["catch"](d)});return l(f,d),f}function g(b,c){var d=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var e=new Promise(function(a,c){d.ready().then(function(){var e=d._dbInfo;e.db.transaction(function(d){d.executeSql("DELETE FROM "+e.storeName+" WHERE key = ?",[b],function(){a()},function(a,b){c(b)})})})["catch"](c)});return l(e,c),e}function h(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("DELETE FROM "+d.storeName,[],function(){a()},function(a,b){c(b)})})})["catch"](c)});return l(c,a),c}function i(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("SELECT COUNT(key) as c FROM "+d.storeName,[],function(b,c){var d=c.rows.item(0).c;a(d)},function(a,b){c(b)})})})["catch"](c)});return l(c,a),c}function j(a,b){var c=this,d=new Promise(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("SELECT key FROM "+e.storeName+" WHERE id = ? LIMIT 1",[a+1],function(a,c){var d=c.rows.length?c.rows.item(0).key:null;b(d)},function(a,b){d(b)})})})["catch"](d)});return l(d,b),d}function k(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("SELECT key FROM "+d.storeName,[],function(b,c){for(var d=[],e=0;e 0; + }; + Cnds.prototype.IsProcessingGets = function () + { + return this.pendingGets > 0; + }; + Cnds.prototype.OnAllSetsComplete = function () + { + return true; + }; + Cnds.prototype.OnAllGetsComplete = function () + { + return true; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetItem = function (keyNoPrefix, value) + { + if (localForageInitFailed) + { + TriggerStorageError(this, "storage failed to initialise - may be disabled in browser settings"); + return; + } + var keyPrefix = prefix + keyNoPrefix; + this.pendingSets++; + var self = this; + localforage["setItem"](keyPrefix, value, function (err, valueSet) + { + debugDataChanged = true; + self.pendingSets--; + if (err) + { + errorMessage = getErrorString(err); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnError, self); + } + else + { + currentKey = keyNoPrefix; + lastValue = valueSet; + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnAnyItemSet, self); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnItemSet, self); + currentKey = ""; + lastValue = ""; + } + if (self.pendingSets === 0) + { + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnAllSetsComplete, self); + } + }); + }; + Acts.prototype.GetItem = function (keyNoPrefix) + { + if (localForageInitFailed) + { + TriggerStorageError(this, "storage failed to initialise - may be disabled in browser settings"); + return; + } + var keyPrefix = prefix + keyNoPrefix; + this.pendingGets++; + var self = this; + localforage["getItem"](keyPrefix, function (err, value) + { + self.pendingGets--; + if (err) + { + errorMessage = getErrorString(err); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnError, self); + } + else + { + currentKey = keyNoPrefix; + lastValue = value; + if (typeof lastValue === "undefined" || lastValue === null) + lastValue = ""; + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnAnyItemGet, self); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnItemGet, self); + currentKey = ""; + lastValue = ""; + } + if (self.pendingGets === 0) + { + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnAllGetsComplete, self); + } + }); + }; + Acts.prototype.CheckItemExists = function (keyNoPrefix) + { + if (localForageInitFailed) + { + TriggerStorageError(this, "storage failed to initialise - may be disabled in browser settings"); + return; + } + var keyPrefix = prefix + keyNoPrefix; + var self = this; + localforage["getItem"](keyPrefix, function (err, value) + { + if (err) + { + errorMessage = getErrorString(err); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnError, self); + } + else + { + currentKey = keyNoPrefix; + if (value === null) // null value indicates key missing + { + lastValue = ""; // prevent ItemValue meaning anything + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnItemMissing, self); + } + else + { + lastValue = value; // make available to ItemValue expression + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnItemExists, self); + } + currentKey = ""; + lastValue = ""; + } + }); + }; + Acts.prototype.RemoveItem = function (keyNoPrefix) + { + if (localForageInitFailed) + { + TriggerStorageError(this, "storage failed to initialise - may be disabled in browser settings"); + return; + } + var keyPrefix = prefix + keyNoPrefix; + var self = this; + localforage["removeItem"](keyPrefix, function (err) + { + debugDataChanged = true; + if (err) + { + errorMessage = getErrorString(err); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnError, self); + } + else + { + currentKey = keyNoPrefix; + lastValue = ""; + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnAnyItemRemoved, self); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnItemRemoved, self); + currentKey = ""; + } + }); + }; + Acts.prototype.ClearStorage = function () + { + if (localForageInitFailed) + { + TriggerStorageError(this, "storage failed to initialise - may be disabled in browser settings"); + return; + } + if (is_arcade) + return; + var self = this; + localforage["clear"](function (err) + { + debugDataChanged = true; + if (err) + { + errorMessage = getErrorString(err); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnError, self); + } + else + { + currentKey = ""; + lastValue = ""; + cr.clearArray(keyNamesList); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnCleared, self); + } + }); + }; + Acts.prototype.GetAllKeyNames = function () + { + if (localForageInitFailed) + { + TriggerStorageError(this, "storage failed to initialise - may be disabled in browser settings"); + return; + } + var self = this; + localforage["keys"](function (err, keyList) + { + var i, len, k; + if (err) + { + errorMessage = getErrorString(err); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnError, self); + } + else + { + cr.clearArray(keyNamesList); + for (i = 0, len = keyList.length; i < len; ++i) + { + k = keyList[i]; + if (!hasRequiredPrefix(k)) + continue; + keyNamesList.push(removePrefix(k)); + } + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnAllKeyNamesLoaded, self); + } + }); + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.ItemValue = function (ret) + { + ret.set_any(lastValue); + }; + Exps.prototype.Key = function (ret) + { + ret.set_string(currentKey); + }; + Exps.prototype.KeyCount = function (ret) + { + ret.set_int(keyNamesList.length); + }; + Exps.prototype.KeyAt = function (ret, i) + { + i = Math.floor(i); + if (i < 0 || i >= keyNamesList.length) + { + ret.set_string(""); + return; + } + ret.set_string(keyNamesList[i]); + }; + Exps.prototype.ErrorMessage = function (ret) + { + ret.set_string(errorMessage); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.MagiCam = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var CMath = {}; + CMath.lerp = function(a, b, x) + { + return a + (b - a) * x; + }; + CMath.cubic = function(a, b, c, d, x) + { + return this.lerp(this.lerp(this.lerp(a, b, x), this.lerp(b, c, x), x), this.lerp(this.lerp(b, c, x), this.lerp(c, d, x), x), x); + } + CMath.clamp = function(x, min, max) + { + if (x < min) + { + return min; + } + else if (x > max) + { + return max; + } + return x; + }; + function Transition(Type, Duration, Param1, Param2, Param3, Param4) + { + this.type = Type; + this.duration = Duration; + this.param1 = Param1; + this.param2 = Param2; + this.param3 = Param3; + this.param4 = Param4; + this.progress = 0; + } + function Camera(Name, X, Y, Scale, Global) + { + this.global = Global; + this.name = Name; + this.x = X; + this.y = Y; + this.scale = Scale; + this.following = false; + this.followedObjects = []; + this.followedObjectUIDs = []; + this.objectWeights = []; + this.followedObjectIPs = []; + this.followLag = 1; + this.zoomToContain = false; + this.zoomMarginH = 0; + this.zoomMarginV = 0; + this.zoomBoundU = -1; + this.zoomBoundL = -1; + this.transitions = []; + this.moveTransFinished = false; + this.zoomTransFinished = false; + this.isShaking = false; + this.shakeX = 0; + this.shakeY = 0; + this.shakeZoom = 0; + this.shakeTimer = 0; + this.shakeStrength = 0; + this.shakeMaxDeviation = 0; + this.shakeMaxZoomDeviation = 0; + this.shakeLength = 0; + this.shakeBuildTime = 0; + this.shakeDropTime = 0; + } + Camera.prototype.GetName = function() + { + return this.name; + }; + Camera.prototype.GetX = function() + { + return this.x; + }; + Camera.prototype.SetX = function(value) + { + this.x = value; + }; + Camera.prototype.GetY = function() + { + return this.y; + }; + Camera.prototype.SetY = function(value) + { + this.y = value; + }; + Camera.prototype.GetShakeX = function() + { + return this.shakeX; + }; + Camera.prototype.GetShakeY = function() + { + return this.shakeY; + }; + Camera.prototype.SetFollowedObject = function(fObject) + { + this.followedObject = fObject; + }; + Camera.prototype.ShakeCamera = function(dt) + { + if (this.isShaking) + { + this.shakeTimer += dt; + if (this.shakeTimer < this.shakeLength) + { + var shakeStrength = 0; + if (this.shakeTimer < this.shakeBuildTime) + { + shakeStrength = CMath.lerp(0, this.shakeStrength, this.shakeTimer / this.shakeBuildTime); + } + else + { + shakeStrength = this.shakeStrength; + } + if (this.shakeTimer > this.shakeDropTime) + { + shakeStrength = CMath.lerp(this.shakeStrength, 0, (this.shakeTimer - this.shakeDropTime) / (this.shakeLength - this.shakeDropTime)); + } + var shakeAngle = Math.floor(Math.random() * 361) / 57.2958; + var shakeX = CMath.lerp(0, Math.cos(shakeAngle) * this.shakeMaxDeviation, shakeStrength); + var shakeY = CMath.lerp(0, Math.sin(shakeAngle) * this.shakeMaxDeviation, shakeStrength); + var shakeZoom = CMath.lerp(0, (Math.floor(Math.random() * 201 - 100) / 100) * this.shakeMaxZoomDeviation, shakeStrength); + this.shakeX = CMath.lerp(this.shakeX, shakeX, shakeStrength); + this.shakeY = CMath.lerp(this.shakeY, shakeY, shakeStrength); + this.shakeZoom = CMath.lerp(this.shakeZoom, shakeZoom, shakeStrength); + } + else + { + this.isShaking = false; + this.shakeX = 0; + this.shakeY = 0; + this.shakeZoom = 0; + } + } + } + Camera.prototype.ProcessTransitions = function(dt) + { + this.moveTransFinished = false; + this.zoomTransFinished = false; + var transition; + for (var i = 0; i < this.transitions.length; ) + { + transition = this.transitions[i]; + transition.progress = CMath.clamp(transition.progress + (1.0 / transition.duration * dt), 0.0, 1.0); + if (transition.type == "MOVE") + { + this.x = CMath.cubic(transition.param3, transition.param3, transition.param1, transition.param1, transition.progress); + this.y = CMath.cubic(transition.param4, transition.param4, transition.param2, transition.param2, transition.progress); + } + else if (transition.type == "SCALE") + { + this.scale = CMath.cubic(transition.param2, transition.param2, transition.param1, transition.param1, transition.progress); + } + if (transition.progress == 1) + { + if (transition.type == "MOVE") + { + this.moveTransFinished = true; + } + else if (transition.type == "SCALE") + { + this.zoomTransFinished = true; + } + this.transitions.splice(i, 1); + } + else + { + i++; + } + } + }; + Camera.prototype.UpdateCameraTarget = function(dt, targetCamera) + { + for (var i = 0; i < this.transitions.length; i++) + { + var transition = this.transitions[i]; + if (transition.type == "MOVE") + { + transition.param1 = targetCamera.GetX(); + transition.param2 = targetCamera.GetY(); + } + else if (transition.type == "SCALE") + { + transition.param1 = targetCamera.scale; + } + } + }; + Camera.prototype.ProcessFollowing = function(dt, screenWidth, screenHeight, layout) + { + var followed = this.followedObjects; + var followedObjectIPs = this.followedObjectIPs; + if (this.following && followed.length > 0) + { + var tempX = 0, tempY = 0, tempScale = 0; + if (!this.zoomToContain) + { + var sumX = 0, sumY = 0, sumW = 0; + for (var i = 0; i < followed.length; i++) + { + sumX += followed[i].getImagePoint(followedObjectIPs[i], true) * this.objectWeights[i]; + sumY += followed[i].getImagePoint(followedObjectIPs[i], false) * this.objectWeights[i]; + sumW += this.objectWeights[i]; + } + tempX = sumX / sumW; + tempY = sumY / sumW; + } + else + { + var minX = 0, maxX = 0, minY = 0, maxY = 0; + var minXChanged = false, maxXChanged = false, minYChanged = false, maxYChanged = false; + for (var i = 0; i < followed.length; i++) + { + var fObject = followed[i]; + fObject.update_bbox(); + if (minXChanged) + { + minX = Math.min(minX, fObject.bbox.left); + } + else + { + minX = fObject.bbox.left; + minXChanged = true; + } + if (maxXChanged) + { + maxX = Math.max(maxX, fObject.bbox.right); + } + else + { + maxX = fObject.bbox.right; + maxXChanged = true; + } + if (minYChanged) + { + minY = Math.min(minY, fObject.bbox.top); + } + else + { + minY = fObject.bbox.top; + minYChanged = true; + } + if (maxYChanged) + { + maxY = Math.max(maxY, fObject.bbox.bottom); + } + else + { + maxY = fObject.bbox.bottom; + maxYChanged = true; + } + } + var tempXScale = (screenWidth - this.zoomMarginH * 2) / (maxX - minX); + var tempYScale = (screenHeight - this.zoomMarginV * 2) / (maxY - minY); + tempX = CMath.lerp(minX, maxX, 0.5); + tempY = CMath.lerp(minY, maxY, 0.5); + if (this.x < ((screenWidth / 2) / tempXScale)) + { + tempXScale = (screenWidth - this.zoomMarginH) / maxX; + tempX = (screenWidth / tempXScale) / 2; + } + if (this.x > (layout.width - (screenWidth / 2) / tempXScale)) + { + tempXScale = (screenWidth - this.zoomMarginH) / (layout.width - minX); + tempX = layout.width - (screenWidth / tempXScale) / 2; + } + if (this.y < ((screenHeight / 2) / tempYScale)) + { + tempYScale = (screenHeight - this.zoomMarginV) / maxY; + tempY = (screenHeight / tempYScale) / 2; + } + if (this.y > (layout.height - (screenHeight / 2) / tempYScale)) + { + tempYScale = (screenHeight - this.zoomMarginV) / (layout.height - minY); + tempY = layout.height - (screenHeight / tempYScale) / 2; + } + tempScale = Math.min(tempXScale, tempYScale); + if (this.zoomBoundL != -1) + { + if (tempScale < this.zoomBoundL) + { + tempScale = this.zoomBoundL; + } + } + if (this.zoomBoundU != -1) + { + if (tempScale > this.zoomBoundU) + { + tempScale = this.zoomBoundU; + } + } + } + if (this.followLag == 1) + { + this.x = tempX; + this.y = tempY; + if (this.zoomToContain) + { + this.scale = tempScale; + } + } + else + { + var lag = (this.followLag * 4.0 * dt) * Math.sqrt(1.0 / dt); + this.x = CMath.lerp(this.x, tempX, lag); + this.y = CMath.lerp(this.y, tempY, lag); + if (this.zoomToContain) + { + this.scale = CMath.lerp(this.scale, tempScale, lag); + } + } + } + }; + var pluginProto = cr.plugins_.MagiCam.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + this.localCameras = []; + this.localCameraCount = 0; + this.localCameraCountOld = 0; + this.transCamera = null; + this.transTarget = null; + this.isSwitchingCameras = false; + this.globalCameras = []; + this.activeCamera = null; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + this.runtime.tickMe(this); + this.my_timescale = -1.0; + }; + instanceProto.saveToJSON = function () + { + if (null != this.transCamera) + { + this.localCameras.push(this.transCamera); + } + var o = { + "lcc": this.localCameraCount, + "olcc": this.localCameraCountOld, + "alcc": this.localCameras.length, + "agcc": this.globalCameras.length, + "tcnn": (this.transCamera == null ? false : true) + }; + for (var i = 0; i < this.localCameras.length; i++) + { + o["lc" + i + "g"] = this.localCameras[i].global; + o["lc" + i + "n"] = this.localCameras[i].name; + o["lc" + i + "x"] = this.localCameras[i].x; + o["lc" + i + "y"] = this.localCameras[i].y; + o["lc" + i + "s"] = this.localCameras[i].scale; + o["lc" + i + "f"] = this.localCameras[i].following; + o["lc" + i + "foc"] = this.localCameras[i].followedObjects.length; + for (var f = 0; f < this.localCameras[i].followedObjects.length; f++) + { + o["lc" + i + "fo" + f] = this.localCameras[i].followedObjects[f].uid; + } + for (var w = 0; w < this.localCameras[i].objectWeights.length; w++) + { + o["lc" + i + "fow" + w] = this.localCameras[i].objectWeights[w]; + } + for (var ip = 0; ip < this.localCameras[i].followedObjectIPs.length; ip++) + { + o["lc" + i + "foip" + ip] = this.localCameras[i].followedObjectIPs[ip]; + } + o["lc" + i + "fl"] = this.localCameras[i].followLag; + o["lc" + i + "ztc"] = this.localCameras[i].zoomToContain; + o["lc" + i + "zmh"] = this.localCameras[i].zoomMarginH; + o["lc" + i + "zmv"] = this.localCameras[i].zoomMarginV; + o["lc" + i + "zbu"] = this.localCameras[i].zoomBoundU; + o["lc" + i + "zbl"] = this.localCameras[i].zoomBoundL; + o["lc" + i + "tc"] = this.localCameras[i].transitions.length; + for (var t = 0; t < this.localCameras[i].transitions.length; t++) + { + o["lc" + i + "t" + t + "tp"] = this.localCameras[i].transitions[t].type; + o["lc" + i + "t" + t + "d"] = this.localCameras[i].transitions[t].duration; + o["lc" + i + "t" + t + "p1"] = this.localCameras[i].transitions[t].param1; + o["lc" + i + "t" + t + "p2"] = this.localCameras[i].transitions[t].param2; + o["lc" + i + "t" + t + "p3"] = this.localCameras[i].transitions[t].param3; + o["lc" + i + "t" + t + "p4"] = this.localCameras[i].transitions[t].param4; + o["lc" + i + "t" + t + "pr"] = this.localCameras[i].transitions[t].progress; + } + o["lc" + i + "mtf"] = this.localCameras[i].moveTransFinished; + o["lc" + i + "ztf"] = this.localCameras[i].zoomTransFinished; + o["lc" + i + "csis"] = this.localCameras[i].isShaking; + o["lc" + i + "cssx"] = this.localCameras[i].shakeX; + o["lc" + i + "cssy"] = this.localCameras[i].shakeY; + o["lc" + i + "cssz"] = this.localCameras[i].shakeZoom; + o["lc" + i + "csst"] = this.localCameras[i].shakeTimer; + o["lc" + i + "csss"] = this.localCameras[i].shakeStrength; + o["lc" + i + "cssmd"] = this.localCameras[i].shakeMaxDeviation; + o["lc" + i + "cssmzd"] = this.localCameras[i].shakeMaxZoomDeviation; + o["lc" + i + "cssl"] = this.localCameras[i].shakeLength; + o["lc" + i + "cssbt"] = this.localCameras[i].shakeBuildTime; + o["lc" + i + "cssdt"] = this.localCameras[i].shakeDropTime; + } + for (var i = 0; i < this.globalCameras.length; i++) + { + o["gc" + i + "g"] = this.globalCameras[i].global; + o["gc" + i + "n"] = this.globalCameras[i].name; + o["gc" + i + "x"] = this.globalCameras[i].x; + o["gc" + i + "y"] = this.globalCameras[i].y; + o["gc" + i + "s"] = this.globalCameras[i].scale; + o["gc" + i + "f"] = this.globalCameras[i].following; + o["gc" + i + "foc"] = this.globalCameras[i].followedObjects.length; + for (var f = 0; f < this.globalCameras[i].followedObjects.length; f++) + { + o["gc" + i + "fo" + f] = this.globalCameras[i].followedObjects[f].uid; + } + for (var w = 0; w < this.globalCameras[i].objectWeights.length; w++) + { + o["gc" + i + "fow" + w] = this.globalCameras[i].objectWeights[w]; + } + for (var ip = 0; ip < this.globalCameras[i].followedObjectIPs.length; ip++) + { + o["gc" + i + "foip" + ip] = this.globalCameras[i].followedObjectIPs[ip]; + } + o["gc" + i + "fl"] = this.globalCameras[i].followLag; + o["gc" + i + "ztc"] = this.globalCameras[i].zoomToContain; + o["gc" + i + "zmh"] = this.globalCameras[i].zoomMarginH; + o["gc" + i + "zmv"] = this.globalCameras[i].zoomMarginV; + o["gc" + i + "zbu"] = this.globalCameras[i].zoomBoundU; + o["gc" + i + "zbl"] = this.globalCameras[i].zoomBoundL; + o["gc" + i + "tc"] = this.globalCameras[i].transitions.length; + for (var t = 0; t < this.globalCameras[i].transitions.length; t++) + { + o["gc" + i + "t" + t + "tp"] = this.globalCameras[i].transitions[t].type; + o["gc" + i + "t" + t + "d"] = this.globalCameras[i].transitions[t].duration; + o["gc" + i + "t" + t + "p1"] = this.globalCameras[i].transitions[t].param1; + o["gc" + i + "t" + t + "p2"] = this.globalCameras[i].transitions[t].param2; + o["gc" + i + "t" + t + "p3"] = this.globalCameras[i].transitions[t].param3; + o["gc" + i + "t" + t + "p4"] = this.globalCameras[i].transitions[t].param4; + } + o["gc" + i + "mtf"] = this.globalCameras[i].moveTransFinished; + o["gc" + i + "ztf"] = this.globalCameras[i].zoomTransFinished; + o["gc" + i + "csis"] = this.globalCameras[i].isShaking; + o["gc" + i + "cssx"] = this.globalCameras[i].shakeX; + o["gc" + i + "cssy"] = this.globalCameras[i].shakeY; + o["gc" + i + "cssz"] = this.globalCameras[i].shakeZoom; + o["gc" + i + "csst"] = this.globalCameras[i].shakeTimer; + o["gc" + i + "csss"] = this.globalCameras[i].shakeStrength; + o["gc" + i + "cssmd"] = this.globalCameras[i].shakeMaxDeviation; + o["gc" + i + "cssmzd"] = this.globalCameras[i].shakeMaxZoomDeviation; + o["gc" + i + "cssl"] = this.globalCameras[i].shakeLength; + o["gc" + i + "cssbt"] = this.globalCameras[i].shakeBuildTime; + o["gc" + i + "cssdt"] = this.globalCameras[i].shakeDropTime; + } + if (null != this.activeCamera) + { + o["ac"] = this.activeCamera.name; + } + else + { + o["ac"] = "null"; + } + if (null != this.transTarget) + { + o["tt"] = this.transTarget.name; + } + return o; + } + instanceProto.loadFromJSON = function (o) + { + this.localCameras = []; + this.globalCameras = []; + this.localCameraCount = o["lcc"]; + this.localCameraCountOld = o["olcc"]; + var localCamCount = o["alcc"]; + for (var i = 0; i < localCamCount; i++) + { + var tempCam = new Camera("", 0, 0, 0, false); + tempCam.global = o["lc" + i + "g"]; + tempCam.name = o["lc" + i + "n"]; + tempCam.x = o["lc" + i + "x"]; + tempCam.y = o["lc" + i + "y"]; + tempCam.scale = o["lc" + i + "s"]; + tempCam.following = o["lc" + i + "f"]; + var foCount = o["lc" + i + "foc"]; + for (var f = 0; f < foCount; f++) + { + tempCam.followedObjectUIDs.push(o["lc" + i + "fo" + f]); + } + for (var w = 0; w < foCount; w++) + { + tempCam.objectWeights.push(o["lc" + i + "fow" + w]); + } + for (var ip = 0; ip < foCount; ip++) + { + tempCam.followedObjectIPs.push(o["lc" + i + "foip" + ip]); + } + tempCam.followLag = o["lc" + i + "fl"]; + tempCam.zoomToContain = o["lc" + i + "ztc"]; + tempCam.zoomMarginH = o["lc" + i + "zmh"]; + tempCam.zoomMarginV = o["lc" + i + "zmv"]; + tempCam.zoomBoundU = o["lc" + i + "zbu"]; + tempCam.zoomBoundL = o["lc" + i + "zbl"]; + var transCount = o["lc" + i + "tc"]; + for (var t = 0; t < transCount; t++) + { + var tempTrans = new Transition("", 0, 0, 0, 0); + tempTrans.type = o["lc" + i + "t" + t + "tp"]; + tempTrans.duration = o["lc" + i + "t" + t + "d"]; + tempTrans.param1 = o["lc" + i + "t" + t + "p1"]; + tempTrans.param2 = o["lc" + i + "t" + t + "p2"]; + tempTrans.param3 = o["lc" + i + "t" + t + "p3"]; + tempTrans.param4 = o["lc" + i + "t" + t + "p4"]; + tempTrans.progress = o["lc" + i + "t" + t + "pr"]; + tempCam.transitions.push(tempTrans); + } + tempCam.moveTransFinished = o["lc" + i + "mtf"]; + tempCam.zoomTransFinished = o["lc" + i + "ztf"]; + tempCam.isShaking = o["lc" + i + "csis"]; + tempCam.shakeX = o["lc" + i + "cssx"]; + tempCam.shakeY = o["lc" + i + "cssy"]; + tempCam.shakeZoom = o["lc" + i + "cssz"]; + tempCam.shakeTimer = o["lc" + i + "csst"]; + tempCam.shakeStrength = o["lc" + i + "csss"]; + tempCam.shakeMaxDeviation = o["lc" + i + "cssmd"]; + tempCam.shakeMaxZoomDeviation = o["lc" + i + "cssmzd"]; + tempCam.shakeLength = o["lc" + i + "cssl"]; + tempCam.shakeBuildTime = o["lc" + i + "cssbt"]; + tempCam.shakeDropTime = o["lc" + i + "cssdt"]; + this.localCameras.push(tempCam); + } + var globalCamCount = o["agcc"]; + for (var i = 0; i < globalCamCount; i++) + { + var tempCam = new Camera("", 0, 0, 0, false); + tempCam.global = o["gc" + i + "g"]; + tempCam.name = o["gc" + i + "n"]; + tempCam.x = o["gc" + i + "x"]; + tempCam.y = o["gc" + i + "y"]; + tempCam.scale = o["gc" + i + "s"]; + tempCam.following = o["gc" + i + "f"]; + var foCount = o["gc" + i + "foc"]; + for (var f = 0; f < foCount; f++) + { + tempCam.followedObjectUIDs.push(o["gc" + i + "fo" + f]); + } + for (var w = 0; w < foCount; w++) + { + tempCam.objectWeights.push(o["gc" + i + "fow" + w]); + } + for (var ip = 0; ip < foCount; ip++) + { + tempCam.followedObjectIPs.push(o["gc" + i + "foip" + ip]); + } + tempCam.followLag = o["gc" + i + "fl"]; + tempCam.zoomToContain = o["gc" + i + "ztc"]; + tempCam.zoomMarginH = o["gc" + i + "zmh"]; + tempCam.zoomMarginV = o["gc" + i + "zmv"]; + tempCam.zoomBoundU = o["gc" + i + "zbu"]; + tempCam.zoomBoundL = o["gc" + i + "zbl"]; + var transCount = o["gc" + i + "tc"]; + for (var t = 0; t < transCount; t++) + { + var tempTrans = new Transition("", 0, 0, 0, 0); + tempTrans.type = o["gc" + i + "t" + t + "tp"]; + tempTrans.duration = o["gc" + i + "t" + t + "d"]; + tempTrans.param1 = o["gc" + i + "t" + t + "p1"]; + tempTrans.param2 = o["gc" + i + "t" + t + "p2"]; + tempTrans.param3 = o["gc" + i + "t" + t + "p3"]; + tempTrans.param4 = o["gc" + i + "t" + t + "p4"]; + tempCam.transitions.push(tempTrans); + } + tempCam.moveTransFinished = o["gc" + i + "mtf"]; + tempCam.zoomTransFinished = o["gc" + i + "ztf"]; + tempCam.isShaking = o["gc" + i + "csis"]; + tempCam.shakeX = o["gc" + i + "cssx"]; + tempCam.shakeY = o["gc" + i + "cssy"]; + tempCam.shakeZoom = o["gc" + i + "cssz"]; + tempCam.shakeTimer = o["gc" + i + "csst"]; + tempCam.shakeStrength = o["gc" + i + "csss"]; + tempCam.shakeMaxDeviation = o["gc" + i + "cssmd"]; + tempCam.shakeMaxZoomDeviation = o["gc" + i + "cssmzd"]; + tempCam.shakeLength = o["gc" + i + "cssl"]; + tempCam.shakeBuildTime = o["gc" + i + "cssbt"]; + tempCam.shakeDropTime = o["gc" + i + "cssdt"]; + this.globalCameras.push(tempCam); + } + var activeCam = o["ac"]; + if (activeCam == "null") + { + this.activeCamera = null; + } + else + { + this.activeCamera = this.GetCamera(activeCam); + } + var hasTransCam = o["tcnn"]; + if (hasTransCam) + { + this.transCamera = this.localCameras.pop(); + this.transTarget = this.GetCamera(o["tt"]); + } + } + instanceProto.afterLoad = function() + { + for (var i = 0; i < this.localCameras.length; i++) + { + for (var o = 0; o < this.localCameras[i].followedObjectUIDs.length; o++) + { + this.localCameras[i].followedObjects.push(this.runtime.getObjectByUID(this.localCameras[i].followedObjectUIDs[o])); + } + } + for (var i = 0; i < this.globalCameras.length; i++) + { + for (var o = 0; o < this.globalCameras[i].followedObjectUIDs.length; o++) + { + this.globalCameras[i].followedObjects.push(this.runtime.getObjectByUID(this.globalCameras[i].followedObjectUIDs[o])); + } + } + } + instanceProto.onLayoutChange = function() + { + for (var i = 0; i < this.localCameraCountOld; i++) + { + this.localCameras.shift(); + } + this.localCameraCount -= this.localCameraCountOld; + } + instanceProto.tick = function() + { + this.localCameraCountOld = this.localCameraCount; + var dt = this.runtime.getDt(this); + if (dt == 0) + { + dt = 0.1; + } + for (var i = 0; i < this.globalCameras.length; i++) + { + this.globalCameras[i].ProcessTransitions(dt); + this.globalCameras[i].ProcessFollowing(dt, this.runtime.original_width, this.runtime.original_height, this.runtime.running_layout); + this.globalCameras[i].ShakeCamera(dt); + } + for (var i = 0; i < this.localCameras.length; i++) + { + this.localCameras[i].ProcessTransitions(dt); + this.localCameras[i].ProcessFollowing(dt, this.runtime.original_width, this.runtime.original_height, this.runtime.running_layout); + this.localCameras[i].ShakeCamera(dt); + } + if (null != this.transCamera) + { + this.transCamera.UpdateCameraTarget(dt, this.transTarget); + this.transCamera.ProcessTransitions(dt); + if (this.transCamera.moveTransFinished) + { + this.activeCamera = this.transTarget; + this.transCamera = null; + } + } + if (this.activeCamera != null) + { + this.runtime.running_layout.scrollToX(this.activeCamera.GetX() + this.activeCamera.GetShakeX()); + this.runtime.running_layout.scrollToY(this.activeCamera.GetY() + this.activeCamera.GetShakeY()); + this.runtime.running_layout.scale = this.activeCamera.scale + this.activeCamera.shakeZoom; + this.runtime.redraw = true; + } + }; + instanceProto.draw = function(ctx) + { + }; + instanceProto.drawGL = function (glw) + { + }; + instanceProto.GetCamera = function(Name) + { + if (Name == "") + { + return this.activeCamera; + } + for (var i = (this.globalCameras.length - 1) ; i >= 0; i--) + { + if (this.globalCameras[i].GetName() == Name) + { + return this.globalCameras[i]; + } + } + for (var i = (this.localCameras.length - 1); i >= 0; i--) + { + if (this.localCameras[i].GetName() == Name) + { + return this.localCameras[i]; + } + } + return null; + }; + function Cnds() {}; + Cnds.prototype.TransitionFinished = function (CameraName, Transition) + { + var camera = this.GetCamera(CameraName); + if (camera != null) + { + if (Transition == 0) + { + return camera.moveTransFinished; + } + else if (Transition == 1) + { + return camera.zoomTransFinished; + } + } + return false; + }; + Cnds.prototype.TransitionIsInProgress = function (CameraName, Transition) + { + var camera = this.GetCamera(CameraName); + if (camera != null) + { + for (var i = 0; i < camera.transitions.length; i++) + { + if (camera.transitions[i].type == "MOVE" && Transition == 0) + { + return true; + } + else if (camera.transitions[i].type == "SCALE" && Transition == 1) + { + return true; + } + } + } + return false; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.FollowObject = function (CameraName, FollowedObject, ObjectWeight, ImagePoint) + { + if (!FollowedObject) + { + return; + } + var camera = this.GetCamera(CameraName); + if (camera != null) + { + var followedObject = FollowedObject.getFirstPicked(); + if (camera.global && !FollowedObject.global) + { + alert("MagiCam:\n\nObject not global - global cameras must follow global objects."); + return; + } + camera.followedObjects.push(followedObject); + camera.objectWeights.push(ObjectWeight); + camera.followedObjectIPs.push(ImagePoint); + } + }; + Acts.prototype.SetFollowLag = function (CameraName, FollowLag) + { + var camera = this.GetCamera(CameraName); + if (camera != null) + { + camera.followLag = 1 - FollowLag / 100; + } + }; + Acts.prototype.ZoomToContain = function (CameraName, Zoom, ZoomMarginH, ZoomMarginV, ZoomBoundU, ZoomBoundL) + { + var camera = this.GetCamera(CameraName); + if (camera != null) + { + if (Zoom == 0) + { + camera.zoomToContain = true; + camera.zoomMarginH = ZoomMarginH; + camera.zoomMarginV = ZoomMarginV; + camera.zoomBoundU = ZoomBoundU; + camera.zoomBoundL = ZoomBoundL; + } + else + { + camera.zoomToContain = false; + } + } + }; + Acts.prototype.EnableFollowing = function (CameraName, Following) + { + var camera = this.GetCamera(CameraName); + if (camera != null) + { + if (Following == 0) + { + camera.following = true; + } + else + { + camera.following = false; + } + } + }; + Acts.prototype.UnfollowObject = function (CameraName, FollowedObject) + { + if (!FollowedObject) + { + return; + } + var camera = this.GetCamera(CameraName); + if (camera != null) + { + var followedObject = FollowedObject.getFirstPicked(); + for (var i = 0; i < camera.followedObjects.length; i++) + { + if (camera.followedObjects[i] == followedObject) + { + camera.followedObjects.splice(i, 1); + break; + } + } + } + }; + Acts.prototype.CreateLocalCamera = function (cameraName, cameraX, cameraY, cameraScale, Active) + { + if (cameraName == "") + { + alert("Camera name must not be blank."); + return; + } + this.localCameras.push(new Camera(cameraName, cameraX, cameraY, cameraScale, false)); + this.localCameraCount++; + if (Active == 1) + { + this.activeCamera = this.localCameras[this.localCameras.length - 1]; + this.runtime.running_layout.scale = this.activeCamera.scale; + } + }; + Acts.prototype.CreateGlobalCamera = function (cameraName, cameraX, cameraY, cameraScale, Active) + { + if (cameraName == "") + { + alert("Camera name must not be blank."); + return; + } + else if (this.GetCamera(cameraName) != null) + { + return; + } + this.globalCameras.push(new Camera(cameraName, cameraX, cameraY, cameraScale, true)); + if (Active == 1) + { + this.activeCamera = this.globalCameras[this.globalCameras.length - 1]; + this.runtime.running_layout.scrollToX(this.activeCamera.GetX()); + this.runtime.running_layout.scrollToY(this.activeCamera.GetY()); + this.runtime.running_layout.scale = this.activeCamera.scale; + } + }; + Acts.prototype.SetActiveCamera = function (CameraName) + { + var camera = this.GetCamera(CameraName); + if (camera != null) + { + this.activeCamera = camera; + this.runtime.running_layout.scrollToX(camera.GetX()); + this.runtime.running_layout.scrollToY(camera.GetY()); + this.runtime.running_layout.scale = camera.scale; + } + }; + Acts.prototype.SetScrollSmoothing = function (CameraName) + { + }; + Acts.prototype.SetXPosition = function (CameraName, X) + { + var camera = this.GetCamera(CameraName); + if (camera != null) + { + camera.SetX(X); + } + }; + Acts.prototype.SetYPosition = function (CameraName, Y) + { + var camera = this.GetCamera(CameraName); + if (camera != null) + { + camera.SetY(Y); + } + }; + Acts.prototype.SetPosition = function (CameraName, X, Y) + { + var camera = this.GetCamera(CameraName); + if (camera != null) + { + camera.SetX(X); + camera.SetY(Y); + } + }; + Acts.prototype.SetZoom = function (CameraName, Zoom) + { + var camera = this.GetCamera(CameraName); + if (camera != null) + { + camera.scale = Zoom; + } + }; + Acts.prototype.TransitionToPoint = function (CameraName, X, Y, Duration) + { + var camera = this.GetCamera(CameraName); + if (camera != null) + { + for (var i = 0; i < camera.transitions.length; i++) + { + if (camera.transitions[i].type == "MOVE") + { + camera.transitions.splice(i, 1); + break; + } + } + camera.transitions.push(new Transition("MOVE", Duration, X, Y, camera.GetX(), camera.GetY())); + camera.following = false; + camera.zoomToContain = false; + } + }; + Acts.prototype.TransitionToZoom = function (CameraName, Zoom, Duration) + { + var camera = this.GetCamera(CameraName); + if (camera != null) + { + for (var i = 0; i < camera.transitions.length; i++) + { + if (camera.transitions[i].type == "SCALE") + { + camera.transitions.splice(i, 1); + break; + } + } + camera.transitions.push(new Transition("SCALE", Duration, Zoom, camera.scale, null, null)); + camera.zoomToContain = false; + } + }; + Acts.prototype.TransitionToCamera = function (CameraName, Duration) + { + var camera = this.GetCamera(CameraName); + if (camera != null) + { + this.transTarget = camera; + this.transCamera = new Camera("transCamera", this.activeCamera.GetX(), this.activeCamera.GetY(), this.activeCamera.scale, false); + this.transCamera.transitions.push(new Transition("MOVE", Duration, this.transTarget.GetX(), this.transTarget.GetY(), this.transCamera.GetX(), this.transCamera.GetY())); + this.transCamera.transitions.push(new Transition("SCALE", Duration, this.transTarget.scale, this.transCamera.scale, null, null)); + this.activeCamera = this.transCamera; + this.isSwitchingCameras = true; + } + }; + Acts.prototype.ShakeCamera = function (CameraName, Strength, MaxDeviation, MaxZoomDeviation, BuildLength, DropTime, Duration) + { + var camera = this.GetCamera(CameraName); + if (camera != null) + { + camera.isShaking = true; + camera.shakeStrength = Strength / 100; + camera.shakeMaxDeviation = MaxDeviation; + camera.shakeMaxZoomDeviation = MaxZoomDeviation; + camera.shakeBuildTime = BuildLength; + camera.shakeDropTime = DropTime; + camera.shakeLength = Duration; + camera.shakeTimer = 0; + } + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.MovementTransitionProgress = function (ret, CameraName) + { + var camera = this.GetCamera(CameraName); + if (null != camera) + { + for (var i = 0; i < camera.transitions.length; i++) + { + if (camera.transitions[i].type == "MOVE") + { + ret.set_float(camera.transitions[i].progress); + return; + } + } + } + ret.set_float(0); + }; + Exps.prototype.ZoomTransitionProgress = function (ret, CameraName) + { + var camera = this.GetCamera(CameraName); + if (null != camera) + { + for (var i = 0; i < camera.transitions.length; i++) + { + if (camera.transitions[i].type == "SCALE") + { + ret.set_float(camera.transitions[i].progress); + return; + } + } + } + ret.set_float(0); + }; + Exps.prototype.GetX = function (ret, CameraName) + { + var camera = this.GetCamera(CameraName); + if (null != camera) + { + ret.set_float(camera.x); + return; + } + ret.set_float(0); + }; + Exps.prototype.GetY = function (ret, CameraName) + { + var camera = this.GetCamera(CameraName); + if (null != camera) + { + ret.set_float(camera.y); + return; + } + ret.set_float(0); + }; + Exps.prototype.GetZoom = function (ret, CameraName) + { + var camera = this.GetCamera(CameraName); + if (null != camera) + { + ret.set_float(camera.scale); + return; + } + ret.set_float(0); + }; + Exps.prototype.GetActiveCamera = function (ret) + { + if (null != this.activeCamera) + { + ret.set_string(this.activeCamera.name); + return; + } + ret.set_string("null"); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.Mouse = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Mouse.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + this.buttonMap = new Array(4); // mouse down states + this.mouseXcanvas = 0; // mouse position relative to canvas + this.mouseYcanvas = 0; + this.triggerButton = 0; + this.triggerType = 0; + this.triggerDir = 0; + this.handled = false; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + var self = this; + if (!this.runtime.isDomFree) + { + jQuery(document).mousemove( + function(info) { + self.onMouseMove(info); + } + ); + jQuery(document).mousedown( + function(info) { + self.onMouseDown(info); + } + ); + jQuery(document).mouseup( + function(info) { + self.onMouseUp(info); + } + ); + jQuery(document).dblclick( + function(info) { + self.onDoubleClick(info); + } + ); + var wheelevent = function(info) { + self.onWheel(info); + }; + document.addEventListener("mousewheel", wheelevent, false); + document.addEventListener("DOMMouseScroll", wheelevent, false); + } + }; + var dummyoffset = {left: 0, top: 0}; + instanceProto.onMouseMove = function(info) + { + var offset = this.runtime.isDomFree ? dummyoffset : jQuery(this.runtime.canvas).offset(); + this.mouseXcanvas = info.pageX - offset.left; + this.mouseYcanvas = info.pageY - offset.top; + }; + instanceProto.mouseInGame = function () + { + if (this.runtime.fullscreen_mode > 0) + return true; + return this.mouseXcanvas >= 0 && this.mouseYcanvas >= 0 + && this.mouseXcanvas < this.runtime.width && this.mouseYcanvas < this.runtime.height; + }; + instanceProto.onMouseDown = function(info) + { + if (!this.mouseInGame()) + return; + this.buttonMap[info.which] = true; + this.runtime.isInUserInputEvent = true; + this.runtime.trigger(cr.plugins_.Mouse.prototype.cnds.OnAnyClick, this); + this.triggerButton = info.which - 1; // 1-based + this.triggerType = 0; // single click + this.runtime.trigger(cr.plugins_.Mouse.prototype.cnds.OnClick, this); + this.runtime.trigger(cr.plugins_.Mouse.prototype.cnds.OnObjectClicked, this); + this.runtime.isInUserInputEvent = false; + }; + instanceProto.onMouseUp = function(info) + { + if (!this.buttonMap[info.which]) + return; + if (this.runtime.had_a_click && !this.runtime.isMobile) + info.preventDefault(); + this.runtime.had_a_click = true; + this.buttonMap[info.which] = false; + this.runtime.isInUserInputEvent = true; + this.triggerButton = info.which - 1; // 1-based + this.runtime.trigger(cr.plugins_.Mouse.prototype.cnds.OnRelease, this); + this.runtime.isInUserInputEvent = false; + }; + instanceProto.onDoubleClick = function(info) + { + if (!this.mouseInGame()) + return; + info.preventDefault(); + this.runtime.isInUserInputEvent = true; + this.triggerButton = info.which - 1; // 1-based + this.triggerType = 1; // double click + this.runtime.trigger(cr.plugins_.Mouse.prototype.cnds.OnClick, this); + this.runtime.trigger(cr.plugins_.Mouse.prototype.cnds.OnObjectClicked, this); + this.runtime.isInUserInputEvent = false; + }; + instanceProto.onWheel = function (info) + { + var delta = info.wheelDelta ? info.wheelDelta : info.detail ? -info.detail : 0; + this.triggerDir = (delta < 0 ? 0 : 1); + this.handled = false; + this.runtime.isInUserInputEvent = true; + this.runtime.trigger(cr.plugins_.Mouse.prototype.cnds.OnWheel, this); + this.runtime.isInUserInputEvent = false; + if (this.handled && cr.isCanvasInputEvent(info)) + info.preventDefault(); + }; + instanceProto.onWindowBlur = function () + { + var i, len; + for (i = 0, len = this.buttonMap.length; i < len; ++i) + { + if (!this.buttonMap[i]) + continue; + this.buttonMap[i] = false; + this.triggerButton = i - 1; + this.runtime.trigger(cr.plugins_.Mouse.prototype.cnds.OnRelease, this); + } + }; + function Cnds() {}; + Cnds.prototype.OnClick = function (button, type) + { + return button === this.triggerButton && type === this.triggerType; + }; + Cnds.prototype.OnAnyClick = function () + { + return true; + }; + Cnds.prototype.IsButtonDown = function (button) + { + return this.buttonMap[button + 1]; // jQuery uses 1-based buttons for some reason + }; + Cnds.prototype.OnRelease = function (button) + { + return button === this.triggerButton; + }; + Cnds.prototype.IsOverObject = function (obj) + { + var cnd = this.runtime.getCurrentCondition(); + var mx = this.mouseXcanvas; + var my = this.mouseYcanvas; + return cr.xor(this.runtime.testAndSelectCanvasPointOverlap(obj, mx, my, cnd.inverted), cnd.inverted); + }; + Cnds.prototype.OnObjectClicked = function (button, type, obj) + { + if (button !== this.triggerButton || type !== this.triggerType) + return false; // wrong click type + return this.runtime.testAndSelectCanvasPointOverlap(obj, this.mouseXcanvas, this.mouseYcanvas, false); + }; + Cnds.prototype.OnWheel = function (dir) + { + this.handled = true; + return dir === this.triggerDir; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + var lastSetCursor = null; + Acts.prototype.SetCursor = function (c) + { + if (this.runtime.isDomFree) + return; + var cursor_style = ["auto", "pointer", "text", "crosshair", "move", "help", "wait", "none"][c]; + if (lastSetCursor === cursor_style) + return; // redundant + lastSetCursor = cursor_style; + document.body.style.cursor = cursor_style; + }; + Acts.prototype.SetCursorSprite = function (obj) + { + if (this.runtime.isDomFree || this.runtime.isMobile || !obj) + return; + var inst = obj.getFirstPicked(); + if (!inst || !inst.curFrame) + return; + var frame = inst.curFrame; + if (lastSetCursor === frame) + return; // already set this frame + lastSetCursor = frame; + var datauri = frame.getDataUri(); + var cursor_style = "url(" + datauri + ") " + Math.round(frame.hotspotX * frame.width) + " " + Math.round(frame.hotspotY * frame.height) + ", auto"; + document.body.style.cursor = ""; + document.body.style.cursor = cursor_style; + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.X = function (ret, layerparam) + { + var layer, oldScale, oldZoomRate, oldParallaxX, oldAngle; + if (cr.is_undefined(layerparam)) + { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxX = layer.parallaxX; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxX = 1.0; + layer.angle = 0; + ret.set_float(layer.canvasToLayer(this.mouseXcanvas, this.mouseYcanvas, true)); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxX = oldParallaxX; + layer.angle = oldAngle; + } + else + { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else + layer = this.runtime.getLayerByName(layerparam); + if (layer) + ret.set_float(layer.canvasToLayer(this.mouseXcanvas, this.mouseYcanvas, true)); + else + ret.set_float(0); + } + }; + Exps.prototype.Y = function (ret, layerparam) + { + var layer, oldScale, oldZoomRate, oldParallaxY, oldAngle; + if (cr.is_undefined(layerparam)) + { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxY = layer.parallaxY; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxY = 1.0; + layer.angle = 0; + ret.set_float(layer.canvasToLayer(this.mouseXcanvas, this.mouseYcanvas, false)); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxY = oldParallaxY; + layer.angle = oldAngle; + } + else + { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else + layer = this.runtime.getLayerByName(layerparam); + if (layer) + ret.set_float(layer.canvasToLayer(this.mouseXcanvas, this.mouseYcanvas, false)); + else + ret.set_float(0); + } + }; + Exps.prototype.AbsoluteX = function (ret) + { + ret.set_float(this.mouseXcanvas); + }; + Exps.prototype.AbsoluteY = function (ret) + { + ret.set_float(this.mouseYcanvas); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.NinePatch = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.NinePatch.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + if (this.is_family) + return; + this.texture_img = new Image(); + this.texture_img.cr_filesize = this.texture_filesize; + this.runtime.waitForImageLoad(this.texture_img, this.texture_file); + this.fillPattern = null; + this.leftPattern = null; + this.rightPattern = null; + this.topPattern = null; + this.bottomPattern = null; + this.webGL_texture = null; + this.webGL_fillTexture = null; + this.webGL_leftTexture = null; + this.webGL_rightTexture = null; + this.webGL_topTexture = null; + this.webGL_bottomTexture = null; + }; + typeProto.onLostWebGLContext = function () + { + if (this.is_family) + return; + this.webGL_texture = null; + this.webGL_fillTexture = null; + this.webGL_leftTexture = null; + this.webGL_rightTexture = null; + this.webGL_topTexture = null; + this.webGL_bottomTexture = null; + }; + typeProto.onRestoreWebGLContext = function () + { + if (this.is_family || !this.instances.length) + return; + if (!this.webGL_texture) + { + this.webGL_texture = this.runtime.glwrap.loadTexture(this.texture_img, true, this.runtime.linearSampling, this.texture_pixelformat); + } + }; + typeProto.unloadTextures = function () + { + if (this.is_family || this.instances.length) + return; + if (this.runtime.glwrap) + { + this.runtime.glwrap.deleteTexture(this.webGL_texture); + this.runtime.glwrap.deleteTexture(this.webGL_fillTexture); + this.runtime.glwrap.deleteTexture(this.webGL_leftTexture); + this.runtime.glwrap.deleteTexture(this.webGL_rightTexture); + this.runtime.glwrap.deleteTexture(this.webGL_topTexture); + this.runtime.glwrap.deleteTexture(this.webGL_bottomTexture); + this.webGL_texture = null; + this.webGL_fillTexture = null; + this.webGL_leftTexture = null; + this.webGL_rightTexture = null; + this.webGL_topTexture = null; + this.webGL_bottomTexture = null; + } + }; + typeProto.slicePatch = function (x1, y1, x2, y2) + { + var tmpcanvas = document.createElement("canvas"); + var w = x2 - x1; + var h = y2 - y1; + tmpcanvas.width = w; + tmpcanvas.height = h; + var tmpctx = tmpcanvas.getContext("2d"); + tmpctx.drawImage(this.texture_img, x1, y1, w, h, 0, 0, w, h); + return tmpcanvas; + }; + typeProto.createPatch = function (lm, rm, tm, bm) + { + var iw = this.texture_img.width; + var ih = this.texture_img.height; + var re = iw - rm; + var be = ih - bm; + if (this.runtime.glwrap) + { + if (this.webGL_fillTexture) + return; // already created + var glwrap = this.runtime.glwrap; + var ls = this.runtime.linearSampling; + var tf = this.texture_pixelformat; + if (re > lm && be > tm) + this.webGL_fillTexture = glwrap.loadTexture(this.slicePatch(lm, tm, re, be), true, ls, tf); + if (lm > 0 && be > tm) + this.webGL_leftTexture = glwrap.loadTexture(this.slicePatch(0, tm, lm, be), true, ls, tf, "repeat-y"); + if (rm > 0 && be > tm) + this.webGL_rightTexture = glwrap.loadTexture(this.slicePatch(re, tm, iw, be), true, ls, tf, "repeat-y"); + if (tm > 0 && re > lm) + this.webGL_topTexture = glwrap.loadTexture(this.slicePatch(lm, 0, re, tm), true, ls, tf, "repeat-x"); + if (bm > 0 && re > lm) + this.webGL_bottomTexture = glwrap.loadTexture(this.slicePatch(lm, be, re, ih), true, ls, tf, "repeat-x"); + } + else + { + if (this.fillPattern) + return; // already created + var ctx = this.runtime.ctx; + if (re > lm && be > tm) + this.fillPattern = ctx.createPattern(this.slicePatch(lm, tm, re, be), "repeat"); + if (lm > 0 && be > tm) + this.leftPattern = ctx.createPattern(this.slicePatch(0, tm, lm, be), "repeat"); + if (rm > 0 && be > tm) + this.rightPattern = ctx.createPattern(this.slicePatch(re, tm, iw, be), "repeat"); + if (tm > 0 && re > lm) + this.topPattern = ctx.createPattern(this.slicePatch(lm, 0, re, tm), "repeat"); + if (bm > 0 && re > lm) + this.bottomPattern = ctx.createPattern(this.slicePatch(lm, be, re, ih), "repeat"); + } + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + this.leftMargin = this.properties[0]; + this.rightMargin = this.properties[1]; + this.topMargin = this.properties[2]; + this.bottomMargin = this.properties[3]; + this.edges = this.properties[4]; // 0=tile, 1=stretch + this.fill = this.properties[5]; // 0=tile, 1=stretch, 2=transparent + this.visible = (this.properties[6] === 0); // 0=visible, 1=invisible + this.seamless = (this.properties[8] !== 0); // 1px overdraw to hide seams + if (this.recycled) + this.rcTex.set(0, 0, 0, 0); + else + this.rcTex = new cr.rect(0, 0, 0, 0); + if (this.runtime.glwrap) + { + if (!this.type.webGL_texture) + { + this.type.webGL_texture = this.runtime.glwrap.loadTexture(this.type.texture_img, false, this.runtime.linearSampling, this.type.texture_pixelformat); + } + } + this.type.createPatch(this.leftMargin, this.rightMargin, this.topMargin, this.bottomMargin); + }; + function drawPatternProperly(ctx, pattern, pw, ph, drawX, drawY, w, h, ox, oy) + { + ctx.save(); + ctx.fillStyle = pattern; + var offX = drawX % pw; + var offY = drawY % ph; + if (offX < 0) + offX += pw; + if (offY < 0) + offY += ph; + ctx.translate(offX + ox, offY + oy); + ctx.fillRect(drawX - offX - ox, drawY - offY - oy, w, h); + ctx.restore(); + }; + instanceProto.draw = function(ctx) + { + var img = this.type.texture_img; + var lm = this.leftMargin; + var rm = this.rightMargin; + var tm = this.topMargin; + var bm = this.bottomMargin; + var iw = img.width; + var ih = img.height; + var re = iw - rm; + var be = ih - bm; + ctx.globalAlpha = this.opacity; + ctx.save(); + var myx = this.x; + var myy = this.y; + var myw = this.width; + var myh = this.height; + if (this.runtime.pixel_rounding) + { + myx = Math.round(myx); + myy = Math.round(myy); + } + var drawX = -(this.hotspotX * this.width); + var drawY = -(this.hotspotY * this.height); + var offX = drawX % iw; + var offY = drawY % ih; + if (offX < 0) + offX += iw; + if (offY < 0) + offY += ih; + ctx.translate(myx + offX, myy + offY); + var x = drawX - offX; + var y = drawY - offY; + var s = (this.seamless ? 1 : 0); + if (lm > 0 && tm > 0) + ctx.drawImage(img, 0, 0, lm + s, tm + s, x, y, lm + s, tm + s); + if (rm > 0 && tm > 0) + ctx.drawImage(img, re - s, 0, rm + s, tm + s, x + myw - rm - s, y, rm + s, tm + s); + if (rm > 0 && bm > 0) + ctx.drawImage(img, re - s, be - s, rm + s, bm + s, x + myw - rm - s, y + myh - bm - s, rm + s, bm + s); + if (lm > 0 && bm > 0) + ctx.drawImage(img, 0, be - s, lm + s, bm + s, x, y + myh - bm - s, lm + s, bm + s); + if (this.edges === 0) // tile edges + { + var off = (this.fill === 2 ? 0 : s); + if (lm > 0 && be > tm) + drawPatternProperly(ctx, this.type.leftPattern, lm, be - tm, x, y + tm, lm + off, myh - tm - bm, 0, 0); + if (rm > 0 && be > tm) + drawPatternProperly(ctx, this.type.rightPattern, rm, be - tm, x + myw - rm - off, y + tm, rm + off, myh - tm - bm, off, 0); + if (tm > 0 && re > lm) + drawPatternProperly(ctx, this.type.topPattern, re - lm, tm, x + lm, y, myw - lm - rm, tm + off, 0, 0); + if (bm > 0 && re > lm) + drawPatternProperly(ctx, this.type.bottomPattern, re - lm, bm, x + lm, y + myh - bm - off, myw - lm - rm, bm + off, 0, off); + } + else if (this.edges === 1) // stretch edges + { + if (lm > 0 && be > tm && myh - tm - bm > 0) + ctx.drawImage(img, 0, tm, lm, be - tm, x, y + tm, lm, myh - tm - bm); + if (rm > 0 && be > tm && myh - tm - bm > 0) + ctx.drawImage(img, re, tm, rm, be - tm, x + myw - rm, y + tm, rm, myh - tm - bm); + if (tm > 0 && re > lm && myw - lm - rm > 0) + ctx.drawImage(img, lm, 0, re - lm, tm, x + lm, y, myw - lm - rm, tm); + if (bm > 0 && re > lm && myw - lm - rm > 0) + ctx.drawImage(img, lm, be, re - lm, bm, x + lm, y + myh - bm, myw - lm - rm, bm); + } + if (be > tm && re > lm) + { + if (this.fill === 0) // tile fill + { + drawPatternProperly(ctx, this.type.fillPattern, re - lm, be - tm, x + lm, y + tm, myw - lm - rm, myh - tm - bm, 0, 0); + } + else if (this.fill === 1) // stretch fill + { + if (myw - lm - rm > 0 && myh - tm - bm > 0) + { + ctx.drawImage(img, lm, tm, re - lm, be - tm, x + lm, y + tm, myw - lm - rm, myh - tm - bm); + } + } + } + ctx.restore(); + }; + instanceProto.drawPatch = function(glw, tex, sx, sy, sw, sh, dx, dy, dw, dh) + { + glw.setTexture(tex); + var rcTex = this.rcTex; + rcTex.left = sx / tex.c2width; + rcTex.top = sy / tex.c2height; + rcTex.right = (sx + sw) / tex.c2width; + rcTex.bottom = (sy + sh) / tex.c2height; + glw.quadTex(dx, dy, dx + dw, dy, dx + dw, dy + dh, dx, dy + dh, rcTex); + }; + instanceProto.tilePatch = function(glw, tex, dx, dy, dw, dh, ox, oy) + { + glw.setTexture(tex); + var rcTex = this.rcTex; + rcTex.left = -ox / tex.c2width; + rcTex.top = -oy / tex.c2height; + rcTex.right = (dw - ox) / tex.c2width; + rcTex.bottom = (dh - oy) / tex.c2height; + glw.quadTex(dx, dy, dx + dw, dy, dx + dw, dy + dh, dx, dy + dh, rcTex); + }; + instanceProto.drawGL_earlyZPass = function(glw) + { + this.drawGL(glw); + }; + instanceProto.drawGL = function(glw) + { + var lm = this.leftMargin; + var rm = this.rightMargin; + var tm = this.topMargin; + var bm = this.bottomMargin; + var iw = this.type.texture_img.width; + var ih = this.type.texture_img.height; + var re = iw - rm; + var be = ih - bm; + glw.setOpacity(this.opacity); + var rcTex = this.rcTex; + var q = this.bquad; + var myx = q.tlx; + var myy = q.tly; + var myw = this.width; + var myh = this.height; + if (this.runtime.pixel_rounding) + { + myx = Math.round(myx); + myy = Math.round(myy); + } + var s = (this.seamless ? 1 : 0); + if (lm > 0 && tm > 0) + this.drawPatch(glw, this.type.webGL_texture, 0, 0, lm + s, tm + s, myx, myy, lm + s, tm + s); + if (rm > 0 && tm > 0) + this.drawPatch(glw, this.type.webGL_texture, re - s, 0, rm + s, tm + s, myx + myw - rm - s, myy, rm + s, tm + s); + if (rm > 0 && bm > 0) + this.drawPatch(glw, this.type.webGL_texture, re - s, be - s, rm + s, bm + s, myx + myw - rm - s, myy + myh - bm - s, rm + s, bm + s); + if (lm > 0 && bm > 0) + this.drawPatch(glw, this.type.webGL_texture, 0, be - s, lm + s, bm + s, myx, myy + myh - bm - s, lm + s, bm + s); + if (this.edges === 0) // tile edges + { + var off = (this.fill === 2 ? 0 : s); + if (lm > 0 && be > tm) + this.tilePatch(glw, this.type.webGL_leftTexture, myx, myy + tm, lm + off, myh - tm - bm, 0, 0); + if (rm > 0 && be > tm) + this.tilePatch(glw, this.type.webGL_rightTexture, myx + myw - rm - off, myy + tm, rm + off, myh - tm - bm, off, 0); + if (tm > 0 && re > lm) + this.tilePatch(glw, this.type.webGL_topTexture, myx + lm, myy, myw - lm - rm, tm + off, 0, 0); + if (bm > 0 && re > lm) + this.tilePatch(glw, this.type.webGL_bottomTexture, myx + lm, myy + myh - bm - off, myw - lm - rm, bm + off, 0, off); + } + else if (this.edges === 1) // stretch edges + { + if (lm > 0 && be > tm) + this.drawPatch(glw, this.type.webGL_texture, 0, tm, lm, be - tm, myx, myy + tm, lm, myh - tm - bm); + if (rm > 0 && be > tm) + this.drawPatch(glw, this.type.webGL_texture, re, tm, rm, be - tm, myx + myw - rm, myy + tm, rm, myh - tm - bm); + if (tm > 0 && re > lm) + this.drawPatch(glw, this.type.webGL_texture, lm, 0, re - lm, tm, myx + lm, myy, myw - lm - rm, tm); + if (bm > 0 && re > lm) + this.drawPatch(glw, this.type.webGL_texture, lm, be, re - lm, bm, myx + lm, myy + myh - bm, myw - lm - rm, bm); + } + if (be > tm && re > lm) + { + if (this.fill === 0) // tile fill + { + this.tilePatch(glw, this.type.webGL_fillTexture, myx + lm, myy + tm, myw - lm - rm, myh - tm - bm, 0, 0); + } + else if (this.fill === 1) // stretch fill + { + this.drawPatch(glw, this.type.webGL_texture, lm, tm, re - lm, be - tm, myx + lm, myy + tm, myw - lm - rm, myh - tm - bm); + } + } + }; + function Cnds() {}; + Cnds.prototype.OnURLLoaded = function () + { + return true; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetEffect = function (effect) + { + this.blend_mode = effect; + this.compositeOp = cr.effectToCompositeOp(effect); + cr.setGLBlend(this, effect, this.runtime.gl); + this.runtime.redraw = true; + }; + pluginProto.acts = new Acts(); + function Exps() {}; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.NodeWebkit = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var isNWjs = false; + var path = null; + var fs = null; + var os = null; + var gui = null; + var child_process = null; + var process = null; + var nw_appfolder = ""; + var nw_userfolder = ""; + var nw_projectfilesfolder = ""; + var slash = "\\"; + var filelist = []; + var droppedfile = ""; + var chosenpath = ""; + var pluginProto = cr.plugins_.NodeWebkit.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + isNWjs = this.runtime.isNWjs; + var self = this; + if (isNWjs) + { + path = require("path"); + fs = require("fs"); + os = require("os"); + child_process = require("child_process"); + process = window["process"] || nw["process"]; + if (process["platform"] !== "win32") + slash = "/"; + nw_appfolder = path["dirname"](process["execPath"]) + slash; + nw_userfolder = os["homedir"]() + slash; + gui = window["nwgui"]; + nw_projectfilesfolder = process["mainModule"]["filename"]; + var lastSlash = Math.max(nw_projectfilesfolder.lastIndexOf("/"), nw_projectfilesfolder.lastIndexOf("\\")); + if (lastSlash !== -1) + nw_projectfilesfolder = nw_projectfilesfolder.substr(0, lastSlash + 1); + window["ondrop"] = function (e) + { + e.preventDefault(); + for (var i = 0; i < e["dataTransfer"]["files"].length; ++i) + { + droppedfile = e["dataTransfer"]["files"][i]["path"]; + self.runtime.trigger(cr.plugins_.NodeWebkit.prototype.cnds.OnFileDrop, self); + } + return false; + }; + var openFileDialogElem = document.getElementById("c2nwOpenFileDialog"); + openFileDialogElem["onchange"] = function (e) { + chosenpath = openFileDialogElem.value; + self.runtime.trigger(cr.plugins_.NodeWebkit.prototype.cnds.OnOpenDlg, self); + try { + openFileDialogElem.value = null; + } + catch (e) {} + }; + openFileDialogElem["oncancel"] = function () { + self.runtime.trigger(cr.plugins_.NodeWebkit.prototype.cnds.OnOpenDlgCancel, self); + }; + var chooseFolderDialogElem = document.getElementById("c2nwChooseFolderDialog"); + chooseFolderDialogElem["onchange"] = function (e) { + chosenpath = chooseFolderDialogElem.value; + self.runtime.trigger(cr.plugins_.NodeWebkit.prototype.cnds.OnFolderDlg, self); + try { + chooseFolderDialogElem.value = null; + } + catch (e) {} + }; + chooseFolderDialogElem["oncancel"] = function () { + self.runtime.trigger(cr.plugins_.NodeWebkit.prototype.cnds.OnFolderDlgCancel, self); + }; + var saveDialogElem = document.getElementById("c2nwSaveDialog"); + saveDialogElem["onchange"] = function (e) { + chosenpath = saveDialogElem.value; + self.runtime.trigger(cr.plugins_.NodeWebkit.prototype.cnds.OnSaveDlg, self); + try { + saveDialogElem.value = null; + } + catch (e) {} + }; + saveDialogElem["oncancel"] = function () { + self.runtime.trigger(cr.plugins_.NodeWebkit.prototype.cnds.OnSaveDlgCancel, self); + }; + } + }; + instanceProto.onDestroy = function () + { + }; + instanceProto.saveToJSON = function () + { + return { + }; + }; + instanceProto.loadFromJSON = function (o) + { + }; + function Cnds() {}; + Cnds.prototype.PathExists = function (path_) + { + if (isNWjs) + return fs["existsSync"](path_); + else + return false; + }; + Cnds.prototype.OnFileDrop = function () + { + return true; + }; + Cnds.prototype.OnOpenDlg = function () + { + return true; + }; + Cnds.prototype.OnFolderDlg = function () + { + return true; + }; + Cnds.prototype.OnSaveDlg = function () + { + return true; + }; + Cnds.prototype.OnOpenDlgCancel = function () + { + return true; + }; + Cnds.prototype.OnFolderDlgCancel = function () + { + return true; + }; + Cnds.prototype.OnSaveDlgCancel = function () + { + return true; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.WriteFile = function (path_, contents_) + { + if (!isNWjs) + return; + try { + fs["writeFileSync"](path_, contents_, {"encoding": "utf8"}); + } + catch (e) + {} + }; + Acts.prototype.RenameFile = function (old_, new_) + { + if (!isNWjs) + return; + try { + fs["renameSync"](old_, new_); + } + catch (e) + {} + }; + Acts.prototype.DeleteFile = function (path_) + { + if (!isNWjs) + return; + try { + fs["unlinkSync"](path_); + } + catch (e) + {} + }; + Acts.prototype.CopyFile = function (path_, dest_) + { + if (!isNWjs || path_ === dest_) + return; + try { + var contents = fs["readFileSync"](path_, {"flags": "rb"}); + fs["writeFileSync"](dest_, contents, {"flags": "wb"}); + } + catch (e) + {} + }; + Acts.prototype.MoveFile = function (path_, dest_) + { + if (!isNWjs || path_ === dest_) + return; + try { + var contents = fs["readFileSync"](path_, {"flags": "rb"}); + fs["writeFileSync"](dest_, contents, {"flags": "wb"}); + if (fs["existsSync"](dest_)) + fs["unlinkSync"](path_); + } + catch (e) + {} + }; + Acts.prototype.RunFile = function (path_) + { + if (!isNWjs) + return; + child_process["exec"](path_, function() {}); + }; + Acts.prototype.ShellOpen = function (path_) + { + if (!isNWjs) + return; + nw["Shell"]["openItem"](path_); + }; + Acts.prototype.OpenBrowser = function (url_) + { + if (!isNWjs) + return; + var opener; + switch (process.platform) { + case "win32": + opener = 'start ""'; + break; + case "darwin": + opener = 'open'; + break; + default: + opener = path["join"](__dirname, "../vendor/xdg-open"); + break; + } + child_process["exec"](opener + ' "' + url_.replace(/"/, '\\\"') + '"'); + }; + Acts.prototype.CreateFolder = function (path_) + { + if (!isNWjs) + return; + try { + fs["mkdirSync"](path_); + } + catch (e) + {} + }; + Acts.prototype.AppendFile = function (path_, contents_) + { + if (!isNWjs) + return; + try { + fs["appendFileSync"](path_, contents_, {"encoding": "utf8"}); + } + catch (e) + {} + }; + Acts.prototype.ListFiles = function (path_) + { + if (!isNWjs) + return; + try { + filelist = fs["readdirSync"](path_); + } + catch (err) + { + filelist = []; + console.warn("Error listing files at '" + path_ + "': ", err); + } + if (!filelist) + filelist = []; + }; + Acts.prototype.ShowOpenDlg = function (accept_) + { + if (!isNWjs) + return; + var dlg = jQuery("#c2nwOpenFileDialog"); + dlg.attr("accept", accept_); + dlg.trigger("click"); + }; + Acts.prototype.ShowFolderDlg = function (accept_) + { + if (!isNWjs) + return; + jQuery("#c2nwChooseFolderDialog").trigger("click"); + }; + Acts.prototype.ShowSaveDlg = function (accept_) + { + if (!isNWjs) + return; + var dlg = jQuery("#c2nwSaveDialog"); + dlg.attr("accept", accept_); + dlg.trigger("click"); + }; + Acts.prototype.SetWindowX = function (x_) + { + if (!isNWjs || !gui) + return; + gui["Window"]["get"]()["x"] = x_; + }; + Acts.prototype.SetWindowY = function (y_) + { + if (!isNWjs || !gui) + return; + gui["Window"]["get"]()["y"] = y_; + }; + Acts.prototype.SetWindowWidth = function (w_) + { + if (!isNWjs || !gui) + return; + gui["Window"]["get"]()["width"] = w_; + }; + Acts.prototype.SetWindowHeight = function (h_) + { + if (!isNWjs || !gui) + return; + gui["Window"]["get"]()["height"] = h_; + }; + Acts.prototype.SetWindowTitle = function (str) + { + if (!isNWjs || !gui) + return; + gui["Window"]["get"]()["title"] = str; + document.title = str; + }; + Acts.prototype.WindowMinimize = function () + { + if (!isNWjs || !gui) + return; + var win = gui["Window"]["get"](); + setTimeout(function () { + win["minimize"](); + }, 100); + }; + Acts.prototype.WindowMaximize = function () + { + if (!isNWjs || !gui) + return; + var win = gui["Window"]["get"](); + setTimeout(function () { + win["maximize"](); + }, 100); + }; + Acts.prototype.WindowUnmaximize = function () + { + if (!isNWjs || !gui) + return; + var win = gui["Window"]["get"](); + setTimeout(function () { + win["unmaximize"](); + }, 100); + }; + Acts.prototype.WindowRestore = function () + { + if (!isNWjs || !gui) + return; + var win = gui["Window"]["get"](); + setTimeout(function () { + win["restore"](); + }, 100); + }; + Acts.prototype.WindowRequestAttention = function (request_) + { + if (!isNWjs || !gui) + return; + gui["Window"]["get"]()["requestAttention"](request_ ? 3 : 0); + }; + Acts.prototype.WindowSetMaxSize = function (w, h) + { + if (!isNWjs || !gui) + return; + gui["Window"]["get"]()["setMaximumSize"](w, h); + }; + Acts.prototype.WindowSetMinSize = function (w, h) + { + if (!isNWjs || !gui) + return; + gui["Window"]["get"]()["setMinimumSize"](w, h); + }; + Acts.prototype.WindowSetResizable = function (x) + { + if (!isNWjs || !gui) + return; + gui["Window"]["get"]()["setResizable"](x !== 0); + }; + Acts.prototype.WindowSetAlwaysOnTop = function (x) + { + if (!isNWjs || !gui) + return; + gui["Window"]["get"]()["setAlwaysOnTop"](x !== 0); + }; + Acts.prototype.ShowDevTools = function () + { + if (!isNWjs || !gui) + return; + gui["Window"]["get"]()["showDevTools"](); + }; + Acts.prototype.SetClipboardText = function (str) + { + if (!isNWjs || !gui) + return; + gui["Clipboard"]["get"]()["set"](str); + }; + Acts.prototype.ClearClipboard = function () + { + if (!isNWjs || !gui) + return; + gui["Clipboard"]["get"]()["clear"](); + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.AppFolder = function (ret) + { + ret.set_string(nw_appfolder); + }; + Exps.prototype.AppFolderURL = function (ret) + { + ret.set_string("file://" + nw_appfolder); + }; + Exps.prototype.ProjectFilesFolder = function (ret) + { + ret.set_string(nw_projectfilesfolder); + }; + Exps.prototype.ProjectFilesFolderURL = function (ret) + { + ret.set_string("file://" + nw_projectfilesfolder); + }; + Exps.prototype.UserFolder = function (ret) + { + ret.set_string(nw_userfolder); + }; + Exps.prototype.ReadFile = function (ret, path_) + { + if (!isNWjs) + { + ret.set_string(""); + return; + } + var contents = ""; + try { + contents = fs["readFileSync"](path_, {"encoding": "utf8"}); + } + catch (e) {} + ret.set_string(contents); + }; + Exps.prototype.FileSize = function (ret, path_) + { + if (!isNWjs) + { + ret.set_int(0); + return; + } + var size = 0; + try { + var stat = fs["statSync"](path_); + if (stat) + size = stat["size"] || 0; + } + catch (e) {} + ret.set_int(size); + }; + Exps.prototype.ListCount = function (ret) + { + ret.set_int(filelist.length); + }; + Exps.prototype.ListAt = function (ret, index) + { + index = Math.floor(index); + if (index < 0 || index >= filelist.length) + ret.set_string(""); + else + ret.set_string(filelist[index]); + }; + Exps.prototype.DroppedFile = function (ret) + { + ret.set_string(droppedfile); + }; + Exps.prototype.ChosenPath = function (ret) + { + ret.set_string(chosenpath); + }; + Exps.prototype.WindowX = function (ret) + { + ret.set_int((isNWjs && gui) ? gui["Window"]["get"]()["x"] : 0); + }; + Exps.prototype.WindowY = function (ret) + { + ret.set_int((isNWjs && gui) ? gui["Window"]["get"]()["y"] : 0); + }; + Exps.prototype.WindowWidth = function (ret) + { + ret.set_int((isNWjs && gui) ? gui["Window"]["get"]()["width"] : 0); + }; + Exps.prototype.WindowHeight = function (ret) + { + ret.set_int((isNWjs && gui) ? gui["Window"]["get"]()["height"] : 0); + }; + Exps.prototype.WindowTitle = function (ret) + { + ret.set_string((isNWjs && gui) ? (gui["Window"]["get"]()["title"] || "") : 0); + }; + Exps.prototype.ClipboardText = function (ret) + { + ret.set_string((isNWjs && gui) ? (gui["Clipboard"]["get"]()["get"]() || "") : 0); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.Particles = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Particles.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + if (this.is_family) + return; + this.texture_img = new Image(); + this.texture_img.cr_filesize = this.texture_filesize; + this.webGL_texture = null; + this.runtime.waitForImageLoad(this.texture_img, this.texture_file); + }; + typeProto.onLostWebGLContext = function () + { + if (this.is_family) + return; + this.webGL_texture = null; + }; + typeProto.onRestoreWebGLContext = function () + { + if (this.is_family || !this.instances.length) + return; + if (!this.webGL_texture) + { + this.webGL_texture = this.runtime.glwrap.loadTexture(this.texture_img, true, this.runtime.linearSampling, this.texture_pixelformat); + } + }; + typeProto.loadTextures = function () + { + if (this.is_family || this.webGL_texture || !this.runtime.glwrap) + return; + this.webGL_texture = this.runtime.glwrap.loadTexture(this.texture_img, true, this.runtime.linearSampling, this.texture_pixelformat); + }; + typeProto.unloadTextures = function () + { + if (this.is_family || this.instances.length || !this.webGL_texture) + return; + this.runtime.glwrap.deleteTexture(this.webGL_texture); + this.webGL_texture = null; + }; + typeProto.preloadCanvas2D = function (ctx) + { + ctx.drawImage(this.texture_img, 0, 0); + }; + function Particle(owner) + { + this.owner = owner; + this.active = false; + this.x = 0; + this.y = 0; + this.speed = 0; + this.angle = 0; + this.opacity = 1; + this.grow = 0; + this.size = 0; + this.gs = 0; // gravity speed + this.age = 0; + cr.seal(this); + }; + Particle.prototype.init = function () + { + var owner = this.owner; + this.x = owner.x - (owner.xrandom / 2) + (Math.random() * owner.xrandom); + this.y = owner.y - (owner.yrandom / 2) + (Math.random() * owner.yrandom); + this.speed = owner.initspeed - (owner.speedrandom / 2) + (Math.random() * owner.speedrandom); + this.angle = owner.angle - (owner.spraycone / 2) + (Math.random() * owner.spraycone); + this.opacity = owner.initopacity; + this.size = owner.initsize - (owner.sizerandom / 2) + (Math.random() * owner.sizerandom); + this.grow = owner.growrate - (owner.growrandom / 2) + (Math.random() * owner.growrandom); + this.gs = 0; + this.age = 0; + }; + Particle.prototype.tick = function (dt) + { + var owner = this.owner; + this.x += Math.cos(this.angle) * this.speed * dt; + this.y += Math.sin(this.angle) * this.speed * dt; + this.y += this.gs * dt; + this.speed += owner.acc * dt; + this.size += this.grow * dt; + this.gs += owner.g * dt; + this.age += dt; + if (this.size < 1) + { + this.active = false; + return; + } + if (owner.lifeanglerandom !== 0) + this.angle += (Math.random() * owner.lifeanglerandom * dt) - (owner.lifeanglerandom * dt / 2); + if (owner.lifespeedrandom !== 0) + this.speed += (Math.random() * owner.lifespeedrandom * dt) - (owner.lifespeedrandom * dt / 2); + if (owner.lifeopacityrandom !== 0) + { + this.opacity += (Math.random() * owner.lifeopacityrandom * dt) - (owner.lifeopacityrandom * dt / 2); + if (this.opacity < 0) + this.opacity = 0; + else if (this.opacity > 1) + this.opacity = 1; + } + if (owner.destroymode <= 1 && this.age >= owner.timeout) + { + this.active = false; + } + if (owner.destroymode === 2 && this.speed <= 0) + { + this.active = false; + } + }; + Particle.prototype.draw = function (ctx) + { + var curopacity = this.owner.opacity * this.opacity; + if (curopacity === 0) + return; + if (this.owner.destroymode === 0) + curopacity *= 1 - (this.age / this.owner.timeout); + ctx.globalAlpha = curopacity; + var drawx = this.x - this.size / 2; + var drawy = this.y - this.size / 2; + if (this.owner.runtime.pixel_rounding) + { + drawx = (drawx + 0.5) | 0; + drawy = (drawy + 0.5) | 0; + } + ctx.drawImage(this.owner.type.texture_img, drawx, drawy, this.size, this.size); + }; + Particle.prototype.drawGL = function (glw) + { + var curopacity = this.owner.opacity * this.opacity; + if (this.owner.destroymode === 0) + curopacity *= 1 - (this.age / this.owner.timeout); + var drawsize = this.size; + var scaleddrawsize = drawsize * this.owner.particlescale; + var drawx = this.x - drawsize / 2; + var drawy = this.y - drawsize / 2; + if (this.owner.runtime.pixel_rounding) + { + drawx = (drawx + 0.5) | 0; + drawy = (drawy + 0.5) | 0; + } + if (scaleddrawsize < 1 || curopacity === 0) + return; + if (scaleddrawsize < glw.minPointSize || scaleddrawsize > glw.maxPointSize) + { + glw.setOpacity(curopacity); + glw.quad(drawx, drawy, drawx + drawsize, drawy, drawx + drawsize, drawy + drawsize, drawx, drawy + drawsize); + } + else + glw.point(this.x, this.y, scaleddrawsize, curopacity); + }; + Particle.prototype.left = function () + { + return this.x - this.size / 2; + }; + Particle.prototype.right = function () + { + return this.x + this.size / 2; + }; + Particle.prototype.top = function () + { + return this.y - this.size / 2; + }; + Particle.prototype.bottom = function () + { + return this.y + this.size / 2; + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + var deadparticles = []; + instanceProto.onCreate = function() + { + var props = this.properties; + this.rate = props[0]; + this.spraycone = cr.to_radians(props[1]); + this.spraytype = props[2]; // 0 = continuous, 1 = one-shot + this.spraying = true; // for continuous mode only + this.initspeed = props[3]; + this.initsize = props[4]; + this.initopacity = props[5] / 100.0; + this.growrate = props[6]; + this.xrandom = props[7]; + this.yrandom = props[8]; + this.speedrandom = props[9]; + this.sizerandom = props[10]; + this.growrandom = props[11]; + this.acc = props[12]; + this.g = props[13]; + this.lifeanglerandom = props[14]; + this.lifespeedrandom = props[15]; + this.lifeopacityrandom = props[16]; + this.destroymode = props[17]; // 0 = fade, 1 = timeout, 2 = stopped + this.timeout = props[18]; + this.particleCreateCounter = 0; + this.particlescale = 1; + this.particleBoxLeft = this.x; + this.particleBoxTop = this.y; + this.particleBoxRight = this.x; + this.particleBoxBottom = this.y; + this.add_bbox_changed_callback(function (self) { + self.bbox.set(self.particleBoxLeft, self.particleBoxTop, self.particleBoxRight, self.particleBoxBottom); + self.bquad.set_from_rect(self.bbox); + self.bbox_changed = false; + self.update_collision_cell(); + self.update_render_cell(); + }); + if (!this.recycled) + this.particles = []; + this.runtime.tickMe(this); + this.type.loadTextures(); + if (this.spraytype === 1) + { + for (var i = 0; i < this.rate; i++) + this.allocateParticle().opacity = 0; + } + this.first_tick = true; // for re-init'ing one-shot particles on first tick so they assume any new angle/position + }; + instanceProto.saveToJSON = function () + { + var o = { + "r": this.rate, + "sc": this.spraycone, + "st": this.spraytype, + "s": this.spraying, + "isp": this.initspeed, + "isz": this.initsize, + "io": this.initopacity, + "gr": this.growrate, + "xr": this.xrandom, + "yr": this.yrandom, + "spr": this.speedrandom, + "szr": this.sizerandom, + "grnd": this.growrandom, + "acc": this.acc, + "g": this.g, + "lar": this.lifeanglerandom, + "lsr": this.lifespeedrandom, + "lor": this.lifeopacityrandom, + "dm": this.destroymode, + "to": this.timeout, + "pcc": this.particleCreateCounter, + "ft": this.first_tick, + "p": [] + }; + var i, len, p; + var arr = o["p"]; + for (i = 0, len = this.particles.length; i < len; i++) + { + p = this.particles[i]; + arr.push([p.x, p.y, p.speed, p.angle, p.opacity, p.grow, p.size, p.gs, p.age]); + } + return o; + }; + instanceProto.loadFromJSON = function (o) + { + this.rate = o["r"]; + this.spraycone = o["sc"]; + this.spraytype = o["st"]; + this.spraying = o["s"]; + this.initspeed = o["isp"]; + this.initsize = o["isz"]; + this.initopacity = o["io"]; + this.growrate = o["gr"]; + this.xrandom = o["xr"]; + this.yrandom = o["yr"]; + this.speedrandom = o["spr"]; + this.sizerandom = o["szr"]; + this.growrandom = o["grnd"]; + this.acc = o["acc"]; + this.g = o["g"]; + this.lifeanglerandom = o["lar"]; + this.lifespeedrandom = o["lsr"]; + this.lifeopacityrandom = o["lor"]; + this.destroymode = o["dm"]; + this.timeout = o["to"]; + this.particleCreateCounter = o["pcc"]; + this.first_tick = o["ft"]; + deadparticles.push.apply(deadparticles, this.particles); + cr.clearArray(this.particles); + var i, len, p, d; + var arr = o["p"]; + for (i = 0, len = arr.length; i < len; i++) + { + p = this.allocateParticle(); + d = arr[i]; + p.x = d[0]; + p.y = d[1]; + p.speed = d[2]; + p.angle = d[3]; + p.opacity = d[4]; + p.grow = d[5]; + p.size = d[6]; + p.gs = d[7]; + p.age = d[8]; + } + }; + instanceProto.onDestroy = function () + { + deadparticles.push.apply(deadparticles, this.particles); + cr.clearArray(this.particles); + }; + instanceProto.allocateParticle = function () + { + var p; + if (deadparticles.length) + { + p = deadparticles.pop(); + p.owner = this; + } + else + p = new Particle(this); + this.particles.push(p); + p.active = true; + return p; + }; + instanceProto.tick = function() + { + var dt = this.runtime.getDt(this); + var i, len, p, n, j; + if (this.spraytype === 0 && this.spraying) + { + this.particleCreateCounter += dt * this.rate; + n = cr.floor(this.particleCreateCounter); + this.particleCreateCounter -= n; + for (i = 0; i < n; i++) + { + p = this.allocateParticle(); + p.init(); + } + } + this.particleBoxLeft = this.x; + this.particleBoxTop = this.y; + this.particleBoxRight = this.x; + this.particleBoxBottom = this.y; + for (i = 0, j = 0, len = this.particles.length; i < len; i++) + { + p = this.particles[i]; + this.particles[j] = p; + this.runtime.redraw = true; + if (this.spraytype === 1 && this.first_tick) + p.init(); + p.tick(dt); + if (!p.active) + { + deadparticles.push(p); + continue; + } + if (p.left() < this.particleBoxLeft) + this.particleBoxLeft = p.left(); + if (p.right() > this.particleBoxRight) + this.particleBoxRight = p.right(); + if (p.top() < this.particleBoxTop) + this.particleBoxTop = p.top(); + if (p.bottom() > this.particleBoxBottom) + this.particleBoxBottom = p.bottom(); + j++; + } + cr.truncateArray(this.particles, j); + this.set_bbox_changed(); + this.first_tick = false; + if (this.spraytype === 1 && this.particles.length === 0) + this.runtime.DestroyInstance(this); + }; + instanceProto.draw = function (ctx) + { + var i, len, p, layer = this.layer; + for (i = 0, len = this.particles.length; i < len; i++) + { + p = this.particles[i]; + if (p.right() >= layer.viewLeft && p.bottom() >= layer.viewTop && p.left() <= layer.viewRight && p.top() <= layer.viewBottom) + { + p.draw(ctx); + } + } + }; + instanceProto.drawGL = function (glw) + { + this.particlescale = this.layer.getScale(); + glw.setTexture(this.type.webGL_texture); + var i, len, p, layer = this.layer; + for (i = 0, len = this.particles.length; i < len; i++) + { + p = this.particles[i]; + if (p.right() >= layer.viewLeft && p.bottom() >= layer.viewTop && p.left() <= layer.viewRight && p.top() <= layer.viewBottom) + { + p.drawGL(glw); + } + } + }; + function Cnds() {}; + Cnds.prototype.IsSpraying = function () + { + return this.spraying; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetSpraying = function (set_) + { + this.spraying = (set_ !== 0); + }; + Acts.prototype.SetEffect = function (effect) + { + this.blend_mode = effect; + this.compositeOp = cr.effectToCompositeOp(effect); + cr.setGLBlend(this, effect, this.runtime.gl); + this.runtime.redraw = true; + }; + Acts.prototype.SetRate = function (x) + { + this.rate = x; + var diff, i; + if (this.spraytype === 1 && this.first_tick) + { + if (x < this.particles.length) + { + diff = this.particles.length - x; + for (i = 0; i < diff; i++) + deadparticles.push(this.particles.pop()); + } + else if (x > this.particles.length) + { + diff = x - this.particles.length; + for (i = 0; i < diff; i++) + this.allocateParticle().opacity = 0; + } + } + }; + Acts.prototype.SetSprayCone = function (x) + { + this.spraycone = cr.to_radians(x); + }; + Acts.prototype.SetInitSpeed = function (x) + { + this.initspeed = x; + }; + Acts.prototype.SetInitSize = function (x) + { + this.initsize = x; + }; + Acts.prototype.SetInitOpacity = function (x) + { + this.initopacity = x / 100; + }; + Acts.prototype.SetGrowRate = function (x) + { + this.growrate = x; + }; + Acts.prototype.SetXRandomiser = function (x) + { + this.xrandom = x; + }; + Acts.prototype.SetYRandomiser = function (x) + { + this.yrandom = x; + }; + Acts.prototype.SetSpeedRandomiser = function (x) + { + this.speedrandom = x; + }; + Acts.prototype.SetSizeRandomiser = function (x) + { + this.sizerandom = x; + }; + Acts.prototype.SetGrowRateRandomiser = function (x) + { + this.growrandom = x; + }; + Acts.prototype.SetParticleAcc = function (x) + { + this.acc = x; + }; + Acts.prototype.SetGravity = function (x) + { + this.g = x; + }; + Acts.prototype.SetAngleRandomiser = function (x) + { + this.lifeanglerandom = x; + }; + Acts.prototype.SetLifeSpeedRandomiser = function (x) + { + this.lifespeedrandom = x; + }; + Acts.prototype.SetOpacityRandomiser = function (x) + { + this.lifeopacityrandom = x; + }; + Acts.prototype.SetTimeout = function (x) + { + this.timeout = x; + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.ParticleCount = function (ret) + { + ret.set_int(this.particles.length); + }; + Exps.prototype.Rate = function (ret) + { + ret.set_float(this.rate); + }; + Exps.prototype.SprayCone = function (ret) + { + ret.set_float(cr.to_degrees(this.spraycone)); + }; + Exps.prototype.InitSpeed = function (ret) + { + ret.set_float(this.initspeed); + }; + Exps.prototype.InitSize = function (ret) + { + ret.set_float(this.initsize); + }; + Exps.prototype.InitOpacity = function (ret) + { + ret.set_float(this.initopacity * 100); + }; + Exps.prototype.InitGrowRate = function (ret) + { + ret.set_float(this.growrate); + }; + Exps.prototype.XRandom = function (ret) + { + ret.set_float(this.xrandom); + }; + Exps.prototype.YRandom = function (ret) + { + ret.set_float(this.yrandom); + }; + Exps.prototype.InitSpeedRandom = function (ret) + { + ret.set_float(this.speedrandom); + }; + Exps.prototype.InitSizeRandom = function (ret) + { + ret.set_float(this.sizerandom); + }; + Exps.prototype.InitGrowRandom = function (ret) + { + ret.set_float(this.growrandom); + }; + Exps.prototype.ParticleAcceleration = function (ret) + { + ret.set_float(this.acc); + }; + Exps.prototype.Gravity = function (ret) + { + ret.set_float(this.g); + }; + Exps.prototype.ParticleAngleRandom = function (ret) + { + ret.set_float(this.lifeanglerandom); + }; + Exps.prototype.ParticleSpeedRandom = function (ret) + { + ret.set_float(this.lifespeedrandom); + }; + Exps.prototype.ParticleOpacityRandom = function (ret) + { + ret.set_float(this.lifeopacityrandom); + }; + Exps.prototype.Timeout = function (ret) + { + ret.set_float(this.timeout); + }; + pluginProto.exps = new Exps(); +}()); +function c3JSONtoC2JSON(c3json) { + try { + c3json = JSON.parse(c3json) + } catch (error) { + return "" + } + var result = '{' + + '""c2array"": true,' + + '""size"": [2,' + c3json.length + ', 1],' + + '""data"":' + data0 = '' + data1 = '' + for (var i = 0; i < c3json.length; i++) { + var element = c3json[i]; + data0 += '[' + (element[0]) + '],' + data1 += '[""' + (element[1]) + '""],' + } + data0 = data0.substring(0, data0.length - 1) + data1 = data1.substring(0, data1.length - 1) + result += "[[" + data0 + "],[" + data1 + "]]}" + return result +} +/* global cr,log,assert2 */ +/* jshint globalstrict: true */ +/* jshint strict: true */ +; +; +var jText = ''; +cr.plugins_.SkymenSFPlusPLus = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.SkymenSFPlusPLus.prototype; + pluginProto.onCreate = function () + { + }; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + if (this.is_family) + return; + this.texture_img = new Image(); + this.texture_img["idtkLoadDisposed"] = true; + this.texture_img.src = this.texture_file; + this.runtime.wait_for_textures.push(this.texture_img); + this.webGL_texture = null; + }; + typeProto.onLostWebGLContext = function () + { + if (this.is_family) + return; + this.webGL_texture = null; + }; + typeProto.onRestoreWebGLContext = function () + { + if (this.is_family || !this.instances.length) + return; + if (!this.webGL_texture) + { + this.webGL_texture = this.runtime.glwrap.loadTexture(this.texture_img, false, this.runtime.linearSampling, this.texture_pixelformat); + } + var i, len; + for (i = 0, len = this.instances.length; i < len; i++) + this.instances[i].webGL_texture = this.webGL_texture; + }; + typeProto.unloadTextures = function () + { + if (this.is_family || this.instances.length || !this.webGL_texture) + return; + this.runtime.glwrap.deleteTexture(this.webGL_texture); + this.webGL_texture = null; + }; + typeProto.preloadCanvas2D = function (ctx) + { + try { + ctx.drawImage(this.texture_img, 0, 0); + } catch (error) { + this.texture_img.onload = function () { + ctx.drawImage(this.texture_img, 0, 0); + } + } + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onDestroy = function() + { + freeAllLines (this.lines); + freeAllClip (this.clipList); + freeAllClipUV(this.clipUV); + cr.wipe(this.characterWidthList); + }; + instanceProto.onCreate = function() + { + this.texture_img = this.type.texture_img; + this.characterWidth = this.properties[0]; + this.characterHeight = this.properties[1]; + this.characterSet = this.properties[2]; + this.text = this.properties[3]; + this.characterScale = this.properties[4]; + this.visible = (this.properties[5] === 0); // 0=visible, 1=invisible + this.clamp = (this.properties[14] === 0); //0=Yes, 1=No + this.halign = this.clamp? cr.clamp(this.properties[6],0,100)/100 : this.properties[6]/100; // 0=left, 1=center, 2=right + this.valign = this.clamp? cr.clamp(this.properties[7],0,100)/100 : this.properties[7]/100; // 0=top, 1=center, 2=bottom + this.wrapbyword = (this.properties[9] === 0); // 0=word, 1=character, 2 = None + this.nowrap = (this.properties[9] === 2); // 0=word, 1=character, 2 = None + this.characterSpacing = this.properties[10]; + this.lineHeight = this.properties[11]; + this.textWidth = 0; + this.textHeight = 0; + this.charWidthJSON = this.properties[12]; + this.spaceWidth = this.properties[13]; + this.charPos = {"data":[0]}; + this.charPosProcessed = [[[0]]]; + this.lastValue = 0; + jText = this.charWidthJSON; + if (this.recycled) + { + this.lines.length = 0; + cr.wipe(this.clipList); + cr.wipe(this.clipUV); + cr.wipe(this.characterWidthList); + } + else + { + this.lines = []; + this.clipList = {}; + this.clipUV = {}; + this.characterWidthList = {}; + } + try{ + if(this.charWidthJSON){ + if(this.charWidthJSON.indexOf('""c2array""') !== -1) { + var jStr = jQuery.parseJSON(this.charWidthJSON.replace(/""/g,'"')); + var l = jStr.size[1]; + for(var s = 0; s < l; s++) { + var cs = jStr.data[1][s][0]; + var w = jStr.data[0][s][0]; + for(var c = 0; c < cs.length; c++) { + this.characterWidthList[cs.charAt(c)] = w + } + } + } else { + var jStr = jQuery.parseJSON(this.charWidthJSON); + var l = jStr.length; + for(var s = 0; s < l; s++) { + var cs = jStr[s][1]; + var w = jStr[s][0]; + for(var c = 0; c < cs.length; c++) { + this.characterWidthList[cs.charAt(c)] = w + } + } + } + } + if(this.spaceWidth !== -1) { + this.characterWidthList[' '] = this.spaceWidth; + } + } + catch(e){ + if(window.console && window.console.log) { + window.console.log('SpriteFont+ Failure: ' + e); + } + } + this.text_changed = true; + this.lastwrapwidth = this.width; + if (this.runtime.glwrap) + { + if (!this.type.webGL_texture) + { + this.type.webGL_texture = this.runtime.glwrap.loadTexture(this.type.texture_img, false, this.runtime.linearSampling, this.type.texture_pixelformat); + } + this.webGL_texture = this.type.webGL_texture; + } + this.SplitSheet(); + }; + instanceProto.saveToJSON = function () + { + var save = { + "t": this.text, + "csc": this.characterScale, + "csp": this.characterSpacing, + "lh": this.lineHeight, + "tw": this.textWidth, + "th": this.textHeight, + "lrt": this.last_render_tick, + "ha": this.halign, + "va": this.valign, + "clamp": this.clamp, + "wbw": this.wrapbyword, + "nw": this.nowrap, + "charpos": this.charPos, + "charpospro": this.charPosProcessed, + "lastvalue": this.lastValue, + "cw": {} + }; + for (var ch in this.characterWidthList) + save["cw"][ch] = this.characterWidthList[ch]; + return save; + }; + instanceProto.loadFromJSON = function (o) + { + this.text = o["t"]; + this.characterScale = o["csc"]; + this.characterSpacing = o["csp"]; + this.lineHeight = o["lh"]; + this.textWidth = o["tw"]; + this.textHeight = o["th"]; + this.halign = o["ha"]; + this.valign = o["va"]; + this.clamp = o["clamp"]; + this.nowrap = o["nw"]; + this.wrapbyword = o["wbw"]; + this.charPos = o["charpos"]; + this.charPosProcessed = o["charpospro"]; + this.lastValue = o["lastvalue"] + for(var ch in o["cw"]) + this.characterWidthList[ch] = o["cw"][ch]; + this.text_changed = true; + this.lastwrapwidth = this.width; + }; + function trimRight(text) + { + return text.replace(/\s\s*$/, ''); + } + var MAX_CACHE_SIZE = 1000; + function alloc(cache,Constructor) + { + if (cache.length) + return cache.pop(); + else + return new Constructor(); + } + function free(cache,data) + { + if (cache.length < MAX_CACHE_SIZE) + { + cache.push(data); + } + } + function freeAll(cache,dataList,isArray) + { + if (isArray) { + var i, len; + for (i = 0, len = dataList.length; i < len; i++) + { + free(cache,dataList[i]); + } + dataList.length = 0; + } else { + var prop; + for(prop in dataList) { + if(Object.prototype.hasOwnProperty.call(dataList,prop)) { + free(cache,dataList[prop]); + delete dataList[prop]; + } + } + } + } + function addLine(inst,lineIndex,cur_line) { + var lines = inst.lines; + var line; + cur_line = trimRight(cur_line); + if (lineIndex >= lines.length) + lines.push(allocLine()); + line = lines[lineIndex]; + line.text = cur_line; + line.width = inst.measureWidth(cur_line); + inst.textWidth = cr.max(inst.textWidth,line.width); + } + var linesCache = []; + function allocLine() { return alloc(linesCache,Object); } + function freeLine(l) { free(linesCache,l); } + function freeAllLines(arr) { freeAll(linesCache,arr,true); } + function addClip(obj,property,x,y,w,h) { + if (obj[property] === undefined) { + obj[property] = alloc(clipCache,Object); + } + obj[property].x = x; + obj[property].y = y; + obj[property].w = w; + obj[property].h = h; + } + var clipCache = []; + function allocClip() { return alloc(clipCache,Object); } + function freeAllClip(obj) { freeAll(clipCache,obj,false);} + function addClipUV(obj,property,left,top,right,bottom) { + if (obj[property] === undefined) { + obj[property] = alloc(clipUVCache,cr.rect); + } + obj[property].left = left; + obj[property].top = top; + obj[property].right = right; + obj[property].bottom = bottom; + } + var clipUVCache = []; + function allocClipUV() { return alloc(clipUVCache,cr.rect);} + function freeAllClipUV(obj) { freeAll(clipUVCache,obj,false);} + instanceProto.SplitSheet = function() { + var texture = this.texture_img; + var texWidth = texture.width; + var texHeight = texture.height; + var charWidth = this.characterWidth; + var charHeight = this.characterHeight; + var charU = charWidth /texWidth; + var charV = charHeight/texHeight; + var charSet = this.characterSet ; + var cols = Math.floor(texWidth/charWidth); + var rows = Math.floor(texHeight/charHeight); + for ( var c = 0; c < charSet.length; c++) { + if (c >= cols * rows) break; + var x = c%cols; + var y = Math.floor(c/cols); + var letter = charSet.charAt(c); + if (this.runtime.glwrap) { + addClipUV( + this.clipUV, letter, + x * charU , + y * charV , + (x+1) * charU , + (y+1) * charV + ); + } else { + addClip( + this.clipList, letter, + x * charWidth, + y * charHeight, + charWidth, + charHeight + ); + } + } + }; + /* + * Word-Wrapping + */ + var wordsCache = []; + pluginProto.TokeniseWords = function (text) + { + wordsCache.length = 0; + var cur_word = ""; + var ch; + var i = 0; + while (i < text.length) + { + ch = text.charAt(i); + if (ch === "\n") + { + if (cur_word.length) + { + wordsCache.push(cur_word); + cur_word = ""; + } + wordsCache.push("\n"); + ++i; + } + else if (ch === " " || ch === "\t" || ch === "-") + { + do { + cur_word += text.charAt(i); + i++; + } + while (i < text.length && (text.charAt(i) === " " || text.charAt(i) === "\t")); + wordsCache.push(cur_word); + cur_word = ""; + } + else if (i < text.length) + { + cur_word += ch; + i++; + } + } + if (cur_word.length) + wordsCache.push(cur_word); + }; + pluginProto.WordWrap = function (inst) + { + var text = inst.text; + var lines = inst.lines; + if (!text || !text.length) + { + freeAllLines(lines); + return; + } + var width = inst.width; + if (width <= 2.0) + { + freeAllLines(lines); + return; + } + var charWidth = inst.characterWidth; + var charScale = inst.characterScale; + var charSpacing = inst.characterSpacing; + if ( (text.length * (charWidth * charScale + charSpacing) - charSpacing) <= width && text.indexOf("\n") === -1) + { + var all_width = inst.measureWidth(text); + if (all_width <= width) + { + freeAllLines(lines); + lines.push(allocLine()); + lines[0].text = text; + lines[0].width = all_width; + inst.textWidth = all_width; + inst.textHeight = inst.characterHeight * charScale + inst.lineHeight; + return; + } + } + var wrapbyword = inst.wrapbyword; + this.WrapText(inst); + inst.textHeight = lines.length * (inst.characterHeight * charScale + inst.lineHeight); + }; + pluginProto.WrapText = function (inst) + { + var wrapbyword = inst.wrapbyword; + var nowrap = inst.nowrap; + var text = inst.text; + var lines = inst.lines; + var width = inst.width; + var wordArray; + if (wrapbyword) { + this.TokeniseWords(text); // writes to wordsCache + wordArray = wordsCache; + } + else if(nowrap){ + wordArray = [text]; + } + else { + wordArray = text; + } + var cur_line = ""; + var prev_line; + var line_width; + var i; + var lineIndex = 0; + var line; + var ignore_newline = false; + for (i = 0; i < wordArray.length; i++) + { + /*console.log('New Word ' + i) + console.log(wordArray) + console.log(wordArray[i])*/ + if (wordArray[i] === "\n") + { + if (ignore_newline === true) { + ignore_newline = false; + } else { + addLine(inst,lineIndex,cur_line); + lineIndex++; + } + cur_line = ""; + continue; + } + ignore_newline = false; + prev_line = cur_line; + cur_line += wordArray[i]; + line_width = inst.measureWidth(trimRight(cur_line)); + /*console.log(prev_line); + console.log(cur_line); + console.log(line_width); + console.log(width); + console.log(line_width > width);*/ + if (line_width > width) + { + if (prev_line === "") { + if(wrapbyword){ + while(inst.measureWidth(trimRight(cur_line)) > width){ + var wordP1 = cur_line; + var wordP2 = ""; + while(inst.measureWidth(trimRight(wordP1)) >= width){ + wordP2 = wordP1[wordP1.length-1] + wordP2; + wordP1 = wordP1.slice(0, -1); + } + addLine(inst,lineIndex,wordP1); + cur_line = wordP2; + lineIndex++; + } + lineIndex--; + } + else{ + addLine(inst,lineIndex,cur_line); + cur_line = ""; + ignore_newline = true; + } + } else { + addLine(inst,lineIndex,prev_line); + cur_line = wordArray[i]; + prev_line = ""; + while(inst.measureWidth(trimRight(cur_line)) > width){ + lineIndex++; + var wordP1 = cur_line; + var wordP2 = ""; + while(inst.measureWidth(trimRight(wordP1)) >= width){ + wordP2 = wordP1[wordP1.length-1] + wordP2; + wordP1 = wordP1.slice(0, -1); + } + addLine(inst,lineIndex,wordP1); + cur_line = wordP2; + } + } + lineIndex++; + /*if (!wrapbyword && cur_line === " ") + cur_line = "";*/ + } + } + if (trimRight(cur_line).length) + { + addLine(inst,lineIndex,cur_line); + lineIndex++; + } + for (i = lineIndex; i < lines.length; i++) + freeLine(lines[i]); + lines.length = lineIndex; + }; + instanceProto.measureWidth = function(text) { + var spacing = this.characterSpacing; + var len = text.length; + var width = 0; + for (var i = 0; i < len; i++) { + width += this.getCharacterWidth(text.charAt(i)) * this.characterScale + spacing; + } + width -= (width > 0) ? spacing : 0; + return width; + }; + /***/ + instanceProto.getCharacterWidth = function(character) { + var widthList = this.characterWidthList; + if (widthList[character] !== undefined) { + return widthList[character]; + } else { + return this.characterWidth; + } + }; + instanceProto.rebuildText = function() { + if (this.text_changed || this.width !== this.lastwrapwidth) { + this.textWidth = 0; + this.textHeight = 0; + this.type.plugin.WordWrap(this); + this.text_changed = false; + this.lastwrapwidth = this.width; + } + }; + var EPSILON = 0.00001; + instanceProto.draw = function(ctx, glmode) + { + var texture = this.texture_img; + if (this.text !== "" && texture != null) { + this.rebuildText(); + if (this.height < this.characterHeight*this.characterScale + this.lineHeight) { + return; + } + ctx.globalAlpha = this.opacity; + var myx = this.x; + var myy = this.y; + if (this.runtime.pixel_rounding) + { + myx = (myx + 0.5) | 0; + myy = (myy + 0.5) | 0; + } + ctx.save(); + ctx.translate(myx, myy); + ctx.rotate(this.angle); + var angle = this.angle; + var ha = this.halign; + var va = this.valign; + var scale = this.characterScale; + var charHeight = this.characterHeight * scale; + var lineHeight = this.lineHeight; + var charSpace = this.characterSpacing; + var lines = this.lines; + var textHeight = this.textHeight; + var charPos = this.charPosProcessed; + var useCP = false; + if (charPos && typeof charPos[0][2] !== "undefined") { + useCP = true; + } + var cosa, sina; + if (angle !== 0) { + cosa = Math.cos(angle); + sina = Math.sin(angle); + } + var halign; + var valign = va * cr.max(0,(this.height - textHeight)); + var offx = -(this.hotspotX * this.width); + var offy = -(this.hotspotY * this.height); + offy += valign; + var drawX ; + var drawY = offy; + var angle = this.angle; + var arrI = 0 + var drX=0; + var drY=0; + var charAngle; + var charCosa=0; + var charSina=0; + var anglOffsetX=0; + var anglOffsetY=0; + var lcount = 0; + var charOpacity = 1; + for(var i = 0; i < lines.length; i++) { + var line = lines[i].text; + var len = lines[i].width; + halign = ha * cr.max(0,this.width - len); + drawX = offx + halign; + drawY += lineHeight; + for(var j = 0; j < line.length; j++) { + var letter = line.charAt(j); + var clip = this.clipList[letter]; + if ( drawX + this.getCharacterWidth(letter) * scale > this.width + EPSILON ) { + break; + } + if (clip !== undefined) { + if(useCP){ + if (typeof charPos[arrI] === "undefined"){ + drX = 0; + drY = 0; + charAngle = angle; + } + else{ + drX = charPos[arrI][0] * Math.cos(angle) - charPos[arrI][1] * Math.sin(angle) || 0; + drY = charPos[arrI][1] * Math.cos(angle) - charPos[arrI][0] * Math.sin(angle) || 0; + charAngle = cr.to_radians(charPos[arrI][2]) || 0; + charOpacity = charPos[arrI][3]/100 || 1; + } + /*if(charAngle !== 0) + { + charCosa = Math.cos(charAngle); + charSina = Math.sin(charAngle); + }*/ + } + var X = 0; + var Y = 0; + ctx.globalAlpha = this.opacity * charOpacity; + var charCanvas = getColoredTexture(this, this.texture_img, (charPos[arrI] === undefined ? 'None' : charPos[arrI][4]), clip, scale, letter) + if (useCP && charAngle !== 0) { + var dx = drawX + this.getCharacterWidth(letter) * scale / 2; + var dy = drawY + charHeight; + var oa = Math.atan2(dy, dx) + Math.PI - charAngle; + var dist = Math.sqrt(Math.pow(-dx, 2) + Math.pow(-dy, 2)); + var X = -dx - Math.cos(oa) * dist; + var Y = -dy - Math.sin(oa) * dist; + ctx.save(); + ctx.rotate(charAngle); + ctx.translate(Math.round(drawX + drX + X), Math.round(drawY + drY + Y)); + if (charCanvas === this.texture_img) { + ctx.drawImage(this.texture_img, + clip.x, clip.y, clip.w, clip.h, + 0, 0, clip.w * scale, clip.h * scale); + } + else { + ctx.drawImage(charCanvas, 0, 0); + } + ctx.restore(); + } + else { + if (charCanvas === this.texture_img) { + ctx.drawImage(this.texture_img, + clip.x, clip.y, clip.w, clip.h, + Math.round(drawX + drX + X), Math.round(drawY + drY + Y), clip.w * scale, clip.h * scale); + } + else { + ctx.drawImage(charCanvas, Math.round(drawX + drX + X), Math.round(drawY + drY + Y)); + } + } + } + drawX += this.getCharacterWidth(letter) * scale + charSpace; + if(useCP){ + arrI ++; + } + lcount++ + } + drawY += charHeight; + if ( drawY + charHeight + lineHeight > this.height) { + break; + } + } + ctx.restore(); + } + }; + var dQuad = new cr.quad(); + function createCanvas(width, height) { + var canvas = document.createElement('canvas'); + canvas.width = width; + canvas.height = height; + return canvas + } + function getColoredTexture(inst, image, color, clip, scale, letter) { + if(!color || color === 'None') { + return image + } + if (inst.cachedImages !== undefined && inst.cachedImages[letter] !== undefined && inst.cachedImages[letter][color] !== undefined) { + return inst.cachedImages[letter][color]; + } + var charCanvas = createCanvas(clip.w * scale, clip.h * scale) + var charContext = charCanvas.getContext("2d"); + charContext.fillStyle = 'black'; + charContext.fillRect(0, 0, charCanvas.width, charCanvas.height); + charContext.drawImage(image, + clip.x, clip.y, clip.w, clip.h, + 0, 0, clip.w * scale, clip.h * scale); + charContext.globalCompositeOperation = 'multiply'; + charContext.fillStyle = color; + charContext.fillRect(0, 0, clip.w * scale, clip.h * scale); + charContext.globalCompositeOperation = 'destination-in'; + charContext.drawImage(image, + clip.x, clip.y, clip.w, clip.h, + 0, 0, clip.w * scale, clip.h * scale); + charContext.globalCompositeOperation = 'source-over'; + if (inst.cachedImages === undefined) { + inst.cachedImages = {} + } + if (inst.cachedImages[letter] === undefined) { + inst.cachedImages[letter] = {} + } + inst.cachedImages[letter][color] = charCanvas + return charCanvas + } + function rotateQuad(quad,cosa,sina) { + var x_temp; + x_temp = (quad.tlx * cosa) - (quad.tly * sina); + quad.tly = (quad.tly * cosa) + (quad.tlx * sina); + quad.tlx = x_temp; + x_temp = (quad.trx * cosa) - (quad.try_ * sina); + quad.try_ = (quad.try_ * cosa) + (quad.trx * sina); + quad.trx = x_temp; + x_temp = (quad.blx * cosa) - (quad.bly * sina); + quad.bly = (quad.bly * cosa) + (quad.blx * sina); + quad.blx = x_temp; + x_temp = (quad.brx * cosa) - (quad.bry * sina); + quad.bry = (quad.bry * cosa) + (quad.brx * sina); + quad.brx = x_temp; + } + instanceProto.drawGL = function(glw) + { + if (this.text !== "") { + this.rebuildText(); + if (this.height < this.characterHeight*this.characterScale + this.lineHeight) { + return; + } + this.update_bbox(); + var q = this.bquad; + var ox = 0; + var oy = 0; + if (this.runtime.pixel_rounding) + { + ox = ((this.x + 0.5) | 0) - this.x; + oy = ((this.y + 0.5) | 0) - this.y; + } + var angle = this.angle; + var ha = this.halign; + var va = this.valign; + var scale = this.characterScale; + var charHeight = this.characterHeight * scale; // to precalculate in onCreate or on change + var lineHeight = this.lineHeight; + var charSpace = this.characterSpacing; + var lines = this.lines; + var textHeight = this.textHeight; + var charPos = this.charPosProcessed; + var useCP = false; + if (charPos && typeof charPos[0][2] !== "undefined") { + useCP = true; + } + var cosa,sina; + if (angle !== 0) + { + cosa = Math.cos(angle); + sina = Math.sin(angle); + } + var halign; + var valign = va * cr.max(0,(this.height - textHeight)); + var offx = q.tlx + ox; + var offy = q.tly + oy; + var drawX ; + var drawY = valign; + var arrI = 0; + var charAngle; + var drX = 0; + var drY = 0; + var charCosa = 0; + var charSina = 0; + var anglOffsetX = 0; + var anglOffsetY = 0; + var charOpacity = 1; + var lcount = 0 + for(var i = 0; i < lines.length; i++) { + var line = lines[i].text; + var lineWidth = lines[i].width; + halign = ha * cr.max(0,this.width - lineWidth); + drawX = halign; + drawY += lineHeight; + for(var j = 0; j < line.length; j++) { + var letter = line.charAt(j); + var clipUV = this.clipUV[letter]; + if (clipUV !== undefined) { + var clip = { + x: clipUV.left * this.texture_img.width, + y: clipUV.top * this.texture_img.height, + w: clipUV.right * this.texture_img.width - clipUV.left * this.texture_img.width, + h: clipUV.bottom * this.texture_img.height - clipUV.top * this.texture_img.height + } + var color = (charPos[arrI] === undefined ? 'None' : charPos[arrI][4]); + if (color !== 'None' && this.cachedTextures !== undefined && this.cachedTextures[letter] !== undefined && this.cachedTextures[letter][color] !== undefined) { + glw.setTexture(this.cachedTextures[letter][color]); + clipUV = { + top: 0, + left: 0, + right: 1, + bottom: 1 + } + } + else if (color !== 'None') { + var letterImg = getColoredTexture(this, this.texture_img, color, clip, 1, letter) + if (letterImg != this.texture_img) { + var letterTexture = this.runtime.glwrap.loadTexture(letterImg, false, this.runtime.linearSampling, this.type.texture_pixelformat); + if (this.cachedTextures === undefined) { + this.cachedTextures = {} + } + if (this.cachedTextures[letter] === undefined) { + this.cachedTextures[letter] = {} + } + this.cachedTextures[letter][color] = letterTexture + glw.setTexture(letterTexture); + clipUV = { + top: 0, + left: 0, + right: 1, + bottom: 1 + } + } + else { + glw.setTexture(this.webGL_texture); + } + } + else { + glw.setTexture(this.webGL_texture); + } + } + if ( drawX + this.getCharacterWidth(letter) * scale > this.width + EPSILON) { + break; + } + if(useCP){ + if(typeof charPos[arrI] === "undefined"){ + drX = 0; + drY = 0; + charAngle = angle; + } + else{ + drX = charPos[arrI][0] * Math.cos(angle) - charPos[arrI][1] * Math.sin(angle) || 0; + drY = charPos[arrI][1] * Math.cos(angle) - charPos[arrI][0] * Math.sin(angle) || 0; + charAngle = cr.to_radians(charPos[arrI][2]) || 0; + charOpacity = charPos[arrI][3] !== undefined && charPos[arrI][3] !== null ? charPos[arrI][3] / 100 : 1; + } + if(charAngle !== 0) + { + charCosa = Math.cos(charAngle); + charSina = Math.sin(charAngle); + } + } + if (clipUV !== undefined) { + var clipWidth = this.characterWidth*scale; + var clipHeight = this.characterHeight*scale; + dQuad.tlx = drawX; + dQuad.tly = drawY; + dQuad.trx = drawX + clipWidth; + dQuad.try_ = drawY; + dQuad.blx = drawX; + dQuad.bly = drawY + clipHeight; + dQuad.brx = drawX + clipWidth; + dQuad.bry = drawY + clipHeight; + if(useCP && charAngle !== 0) + { + var dx = drawX + this.getCharacterWidth(letter) * scale/2; + var dy = drawY + charHeight; + var oa = Math.atan2(dy,dx) + Math.PI - charAngle; + var dist = Math.sqrt(Math.pow(-dx,2) + Math.pow(-dy,2)); + var X = -dx - Math.cos(oa) * dist; + var Y = -dy - Math.sin(oa) * dist; + dQuad.offset(X,Y); + rotateQuad(dQuad,charCosa,charSina); + } + if(angle !== 0) + { + rotateQuad(dQuad,cosa,sina); + } + dQuad.offset(offx,offy); + if(useCP){ + dQuad.offset(drX,drY); + } + glw.setOpacity(this.opacity * charOpacity); + glw.quadTex( + dQuad.tlx, dQuad.tly, + dQuad.trx, dQuad.try_, + dQuad.brx, dQuad.bry, + dQuad.blx, dQuad.bly, + clipUV + ); + } + drawX += this.getCharacterWidth(letter) * scale + charSpace; + if(useCP){ + arrI ++; + } + lcount++ + } + drawY += charHeight; + if ( drawY + charHeight + lineHeight > this.height) { + break; + } + } + } + }; + instanceProto.update = function(){ + this.runtime.redraw = true; + this.lastValue += Math.abs(60 * this.runtime.getDt(this)); + this.charPosProcessed = this.computeWholeArray(this.charPos.data); + } + instanceProto.computeWholeArray = function(array) + { + var result = []; + if (this.typewriterParams !== undefined && this.typewriterActive && !this.firstFrame) { + for (var i = 0; i < array.length; i++) { + var cur = array[i] + /* console.log(this.text) + console.log(array) + console.log(this.typeProgress) + console.log(i) */ + var progress = this.typeProgress[i][0]; + var curX = this.typewriterParams["value"]["x"] === null ? this.compute(cur[0], i) : cr.lerp(this.typewriterParams["value"]["x"], this.compute(cur[0], i), progress) + var curY = this.typewriterParams["value"]["y"] === null ? this.compute(cur[1], i) : cr.lerp(this.typewriterParams["value"]["y"], this.compute(cur[1], i), progress) + var curA = this.typewriterParams["value"]["a"] === null ? this.compute(cur[2], i) : cr.lerp(this.typewriterParams["value"]["a"], this.compute(cur[2], i), progress) + var curO = this.typewriterParams["value"]["o"] === null ? this.compute(cur[3], i, true) : cr.lerp(this.typewriterParams["value"]["o"], this.compute(cur[3], i, true), progress) + result.push([curX, curY, curA, curO, cur[4]]) + } + } + else { + for (var i = 0; i < array.length; i++) { + var cur = array[i] + result.push([this.compute(cur[0], i), this.compute(cur[1], i), this.compute(cur[2], i), this.compute(cur[3], i, true), cur[4]]) + } + } + return result + } + instanceProto.compute = function (value, offset, isOpacity) + { + isOpacity = typeof isOpacity !== 'undefined' ? isOpacity : false; + if (!this.hasBehavior() && this.animOffset === undefined) { + this.animOffset = 1; + this.defaultMagnitude = 0; + this.defaultSpeed = 100; + } + if(typeof value === "number"){ + return value; + } + else if(typeof value === "object" && value.length == 1){ + return this.compute(value[0], offset); + } + else if(typeof value !== "string"){ + return 0; + } + var valueA = value.split(' '); + var command = valueA[0].trim().toLowerCase(); + var param = 0; + var param2 = this.defaultSpeed; + var param3 = 0; + if(typeof valueA[1] === "undefined" || valueA[1].trim() == "" || isNaN(parseInt(valueA[1].trim()))) + param = isOpacity ? 100 : (this.defaultMagnitude === 0 ? this.characterHeight : this.defaultMagnitude) / (command.startsWith("angle") ? 1 : 4) + else + param = parseInt(valueA[1].trim()); + if(typeof valueA[2] === "undefined" || valueA[2].trim() == ""|| isNaN(parseInt(valueA[2].trim()))) + param2 = this.defaultSpeed; + else + param2 = this.defaultSpeed * parseInt(valueA[2].trim()) / 100; + if(typeof valueA[3] === "undefined" || valueA[3].trim() == ""|| isNaN(parseInt(valueA[3].trim()))) + param3 = 0; + else + param3 = parseInt(valueA[3].trim()); + switch (command){ + case "wave": + return Math.sin(cr.to_radians(this.lastValue * param2/100)*10+offset * this.animOffset) * param + param3 + break; + case "swing": + return Math.cos(cr.to_radians(this.lastValue * param2/100)*10+offset * this.animOffset * (isOpacity? -1: 1)) * param + param3 + break; + case "angle": + return Math.sin(cr.to_radians(this.lastValue * param2/100)*10+offset * this.animOffset) * param + param3 + break; + case "angle2": + return Math.cos(cr.to_radians(this.lastValue * param2/100)*10+offset * this.animOffset) * param + param3 + break; + case "shake": + return (Math.random()-0.5 ) * param + param3 + break; + default: + var commandInt = parseInt(command) + return isNaN(commandInt) ? (isOpacity? 100 : 0) : commandInt + } + } + instanceProto.hasBehavior = function () { + if (this.sfdxbehavior !== undefined) { + return this.sfdxbehavior + } + else { + this.sfdxbehavior = false + var self = this; + this.behavior_insts.forEach(function(inst) { + if (cr.behaviors.SkymenSFPPP && inst.behavior instanceof cr.behaviors.SkymenSFPPP) { + self.sfdxbehavior = true + } + }) + return this.sfdxbehavior + } + } + function Cnds() {} + Cnds.prototype.CompareText = function(text_to_compare, case_sensitive) + { + if (case_sensitive) + return this.text == text_to_compare; + else + return cr.equals_nocase(this.text, text_to_compare); + }; + pluginProto.cnds = new Cnds(); + function Acts() {} + Acts.prototype.SetText = function(param) + { + if (cr.is_number(param) && param < 1e9) + param = Math.round(param * 1e10) / 1e10; // round to nearest ten billionth - hides floating point errors + var text_to_set = param.toString(); + if (this.text !== text_to_set) + { + this.text = text_to_set; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.AppendText = function(param) + { + if (cr.is_number(param)) + param = Math.round(param * 1e10) / 1e10; // round to nearest ten billionth - hides floating point errors + var text_to_append = param.toString(); + if (text_to_append) // not empty + { + this.text += text_to_append; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.SetScale = function(param) + { + if (param !== this.characterScale) { + this.characterScale = param; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.SetCharacterSpacing = function(param) + { + if (param !== this.CharacterSpacing) { + this.characterSpacing = param; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.SetLineHeight = function(param) + { + if (param !== this.lineHeight) { + this.lineHeight = param; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + instanceProto.SetCharWidth = function(character,width) { + var w = parseInt(width,10); + if (this.characterWidthList[character] !== w) { + this.characterWidthList[character] = w; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.SetCharacterWidth = function(characterSet,width) + { + if (characterSet !== "") { + for(var c = 0; c < characterSet.length; c++) { + this.SetCharWidth(characterSet.charAt(c),width); + } + } + }; + Acts.prototype.SetEffect = function (effect) + { + this.compositeOp = cr.effectToCompositeOp(effect); + cr.setGLBlend(this, effect, this.runtime.gl); + this.runtime.redraw = true; + }; + Acts.prototype.SetVerAl = function (val) + { + if(this.clamp){ + this.valign = cr.clamp(val,0,100)/100; + } + else{ + this.valign = val/100; + } + this.text_changed = true; + this.runtime.redraw = true; + }; + Acts.prototype.SetHorAl = function (val) + { + if(this.clamp){ + this.halign = cr.clamp(val,0,100)/100; + } + else{ + this.halign = val/100; + } + this.text_changed = true; + this.runtime.redraw = true; + }; + Acts.prototype.SetAl = function (val,val2) + { + if(this.clamp){ + this.halign = cr.clamp(val,0,100)/100; + this.valign = cr.clamp(val2,0,100)/100; + } + else{ + this.halign = val/100; + this.valign = val2/100; + } + this.text_changed = true; + this.runtime.redraw = true; + }; + Acts.prototype.SetWrap = function (val) + { + this.wrapbyword = (val === 0); // 0=word, 1=character, 2 = None + this.nowrap = (val === 2); // 0=word, 1=character, 2 = None + this.text_changed = true; + this.runtime.redraw = true; + }; + Acts.prototype.SetClamp = function (val) + { + this.clamp = (val === 0); //0=Yes, 1=No + if(this.clamp){ + this.halign = cr.clamp(this.halign,0,1); + this.valign = cr.clamp(this.valign,0,1); + } + else{ + this.halign = this.halign; + this.valign = this.valign; + } + this.text_changed = true; + this.runtime.redraw = true; + }; + Acts.prototype.SetCharPos = function (val) + { + if(this.charPos !== JSON.parse(val)){ + this.charPos = JSON.parse(val); + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.Redraw = function () + { + this.update(); + }; + Acts.prototype.LoadURL = function (url_, crossOrigin_, cw, ch) + { + var img = new Image(); + var self = this; + this.characterWidth = cw > 0? cw : this.characterWidth; + this.characterHeight = ch > 0? ch : this.characterHeight; + img.onload = function () + { + self.texture_img = img; + if (self.runtime.glwrap) + { + if (self.has_own_texture && self.webGL_texture) + self.runtime.glwrap.deleteTexture(self.webGL_texture); + self.webGL_texture = self.runtime.glwrap.loadTexture(img, true, self.runtime.linearSampling); + } + else + { + self.pattern = self.runtime.ctx.createPattern(img, "repeat"); + } + self.has_own_texture = true; + self.runtime.redraw = true; + self.runtime.trigger(cr.plugins_.SkymenSFPlusPLus.prototype.cnds.OnURLLoaded, self); + }; + if (url_.substr(0, 5) !== "data:" && crossOrigin_ === 0) + img.crossOrigin = "anonymous"; + this.runtime.setImageSrc(img, url_); + }; + pluginProto.acts = new Acts(); + function Exps() {} + Exps.prototype.CharacterWidth = function(ret,character) + { + ret.set_int(this.getCharacterWidth(character)); + }; + Exps.prototype.CharacterHeight = function(ret) + { + ret.set_int(this.characterHeight); + }; + Exps.prototype.CharacterScale = function(ret) + { + ret.set_float(this.characterScale); + }; + Exps.prototype.CharacterSpacing = function(ret) + { + ret.set_int(this.characterSpacing); + }; + Exps.prototype.LineHeight = function(ret) + { + ret.set_int(this.lineHeight); + }; + Exps.prototype.Text = function(ret) + { + ret.set_string(this.text); + }; + Exps.prototype.TextWidth = function (ret) + { + this.rebuildText(); + ret.set_float(this.textWidth); + }; + Exps.prototype.TextHeight = function (ret) + { + this.rebuildText(); + ret.set_float(this.textHeight); + }; + Exps.prototype.FullTextWidth = function (ret) + { + ret.set_float(this.measureWidth(this.text)); + }; + Exps.prototype.HAlign = function (ret) + { + ret.set_float(this.halign); + }; + Exps.prototype.VAlign = function (ret) + { + ret.set_float(this.valign); + }; + Exps.prototype.CharPos = function(ret) + { + ret.set_string(this.charPos); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.Sprite = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Sprite.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + function frame_getDataUri() + { + if (this.datauri.length === 0) + { + var tmpcanvas = document.createElement("canvas"); + tmpcanvas.width = this.width; + tmpcanvas.height = this.height; + var tmpctx = tmpcanvas.getContext("2d"); + if (this.spritesheeted) + { + tmpctx.drawImage(this.texture_img, this.offx, this.offy, this.width, this.height, + 0, 0, this.width, this.height); + } + else + { + tmpctx.drawImage(this.texture_img, 0, 0, this.width, this.height); + } + this.datauri = tmpcanvas.toDataURL("image/png"); + } + return this.datauri; + }; + typeProto.onCreate = function() + { + if (this.is_family) + return; + var i, leni, j, lenj; + var anim, frame, animobj, frameobj, wt, uv; + this.all_frames = []; + this.has_loaded_textures = false; + for (i = 0, leni = this.animations.length; i < leni; i++) + { + anim = this.animations[i]; + animobj = {}; + animobj.name = anim[0]; + animobj.speed = anim[1]; + animobj.loop = anim[2]; + animobj.repeatcount = anim[3]; + animobj.repeatto = anim[4]; + animobj.pingpong = anim[5]; + animobj.sid = anim[6]; + animobj.frames = []; + for (j = 0, lenj = anim[7].length; j < lenj; j++) + { + frame = anim[7][j]; + frameobj = {}; + frameobj.texture_file = frame[0]; + frameobj.texture_filesize = frame[1]; + frameobj.offx = frame[2]; + frameobj.offy = frame[3]; + frameobj.width = frame[4]; + frameobj.height = frame[5]; + frameobj.duration = frame[6]; + frameobj.hotspotX = frame[7]; + frameobj.hotspotY = frame[8]; + frameobj.image_points = frame[9]; + frameobj.poly_pts = frame[10]; + frameobj.pixelformat = frame[11]; + frameobj.spritesheeted = (frameobj.width !== 0); + frameobj.datauri = ""; // generated on demand and cached + frameobj.getDataUri = frame_getDataUri; + uv = {}; + uv.left = 0; + uv.top = 0; + uv.right = 1; + uv.bottom = 1; + frameobj.sheetTex = uv; + frameobj.webGL_texture = null; + wt = this.runtime.findWaitingTexture(frame[0]); + if (wt) + { + frameobj.texture_img = wt; + } + else + { + frameobj.texture_img = new Image(); + frameobj.texture_img.cr_src = frame[0]; + frameobj.texture_img.cr_filesize = frame[1]; + frameobj.texture_img.c2webGL_texture = null; + this.runtime.waitForImageLoad(frameobj.texture_img, frame[0]); + } + cr.seal(frameobj); + animobj.frames.push(frameobj); + this.all_frames.push(frameobj); + } + cr.seal(animobj); + this.animations[i] = animobj; // swap array data for object + } + }; + typeProto.updateAllCurrentTexture = function () + { + var i, len, inst; + for (i = 0, len = this.instances.length; i < len; i++) + { + inst = this.instances[i]; + inst.curWebGLTexture = inst.curFrame.webGL_texture; + } + }; + typeProto.onLostWebGLContext = function () + { + if (this.is_family) + return; + var i, len, frame; + for (i = 0, len = this.all_frames.length; i < len; ++i) + { + frame = this.all_frames[i]; + frame.texture_img.c2webGL_texture = null; + frame.webGL_texture = null; + } + this.has_loaded_textures = false; + this.updateAllCurrentTexture(); + }; + typeProto.onRestoreWebGLContext = function () + { + if (this.is_family || !this.instances.length) + return; + var i, len, frame; + for (i = 0, len = this.all_frames.length; i < len; ++i) + { + frame = this.all_frames[i]; + frame.webGL_texture = this.runtime.glwrap.loadTexture(frame.texture_img, false, this.runtime.linearSampling, frame.pixelformat); + } + this.updateAllCurrentTexture(); + }; + typeProto.loadTextures = function () + { + if (this.is_family || this.has_loaded_textures || !this.runtime.glwrap) + return; + var i, len, frame; + for (i = 0, len = this.all_frames.length; i < len; ++i) + { + frame = this.all_frames[i]; + frame.webGL_texture = this.runtime.glwrap.loadTexture(frame.texture_img, false, this.runtime.linearSampling, frame.pixelformat); + } + this.has_loaded_textures = true; + }; + typeProto.unloadTextures = function () + { + if (this.is_family || this.instances.length || !this.has_loaded_textures) + return; + var i, len, frame; + for (i = 0, len = this.all_frames.length; i < len; ++i) + { + frame = this.all_frames[i]; + this.runtime.glwrap.deleteTexture(frame.webGL_texture); + frame.webGL_texture = null; + } + this.has_loaded_textures = false; + }; + var already_drawn_images = []; + typeProto.preloadCanvas2D = function (ctx) + { + var i, len, frameimg; + cr.clearArray(already_drawn_images); + for (i = 0, len = this.all_frames.length; i < len; ++i) + { + frameimg = this.all_frames[i].texture_img; + if (already_drawn_images.indexOf(frameimg) !== -1) + continue; + ctx.drawImage(frameimg, 0, 0); + already_drawn_images.push(frameimg); + } + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + var poly_pts = this.type.animations[0].frames[0].poly_pts; + if (this.recycled) + this.collision_poly.set_pts(poly_pts); + else + this.collision_poly = new cr.CollisionPoly(poly_pts); + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + this.visible = (this.properties[0] === 0); // 0=visible, 1=invisible + this.isTicking = false; + this.inAnimTrigger = false; + this.collisionsEnabled = (this.properties[3] !== 0); + this.cur_animation = this.getAnimationByName(this.properties[1]) || this.type.animations[0]; + this.cur_frame = this.properties[2]; + if (this.cur_frame < 0) + this.cur_frame = 0; + if (this.cur_frame >= this.cur_animation.frames.length) + this.cur_frame = this.cur_animation.frames.length - 1; + var curanimframe = this.cur_animation.frames[this.cur_frame]; + this.collision_poly.set_pts(curanimframe.poly_pts); + this.hotspotX = curanimframe.hotspotX; + this.hotspotY = curanimframe.hotspotY; + this.cur_anim_speed = this.cur_animation.speed; + this.cur_anim_repeatto = this.cur_animation.repeatto; + if (!(this.type.animations.length === 1 && this.type.animations[0].frames.length === 1) && this.cur_anim_speed !== 0) + { + this.runtime.tickMe(this); + this.isTicking = true; + } + if (this.recycled) + this.animTimer.reset(); + else + this.animTimer = new cr.KahanAdder(); + this.frameStart = this.getNowTime(); + this.animPlaying = true; + this.animRepeats = 0; + this.animForwards = true; + this.animTriggerName = ""; + this.changeAnimName = ""; + this.changeAnimFrom = 0; + this.changeAnimFrame = -1; + this.type.loadTextures(); + var i, leni, j, lenj; + var anim, frame, uv, maintex; + for (i = 0, leni = this.type.animations.length; i < leni; i++) + { + anim = this.type.animations[i]; + for (j = 0, lenj = anim.frames.length; j < lenj; j++) + { + frame = anim.frames[j]; + if (frame.width === 0) + { + frame.width = frame.texture_img.width; + frame.height = frame.texture_img.height; + } + if (frame.spritesheeted) + { + maintex = frame.texture_img; + uv = frame.sheetTex; + uv.left = frame.offx / maintex.width; + uv.top = frame.offy / maintex.height; + uv.right = (frame.offx + frame.width) / maintex.width; + uv.bottom = (frame.offy + frame.height) / maintex.height; + if (frame.offx === 0 && frame.offy === 0 && frame.width === maintex.width && frame.height === maintex.height) + { + frame.spritesheeted = false; + } + } + } + } + this.curFrame = this.cur_animation.frames[this.cur_frame]; + this.curWebGLTexture = this.curFrame.webGL_texture; + }; + instanceProto.saveToJSON = function () + { + var o = { + "a": this.cur_animation.sid, + "f": this.cur_frame, + "cas": this.cur_anim_speed, + "fs": this.frameStart, + "ar": this.animRepeats, + "at": this.animTimer.sum, + "rt": this.cur_anim_repeatto + }; + if (!this.animPlaying) + o["ap"] = this.animPlaying; + if (!this.animForwards) + o["af"] = this.animForwards; + return o; + }; + instanceProto.loadFromJSON = function (o) + { + var anim = this.getAnimationBySid(o["a"]); + if (anim) + this.cur_animation = anim; + this.cur_frame = o["f"]; + if (this.cur_frame < 0) + this.cur_frame = 0; + if (this.cur_frame >= this.cur_animation.frames.length) + this.cur_frame = this.cur_animation.frames.length - 1; + this.cur_anim_speed = o["cas"]; + this.frameStart = o["fs"]; + this.animRepeats = o["ar"]; + this.animTimer.reset(); + this.animTimer.sum = o["at"]; + this.animPlaying = o.hasOwnProperty("ap") ? o["ap"] : true; + this.animForwards = o.hasOwnProperty("af") ? o["af"] : true; + if (o.hasOwnProperty("rt")) + this.cur_anim_repeatto = o["rt"]; + else + this.cur_anim_repeatto = this.cur_animation.repeatto; + this.curFrame = this.cur_animation.frames[this.cur_frame]; + this.curWebGLTexture = this.curFrame.webGL_texture; + this.collision_poly.set_pts(this.curFrame.poly_pts); + this.hotspotX = this.curFrame.hotspotX; + this.hotspotY = this.curFrame.hotspotY; + }; + instanceProto.animationFinish = function (reverse) + { + this.cur_frame = reverse ? 0 : this.cur_animation.frames.length - 1; + this.animPlaying = false; + this.animTriggerName = this.cur_animation.name; + this.inAnimTrigger = true; + this.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnAnyAnimFinished, this); + this.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnAnimFinished, this); + this.inAnimTrigger = false; + this.animRepeats = 0; + }; + instanceProto.getNowTime = function() + { + return this.animTimer.sum; + }; + instanceProto.tick = function() + { + this.animTimer.add(this.runtime.getDt(this)); + if (this.changeAnimName.length) + this.doChangeAnim(); + if (this.changeAnimFrame >= 0) + this.doChangeAnimFrame(); + var now = this.getNowTime(); + var cur_animation = this.cur_animation; + var prev_frame = cur_animation.frames[this.cur_frame]; + var next_frame; + var cur_frame_time = prev_frame.duration / this.cur_anim_speed; + if (this.animPlaying && now >= this.frameStart + cur_frame_time) + { + if (this.animForwards) + { + this.cur_frame++; + } + else + { + this.cur_frame--; + } + this.frameStart += cur_frame_time; + if (this.cur_frame >= cur_animation.frames.length) + { + if (cur_animation.pingpong) + { + this.animForwards = false; + this.cur_frame = cur_animation.frames.length - 2; + } + else if (cur_animation.loop) + { + this.cur_frame = this.cur_anim_repeatto; + } + else + { + this.animRepeats++; + if (this.animRepeats >= cur_animation.repeatcount) + { + this.animationFinish(false); + } + else + { + this.cur_frame = this.cur_anim_repeatto; + } + } + } + if (this.cur_frame < 0) + { + if (cur_animation.pingpong) + { + this.cur_frame = 1; + this.animForwards = true; + if (!cur_animation.loop) + { + this.animRepeats++; + if (this.animRepeats >= cur_animation.repeatcount) + { + this.animationFinish(true); + } + } + } + else + { + if (cur_animation.loop) + { + this.cur_frame = this.cur_anim_repeatto; + } + else + { + this.animRepeats++; + if (this.animRepeats >= cur_animation.repeatcount) + { + this.animationFinish(true); + } + else + { + this.cur_frame = this.cur_anim_repeatto; + } + } + } + } + if (this.cur_frame < 0) + this.cur_frame = 0; + else if (this.cur_frame >= cur_animation.frames.length) + this.cur_frame = cur_animation.frames.length - 1; + if (now > this.frameStart + (cur_animation.frames[this.cur_frame].duration / this.cur_anim_speed)) + { + this.frameStart = now; + } + next_frame = cur_animation.frames[this.cur_frame]; + this.OnFrameChanged(prev_frame, next_frame); + this.runtime.redraw = true; + } + }; + instanceProto.getAnimationByName = function (name_) + { + var i, len, a; + for (i = 0, len = this.type.animations.length; i < len; i++) + { + a = this.type.animations[i]; + if (cr.equals_nocase(a.name, name_)) + return a; + } + return null; + }; + instanceProto.getAnimationBySid = function (sid_) + { + var i, len, a; + for (i = 0, len = this.type.animations.length; i < len; i++) + { + a = this.type.animations[i]; + if (a.sid === sid_) + return a; + } + return null; + }; + instanceProto.doChangeAnim = function () + { + var prev_frame = this.cur_animation.frames[this.cur_frame]; + var anim = this.getAnimationByName(this.changeAnimName); + this.changeAnimName = ""; + if (!anim) + return; + if (cr.equals_nocase(anim.name, this.cur_animation.name) && this.animPlaying) + return; + this.cur_animation = anim; + this.cur_anim_speed = anim.speed; + this.cur_anim_repeatto = anim.repeatto; + if (this.cur_frame < 0) + this.cur_frame = 0; + if (this.cur_frame >= this.cur_animation.frames.length) + this.cur_frame = this.cur_animation.frames.length - 1; + if (this.changeAnimFrom === 1) + this.cur_frame = 0; + this.animPlaying = true; + this.frameStart = this.getNowTime(); + this.animForwards = true; + this.OnFrameChanged(prev_frame, this.cur_animation.frames[this.cur_frame]); + this.runtime.redraw = true; + }; + instanceProto.doChangeAnimFrame = function () + { + var prev_frame = this.cur_animation.frames[this.cur_frame]; + var prev_frame_number = this.cur_frame; + this.cur_frame = cr.floor(this.changeAnimFrame); + if (this.cur_frame < 0) + this.cur_frame = 0; + if (this.cur_frame >= this.cur_animation.frames.length) + this.cur_frame = this.cur_animation.frames.length - 1; + if (prev_frame_number !== this.cur_frame) + { + this.OnFrameChanged(prev_frame, this.cur_animation.frames[this.cur_frame]); + this.frameStart = this.getNowTime(); + this.runtime.redraw = true; + } + this.changeAnimFrame = -1; + }; + instanceProto.OnFrameChanged = function (prev_frame, next_frame) + { + var oldw = prev_frame.width; + var oldh = prev_frame.height; + var neww = next_frame.width; + var newh = next_frame.height; + if (oldw != neww) + this.width *= (neww / oldw); + if (oldh != newh) + this.height *= (newh / oldh); + this.hotspotX = next_frame.hotspotX; + this.hotspotY = next_frame.hotspotY; + this.collision_poly.set_pts(next_frame.poly_pts); + this.set_bbox_changed(); + this.curFrame = next_frame; + this.curWebGLTexture = next_frame.webGL_texture; + var i, len, b; + for (i = 0, len = this.behavior_insts.length; i < len; i++) + { + b = this.behavior_insts[i]; + if (b.onSpriteFrameChanged) + b.onSpriteFrameChanged(prev_frame, next_frame); + } + this.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnFrameChanged, this); + }; + instanceProto.draw = function(ctx) + { + ctx.globalAlpha = this.opacity; + var cur_frame = this.curFrame; + var spritesheeted = cur_frame.spritesheeted; + var cur_image = cur_frame.texture_img; + var myx = this.x; + var myy = this.y; + var w = this.width; + var h = this.height; + if (this.angle === 0 && w >= 0 && h >= 0) + { + myx -= this.hotspotX * w; + myy -= this.hotspotY * h; + if (this.runtime.pixel_rounding) + { + myx = Math.round(myx); + myy = Math.round(myy); + } + if (spritesheeted) + { + ctx.drawImage(cur_image, cur_frame.offx, cur_frame.offy, cur_frame.width, cur_frame.height, + myx, myy, w, h); + } + else + { + ctx.drawImage(cur_image, myx, myy, w, h); + } + } + else + { + if (this.runtime.pixel_rounding) + { + myx = Math.round(myx); + myy = Math.round(myy); + } + ctx.save(); + var widthfactor = w > 0 ? 1 : -1; + var heightfactor = h > 0 ? 1 : -1; + ctx.translate(myx, myy); + if (widthfactor !== 1 || heightfactor !== 1) + ctx.scale(widthfactor, heightfactor); + ctx.rotate(this.angle * widthfactor * heightfactor); + var drawx = 0 - (this.hotspotX * cr.abs(w)) + var drawy = 0 - (this.hotspotY * cr.abs(h)); + if (spritesheeted) + { + ctx.drawImage(cur_image, cur_frame.offx, cur_frame.offy, cur_frame.width, cur_frame.height, + drawx, drawy, cr.abs(w), cr.abs(h)); + } + else + { + ctx.drawImage(cur_image, drawx, drawy, cr.abs(w), cr.abs(h)); + } + ctx.restore(); + } + /* + ctx.strokeStyle = "#f00"; + ctx.lineWidth = 3; + ctx.beginPath(); + this.collision_poly.cache_poly(this.width, this.height, this.angle); + var i, len, ax, ay, bx, by; + for (i = 0, len = this.collision_poly.pts_count; i < len; i++) + { + ax = this.collision_poly.pts_cache[i*2] + this.x; + ay = this.collision_poly.pts_cache[i*2+1] + this.y; + bx = this.collision_poly.pts_cache[((i+1)%len)*2] + this.x; + by = this.collision_poly.pts_cache[((i+1)%len)*2+1] + this.y; + ctx.moveTo(ax, ay); + ctx.lineTo(bx, by); + } + ctx.stroke(); + ctx.closePath(); + */ + /* + if (this.behavior_insts.length >= 1 && this.behavior_insts[0].draw) + { + this.behavior_insts[0].draw(ctx); + } + */ + }; + instanceProto.drawGL_earlyZPass = function(glw) + { + this.drawGL(glw); + }; + instanceProto.drawGL = function(glw) + { + glw.setTexture(this.curWebGLTexture); + glw.setOpacity(this.opacity); + var cur_frame = this.curFrame; + var q = this.bquad; + if (this.runtime.pixel_rounding) + { + var ox = Math.round(this.x) - this.x; + var oy = Math.round(this.y) - this.y; + if (cur_frame.spritesheeted) + glw.quadTex(q.tlx + ox, q.tly + oy, q.trx + ox, q.try_ + oy, q.brx + ox, q.bry + oy, q.blx + ox, q.bly + oy, cur_frame.sheetTex); + else + glw.quad(q.tlx + ox, q.tly + oy, q.trx + ox, q.try_ + oy, q.brx + ox, q.bry + oy, q.blx + ox, q.bly + oy); + } + else + { + if (cur_frame.spritesheeted) + glw.quadTex(q.tlx, q.tly, q.trx, q.try_, q.brx, q.bry, q.blx, q.bly, cur_frame.sheetTex); + else + glw.quad(q.tlx, q.tly, q.trx, q.try_, q.brx, q.bry, q.blx, q.bly); + } + }; + instanceProto.getImagePointIndexByName = function(name_) + { + var cur_frame = this.curFrame; + var i, len; + for (i = 0, len = cur_frame.image_points.length; i < len; i++) + { + if (cr.equals_nocase(name_, cur_frame.image_points[i][0])) + return i; + } + return -1; + }; + instanceProto.getImagePoint = function(imgpt, getX) + { + var cur_frame = this.curFrame; + var image_points = cur_frame.image_points; + var index; + if (cr.is_string(imgpt)) + index = this.getImagePointIndexByName(imgpt); + else + index = imgpt - 1; // 0 is origin + index = cr.floor(index); + if (index < 0 || index >= image_points.length) + return getX ? this.x : this.y; // return origin + var x = (image_points[index][1] - cur_frame.hotspotX) * this.width; + var y = image_points[index][2]; + y = (y - cur_frame.hotspotY) * this.height; + var cosa = Math.cos(this.angle); + var sina = Math.sin(this.angle); + var x_temp = (x * cosa) - (y * sina); + y = (y * cosa) + (x * sina); + x = x_temp; + x += this.x; + y += this.y; + return getX ? x : y; + }; + function Cnds() {}; + var arrCache = []; + function allocArr() + { + if (arrCache.length) + return arrCache.pop(); + else + return [0, 0, 0]; + }; + function freeArr(a) + { + a[0] = 0; + a[1] = 0; + a[2] = 0; + arrCache.push(a); + }; + function makeCollKey(a, b) + { + if (a < b) + return "" + a + "," + b; + else + return "" + b + "," + a; + }; + function collmemory_add(collmemory, a, b, tickcount) + { + var a_uid = a.uid; + var b_uid = b.uid; + var key = makeCollKey(a_uid, b_uid); + if (collmemory.hasOwnProperty(key)) + { + collmemory[key][2] = tickcount; + return; + } + var arr = allocArr(); + arr[0] = a_uid; + arr[1] = b_uid; + arr[2] = tickcount; + collmemory[key] = arr; + }; + function collmemory_remove(collmemory, a, b) + { + var key = makeCollKey(a.uid, b.uid); + if (collmemory.hasOwnProperty(key)) + { + freeArr(collmemory[key]); + delete collmemory[key]; + } + }; + function collmemory_removeInstance(collmemory, inst) + { + var uid = inst.uid; + var p, entry; + for (p in collmemory) + { + if (collmemory.hasOwnProperty(p)) + { + entry = collmemory[p]; + if (entry[0] === uid || entry[1] === uid) + { + freeArr(collmemory[p]); + delete collmemory[p]; + } + } + } + }; + var last_coll_tickcount = -2; + function collmemory_has(collmemory, a, b) + { + var key = makeCollKey(a.uid, b.uid); + if (collmemory.hasOwnProperty(key)) + { + last_coll_tickcount = collmemory[key][2]; + return true; + } + else + { + last_coll_tickcount = -2; + return false; + } + }; + var candidates1 = []; + Cnds.prototype.OnCollision = function (rtype) + { + if (!rtype) + return false; + var runtime = this.runtime; + var cnd = runtime.getCurrentCondition(); + var ltype = cnd.type; + var collmemory = null; + if (cnd.extra["collmemory"]) + { + collmemory = cnd.extra["collmemory"]; + } + else + { + collmemory = {}; + cnd.extra["collmemory"] = collmemory; + } + if (!cnd.extra["spriteCreatedDestroyCallback"]) + { + cnd.extra["spriteCreatedDestroyCallback"] = true; + runtime.addDestroyCallback(function(inst) { + collmemory_removeInstance(cnd.extra["collmemory"], inst); + }); + } + var lsol = ltype.getCurrentSol(); + var rsol = rtype.getCurrentSol(); + var linstances = lsol.getObjects(); + var rinstances; + var registeredInstances; + var l, linst, r, rinst; + var curlsol, currsol; + var tickcount = this.runtime.tickcount; + var lasttickcount = tickcount - 1; + var exists, run; + var current_event = runtime.getCurrentEventStack().current_event; + var orblock = current_event.orblock; + for (l = 0; l < linstances.length; l++) + { + linst = linstances[l]; + if (rsol.select_all) + { + linst.update_bbox(); + this.runtime.getCollisionCandidates(linst.layer, rtype, linst.bbox, candidates1); + rinstances = candidates1; + this.runtime.addRegisteredCollisionCandidates(linst, rtype, rinstances); + } + else + { + rinstances = rsol.getObjects(); + } + for (r = 0; r < rinstances.length; r++) + { + rinst = rinstances[r]; + if (runtime.testOverlap(linst, rinst) || runtime.checkRegisteredCollision(linst, rinst)) + { + exists = collmemory_has(collmemory, linst, rinst); + run = (!exists || (last_coll_tickcount < lasttickcount)); + collmemory_add(collmemory, linst, rinst, tickcount); + if (run) + { + runtime.pushCopySol(current_event.solModifiers); + curlsol = ltype.getCurrentSol(); + currsol = rtype.getCurrentSol(); + curlsol.select_all = false; + currsol.select_all = false; + if (ltype === rtype) + { + curlsol.instances.length = 2; // just use lsol, is same reference as rsol + curlsol.instances[0] = linst; + curlsol.instances[1] = rinst; + ltype.applySolToContainer(); + } + else + { + curlsol.instances.length = 1; + currsol.instances.length = 1; + curlsol.instances[0] = linst; + currsol.instances[0] = rinst; + ltype.applySolToContainer(); + rtype.applySolToContainer(); + } + current_event.retrigger(); + runtime.popSol(current_event.solModifiers); + } + } + else + { + collmemory_remove(collmemory, linst, rinst); + } + } + cr.clearArray(candidates1); + } + return false; + }; + var rpicktype = null; + var rtopick = new cr.ObjectSet(); + var needscollisionfinish = false; + var candidates2 = []; + var temp_bbox = new cr.rect(0, 0, 0, 0); + function DoOverlapCondition(rtype, offx, offy) + { + if (!rtype) + return false; + var do_offset = (offx !== 0 || offy !== 0); + var oldx, oldy, ret = false, r, lenr, rinst; + var cnd = this.runtime.getCurrentCondition(); + var ltype = cnd.type; + var inverted = cnd.inverted; + var rsol = rtype.getCurrentSol(); + var orblock = this.runtime.getCurrentEventStack().current_event.orblock; + var rinstances; + if (rsol.select_all) + { + this.update_bbox(); + temp_bbox.copy(this.bbox); + temp_bbox.offset(offx, offy); + this.runtime.getCollisionCandidates(this.layer, rtype, temp_bbox, candidates2); + rinstances = candidates2; + } + else if (orblock) + { + if (this.runtime.isCurrentConditionFirst() && !rsol.else_instances.length && rsol.instances.length) + rinstances = rsol.instances; + else + rinstances = rsol.else_instances; + } + else + { + rinstances = rsol.instances; + } + rpicktype = rtype; + needscollisionfinish = (ltype !== rtype && !inverted); + if (do_offset) + { + oldx = this.x; + oldy = this.y; + this.x += offx; + this.y += offy; + this.set_bbox_changed(); + } + for (r = 0, lenr = rinstances.length; r < lenr; r++) + { + rinst = rinstances[r]; + if (this.runtime.testOverlap(this, rinst)) + { + ret = true; + if (inverted) + break; + if (ltype !== rtype) + rtopick.add(rinst); + } + } + if (do_offset) + { + this.x = oldx; + this.y = oldy; + this.set_bbox_changed(); + } + cr.clearArray(candidates2); + return ret; + }; + typeProto.finish = function (do_pick) + { + if (!needscollisionfinish) + return; + if (do_pick) + { + var orblock = this.runtime.getCurrentEventStack().current_event.orblock; + var sol = rpicktype.getCurrentSol(); + var topick = rtopick.valuesRef(); + var i, len, inst; + if (sol.select_all) + { + sol.select_all = false; + cr.clearArray(sol.instances); + for (i = 0, len = topick.length; i < len; ++i) + { + sol.instances[i] = topick[i]; + } + if (orblock) + { + cr.clearArray(sol.else_instances); + for (i = 0, len = rpicktype.instances.length; i < len; ++i) + { + inst = rpicktype.instances[i]; + if (!rtopick.contains(inst)) + sol.else_instances.push(inst); + } + } + } + else + { + if (orblock) + { + var initsize = sol.instances.length; + for (i = 0, len = topick.length; i < len; ++i) + { + sol.instances[initsize + i] = topick[i]; + cr.arrayFindRemove(sol.else_instances, topick[i]); + } + } + else + { + cr.shallowAssignArray(sol.instances, topick); + } + } + rpicktype.applySolToContainer(); + } + rtopick.clear(); + needscollisionfinish = false; + }; + Cnds.prototype.IsOverlapping = function (rtype) + { + return DoOverlapCondition.call(this, rtype, 0, 0); + }; + Cnds.prototype.IsOverlappingOffset = function (rtype, offx, offy) + { + return DoOverlapCondition.call(this, rtype, offx, offy); + }; + Cnds.prototype.IsAnimPlaying = function (animname) + { + if (this.changeAnimName.length) + return cr.equals_nocase(this.changeAnimName, animname); + else + return cr.equals_nocase(this.cur_animation.name, animname); + }; + Cnds.prototype.CompareFrame = function (cmp, framenum) + { + return cr.do_cmp(this.cur_frame, cmp, framenum); + }; + Cnds.prototype.CompareAnimSpeed = function (cmp, x) + { + var s = (this.animForwards ? this.cur_anim_speed : -this.cur_anim_speed); + return cr.do_cmp(s, cmp, x); + }; + Cnds.prototype.OnAnimFinished = function (animname) + { + return cr.equals_nocase(this.animTriggerName, animname); + }; + Cnds.prototype.OnAnyAnimFinished = function () + { + return true; + }; + Cnds.prototype.OnFrameChanged = function () + { + return true; + }; + Cnds.prototype.IsMirrored = function () + { + return this.width < 0; + }; + Cnds.prototype.IsFlipped = function () + { + return this.height < 0; + }; + Cnds.prototype.OnURLLoaded = function () + { + return true; + }; + Cnds.prototype.IsCollisionEnabled = function () + { + return this.collisionsEnabled; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.Spawn = function (obj, layer, imgpt) + { + if (!obj || !layer) + return; + var inst = this.runtime.createInstance(obj, layer, this.getImagePoint(imgpt, true), this.getImagePoint(imgpt, false)); + if (!inst) + return; + if (typeof inst.angle !== "undefined") + { + inst.angle = this.angle; + inst.set_bbox_changed(); + } + this.runtime.isInOnDestroy++; + var i, len, s; + this.runtime.trigger(Object.getPrototypeOf(obj.plugin).cnds.OnCreated, inst); + if (inst.is_contained) + { + for (i = 0, len = inst.siblings.length; i < len; i++) + { + s = inst.siblings[i]; + this.runtime.trigger(Object.getPrototypeOf(s.type.plugin).cnds.OnCreated, s); + } + } + this.runtime.isInOnDestroy--; + var cur_act = this.runtime.getCurrentAction(); + var reset_sol = false; + if (cr.is_undefined(cur_act.extra["Spawn_LastExec"]) || cur_act.extra["Spawn_LastExec"] < this.runtime.execcount) + { + reset_sol = true; + cur_act.extra["Spawn_LastExec"] = this.runtime.execcount; + } + var sol; + if (obj != this.type) + { + sol = obj.getCurrentSol(); + sol.select_all = false; + if (reset_sol) + { + cr.clearArray(sol.instances); + sol.instances[0] = inst; + } + else + sol.instances.push(inst); + if (inst.is_contained) + { + for (i = 0, len = inst.siblings.length; i < len; i++) + { + s = inst.siblings[i]; + sol = s.type.getCurrentSol(); + sol.select_all = false; + if (reset_sol) + { + cr.clearArray(sol.instances); + sol.instances[0] = s; + } + else + sol.instances.push(s); + } + } + } + }; + Acts.prototype.SetEffect = function (effect) + { + this.blend_mode = effect; + this.compositeOp = cr.effectToCompositeOp(effect); + cr.setGLBlend(this, effect, this.runtime.gl); + this.runtime.redraw = true; + }; + Acts.prototype.StopAnim = function () + { + this.animPlaying = false; + }; + Acts.prototype.StartAnim = function (from) + { + this.animPlaying = true; + this.frameStart = this.getNowTime(); + if (from === 1 && this.cur_frame !== 0) + { + this.changeAnimFrame = 0; + if (!this.inAnimTrigger) + this.doChangeAnimFrame(); + } + if (!this.isTicking) + { + this.runtime.tickMe(this); + this.isTicking = true; + } + }; + Acts.prototype.SetAnim = function (animname, from) + { + this.changeAnimName = animname; + this.changeAnimFrom = from; + if (!this.isTicking) + { + this.runtime.tickMe(this); + this.isTicking = true; + } + if (!this.inAnimTrigger) + this.doChangeAnim(); + }; + Acts.prototype.SetAnimFrame = function (framenumber) + { + this.changeAnimFrame = framenumber; + if (!this.isTicking) + { + this.runtime.tickMe(this); + this.isTicking = true; + } + if (!this.inAnimTrigger) + this.doChangeAnimFrame(); + }; + Acts.prototype.SetAnimSpeed = function (s) + { + this.cur_anim_speed = cr.abs(s); + this.animForwards = (s >= 0); + if (!this.isTicking) + { + this.runtime.tickMe(this); + this.isTicking = true; + } + }; + Acts.prototype.SetAnimRepeatToFrame = function (s) + { + s = Math.floor(s); + if (s < 0) + s = 0; + if (s >= this.cur_animation.frames.length) + s = this.cur_animation.frames.length - 1; + this.cur_anim_repeatto = s; + }; + Acts.prototype.SetMirrored = function (m) + { + var neww = cr.abs(this.width) * (m === 0 ? -1 : 1); + if (this.width === neww) + return; + this.width = neww; + this.set_bbox_changed(); + }; + Acts.prototype.SetFlipped = function (f) + { + var newh = cr.abs(this.height) * (f === 0 ? -1 : 1); + if (this.height === newh) + return; + this.height = newh; + this.set_bbox_changed(); + }; + Acts.prototype.SetScale = function (s) + { + var cur_frame = this.curFrame; + var mirror_factor = (this.width < 0 ? -1 : 1); + var flip_factor = (this.height < 0 ? -1 : 1); + var new_width = cur_frame.width * s * mirror_factor; + var new_height = cur_frame.height * s * flip_factor; + if (this.width !== new_width || this.height !== new_height) + { + this.width = new_width; + this.height = new_height; + this.set_bbox_changed(); + } + }; + Acts.prototype.LoadURL = function (url_, resize_, crossOrigin_) + { + var img = new Image(); + var self = this; + var curFrame_ = this.curFrame; + img.onload = function () + { + if (curFrame_.texture_img.src === img.src) + { + if (self.runtime.glwrap && self.curFrame === curFrame_) + self.curWebGLTexture = curFrame_.webGL_texture; + if (resize_ === 0) // resize to image size + { + self.width = img.width; + self.height = img.height; + self.set_bbox_changed(); + } + self.runtime.redraw = true; + self.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnURLLoaded, self); + return; + } + curFrame_.texture_img = img; + curFrame_.offx = 0; + curFrame_.offy = 0; + curFrame_.width = img.width; + curFrame_.height = img.height; + curFrame_.spritesheeted = false; + curFrame_.datauri = ""; + curFrame_.pixelformat = 0; // reset to RGBA, since we don't know what type of image will have come in + if (self.runtime.glwrap) + { + if (curFrame_.webGL_texture) + self.runtime.glwrap.deleteTexture(curFrame_.webGL_texture); + curFrame_.webGL_texture = self.runtime.glwrap.loadTexture(img, false, self.runtime.linearSampling); + if (self.curFrame === curFrame_) + self.curWebGLTexture = curFrame_.webGL_texture; + self.type.updateAllCurrentTexture(); + } + if (resize_ === 0) // resize to image size + { + self.width = img.width; + self.height = img.height; + self.set_bbox_changed(); + } + self.runtime.redraw = true; + self.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnURLLoaded, self); + }; + if (url_.substr(0, 5) !== "data:" && crossOrigin_ === 0) + img["crossOrigin"] = "anonymous"; + this.runtime.setImageSrc(img, url_); + }; + Acts.prototype.SetCollisions = function (set_) + { + if (this.collisionsEnabled === (set_ !== 0)) + return; // no change + this.collisionsEnabled = (set_ !== 0); + if (this.collisionsEnabled) + this.set_bbox_changed(); // needs to be added back to cells + else + { + if (this.collcells.right >= this.collcells.left) + this.type.collision_grid.update(this, this.collcells, null); + this.collcells.set(0, 0, -1, -1); + } + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.AnimationFrame = function (ret) + { + ret.set_int(this.cur_frame); + }; + Exps.prototype.AnimationFrameCount = function (ret) + { + ret.set_int(this.cur_animation.frames.length); + }; + Exps.prototype.AnimationName = function (ret) + { + ret.set_string(this.cur_animation.name); + }; + Exps.prototype.AnimationSpeed = function (ret) + { + ret.set_float(this.animForwards ? this.cur_anim_speed : -this.cur_anim_speed); + }; + Exps.prototype.ImagePointX = function (ret, imgpt) + { + ret.set_float(this.getImagePoint(imgpt, true)); + }; + Exps.prototype.ImagePointY = function (ret, imgpt) + { + ret.set_float(this.getImagePoint(imgpt, false)); + }; + Exps.prototype.ImagePointCount = function (ret) + { + ret.set_int(this.curFrame.image_points.length); + }; + Exps.prototype.ImageWidth = function (ret) + { + ret.set_float(this.curFrame.width); + }; + Exps.prototype.ImageHeight = function (ret) + { + ret.set_float(this.curFrame.height); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.SyncStorage = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.SyncStorage.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + this.data = {}; + this.isStorageLoaded = false; + this.storageIndex = this.properties[1]; + this.isEncodingEnabled = !this.properties[3]; + this.headSalt = this.properties[4]; + this.tailSalt = this.properties[5]; + this.isLocalStorageLoaded = null; + this.LS_Instance = null; + this.LS_ProtoActions = null; + this.lastErrorMsg = null; + }; + instanceProto.onDestroy = function () + { + }; + instanceProto.isLocalStorageReady = function() + { + if (this.isLocalStorageLoaded) return true; + if ( ! this.storageIndex) return false; + if(cr.plugins_.LocalStorage) + { + var type, LS_Type; + for (type in this.runtime.types) + { + if ( ! this.runtime.types.hasOwnProperty(type)) continue; + if (this.runtime.types[type].plugin instanceof cr.plugins_.LocalStorage) + { + LS_Type = this.runtime.types[type]; + } + } + if (LS_Type) + { + this.LS_Instance = LS_Type.instances[0]; + this.LS_ProtoActions = cr.plugins_.LocalStorage.prototype.acts; + this.isLocalStorageLoaded = true; + return true; + } + } + console.log("\n*\n*\n*\nERROR: LocalStorage plugin not found. You must add LocalStorage plugin to the project. It's a JS library for SyncStorage plugin.\n*\n*\n*\n"); + return false; + }; + function Cnds() {}; + /** + * @returns {boolean} + */ + Cnds.prototype.OnLoaded = function() + { + return true; + }; + /** + * @returns {boolean} + */ + Cnds.prototype.OnLoadError = function() + { + return true; + }; + /** + * @returns {boolean} + */ + Cnds.prototype.IsLoaded = function() + { + return this.isStorageLoaded; + }; + /** + * @returns {boolean} + */ + Cnds.prototype.HasData = function(index_) + { + return this.hasData(index_); + }; + /** + * @returns {boolean} + */ + Cnds.prototype.CompareData = function(dataIndex_, cmp_, value_) + { + return cr.do_cmp(this.data[dataIndex_], cmp_, value_); + }; + /** + * @returns {boolean} + */ + Cnds.prototype.OnSave = function() + { + return true; + }; + /** + * @returns {boolean} + */ + Cnds.prototype.OnDataMissing = function() + { + return true; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetData = function(index_, value_) + { + this.data[index_] = value_; + }; + Acts.prototype.SaveData = function() + { + if(this.isLocalStorageReady()) + { + this.LS_ProtoActions.SetItem.call(this.LS_Instance, this.storageIndex, + this.isEncodingEnabled + ? this.encode(JSON.stringify(this.data)) + : JSON.stringify(this.data)); + } + this.runtime.trigger(cr.plugins_.SyncStorage.prototype.cnds.OnSave, this); + }; + Acts.prototype.LoadData = function() + { + if( ! this.isLocalStorageReady()) + { + this.lastErrorMsg = "Could not load data from LocalStorage. Possible reasons: \"LocalStorage IDX\" property not set or LocalStorage plugin is not added to the project."; + this.runtime.trigger(cr.plugins_.SyncStorage.prototype.cnds.OnLoadError, this); + this.lastErrorMsg = ""; + return; + } + var self = this; + localforage["getItem"](this.storageIndex, function (err, value) + { + if (err) + { + if ( ! err) + err = "unknown error"; + else if (typeof err.message === "string") + err = err.message; + else if (typeof err.name === "string") + err = err.name; + else if (typeof err.data === "string") + err = err.data; + else if (typeof err !== "string") + err = "unknown error"; + self.isStorageLoaded = false; + self.lastErrorMsg = err; + self.runtime.trigger(cr.plugins_.SyncStorage.prototype.cnds.OnLoadError, self); + self.lastErrorMsg = null; + } + else + { + if (typeof value === "undefined" || value === null || value === "") + { + self.data = {}; + self.runtime.trigger(cr.plugins_.SyncStorage.prototype.cnds.OnDataMissing, self); + } + else + { + self.data = self.isEncodingEnabled ? JSON.parse(self.decode(value)) : JSON.parse(value); + } + self.isStorageLoaded = true; + self.runtime.trigger(cr.plugins_.SyncStorage.prototype.cnds.OnLoaded, self); + } + }); + }; + Acts.prototype.ClearData = function() + { + this.data = {}; + }; + Acts.prototype.RemoveData = function(index_) + { + if(typeof this.data[index_] !== "undefined") + { + delete this.data[index_]; + } + }; + Acts.prototype.LoadString = function(data_) + { + try + { + if(data_ == "") + { + this.data = {}; + this.runtime.trigger(cr.plugins_.SyncStorage.prototype.cnds.OnDataMissing, this); + } + else + { + if(data_.charAt(0) === "{") + { + this.data = JSON.parse(data_); + } + else + { + this.data = JSON.parse(this.decode(data_)); + } + } + this.runtime.trigger(cr.plugins_.SyncStorage.prototype.cnds.OnLoaded, this); + } + catch(e) + { + this.lastErrorMsg = e.message; + this.runtime.trigger(cr.plugins_.SyncStorage.prototype.cnds.OnLoadError, this); + this.lastErrorMsg = ""; + } + }; + Acts.prototype.AddValue = function(index_, value_) + { + if ( ! this.hasData(index_)) + { + this.data[index_] = 0; + } + if ( ! isNaN(parseFloat(value_)) && isFinite(value_)) + { + this.data[index_] += value_; + } + }; + Acts.prototype.SubtractValue = function(index_, value_) + { + if ( ! this.hasData(index_)) + { + this.data[index_] = 0; + } + if ( ! isNaN(parseFloat(value_)) && isFinite(value_)) + { + this.data[index_] -= value_; + } + }; + Acts.prototype.AppendValue = function(index_, value_) + { + if ( ! this.hasData(index_)) + { + this.data[index_] = ""; + } + if (typeof value_ === "string") + { + this.data[index_] += value_; + } + }; + Acts.prototype.PrependValue = function(index_, value_) + { + if ( ! this.hasData(index_)) + { + this.data[index_] = ""; + } + if (typeof value_ === "string") + { + this.data[index_] = value_ + this.data[index_]; + } + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.GetData = function(ret, dataIndex_) + { + ret.set_any(this.data[dataIndex_]); + }; + Exps.prototype.StorageIndex = function(ret) + { + ret.set_string(this.storageIndex); + }; + Exps.prototype.HasData = function(ret, index_) + { + ret.set_int(+this.hasData(index_)); + }; + Exps.prototype.AsJSON = function(ret) + { + ret.set_string(JSON.stringify(this.data)); + }; + Exps.prototype.AsString = function(ret) + { + ret.set_string(this.isEncodingEnabled + ? this.encode(JSON.stringify(this.data)) + : JSON.stringify(this.data)); + }; + Exps.prototype.ErrorMsg = function(ret) + { + ret.set_string(this.lastErrorMsg); + }; + Exps.prototype.Get = function(ret, dataIndex_) + { + ret.set_any(this.data[dataIndex_]); + }; + Exps.prototype.Has = function(ret, index_) + { + ret.set_int(+this.hasData(index_)); + }; + instanceProto.encode = function (rawData) + { + var encodedData = Secret.encode(rawData); + var i; + for (i = 0; i < this.headSalt; i++) + { + encodedData = encodedData.charAt(Math.floor((Math.random() * (encodedData.length-1)))) + encodedData; + } + for (i = 0; i < this.tailSalt; i++) + { + encodedData += encodedData.charAt(Math.floor((Math.random() * (encodedData.length-1)))); + } + return encodedData; + }; + instanceProto.decode = function (encodedData) + { + var rawData = encodedData.substring(this.headSalt); + rawData = rawData.substring(0, rawData.length - this.tailSalt); + rawData = Secret.decode(rawData); + return rawData; + }; + instanceProto.hasData = function(index_) + { + return !! this.data[index_]; + }; + pluginProto.exps = new Exps(); + var Secret={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(r){var t,e,o,a,h,n,d,C="",i=0;for(r=Secret._utf8_encode(r);i>2,h=(3&t)<<4|(e=r.charCodeAt(i++))>>4,n=(15&e)<<2|(o=r.charCodeAt(i++))>>6,d=63&o,isNaN(e)?n=d=64:isNaN(o)&&(d=64),C=C+this._keyStr.charAt(a)+this._keyStr.charAt(h)+this._keyStr.charAt(n)+this._keyStr.charAt(d);return C},decode:function(r){var t,e,o,a,h,n,d="",C=0;for(r=r.replace(/[^A-Za-z0-9\+\/\=]/g,"");C>4,e=(15&a)<<4|(h=this._keyStr.indexOf(r.charAt(C++)))>>2,o=(3&h)<<6|(n=this._keyStr.indexOf(r.charAt(C++))),d+=String.fromCharCode(t),64!=h&&(d+=String.fromCharCode(e)),64!=n&&(d+=String.fromCharCode(o));return d=Secret._utf8_decode(d)},_utf8_encode:function(r){r=r.replace(/\r\n/g,"\n");for(var t="",e=0;e127&&o<2048?(t+=String.fromCharCode(o>>6|192),t+=String.fromCharCode(63&o|128)):(t+=String.fromCharCode(o>>12|224),t+=String.fromCharCode(o>>6&63|128),t+=String.fromCharCode(63&o|128))}return t},_utf8_decode:function(r){for(var t="",e=0,o=0,a=0,h=0;e191&&o<224?(a=r.charCodeAt(e+1),t+=String.fromCharCode((31&o)<<6|63&a),e+=2):(a=r.charCodeAt(e+1),h=r.charCodeAt(e+2),t+=String.fromCharCode((15&o)<<12|(63&a)<<6|63&h),e+=3);return t}}; +}()); +/** + * Object holder for the plugin + */ +cr.plugins_.TR_AdBlockDetector = function (runtime) +{ + this.runtime = runtime; +}; +/** + * C2 plugin + */ +(function () +{ + var pluginProto = cr.plugins_.TR_AdBlockDetector.prototype; + pluginProto.Type = function (plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function () + { + }; + /** + * C2 specific behaviour + */ + pluginProto.Instance = function (type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function () + { + this.adblock = false + }; + function Cnds() + { + } + /** * @returns {boolean} */ + Cnds.prototype.IsBlocking = function () + { + return (this.adblock); + }; + /** * @returns {boolean} */ + Cnds.prototype.IsReady = function () + { + return true; + }; + pluginProto.cnds = new Cnds(); + /** + * Plugin actions + */ + function Acts() + { + } + pluginProto.acts = new Acts(); + function Exps() + { + }; + Exps.prototype.IsBlocking = function (ret) + { + ret.set_int(+(this.adblock)); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.TR_ClockParser = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.TR_ClockParser.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + }; + instanceProto.onDestroy = function () + { + }; + function Cnds() {}; + pluginProto.cnds = new Cnds(); + function Acts() {}; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.Minimal = function(ret, seconds_) + { + seconds_ = parseInt(seconds_, 10); + var hours = Math.floor(seconds_ / 3600); + var minutes = Math.floor((seconds_ - (hours * 3600)) / 60); + var seconds = seconds_ - (hours * 3600) - (minutes * 60); + var clockString = ""; + if(hours > 0) + { + clockString += (hours < 10 ? "0" + hours : hours) + ":"; + } + if(hours > 0 || minutes > 0) + { + clockString += (minutes < 10 ? "0" + minutes : minutes) + ":"; + } + clockString += (seconds < 10 ? "0" + seconds : seconds); + ret.set_string(clockString); + }; + Exps.prototype.MMSS = function(ret, seconds_) + { + seconds_ = parseInt(seconds_, 10); + var minutes = Math.floor(seconds_ / 60); + var seconds = seconds_ - minutes * 60; + if (minutes < 10) { minutes = "0" +minutes; } + if (seconds < 10) { seconds = "0" + seconds; } + ret.set_string(minutes + ':' + seconds); + }; + Exps.prototype.HHMMSS = function(ret, seconds_) + { + seconds_ = parseInt(seconds_, 10); + var hours = Math.floor(seconds_ / 3600); + var minutes = Math.floor((seconds_ - (hours * 3600)) / 60); + var seconds = seconds_ - (hours * 3600) - (minutes * 60); + if (hours < 10) { hours = "0" + hours; } + if (minutes < 10) { minutes = "0" +minutes; } + if (seconds < 10) { seconds = "0" + seconds; } + ret.set_string(hours + ':' + minutes + ':' + seconds); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.Text = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Text.prototype; + pluginProto.onCreate = function () + { + pluginProto.acts.SetWidth = function (w) + { + if (this.width !== w) + { + this.width = w; + this.text_changed = true; // also recalculate text wrapping + this.set_bbox_changed(); + } + }; + }; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + typeProto.onLostWebGLContext = function () + { + if (this.is_family) + return; + var i, len, inst; + for (i = 0, len = this.instances.length; i < len; i++) + { + inst = this.instances[i]; + inst.mycanvas = null; + inst.myctx = null; + inst.mytex = null; + } + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + if (this.recycled) + cr.clearArray(this.lines); + else + this.lines = []; // for word wrapping + this.text_changed = true; + }; + var instanceProto = pluginProto.Instance.prototype; + var requestedWebFonts = {}; // already requested web fonts have an entry here + instanceProto.onCreate = function() + { + this.text = this.properties[0]; + this.visible = (this.properties[1] === 0); // 0=visible, 1=invisible + this.font = this.properties[2]; + this.color = this.properties[3]; + this.halign = this.properties[4]; // 0=left, 1=center, 2=right + this.valign = this.properties[5]; // 0=top, 1=center, 2=bottom + this.wrapbyword = (this.properties[7] === 0); // 0=word, 1=character + this.lastwidth = this.width; + this.lastwrapwidth = this.width; + this.lastheight = this.height; + this.line_height_offset = this.properties[8]; + this.facename = ""; + this.fontstyle = ""; + this.ptSize = 0; + this.textWidth = 0; + this.textHeight = 0; + this.parseFont(); + this.mycanvas = null; + this.myctx = null; + this.mytex = null; + this.need_text_redraw = false; + this.last_render_tick = this.runtime.tickcount; + if (this.recycled) + this.rcTex.set(0, 0, 1, 1); + else + this.rcTex = new cr.rect(0, 0, 1, 1); + if (this.runtime.glwrap) + this.runtime.tickMe(this); +; + }; + instanceProto.parseFont = function () + { + var arr = this.font.split(" "); + var i; + for (i = 0; i < arr.length; i++) + { + if (arr[i].substr(arr[i].length - 2, 2) === "pt") + { + this.ptSize = parseInt(arr[i].substr(0, arr[i].length - 2)); + this.pxHeight = Math.ceil((this.ptSize / 72.0) * 96.0) + 4; // assume 96dpi... + if (i > 0) + this.fontstyle = arr[i - 1]; + this.facename = arr[i + 1]; + for (i = i + 2; i < arr.length; i++) + this.facename += " " + arr[i]; + break; + } + } + }; + instanceProto.saveToJSON = function () + { + return { + "t": this.text, + "f": this.font, + "c": this.color, + "ha": this.halign, + "va": this.valign, + "wr": this.wrapbyword, + "lho": this.line_height_offset, + "fn": this.facename, + "fs": this.fontstyle, + "ps": this.ptSize, + "pxh": this.pxHeight, + "tw": this.textWidth, + "th": this.textHeight, + "lrt": this.last_render_tick + }; + }; + instanceProto.loadFromJSON = function (o) + { + this.text = o["t"]; + this.font = o["f"]; + this.color = o["c"]; + this.halign = o["ha"]; + this.valign = o["va"]; + this.wrapbyword = o["wr"]; + this.line_height_offset = o["lho"]; + this.facename = o["fn"]; + this.fontstyle = o["fs"]; + this.ptSize = o["ps"]; + this.pxHeight = o["pxh"]; + this.textWidth = o["tw"]; + this.textHeight = o["th"]; + this.last_render_tick = o["lrt"]; + this.text_changed = true; + this.lastwidth = this.width; + this.lastwrapwidth = this.width; + this.lastheight = this.height; + }; + instanceProto.tick = function () + { + if (this.runtime.glwrap && this.mytex && (this.runtime.tickcount - this.last_render_tick >= 300)) + { + var layer = this.layer; + this.update_bbox(); + var bbox = this.bbox; + if (bbox.right < layer.viewLeft || bbox.bottom < layer.viewTop || bbox.left > layer.viewRight || bbox.top > layer.viewBottom) + { + this.runtime.glwrap.deleteTexture(this.mytex); + this.mytex = null; + this.myctx = null; + this.mycanvas = null; + } + } + }; + instanceProto.onDestroy = function () + { + this.myctx = null; + this.mycanvas = null; + if (this.runtime.glwrap && this.mytex) + this.runtime.glwrap.deleteTexture(this.mytex); + this.mytex = null; + }; + instanceProto.updateFont = function () + { + this.font = this.fontstyle + " " + this.ptSize.toString() + "pt " + this.facename; + this.text_changed = true; + this.runtime.redraw = true; + }; + instanceProto.draw = function(ctx, glmode) + { + ctx.font = this.font; + ctx.textBaseline = "top"; + ctx.fillStyle = this.color; + ctx.globalAlpha = glmode ? 1 : this.opacity; + var myscale = 1; + if (glmode) + { + myscale = Math.abs(this.layer.getScale()); + ctx.save(); + ctx.scale(myscale, myscale); + } + if (this.text_changed || this.width !== this.lastwrapwidth) + { + this.type.plugin.WordWrap(this.text, this.lines, ctx, this.width, this.wrapbyword); + this.text_changed = false; + this.lastwrapwidth = this.width; + } + this.update_bbox(); + var penX = glmode ? 0 : this.bquad.tlx; + var penY = glmode ? 0 : this.bquad.tly; + if (this.runtime.pixel_rounding) + { + penX = (penX + 0.5) | 0; + penY = (penY + 0.5) | 0; + } + if (this.angle !== 0 && !glmode) + { + ctx.save(); + ctx.translate(penX, penY); + ctx.rotate(this.angle); + penX = 0; + penY = 0; + } + var endY = penY + this.height; + var line_height = this.pxHeight; + line_height += this.line_height_offset; + var drawX; + var i; + if (this.valign === 1) // center + penY += Math.max(this.height / 2 - (this.lines.length * line_height) / 2, 0); + else if (this.valign === 2) // bottom + penY += Math.max(this.height - (this.lines.length * line_height) - 2, 0); + for (i = 0; i < this.lines.length; i++) + { + drawX = penX; + if (this.halign === 1) // center + drawX = penX + (this.width - this.lines[i].width) / 2; + else if (this.halign === 2) // right + drawX = penX + (this.width - this.lines[i].width); + ctx.fillText(this.lines[i].text, drawX, penY); + penY += line_height; + if (penY >= endY - line_height) + break; + } + if (this.angle !== 0 || glmode) + ctx.restore(); + this.last_render_tick = this.runtime.tickcount; + }; + instanceProto.drawGL = function(glw) + { + if (this.width < 1 || this.height < 1) + return; + var need_redraw = this.text_changed || this.need_text_redraw; + this.need_text_redraw = false; + var layer_scale = this.layer.getScale(); + var layer_angle = this.layer.getAngle(); + var rcTex = this.rcTex; + var floatscaledwidth = layer_scale * this.width; + var floatscaledheight = layer_scale * this.height; + var scaledwidth = Math.ceil(floatscaledwidth); + var scaledheight = Math.ceil(floatscaledheight); + var absscaledwidth = Math.abs(scaledwidth); + var absscaledheight = Math.abs(scaledheight); + var halfw = this.runtime.draw_width / 2; + var halfh = this.runtime.draw_height / 2; + if (!this.myctx) + { + this.mycanvas = document.createElement("canvas"); + this.mycanvas.width = absscaledwidth; + this.mycanvas.height = absscaledheight; + this.lastwidth = absscaledwidth; + this.lastheight = absscaledheight; + need_redraw = true; + this.myctx = this.mycanvas.getContext("2d"); + } + if (absscaledwidth !== this.lastwidth || absscaledheight !== this.lastheight) + { + this.mycanvas.width = absscaledwidth; + this.mycanvas.height = absscaledheight; + if (this.mytex) + { + glw.deleteTexture(this.mytex); + this.mytex = null; + } + need_redraw = true; + } + if (need_redraw) + { + this.myctx.clearRect(0, 0, absscaledwidth, absscaledheight); + this.draw(this.myctx, true); + if (!this.mytex) + this.mytex = glw.createEmptyTexture(absscaledwidth, absscaledheight, this.runtime.linearSampling, this.runtime.isMobile); + glw.videoToTexture(this.mycanvas, this.mytex, this.runtime.isMobile); + } + this.lastwidth = absscaledwidth; + this.lastheight = absscaledheight; + glw.setTexture(this.mytex); + glw.setOpacity(this.opacity); + glw.resetModelView(); + glw.translate(-halfw, -halfh); + glw.updateModelView(); + var q = this.bquad; + var tlx = this.layer.layerToCanvas(q.tlx, q.tly, true, true); + var tly = this.layer.layerToCanvas(q.tlx, q.tly, false, true); + var trx = this.layer.layerToCanvas(q.trx, q.try_, true, true); + var try_ = this.layer.layerToCanvas(q.trx, q.try_, false, true); + var brx = this.layer.layerToCanvas(q.brx, q.bry, true, true); + var bry = this.layer.layerToCanvas(q.brx, q.bry, false, true); + var blx = this.layer.layerToCanvas(q.blx, q.bly, true, true); + var bly = this.layer.layerToCanvas(q.blx, q.bly, false, true); + if (this.runtime.pixel_rounding || (this.angle === 0 && layer_angle === 0)) + { + var ox = ((tlx + 0.5) | 0) - tlx; + var oy = ((tly + 0.5) | 0) - tly + tlx += ox; + tly += oy; + trx += ox; + try_ += oy; + brx += ox; + bry += oy; + blx += ox; + bly += oy; + } + if (this.angle === 0 && layer_angle === 0) + { + trx = tlx + scaledwidth; + try_ = tly; + brx = trx; + bry = tly + scaledheight; + blx = tlx; + bly = bry; + rcTex.right = 1; + rcTex.bottom = 1; + } + else + { + rcTex.right = floatscaledwidth / scaledwidth; + rcTex.bottom = floatscaledheight / scaledheight; + } + glw.quadTex(tlx, tly, trx, try_, brx, bry, blx, bly, rcTex); + glw.resetModelView(); + glw.scale(layer_scale, layer_scale); + glw.rotateZ(-this.layer.getAngle()); + glw.translate((this.layer.viewLeft + this.layer.viewRight) / -2, (this.layer.viewTop + this.layer.viewBottom) / -2); + glw.updateModelView(); + this.last_render_tick = this.runtime.tickcount; + }; + var wordsCache = []; + pluginProto.TokeniseWords = function (text) + { + cr.clearArray(wordsCache); + var cur_word = ""; + var ch; + var i = 0; + while (i < text.length) + { + ch = text.charAt(i); + if (ch === "\n") + { + if (cur_word.length) + { + wordsCache.push(cur_word); + cur_word = ""; + } + wordsCache.push("\n"); + ++i; + } + else if (ch === " " || ch === "\t" || ch === "-") + { + do { + cur_word += text.charAt(i); + i++; + } + while (i < text.length && (text.charAt(i) === " " || text.charAt(i) === "\t")); + wordsCache.push(cur_word); + cur_word = ""; + } + else if (i < text.length) + { + cur_word += ch; + i++; + } + } + if (cur_word.length) + wordsCache.push(cur_word); + }; + var linesCache = []; + function allocLine() + { + if (linesCache.length) + return linesCache.pop(); + else + return {}; + }; + function freeLine(l) + { + linesCache.push(l); + }; + function freeAllLines(arr) + { + var i, len; + for (i = 0, len = arr.length; i < len; i++) + { + freeLine(arr[i]); + } + cr.clearArray(arr); + }; + pluginProto.WordWrap = function (text, lines, ctx, width, wrapbyword) + { + if (!text || !text.length) + { + freeAllLines(lines); + return; + } + if (width <= 2.0) + { + freeAllLines(lines); + return; + } + if (text.length <= 100 && text.indexOf("\n") === -1) + { + var all_width = ctx.measureText(text).width; + if (all_width <= width) + { + freeAllLines(lines); + lines.push(allocLine()); + lines[0].text = text; + lines[0].width = all_width; + return; + } + } + this.WrapText(text, lines, ctx, width, wrapbyword); + }; + function trimSingleSpaceRight(str) + { + if (!str.length || str.charAt(str.length - 1) !== " ") + return str; + return str.substring(0, str.length - 1); + }; + pluginProto.WrapText = function (text, lines, ctx, width, wrapbyword) + { + var wordArray; + if (wrapbyword) + { + this.TokeniseWords(text); // writes to wordsCache + wordArray = wordsCache; + } + else + wordArray = text; + var cur_line = ""; + var prev_line; + var line_width; + var i; + var lineIndex = 0; + var line; + for (i = 0; i < wordArray.length; i++) + { + if (wordArray[i] === "\n") + { + if (lineIndex >= lines.length) + lines.push(allocLine()); + cur_line = trimSingleSpaceRight(cur_line); // for correct center/right alignment + line = lines[lineIndex]; + line.text = cur_line; + line.width = ctx.measureText(cur_line).width; + lineIndex++; + cur_line = ""; + continue; + } + prev_line = cur_line; + cur_line += wordArray[i]; + line_width = ctx.measureText(cur_line).width; + if (line_width >= width) + { + if (lineIndex >= lines.length) + lines.push(allocLine()); + prev_line = trimSingleSpaceRight(prev_line); + line = lines[lineIndex]; + line.text = prev_line; + line.width = ctx.measureText(prev_line).width; + lineIndex++; + cur_line = wordArray[i]; + if (!wrapbyword && cur_line === " ") + cur_line = ""; + } + } + if (cur_line.length) + { + if (lineIndex >= lines.length) + lines.push(allocLine()); + cur_line = trimSingleSpaceRight(cur_line); + line = lines[lineIndex]; + line.text = cur_line; + line.width = ctx.measureText(cur_line).width; + lineIndex++; + } + for (i = lineIndex; i < lines.length; i++) + freeLine(lines[i]); + lines.length = lineIndex; + }; + function Cnds() {}; + Cnds.prototype.CompareText = function(text_to_compare, case_sensitive) + { + if (case_sensitive) + return this.text == text_to_compare; + else + return cr.equals_nocase(this.text, text_to_compare); + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetText = function(param) + { + if (cr.is_number(param) && param < 1e9) + param = Math.round(param * 1e10) / 1e10; // round to nearest ten billionth - hides floating point errors + var text_to_set = param.toString(); + if (this.text !== text_to_set) + { + this.text = text_to_set; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.AppendText = function(param) + { + if (cr.is_number(param)) + param = Math.round(param * 1e10) / 1e10; // round to nearest ten billionth - hides floating point errors + var text_to_append = param.toString(); + if (text_to_append) // not empty + { + this.text += text_to_append; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.SetFontFace = function (face_, style_) + { + var newstyle = ""; + switch (style_) { + case 1: newstyle = "bold"; break; + case 2: newstyle = "italic"; break; + case 3: newstyle = "bold italic"; break; + } + if (face_ === this.facename && newstyle === this.fontstyle) + return; // no change + this.facename = face_; + this.fontstyle = newstyle; + this.updateFont(); + }; + Acts.prototype.SetFontSize = function (size_) + { + if (this.ptSize === size_) + return; + this.ptSize = size_; + this.pxHeight = Math.ceil((this.ptSize / 72.0) * 96.0) + 4; // assume 96dpi... + this.updateFont(); + }; + Acts.prototype.SetFontColor = function (rgb) + { + var newcolor = "rgb(" + cr.GetRValue(rgb).toString() + "," + cr.GetGValue(rgb).toString() + "," + cr.GetBValue(rgb).toString() + ")"; + if (newcolor === this.color) + return; + this.color = newcolor; + this.need_text_redraw = true; + this.runtime.redraw = true; + }; + Acts.prototype.SetWebFont = function (familyname_, cssurl_) + { + if (this.runtime.isDomFree) + { + cr.logexport("[Construct 2] Text plugin: 'Set web font' not supported on this platform - the action has been ignored"); + return; // DC todo + } + var self = this; + var refreshFunc = (function () { + self.runtime.redraw = true; + self.text_changed = true; + }); + if (requestedWebFonts.hasOwnProperty(cssurl_)) + { + var newfacename = "'" + familyname_ + "'"; + if (this.facename === newfacename) + return; // no change + this.facename = newfacename; + this.updateFont(); + for (var i = 1; i < 10; i++) + { + setTimeout(refreshFunc, i * 100); + setTimeout(refreshFunc, i * 1000); + } + return; + } + var wf = document.createElement("link"); + wf.href = cssurl_; + wf.rel = "stylesheet"; + wf.type = "text/css"; + wf.onload = refreshFunc; + document.getElementsByTagName('head')[0].appendChild(wf); + requestedWebFonts[cssurl_] = true; + this.facename = "'" + familyname_ + "'"; + this.updateFont(); + for (var i = 1; i < 10; i++) + { + setTimeout(refreshFunc, i * 100); + setTimeout(refreshFunc, i * 1000); + } +; + }; + Acts.prototype.SetEffect = function (effect) + { + this.blend_mode = effect; + this.compositeOp = cr.effectToCompositeOp(effect); + cr.setGLBlend(this, effect, this.runtime.gl); + this.runtime.redraw = true; + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.Text = function(ret) + { + ret.set_string(this.text); + }; + Exps.prototype.FaceName = function (ret) + { + ret.set_string(this.facename); + }; + Exps.prototype.FaceSize = function (ret) + { + ret.set_int(this.ptSize); + }; + Exps.prototype.TextWidth = function (ret) + { + var w = 0; + var i, len, x; + for (i = 0, len = this.lines.length; i < len; i++) + { + x = this.lines[i].width; + if (w < x) + w = x; + } + ret.set_int(w); + }; + Exps.prototype.TextHeight = function (ret) + { + ret.set_int(this.lines.length * (this.pxHeight + this.line_height_offset) - this.line_height_offset); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.TextBox = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.TextBox.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + var elemTypes = ["text", "password", "email", "number", "tel", "url"]; + if (navigator.userAgent.indexOf("MSIE 9") > -1) + { + elemTypes[2] = "text"; + elemTypes[3] = "text"; + elemTypes[4] = "text"; + elemTypes[5] = "text"; + } + instanceProto.onCreate = function() + { + if (this.runtime.isDomFree) + { + cr.logexport("[Construct 2] Textbox plugin not supported on this platform - the object will not be created"); + return; + } + if (this.properties[7] === 6) // textarea + { + this.elem = document.createElement("textarea"); + jQuery(this.elem).css("resize", "none"); + } + else + { + this.elem = document.createElement("input"); + this.elem.type = elemTypes[this.properties[7]]; + } + this.elem.id = this.properties[9]; + jQuery(this.elem).appendTo(this.runtime.canvasdiv ? this.runtime.canvasdiv : "body"); + this.elem["autocomplete"] = "off"; + this.elem.value = this.properties[0]; + this.elem["placeholder"] = this.properties[1]; + this.elem.title = this.properties[2]; + this.elem.disabled = (this.properties[4] === 0); + this.elem["readOnly"] = (this.properties[5] === 1); + this.elem["spellcheck"] = (this.properties[6] === 1); + this.autoFontSize = (this.properties[8] !== 0); + this.element_hidden = false; + if (this.properties[3] === 0) + { + jQuery(this.elem).hide(); + this.visible = false; + this.element_hidden = true; + } + var onchangetrigger = (function (self) { + return function() { + self.runtime.trigger(cr.plugins_.TextBox.prototype.cnds.OnTextChanged, self); + }; + })(this); + this.elem["oninput"] = onchangetrigger; + if (navigator.userAgent.indexOf("MSIE") !== -1) + this.elem["oncut"] = onchangetrigger; + this.elem.onclick = (function (self) { + return function(e) { + e.stopPropagation(); + self.runtime.isInUserInputEvent = true; + self.runtime.trigger(cr.plugins_.TextBox.prototype.cnds.OnClicked, self); + self.runtime.isInUserInputEvent = false; + }; + })(this); + this.elem.ondblclick = (function (self) { + return function(e) { + e.stopPropagation(); + self.runtime.isInUserInputEvent = true; + self.runtime.trigger(cr.plugins_.TextBox.prototype.cnds.OnDoubleClicked, self); + self.runtime.isInUserInputEvent = false; + }; + })(this); + this.elem.addEventListener("touchstart", function (e) { + e.stopPropagation(); + }, false); + this.elem.addEventListener("touchmove", function (e) { + e.stopPropagation(); + }, false); + this.elem.addEventListener("touchend", function (e) { + e.stopPropagation(); + }, false); + jQuery(this.elem).mousedown(function (e) { + e.stopPropagation(); + }); + jQuery(this.elem).mouseup(function (e) { + e.stopPropagation(); + }); + jQuery(this.elem).keydown(function (e) { + if (e.which !== 13 && e.which != 27) // allow enter and escape + e.stopPropagation(); + }); + jQuery(this.elem).keyup(function (e) { + if (e.which !== 13 && e.which != 27) // allow enter and escape + e.stopPropagation(); + }); + this.lastLeft = 0; + this.lastTop = 0; + this.lastRight = 0; + this.lastBottom = 0; + this.lastWinWidth = 0; + this.lastWinHeight = 0; + this.updatePosition(true); + this.runtime.tickMe(this); + }; + instanceProto.saveToJSON = function () + { + return { + "text": this.elem.value, + "placeholder": this.elem.placeholder, + "tooltip": this.elem.title, + "disabled": !!this.elem.disabled, + "readonly": !!this.elem.readOnly, + "spellcheck": !!this.elem["spellcheck"] + }; + }; + instanceProto.loadFromJSON = function (o) + { + this.elem.value = o["text"]; + this.elem.placeholder = o["placeholder"]; + this.elem.title = o["tooltip"]; + this.elem.disabled = o["disabled"]; + this.elem.readOnly = o["readonly"]; + this.elem["spellcheck"] = o["spellcheck"]; + }; + instanceProto.onDestroy = function () + { + if (this.runtime.isDomFree) + return; + jQuery(this.elem).remove(); + this.elem = null; + }; + instanceProto.tick = function () + { + this.updatePosition(); + }; + instanceProto.updatePosition = function (first) + { + if (this.runtime.isDomFree) + return; + var left = this.layer.layerToCanvas(this.x, this.y, true); + var top = this.layer.layerToCanvas(this.x, this.y, false); + var right = this.layer.layerToCanvas(this.x + this.width, this.y + this.height, true); + var bottom = this.layer.layerToCanvas(this.x + this.width, this.y + this.height, false); + var rightEdge = this.runtime.width / this.runtime.devicePixelRatio; + var bottomEdge = this.runtime.height / this.runtime.devicePixelRatio; + if (!this.visible || !this.layer.visible || right <= 0 || bottom <= 0 || left >= rightEdge || top >= bottomEdge) + { + if (!this.element_hidden) + jQuery(this.elem).hide(); + this.element_hidden = true; + return; + } + if (left < 1) + left = 1; + if (top < 1) + top = 1; + if (right >= rightEdge) + right = rightEdge - 1; + if (bottom >= bottomEdge) + bottom = bottomEdge - 1; + var curWinWidth = window.innerWidth; + var curWinHeight = window.innerHeight; + if (!first && this.lastLeft === left && this.lastTop === top && this.lastRight === right && this.lastBottom === bottom && this.lastWinWidth === curWinWidth && this.lastWinHeight === curWinHeight) + { + if (this.element_hidden) + { + jQuery(this.elem).show(); + this.element_hidden = false; + } + return; + } + this.lastLeft = left; + this.lastTop = top; + this.lastRight = right; + this.lastBottom = bottom; + this.lastWinWidth = curWinWidth; + this.lastWinHeight = curWinHeight; + if (this.element_hidden) + { + jQuery(this.elem).show(); + this.element_hidden = false; + } + var offx = Math.round(left) + jQuery(this.runtime.canvas).offset().left; + var offy = Math.round(top) + jQuery(this.runtime.canvas).offset().top; + jQuery(this.elem).css("position", "absolute"); + jQuery(this.elem).offset({left: offx, top: offy}); + jQuery(this.elem).width(Math.round(right - left)); + jQuery(this.elem).height(Math.round(bottom - top)); + if (this.autoFontSize) + jQuery(this.elem).css("font-size", ((this.layer.getScale(true) / this.runtime.devicePixelRatio) - 0.2) + "em"); + }; + instanceProto.draw = function(ctx) + { + }; + instanceProto.drawGL = function(glw) + { + }; + function Cnds() {}; + Cnds.prototype.CompareText = function (text, case_) + { + if (this.runtime.isDomFree) + return false; + if (case_ === 0) // insensitive + return cr.equals_nocase(this.elem.value, text); + else + return this.elem.value === text; + }; + Cnds.prototype.OnTextChanged = function () + { + return true; + }; + Cnds.prototype.OnClicked = function () + { + return true; + }; + Cnds.prototype.OnDoubleClicked = function () + { + return true; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetText = function (text) + { + if (this.runtime.isDomFree) + return; + this.elem.value = text; + }; + Acts.prototype.SetPlaceholder = function (text) + { + if (this.runtime.isDomFree) + return; + this.elem.placeholder = text; + }; + Acts.prototype.SetTooltip = function (text) + { + if (this.runtime.isDomFree) + return; + this.elem.title = text; + }; + Acts.prototype.SetVisible = function (vis) + { + if (this.runtime.isDomFree) + return; + this.visible = (vis !== 0); + }; + Acts.prototype.SetEnabled = function (en) + { + if (this.runtime.isDomFree) + return; + this.elem.disabled = (en === 0); + }; + Acts.prototype.SetReadOnly = function (ro) + { + if (this.runtime.isDomFree) + return; + this.elem.readOnly = (ro === 0); + }; + Acts.prototype.SetFocus = function () + { + if (this.runtime.isDomFree) + return; + this.elem.focus(); + }; + Acts.prototype.SetBlur = function () + { + if (this.runtime.isDomFree) + return; + this.elem.blur(); + }; + Acts.prototype.SetCSSStyle = function (p, v) + { + if (this.runtime.isDomFree) + return; + jQuery(this.elem).css(p, v); + }; + Acts.prototype.ScrollToBottom = function () + { + if (this.runtime.isDomFree) + return; + this.elem.scrollTop = this.elem.scrollHeight; + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.Text = function (ret) + { + if (this.runtime.isDomFree) + { + ret.set_string(""); + return; + } + ret.set_string(this.elem.value); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.TextModded = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.TextModded.prototype; + pluginProto.onCreate = function () + { + pluginProto.acts.SetWidth = function (w) + { + if (this.width !== w) + { + this.width = w; + this.text_changed = true; // also recalculate text wrapping + this.set_bbox_changed(); + } + }; + }; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + typeProto.onLostWebGLContext = function () + { + if (this.is_family) + return; + var i, len, inst; + for (i = 0, len = this.instances.length; i < len; i++) + { + inst = this.instances[i]; + inst.mycanvas = null; + inst.myctx = null; + inst.mytex = null; + } + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + if (this.recycled) + cr.clearArray(this.lines); + else + this.lines = []; // for word wrapping + this.text_changed = true; + }; + var instanceProto = pluginProto.Instance.prototype; + var requestedWebFonts = {}; // already requested web fonts have an entry here + instanceProto.onCreate = function() + { + this.text = this.properties[0]; + this.visible = (this.properties[1] === 0); // 0=visible, 1=invisible + this.font = this.properties[2]; + this.color = this.properties[3]; + this.clamp = this.properties[4]===0; + if(this.clamp){ + this.halign = cr.clamp(this.properties[5], 0, 100); // 0=left, 1=center, 2=right + this.valign = cr.clamp(this.properties[6], 0, 100); // 0=top, 1=center, 2=bottom + } + else{ + this.halign = this.properties[5]; // 0=left, 1=center, 2=right + this.valign = this.properties[6]; // 0=top, 1=center, 2=bottom + } + this.wrapbyword = (this.properties[8] === 0); + this.nowrap = (this.properties[8] === 2); + this.wrap = this.properties[8]; // 0=word, 1=character 2=none + this.lastwidth = this.width; + this.lastwrapwidth = this.width; + this.lastheight = this.height; + this.line_height_offset = this.properties[9]; + this.facename = ""; + this.fontstyle = ""; + this.ptSize = 0; + this.textWidth = 0; + this.textHeight = 0; + this.parseFont(); + this.mycanvas = null; + this.myctx = null; + this.mytex = null; + this.need_text_redraw = false; + this.last_render_tick = this.runtime.tickcount; + if (this.recycled) + this.rcTex.set(0, 0, 1, 1); + else + this.rcTex = new cr.rect(0, 0, 1, 1); + if (this.runtime.glwrap) + this.runtime.tickMe(this); +; + }; + instanceProto.parseFont = function () + { + var arr = this.font.split(" "); + var i; + for (i = 0; i < arr.length; i++) + { + if (arr[i].substr(arr[i].length - 2, 2) === "pt") + { + this.ptSize = parseInt(arr[i].substr(0, arr[i].length - 2)); + this.pxHeight = Math.ceil((this.ptSize / 72.0) * 96.0) + 4; // assume 96dpi... + if (i > 0) + this.fontstyle = arr[i - 1]; + this.facename = arr[i + 1]; + for (i = i + 2; i < arr.length; i++) + this.facename += " " + arr[i]; + break; + } + } + }; + instanceProto.saveToJSON = function () + { + return { + "t": this.text, + "f": this.font, + "c": this.color, + "ha": this.halign, + "va": this.valign, + "clamp": this.clamp, + "wr": this.wrapbyword, + "nw": this.nowrap, + "wrap": this.wrap, + "lho": this.line_height_offset, + "fn": this.facename, + "fs": this.fontstyle, + "ps": this.ptSize, + "pxh": this.pxHeight, + "tw": this.textWidth, + "th": this.textHeight, + "lrt": this.last_render_tick + }; + }; + instanceProto.loadFromJSON = function (o) + { + this.text = o["t"]; + this.font = o["f"]; + this.color = o["c"]; + this.halign = o["ha"]; + this.valign = o["va"]; + this.clamp = o["clamp"]; + this.wrapbyword = o["wr"]; + this.nowrap = o["nw"]; + this.wrap = o["wrap"]; + this.line_height_offset = o["lho"]; + this.facename = o["fn"]; + this.fontstyle = o["fs"]; + this.ptSize = o["ps"]; + this.pxHeight = o["pxh"]; + this.textWidth = o["tw"]; + this.textHeight = o["th"]; + this.last_render_tick = o["lrt"]; + this.text_changed = true; + this.lastwidth = this.width; + this.lastwrapwidth = this.width; + this.lastheight = this.height; + }; + instanceProto.tick = function () + { + if (this.runtime.glwrap && this.mytex && (this.runtime.tickcount - this.last_render_tick >= 300)) + { + var layer = this.layer; + this.update_bbox(); + var bbox = this.bbox; + if (bbox.right < layer.viewLeft || bbox.bottom < layer.viewTop || bbox.left > layer.viewRight || bbox.top > layer.viewBottom) + { + this.runtime.glwrap.deleteTexture(this.mytex); + this.mytex = null; + this.myctx = null; + this.mycanvas = null; + } + } + }; + instanceProto.onDestroy = function () + { + this.myctx = null; + this.mycanvas = null; + if (this.runtime.glwrap && this.mytex) + this.runtime.glwrap.deleteTexture(this.mytex); + this.mytex = null; + }; + instanceProto.updateFont = function () + { + this.font = this.fontstyle + " " + this.ptSize.toString() + "pt " + this.facename; + this.text_changed = true; + this.runtime.redraw = true; + }; + instanceProto.draw = function(ctx, glmode) + { + ctx.font = this.font; + ctx.textBaseline = "top"; + ctx.fillStyle = this.color; + ctx.globalAlpha = glmode ? 1 : this.opacity; + var myscale = 1; + if (glmode) + { + myscale = Math.abs(this.layer.getScale()); + ctx.save(); + ctx.scale(myscale, myscale); + } + if (this.text_changed || this.width !== this.lastwrapwidth) + { + this.type.plugin.WordWrap(this.text, this.lines, ctx, this.width, this.wrapbyword, this.nowrap); + this.text_changed = false; + this.lastwrapwidth = this.width; + } + this.update_bbox(); + var penX = glmode ? 0 : this.bquad.tlx; + var penY = glmode ? 0 : this.bquad.tly; + if (this.runtime.pixel_rounding) + { + penX = (penX + 0.5) | 0; + penY = (penY + 0.5) | 0; + } + if (this.angle !== 0 && !glmode) + { + ctx.save(); + ctx.translate(penX, penY); + ctx.rotate(this.angle); + penX = 0; + penY = 0; + } + var endY = penY + this.height; + var line_height = this.pxHeight; + line_height += this.line_height_offset; + var drawX; + var i; + var fucker = 0 + if (this.valign > 50){ + var fucker = 2 * (this.valign - 50 )/50 + } + penY += Math.max(this.height * this.valign/100 - (this.lines.length * line_height) * this.valign/100 - fucker, 0); + /* + if (this.valign === 50) // center + penY += Math.max(this.height / 2 - (this.lines.length * line_height) / 2, 0); + else if (this.valign === 100) // bottom + penY += Math.max(this.height - (this.lines.length * line_height) - 2, 0); + */ + for (i = 0; i < this.lines.length; i++) + { + drawX = penX+ (this.width - this.lines[i].width) * this.halign/100; + /*if (this.halign === 1) // center + drawX = penX + (this.width - this.lines[i].width) / 2; + else if (this.halign === 2) // right + drawX = penX + (this.width - this.lines[i].width); + */ + ctx.fillText(this.lines[i].text, drawX, penY); + penY += line_height; + if (penY >= endY - line_height) + break; + } + if (this.angle !== 0 || glmode) + ctx.restore(); + this.last_render_tick = this.runtime.tickcount; + }; + instanceProto.drawGL = function(glw) + { + if (this.width < 1 || this.height < 1) + return; + var need_redraw = this.text_changed || this.need_text_redraw; + this.need_text_redraw = false; + var layer_scale = this.layer.getScale(); + var layer_angle = this.layer.getAngle(); + var rcTex = this.rcTex; + var floatscaledwidth = layer_scale * this.width; + var floatscaledheight = layer_scale * this.height; + var scaledwidth = Math.ceil(floatscaledwidth); + var scaledheight = Math.ceil(floatscaledheight); + var absscaledwidth = Math.abs(scaledwidth); + var absscaledheight = Math.abs(scaledheight); + var halfw = this.runtime.draw_width / 2; + var halfh = this.runtime.draw_height / 2; + if (!this.myctx) + { + this.mycanvas = document.createElement("canvas"); + this.mycanvas.width = absscaledwidth; + this.mycanvas.height = absscaledheight; + this.lastwidth = absscaledwidth; + this.lastheight = absscaledheight; + need_redraw = true; + this.myctx = this.mycanvas.getContext("2d"); + } + if (absscaledwidth !== this.lastwidth || absscaledheight !== this.lastheight) + { + this.mycanvas.width = absscaledwidth; + this.mycanvas.height = absscaledheight; + if (this.mytex) + { + glw.deleteTexture(this.mytex); + this.mytex = null; + } + need_redraw = true; + } + if (need_redraw) + { + this.myctx.clearRect(0, 0, absscaledwidth, absscaledheight); + this.draw(this.myctx, true); + if (!this.mytex) + this.mytex = glw.createEmptyTexture(absscaledwidth, absscaledheight, this.runtime.linearSampling, this.runtime.isMobile); + glw.videoToTexture(this.mycanvas, this.mytex, this.runtime.isMobile); + } + this.lastwidth = absscaledwidth; + this.lastheight = absscaledheight; + glw.setTexture(this.mytex); + glw.setOpacity(this.opacity); + glw.resetModelView(); + glw.translate(-halfw, -halfh); + glw.updateModelView(); + var q = this.bquad; + var tlx = this.layer.layerToCanvas(q.tlx, q.tly, true, true); + var tly = this.layer.layerToCanvas(q.tlx, q.tly, false, true); + var trx = this.layer.layerToCanvas(q.trx, q.try_, true, true); + var try_ = this.layer.layerToCanvas(q.trx, q.try_, false, true); + var brx = this.layer.layerToCanvas(q.brx, q.bry, true, true); + var bry = this.layer.layerToCanvas(q.brx, q.bry, false, true); + var blx = this.layer.layerToCanvas(q.blx, q.bly, true, true); + var bly = this.layer.layerToCanvas(q.blx, q.bly, false, true); + if (this.runtime.pixel_rounding || (this.angle === 0 && layer_angle === 0)) + { + var ox = ((tlx + 0.5) | 0) - tlx; + var oy = ((tly + 0.5) | 0) - tly + tlx += ox; + tly += oy; + trx += ox; + try_ += oy; + brx += ox; + bry += oy; + blx += ox; + bly += oy; + } + if (this.angle === 0 && layer_angle === 0) + { + trx = tlx + scaledwidth; + try_ = tly; + brx = trx; + bry = tly + scaledheight; + blx = tlx; + bly = bry; + rcTex.right = 1; + rcTex.bottom = 1; + } + else + { + rcTex.right = floatscaledwidth / scaledwidth; + rcTex.bottom = floatscaledheight / scaledheight; + } + glw.quadTex(tlx, tly, trx, try_, brx, bry, blx, bly, rcTex); + glw.resetModelView(); + glw.scale(layer_scale, layer_scale); + glw.rotateZ(-this.layer.getAngle()); + glw.translate((this.layer.viewLeft + this.layer.viewRight) / -2, (this.layer.viewTop + this.layer.viewBottom) / -2); + glw.updateModelView(); + this.last_render_tick = this.runtime.tickcount; + }; + var wordsCache = []; + pluginProto.TokeniseWords = function (text) + { + cr.clearArray(wordsCache); + var cur_word = ""; + var ch; + var i = 0; + while (i < text.length) + { + ch = text.charAt(i); + if (ch === "\n") + { + if (cur_word.length) + { + wordsCache.push(cur_word); + cur_word = ""; + } + wordsCache.push("\n"); + ++i; + } + else if (ch === " " || ch === "\t" || ch === "-") + { + do { + cur_word += text.charAt(i); + i++; + } + while (i < text.length && (text.charAt(i) === " " || text.charAt(i) === "\t")); + wordsCache.push(cur_word); + cur_word = ""; + } + else if (i < text.length) + { + cur_word += ch; + i++; + } + } + if (cur_word.length) + wordsCache.push(cur_word); + }; + var linesCache = []; + function allocLine() + { + if (linesCache.length) + return linesCache.pop(); + else + return {}; + }; + function freeLine(l) + { + linesCache.push(l); + }; + function freeAllLines(arr) + { + var i, len; + for (i = 0, len = arr.length; i < len; i++) + { + freeLine(arr[i]); + } + cr.clearArray(arr); + }; + pluginProto.WordWrap = function (text, lines, ctx, width, wrapbyword, nowrap) + { + if (!text || !text.length) + { + freeAllLines(lines); + return; + } + if (width <= 2.0) + { + freeAllLines(lines); + return; + } + if (text.length <= 100 && text.indexOf("\n") === -1) + { + var all_width = ctx.measureText(text).width; + if (all_width <= width) + { + freeAllLines(lines); + lines.push(allocLine()); + lines[0].text = text; + lines[0].width = all_width; + return; + } + } + if(nowrap){ + var all_width = ctx.measureText(text).width; + freeAllLines(lines); + lines.push(allocLine()); + lines[0].text = text; + lines[0].width = all_width; + } + else{ + this.WrapText(text, lines, ctx, width, wrapbyword); + } + }; + function trimSingleSpaceRight(str) + { + if (!str.length || str.charAt(str.length - 1) !== " ") + return str; + return str.substring(0, str.length - 1); + }; + pluginProto.WrapText = function (text, lines, ctx, width, wrapbyword) + { + var wordArray; + if (wrapbyword) + { + this.TokeniseWords(text); // writes to wordsCache + wordArray = wordsCache; + } + else + wordArray = text; + var cur_line = ""; + var prev_line; + var line_width; + var i; + var lineIndex = 0; + var line; + for (i = 0; i < wordArray.length; i++) + { + if (wordArray[i] === "\n") + { + if (lineIndex >= lines.length) + lines.push(allocLine()); + cur_line = trimSingleSpaceRight(cur_line); // for correct center/right alignment + line = lines[lineIndex]; + line.text = cur_line; + line.width = ctx.measureText(cur_line).width; + lineIndex++; + cur_line = ""; + continue; + } + prev_line = cur_line; + cur_line += wordArray[i]; + line_width = ctx.measureText(cur_line).width; + if (line_width >= width) + { + if (lineIndex >= lines.length) + lines.push(allocLine()); + prev_line = trimSingleSpaceRight(prev_line); + line = lines[lineIndex]; + line.text = prev_line; + line.width = ctx.measureText(prev_line).width; + lineIndex++; + cur_line = wordArray[i]; + if (!wrapbyword && cur_line === " ") + cur_line = ""; + } + } + if (cur_line.length) + { + if (lineIndex >= lines.length) + lines.push(allocLine()); + cur_line = trimSingleSpaceRight(cur_line); + line = lines[lineIndex]; + line.text = cur_line; + line.width = ctx.measureText(cur_line).width; + lineIndex++; + } + for (i = lineIndex; i < lines.length; i++) + freeLine(lines[i]); + lines.length = lineIndex; + }; + function Cnds() {}; + Cnds.prototype.CompareText = function(text_to_compare, case_sensitive) + { + if (case_sensitive) + return this.text == text_to_compare; + else + return cr.equals_nocase(this.text, text_to_compare); + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetText = function(param) + { + if (cr.is_number(param) && param < 1e9) + param = Math.round(param * 1e10) / 1e10; // round to nearest ten billionth - hides floating point errors + var text_to_set = param.toString(); + if (this.text !== text_to_set) + { + this.text = text_to_set; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.AppendText = function(param) + { + if (cr.is_number(param)) + param = Math.round(param * 1e10) / 1e10; // round to nearest ten billionth - hides floating point errors + var text_to_append = param.toString(); + if (text_to_append) // not empty + { + this.text += text_to_append; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.SetFontFace = function (face_, style_) + { + var newstyle = ""; + switch (style_) { + case 1: newstyle = "bold"; break; + case 2: newstyle = "italic"; break; + case 3: newstyle = "bold italic"; break; + } + if (face_ === this.facename && newstyle === this.fontstyle) + return; // no change + this.facename = face_; + this.fontstyle = newstyle; + this.updateFont(); + }; + Acts.prototype.SetFontSize = function (size_) + { + if (this.ptSize === size_) + return; + this.ptSize = size_; + this.pxHeight = Math.ceil((this.ptSize / 72.0) * 96.0) + 4; // assume 96dpi... + this.updateFont(); + }; + Acts.prototype.SetFontColor = function (rgb) + { + var newcolor = "rgb(" + cr.GetRValue(rgb).toString() + "," + cr.GetGValue(rgb).toString() + "," + cr.GetBValue(rgb).toString() + ")"; + if (newcolor === this.color) + return; + this.color = newcolor; + this.need_text_redraw = true; + this.runtime.redraw = true; + }; + Acts.prototype.SetHorAl = function (val) + { + this.halign = this.clamp? cr.clamp(val, 0, 100) : val; + this.need_text_redraw = true; + this.runtime.redraw = true; + }; + Acts.prototype.SetVerAl = function (val) + { + this.valign = this.clamp? cr.clamp(val, 0, 100) : val; + this.need_text_redraw = true; + this.runtime.redraw = true; + }; + Acts.prototype.SetAl = function (hval, vval) + { + this.halign = this.clamp? cr.clamp(hval, 0, 100) : hval; + this.valign = this.clamp? cr.clamp(vval, 0, 100) : vval; + this.need_text_redraw = true; + this.runtime.redraw = true; + }; + Acts.prototype.SetWrap = function (wrap) + { + this.wrapbyword = (wrap === 0); + this.nowrap = (wrap === 2); + this.need_text_redraw = true; + this.runtime.redraw = true; + this.text_changed = true; + }; + Acts.prototype.SetClamp = function (clamp) + { + this.clamp = clamp === 0 + this.halign = this.clamp? cr.clamp(this.halign, 0, 100) : this.halign; + this.valign = this.clamp? cr.clamp(this.valign, 0, 100) : this.valign; + this.need_text_redraw = true; + this.runtime.redraw = true; + this.text_changed = true; + }; + Acts.prototype.SetHotspot = function (hs) + { + this.SetHotspot(GetHotspot(hs)); + }; + Acts.prototype.SetWebFont = function (familyname_, cssurl_) + { + if (this.runtime.isDomFree) + { + cr.logexport("[Construct 2] Text plugin: 'Set web font' not supported on this platform - the action has been ignored"); + return; // DC todo + } + var self = this; + var refreshFunc = (function () { + self.runtime.redraw = true; + self.text_changed = true; + }); + if (requestedWebFonts.hasOwnProperty(cssurl_)) + { + var newfacename = "'" + familyname_ + "'"; + if (this.facename === newfacename) + return; // no change + this.facename = newfacename; + this.updateFont(); + for (var i = 1; i < 10; i++) + { + setTimeout(refreshFunc, i * 100); + setTimeout(refreshFunc, i * 1000); + } + return; + } + var wf = document.createElement("link"); + wf.href = cssurl_; + wf.rel = "stylesheet"; + wf.type = "text/css"; + wf.onload = refreshFunc; + document.getElementsByTagName('head')[0].appendChild(wf); + requestedWebFonts[cssurl_] = true; + this.facename = "'" + familyname_ + "'"; + this.updateFont(); + for (var i = 1; i < 10; i++) + { + setTimeout(refreshFunc, i * 100); + setTimeout(refreshFunc, i * 1000); + } +; + }; + Acts.prototype.SetEffect = function (effect) + { + this.blend_mode = effect; + this.compositeOp = cr.effectToCompositeOp(effect); + cr.setGLBlend(this, effect, this.runtime.gl); + this.runtime.redraw = true; + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.Text = function(ret) + { + ret.set_string(this.text); + }; + Exps.prototype.HAlign = function(ret) + { + ret.set_int(this.halign); + }; + Exps.prototype.VAlign = function(ret) + { + ret.set_int(this.valign); + }; + Exps.prototype.FaceName = function (ret) + { + ret.set_string(this.facename); + }; + Exps.prototype.FaceSize = function (ret) + { + ret.set_int(this.ptSize); + }; + Exps.prototype.LineHeight = function (ret) + { + ret.set_int(this.pxHeight + this.line_height_offset); + }; + Exps.prototype.TextWidth = function (ret) + { + var w = 0; + var i, len, x; + for (i = 0, len = this.lines.length; i < len; i++) + { + x = this.lines[i].width; + if (w < x) + w = x; + } + ret.set_int(w); + }; + Exps.prototype.TextHeight = function (ret) + { + ret.set_int(this.lines.length * (this.pxHeight + this.line_height_offset) - this.line_height_offset); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.TiledBg = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.TiledBg.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + if (this.is_family) + return; + this.texture_img = new Image(); + this.texture_img.cr_filesize = this.texture_filesize; + this.runtime.waitForImageLoad(this.texture_img, this.texture_file); + this.pattern = null; + this.webGL_texture = null; + }; + typeProto.onLostWebGLContext = function () + { + if (this.is_family) + return; + this.webGL_texture = null; + }; + typeProto.onRestoreWebGLContext = function () + { + if (this.is_family || !this.instances.length) + return; + if (!this.webGL_texture) + { + this.webGL_texture = this.runtime.glwrap.loadTexture(this.texture_img, true, this.runtime.linearSampling, this.texture_pixelformat); + } + var i, len; + for (i = 0, len = this.instances.length; i < len; i++) + this.instances[i].webGL_texture = this.webGL_texture; + }; + typeProto.loadTextures = function () + { + if (this.is_family || this.webGL_texture || !this.runtime.glwrap) + return; + this.webGL_texture = this.runtime.glwrap.loadTexture(this.texture_img, true, this.runtime.linearSampling, this.texture_pixelformat); + }; + typeProto.unloadTextures = function () + { + if (this.is_family || this.instances.length || !this.webGL_texture) + return; + this.runtime.glwrap.deleteTexture(this.webGL_texture); + this.webGL_texture = null; + }; + typeProto.preloadCanvas2D = function (ctx) + { + ctx.drawImage(this.texture_img, 0, 0); + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + this.visible = (this.properties[0] === 0); // 0=visible, 1=invisible + this.rcTex = new cr.rect(0, 0, 0, 0); + this.has_own_texture = false; // true if a texture loaded in from URL + this.texture_img = this.type.texture_img; + if (this.runtime.glwrap) + { + this.type.loadTextures(); + this.webGL_texture = this.type.webGL_texture; + } + else + { + if (!this.type.pattern) + this.type.pattern = this.runtime.ctx.createPattern(this.type.texture_img, "repeat"); + this.pattern = this.type.pattern; + } + }; + instanceProto.afterLoad = function () + { + this.has_own_texture = false; + this.texture_img = this.type.texture_img; + }; + instanceProto.onDestroy = function () + { + if (this.runtime.glwrap && this.has_own_texture && this.webGL_texture) + { + this.runtime.glwrap.deleteTexture(this.webGL_texture); + this.webGL_texture = null; + } + }; + instanceProto.draw = function(ctx) + { + ctx.globalAlpha = this.opacity; + ctx.save(); + ctx.fillStyle = this.pattern; + var myx = this.x; + var myy = this.y; + if (this.runtime.pixel_rounding) + { + myx = Math.round(myx); + myy = Math.round(myy); + } + var drawX = -(this.hotspotX * this.width); + var drawY = -(this.hotspotY * this.height); + var offX = drawX % this.texture_img.width; + var offY = drawY % this.texture_img.height; + if (offX < 0) + offX += this.texture_img.width; + if (offY < 0) + offY += this.texture_img.height; + ctx.translate(myx, myy); + ctx.rotate(this.angle); + ctx.translate(offX, offY); + ctx.fillRect(drawX - offX, + drawY - offY, + this.width, + this.height); + ctx.restore(); + }; + instanceProto.drawGL_earlyZPass = function(glw) + { + this.drawGL(glw); + }; + instanceProto.drawGL = function(glw) + { + glw.setTexture(this.webGL_texture); + glw.setOpacity(this.opacity); + var rcTex = this.rcTex; + rcTex.right = this.width / this.texture_img.width; + rcTex.bottom = this.height / this.texture_img.height; + var q = this.bquad; + if (this.runtime.pixel_rounding) + { + var ox = Math.round(this.x) - this.x; + var oy = Math.round(this.y) - this.y; + glw.quadTex(q.tlx + ox, q.tly + oy, q.trx + ox, q.try_ + oy, q.brx + ox, q.bry + oy, q.blx + ox, q.bly + oy, rcTex); + } + else + glw.quadTex(q.tlx, q.tly, q.trx, q.try_, q.brx, q.bry, q.blx, q.bly, rcTex); + }; + function Cnds() {}; + Cnds.prototype.OnURLLoaded = function () + { + return true; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetEffect = function (effect) + { + this.blend_mode = effect; + this.compositeOp = cr.effectToCompositeOp(effect); + cr.setGLBlend(this, effect, this.runtime.gl); + this.runtime.redraw = true; + }; + Acts.prototype.LoadURL = function (url_, crossOrigin_) + { + var img = new Image(); + var self = this; + img.onload = function () + { + self.texture_img = img; + if (self.runtime.glwrap) + { + if (self.has_own_texture && self.webGL_texture) + self.runtime.glwrap.deleteTexture(self.webGL_texture); + self.webGL_texture = self.runtime.glwrap.loadTexture(img, true, self.runtime.linearSampling); + } + else + { + self.pattern = self.runtime.ctx.createPattern(img, "repeat"); + } + self.has_own_texture = true; + self.runtime.redraw = true; + self.runtime.trigger(cr.plugins_.TiledBg.prototype.cnds.OnURLLoaded, self); + }; + if (url_.substr(0, 5) !== "data:" && crossOrigin_ === 0) + img.crossOrigin = "anonymous"; + this.runtime.setImageSrc(img, url_); + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.ImageWidth = function (ret) + { + ret.set_float(this.texture_img.width); + }; + Exps.prototype.ImageHeight = function (ret) + { + ret.set_float(this.texture_img.height); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.Touch = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Touch.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + this.touches = []; + this.mouseDown = false; + }; + var instanceProto = pluginProto.Instance.prototype; + var dummyoffset = {left: 0, top: 0}; + instanceProto.findTouch = function (id) + { + var i, len; + for (i = 0, len = this.touches.length; i < len; i++) + { + if (this.touches[i]["id"] === id) + return i; + } + return -1; + }; + var appmobi_accx = 0; + var appmobi_accy = 0; + var appmobi_accz = 0; + function AppMobiGetAcceleration(evt) + { + appmobi_accx = evt.x; + appmobi_accy = evt.y; + appmobi_accz = evt.z; + }; + var pg_accx = 0; + var pg_accy = 0; + var pg_accz = 0; + function PhoneGapGetAcceleration(evt) + { + pg_accx = evt.x; + pg_accy = evt.y; + pg_accz = evt.z; + }; + var theInstance = null; + var touchinfo_cache = []; + function AllocTouchInfo(x, y, id, index) + { + var ret; + if (touchinfo_cache.length) + ret = touchinfo_cache.pop(); + else + ret = new TouchInfo(); + ret.init(x, y, id, index); + return ret; + }; + function ReleaseTouchInfo(ti) + { + if (touchinfo_cache.length < 100) + touchinfo_cache.push(ti); + }; + var GESTURE_HOLD_THRESHOLD = 15; // max px motion for hold gesture to register + var GESTURE_HOLD_TIMEOUT = 500; // time for hold gesture to register + var GESTURE_TAP_TIMEOUT = 333; // time for tap gesture to register + var GESTURE_DOUBLETAP_THRESHOLD = 25; // max distance apart for taps to be + function TouchInfo() + { + this.starttime = 0; + this.time = 0; + this.lasttime = 0; + this.startx = 0; + this.starty = 0; + this.x = 0; + this.y = 0; + this.lastx = 0; + this.lasty = 0; + this["id"] = 0; + this.startindex = 0; + this.triggeredHold = false; + this.tooFarForHold = false; + }; + TouchInfo.prototype.init = function (x, y, id, index) + { + var nowtime = cr.performance_now(); + this.time = nowtime; + this.lasttime = nowtime; + this.starttime = nowtime; + this.startx = x; + this.starty = y; + this.x = x; + this.y = y; + this.lastx = x; + this.lasty = y; + this.width = 0; + this.height = 0; + this.pressure = 0; + this["id"] = id; + this.startindex = index; + this.triggeredHold = false; + this.tooFarForHold = false; + }; + TouchInfo.prototype.update = function (nowtime, x, y, width, height, pressure) + { + this.lasttime = this.time; + this.time = nowtime; + this.lastx = this.x; + this.lasty = this.y; + this.x = x; + this.y = y; + this.width = width; + this.height = height; + this.pressure = pressure; + if (!this.tooFarForHold && cr.distanceTo(this.startx, this.starty, this.x, this.y) >= GESTURE_HOLD_THRESHOLD) + { + this.tooFarForHold = true; + } + }; + TouchInfo.prototype.maybeTriggerHold = function (inst, index) + { + if (this.triggeredHold) + return; // already triggered this gesture + var nowtime = cr.performance_now(); + if (nowtime - this.starttime >= GESTURE_HOLD_TIMEOUT && !this.tooFarForHold && cr.distanceTo(this.startx, this.starty, this.x, this.y) < GESTURE_HOLD_THRESHOLD) + { + this.triggeredHold = true; + inst.trigger_index = this.startindex; + inst.trigger_id = this["id"]; + inst.getTouchIndex = index; + inst.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnHoldGesture, inst); + inst.curTouchX = this.x; + inst.curTouchY = this.y; + inst.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnHoldGestureObject, inst); + inst.getTouchIndex = 0; + } + }; + var lastTapX = -1000; + var lastTapY = -1000; + var lastTapTime = -10000; + TouchInfo.prototype.maybeTriggerTap = function (inst, index) + { + if (this.triggeredHold) + return; + var nowtime = cr.performance_now(); + if (nowtime - this.starttime <= GESTURE_TAP_TIMEOUT && !this.tooFarForHold && cr.distanceTo(this.startx, this.starty, this.x, this.y) < GESTURE_HOLD_THRESHOLD) + { + inst.trigger_index = this.startindex; + inst.trigger_id = this["id"]; + inst.getTouchIndex = index; + if ((nowtime - lastTapTime <= GESTURE_TAP_TIMEOUT * 2) && cr.distanceTo(lastTapX, lastTapY, this.x, this.y) < GESTURE_DOUBLETAP_THRESHOLD) + { + inst.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnDoubleTapGesture, inst); + inst.curTouchX = this.x; + inst.curTouchY = this.y; + inst.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnDoubleTapGestureObject, inst); + lastTapX = -1000; + lastTapY = -1000; + lastTapTime = -10000; + } + else + { + inst.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTapGesture, inst); + inst.curTouchX = this.x; + inst.curTouchY = this.y; + inst.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTapGestureObject, inst); + lastTapX = this.x; + lastTapY = this.y; + lastTapTime = nowtime; + } + inst.getTouchIndex = 0; + } + }; + instanceProto.onCreate = function() + { + theInstance = this; + this.isWindows8 = !!(typeof window["c2isWindows8"] !== "undefined" && window["c2isWindows8"]); + this.orient_alpha = 0; + this.orient_beta = 0; + this.orient_gamma = 0; + this.acc_g_x = 0; + this.acc_g_y = 0; + this.acc_g_z = 0; + this.acc_x = 0; + this.acc_y = 0; + this.acc_z = 0; + this.curTouchX = 0; + this.curTouchY = 0; + this.trigger_index = 0; + this.trigger_id = 0; + this.trigger_permission = 0; + this.getTouchIndex = 0; + this.useMouseInput = (this.properties[0] !== 0); + var elem = (this.runtime.fullscreen_mode > 0) ? document : this.runtime.canvas; + var elem2 = document; + if (this.runtime.isDirectCanvas) + elem2 = elem = window["Canvas"]; + else if (this.runtime.isCocoonJs) + elem2 = elem = window; + var self = this; + if (typeof PointerEvent !== "undefined") + { + elem.addEventListener("pointerdown", + function(info) { + self.onPointerStart(info); + }, + false + ); + elem.addEventListener("pointermove", + function(info) { + self.onPointerMove(info); + }, + false + ); + elem2.addEventListener("pointerup", + function(info) { + self.onPointerEnd(info, false); + }, + false + ); + elem2.addEventListener("pointercancel", + function(info) { + self.onPointerEnd(info, true); + }, + false + ); + if (this.runtime.canvas) + { + this.runtime.canvas.addEventListener("MSGestureHold", function(e) { + e.preventDefault(); + }, false); + document.addEventListener("MSGestureHold", function(e) { + e.preventDefault(); + }, false); + this.runtime.canvas.addEventListener("gesturehold", function(e) { + e.preventDefault(); + }, false); + document.addEventListener("gesturehold", function(e) { + e.preventDefault(); + }, false); + } + } + else if (window.navigator["msPointerEnabled"]) + { + elem.addEventListener("MSPointerDown", + function(info) { + self.onPointerStart(info); + }, + false + ); + elem.addEventListener("MSPointerMove", + function(info) { + self.onPointerMove(info); + }, + false + ); + elem2.addEventListener("MSPointerUp", + function(info) { + self.onPointerEnd(info, false); + }, + false + ); + elem2.addEventListener("MSPointerCancel", + function(info) { + self.onPointerEnd(info, true); + }, + false + ); + if (this.runtime.canvas) + { + this.runtime.canvas.addEventListener("MSGestureHold", function(e) { + e.preventDefault(); + }, false); + document.addEventListener("MSGestureHold", function(e) { + e.preventDefault(); + }, false); + } + } + else + { + elem.addEventListener("touchstart", + function(info) { + self.onTouchStart(info); + }, + false + ); + elem.addEventListener("touchmove", + function(info) { + self.onTouchMove(info); + }, + false + ); + elem2.addEventListener("touchend", + function(info) { + self.onTouchEnd(info, false); + }, + false + ); + elem2.addEventListener("touchcancel", + function(info) { + self.onTouchEnd(info, true); + }, + false + ); + } + if (this.isWindows8) + { + var win8accelerometerFn = function(e) { + var reading = e["reading"]; + self.acc_x = reading["accelerationX"]; + self.acc_y = reading["accelerationY"]; + self.acc_z = reading["accelerationZ"]; + }; + var win8inclinometerFn = function(e) { + var reading = e["reading"]; + self.orient_alpha = reading["yawDegrees"]; + self.orient_beta = reading["pitchDegrees"]; + self.orient_gamma = reading["rollDegrees"]; + }; + var accelerometer = Windows["Devices"]["Sensors"]["Accelerometer"]["getDefault"](); + if (accelerometer) + { + accelerometer["reportInterval"] = Math.max(accelerometer["minimumReportInterval"], 16); + accelerometer.addEventListener("readingchanged", win8accelerometerFn); + } + var inclinometer = Windows["Devices"]["Sensors"]["Inclinometer"]["getDefault"](); + if (inclinometer) + { + inclinometer["reportInterval"] = Math.max(inclinometer["minimumReportInterval"], 16); + inclinometer.addEventListener("readingchanged", win8inclinometerFn); + } + document.addEventListener("visibilitychange", function(e) { + if (document["hidden"] || document["msHidden"]) + { + if (accelerometer) + accelerometer.removeEventListener("readingchanged", win8accelerometerFn); + if (inclinometer) + inclinometer.removeEventListener("readingchanged", win8inclinometerFn); + } + else + { + if (accelerometer) + accelerometer.addEventListener("readingchanged", win8accelerometerFn); + if (inclinometer) + inclinometer.addEventListener("readingchanged", win8inclinometerFn); + } + }, false); + } + else + { + window.addEventListener("deviceorientation", function (eventData) { + self.orient_alpha = eventData["alpha"] || 0; + self.orient_beta = eventData["beta"] || 0; + self.orient_gamma = eventData["gamma"] || 0; + }, false); + window.addEventListener("devicemotion", function (eventData) { + if (eventData["accelerationIncludingGravity"]) + { + self.acc_g_x = eventData["accelerationIncludingGravity"]["x"] || 0; + self.acc_g_y = eventData["accelerationIncludingGravity"]["y"] || 0; + self.acc_g_z = eventData["accelerationIncludingGravity"]["z"] || 0; + } + if (eventData["acceleration"]) + { + self.acc_x = eventData["acceleration"]["x"] || 0; + self.acc_y = eventData["acceleration"]["y"] || 0; + self.acc_z = eventData["acceleration"]["z"] || 0; + } + }, false); + } + if (this.useMouseInput && !this.runtime.isDomFree) + { + jQuery(document).mousemove( + function(info) { + self.onMouseMove(info); + } + ); + jQuery(document).mousedown( + function(info) { + self.onMouseDown(info); + } + ); + jQuery(document).mouseup( + function(info) { + self.onMouseUp(info); + } + ); + } + if (!this.runtime.isiOS && this.runtime.isCordova && navigator["accelerometer"] && navigator["accelerometer"]["watchAcceleration"]) + { + navigator["accelerometer"]["watchAcceleration"](PhoneGapGetAcceleration, null, { "frequency": 40 }); + } + this.runtime.tick2Me(this); + }; + instanceProto.onPointerMove = function (info) + { + if (info["pointerType"] === info["MSPOINTER_TYPE_MOUSE"] || info["pointerType"] === "mouse") + return; + if (info.preventDefault) + info.preventDefault(); + var i = this.findTouch(info["pointerId"]); + var nowtime = cr.performance_now(); + if (i >= 0) + { + var offset = this.runtime.isDomFree ? dummyoffset : jQuery(this.runtime.canvas).offset(); + var t = this.touches[i]; + if (nowtime - t.time < 2) + return; + t.update(nowtime, info.pageX - offset.left, info.pageY - offset.top, info.width || 0, info.height || 0, info.pressure || 0); + } + }; + instanceProto.onPointerStart = function (info) + { + if (info["pointerType"] === info["MSPOINTER_TYPE_MOUSE"] || info["pointerType"] === "mouse") + return; + if (info.preventDefault && cr.isCanvasInputEvent(info)) + info.preventDefault(); + var offset = this.runtime.isDomFree ? dummyoffset : jQuery(this.runtime.canvas).offset(); + var touchx = info.pageX - offset.left; + var touchy = info.pageY - offset.top; + var nowtime = cr.performance_now(); + this.trigger_index = this.touches.length; + this.trigger_id = info["pointerId"]; + this.touches.push(AllocTouchInfo(touchx, touchy, info["pointerId"], this.trigger_index)); + this.runtime.isInUserInputEvent = true; + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnNthTouchStart, this); + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchStart, this); + this.curTouchX = touchx; + this.curTouchY = touchy; + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchObject, this); + this.runtime.isInUserInputEvent = false; + }; + instanceProto.onPointerEnd = function (info, isCancel) + { + if (info["pointerType"] === info["MSPOINTER_TYPE_MOUSE"] || info["pointerType"] === "mouse") + return; + if (info.preventDefault && cr.isCanvasInputEvent(info)) + info.preventDefault(); + var i = this.findTouch(info["pointerId"]); + this.trigger_index = (i >= 0 ? this.touches[i].startindex : -1); + this.trigger_id = (i >= 0 ? this.touches[i]["id"] : -1); + this.runtime.isInUserInputEvent = true; + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnNthTouchEnd, this); + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchEnd, this); + if (i >= 0) + { + if (!isCancel) + this.touches[i].maybeTriggerTap(this, i); + ReleaseTouchInfo(this.touches[i]); + this.touches.splice(i, 1); + } + this.runtime.isInUserInputEvent = false; + }; + instanceProto.onTouchMove = function (info) + { + if (info.preventDefault) + info.preventDefault(); + var nowtime = cr.performance_now(); + var i, len, t, u; + for (i = 0, len = info.changedTouches.length; i < len; i++) + { + t = info.changedTouches[i]; + var j = this.findTouch(t["identifier"]); + if (j >= 0) + { + var offset = this.runtime.isDomFree ? dummyoffset : jQuery(this.runtime.canvas).offset(); + u = this.touches[j]; + if (nowtime - u.time < 2) + continue; + var touchWidth = (t.radiusX || t.webkitRadiusX || t.mozRadiusX || t.msRadiusX || 0) * 2; + var touchHeight = (t.radiusY || t.webkitRadiusY || t.mozRadiusY || t.msRadiusY || 0) * 2; + var touchForce = t.force || t.webkitForce || t.mozForce || t.msForce || 0; + u.update(nowtime, t.pageX - offset.left, t.pageY - offset.top, touchWidth, touchHeight, touchForce); + } + } + }; + instanceProto.onTouchStart = function (info) + { + if (info.preventDefault && cr.isCanvasInputEvent(info)) + info.preventDefault(); + var offset = this.runtime.isDomFree ? dummyoffset : jQuery(this.runtime.canvas).offset(); + var nowtime = cr.performance_now(); + this.runtime.isInUserInputEvent = true; + var i, len, t, j; + for (i = 0, len = info.changedTouches.length; i < len; i++) + { + t = info.changedTouches[i]; + j = this.findTouch(t["identifier"]); + if (j !== -1) + continue; + var touchx = t.pageX - offset.left; + var touchy = t.pageY - offset.top; + this.trigger_index = this.touches.length; + this.trigger_id = t["identifier"]; + this.touches.push(AllocTouchInfo(touchx, touchy, t["identifier"], this.trigger_index)); + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnNthTouchStart, this); + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchStart, this); + this.curTouchX = touchx; + this.curTouchY = touchy; + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchObject, this); + } + this.runtime.isInUserInputEvent = false; + }; + instanceProto.onTouchEnd = function (info, isCancel) + { + if (info.preventDefault && cr.isCanvasInputEvent(info)) + info.preventDefault(); + this.runtime.isInUserInputEvent = true; + var i, len, t, j; + for (i = 0, len = info.changedTouches.length; i < len; i++) + { + t = info.changedTouches[i]; + j = this.findTouch(t["identifier"]); + if (j >= 0) + { + this.trigger_index = this.touches[j].startindex; + this.trigger_id = this.touches[j]["id"]; + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnNthTouchEnd, this); + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchEnd, this); + if (!isCancel) + this.touches[j].maybeTriggerTap(this, j); + ReleaseTouchInfo(this.touches[j]); + this.touches.splice(j, 1); + } + } + this.runtime.isInUserInputEvent = false; + }; + instanceProto.getAlpha = function () + { + if (this.runtime.isCordova && this.orient_alpha === 0 && pg_accz !== 0) + return pg_accz * 90; + else + return this.orient_alpha; + }; + instanceProto.getBeta = function () + { + if (this.runtime.isCordova && this.orient_beta === 0 && pg_accy !== 0) + return pg_accy * 90; + else + return this.orient_beta; + }; + instanceProto.getGamma = function () + { + if (this.runtime.isCordova && this.orient_gamma === 0 && pg_accx !== 0) + return pg_accx * 90; + else + return this.orient_gamma; + }; + var noop_func = function(){}; + function isCompatibilityMouseEvent(e) + { + return (e["sourceCapabilities"] && e["sourceCapabilities"]["firesTouchEvents"]) || + (e.originalEvent && e.originalEvent["sourceCapabilities"] && e.originalEvent["sourceCapabilities"]["firesTouchEvents"]); + }; + instanceProto.onMouseDown = function(info) + { + if (isCompatibilityMouseEvent(info)) + return; + var t = { pageX: info.pageX, pageY: info.pageY, "identifier": 0 }; + var fakeinfo = { changedTouches: [t] }; + this.onTouchStart(fakeinfo); + this.mouseDown = true; + }; + instanceProto.onMouseMove = function(info) + { + if (!this.mouseDown) + return; + if (isCompatibilityMouseEvent(info)) + return; + var t = { pageX: info.pageX, pageY: info.pageY, "identifier": 0 }; + var fakeinfo = { changedTouches: [t] }; + this.onTouchMove(fakeinfo); + }; + instanceProto.onMouseUp = function(info) + { + if (info.preventDefault && this.runtime.had_a_click && !this.runtime.isMobile) + info.preventDefault(); + this.runtime.had_a_click = true; + if (isCompatibilityMouseEvent(info)) + return; + var t = { pageX: info.pageX, pageY: info.pageY, "identifier": 0 }; + var fakeinfo = { changedTouches: [t] }; + this.onTouchEnd(fakeinfo); + this.mouseDown = false; + }; + instanceProto.tick2 = function() + { + var i, len, t; + var nowtime = cr.performance_now(); + for (i = 0, len = this.touches.length; i < len; ++i) + { + t = this.touches[i]; + if (t.time <= nowtime - 50) + t.lasttime = nowtime; + t.maybeTriggerHold(this, i); + } + }; + function Cnds() {}; + Cnds.prototype.OnTouchStart = function () + { + return true; + }; + Cnds.prototype.OnTouchEnd = function () + { + return true; + }; + Cnds.prototype.IsInTouch = function () + { + return this.touches.length; + }; + Cnds.prototype.OnTouchObject = function (type) + { + if (!type) + return false; + return this.runtime.testAndSelectCanvasPointOverlap(type, this.curTouchX, this.curTouchY, false); + }; + var touching = []; + Cnds.prototype.IsTouchingObject = function (type) + { + if (!type) + return false; + var sol = type.getCurrentSol(); + var instances = sol.getObjects(); + var px, py; + var i, leni, j, lenj; + for (i = 0, leni = instances.length; i < leni; i++) + { + var inst = instances[i]; + inst.update_bbox(); + for (j = 0, lenj = this.touches.length; j < lenj; j++) + { + var touch = this.touches[j]; + px = inst.layer.canvasToLayer(touch.x, touch.y, true); + py = inst.layer.canvasToLayer(touch.x, touch.y, false); + if (inst.contains_pt(px, py)) + { + touching.push(inst); + break; + } + } + } + if (touching.length) + { + sol.select_all = false; + cr.shallowAssignArray(sol.instances, touching); + type.applySolToContainer(); + cr.clearArray(touching); + return true; + } + else + return false; + }; + Cnds.prototype.CompareTouchSpeed = function (index, cmp, s) + { + index = Math.floor(index); + if (index < 0 || index >= this.touches.length) + return false; + var t = this.touches[index]; + var dist = cr.distanceTo(t.x, t.y, t.lastx, t.lasty); + var timediff = (t.time - t.lasttime) / 1000; + var speed = 0; + if (timediff > 0) + speed = dist / timediff; + return cr.do_cmp(speed, cmp, s); + }; + Cnds.prototype.OrientationSupported = function () + { + return typeof window["DeviceOrientationEvent"] !== "undefined"; + }; + Cnds.prototype.MotionSupported = function () + { + return typeof window["DeviceMotionEvent"] !== "undefined"; + }; + Cnds.prototype.CompareOrientation = function (orientation_, cmp_, angle_) + { + var v = 0; + if (orientation_ === 0) + v = this.getAlpha(); + else if (orientation_ === 1) + v = this.getBeta(); + else + v = this.getGamma(); + return cr.do_cmp(v, cmp_, angle_); + }; + Cnds.prototype.CompareAcceleration = function (acceleration_, cmp_, angle_) + { + var v = 0; + if (acceleration_ === 0) + v = this.acc_g_x; + else if (acceleration_ === 1) + v = this.acc_g_y; + else if (acceleration_ === 2) + v = this.acc_g_z; + else if (acceleration_ === 3) + v = this.acc_x; + else if (acceleration_ === 4) + v = this.acc_y; + else if (acceleration_ === 5) + v = this.acc_z; + return cr.do_cmp(v, cmp_, angle_); + }; + Cnds.prototype.OnNthTouchStart = function (touch_) + { + touch_ = Math.floor(touch_); + return touch_ === this.trigger_index; + }; + Cnds.prototype.OnNthTouchEnd = function (touch_) + { + touch_ = Math.floor(touch_); + return touch_ === this.trigger_index; + }; + Cnds.prototype.HasNthTouch = function (touch_) + { + touch_ = Math.floor(touch_); + return this.touches.length >= touch_ + 1; + }; + Cnds.prototype.OnHoldGesture = function () + { + return true; + }; + Cnds.prototype.OnTapGesture = function () + { + return true; + }; + Cnds.prototype.OnDoubleTapGesture = function () + { + return true; + }; + Cnds.prototype.OnHoldGestureObject = function (type) + { + if (!type) + return false; + return this.runtime.testAndSelectCanvasPointOverlap(type, this.curTouchX, this.curTouchY, false); + }; + Cnds.prototype.OnTapGestureObject = function (type) + { + if (!type) + return false; + return this.runtime.testAndSelectCanvasPointOverlap(type, this.curTouchX, this.curTouchY, false); + }; + Cnds.prototype.OnDoubleTapGestureObject = function (type) + { + if (!type) + return false; + return this.runtime.testAndSelectCanvasPointOverlap(type, this.curTouchX, this.curTouchY, false); + }; + Cnds.prototype.OnPermissionGranted = function (type) + { + return this.trigger_permission === type; + }; + Cnds.prototype.OnPermissionDenied = function (type) + { + return this.trigger_permission === type; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.RequestPermission = function (type) + { + var self = this; + var promise = Promise.resolve(true); + if (type === 0) // orientation + { + if (window["DeviceOrientationEvent"] && window["DeviceOrientationEvent"]["requestPermission"]) + { + promise = window["DeviceOrientationEvent"]["requestPermission"]() + .then(function (state) + { + return state === "granted"; + }); + } + } + else // motion + { + if (window["DeviceMotionEvent"] && window["DeviceMotionEvent"]["requestPermission"]) + { + promise = window["DeviceMotionEvent"]["requestPermission"]() + .then(function (state) + { + return state === "granted"; + }); + } + } + promise.then(function (result) + { + self.trigger_permission = type; + if (result) + self.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnPermissionGranted, self); + else + self.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnPermissionDenied, self); + }); + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.TouchCount = function (ret) + { + ret.set_int(this.touches.length); + }; + Exps.prototype.X = function (ret, layerparam) + { + var index = this.getTouchIndex; + if (index < 0 || index >= this.touches.length) + { + ret.set_float(0); + return; + } + var layer, oldScale, oldZoomRate, oldParallaxX, oldAngle; + if (cr.is_undefined(layerparam)) + { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxX = layer.parallaxX; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxX = 1.0; + layer.angle = 0; + ret.set_float(layer.canvasToLayer(this.touches[index].x, this.touches[index].y, true)); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxX = oldParallaxX; + layer.angle = oldAngle; + } + else + { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else + layer = this.runtime.getLayerByName(layerparam); + if (layer) + ret.set_float(layer.canvasToLayer(this.touches[index].x, this.touches[index].y, true)); + else + ret.set_float(0); + } + }; + Exps.prototype.XAt = function (ret, index, layerparam) + { + index = Math.floor(index); + if (index < 0 || index >= this.touches.length) + { + ret.set_float(0); + return; + } + var layer, oldScale, oldZoomRate, oldParallaxX, oldAngle; + if (cr.is_undefined(layerparam)) + { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxX = layer.parallaxX; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxX = 1.0; + layer.angle = 0; + ret.set_float(layer.canvasToLayer(this.touches[index].x, this.touches[index].y, true)); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxX = oldParallaxX; + layer.angle = oldAngle; + } + else + { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else + layer = this.runtime.getLayerByName(layerparam); + if (layer) + ret.set_float(layer.canvasToLayer(this.touches[index].x, this.touches[index].y, true)); + else + ret.set_float(0); + } + }; + Exps.prototype.XForID = function (ret, id, layerparam) + { + var index = this.findTouch(id); + if (index < 0) + { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + var layer, oldScale, oldZoomRate, oldParallaxX, oldAngle; + if (cr.is_undefined(layerparam)) + { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxX = layer.parallaxX; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxX = 1.0; + layer.angle = 0; + ret.set_float(layer.canvasToLayer(touch.x, touch.y, true)); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxX = oldParallaxX; + layer.angle = oldAngle; + } + else + { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else + layer = this.runtime.getLayerByName(layerparam); + if (layer) + ret.set_float(layer.canvasToLayer(touch.x, touch.y, true)); + else + ret.set_float(0); + } + }; + Exps.prototype.Y = function (ret, layerparam) + { + var index = this.getTouchIndex; + if (index < 0 || index >= this.touches.length) + { + ret.set_float(0); + return; + } + var layer, oldScale, oldZoomRate, oldParallaxY, oldAngle; + if (cr.is_undefined(layerparam)) + { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxY = layer.parallaxY; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxY = 1.0; + layer.angle = 0; + ret.set_float(layer.canvasToLayer(this.touches[index].x, this.touches[index].y, false)); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxY = oldParallaxY; + layer.angle = oldAngle; + } + else + { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else + layer = this.runtime.getLayerByName(layerparam); + if (layer) + ret.set_float(layer.canvasToLayer(this.touches[index].x, this.touches[index].y, false)); + else + ret.set_float(0); + } + }; + Exps.prototype.YAt = function (ret, index, layerparam) + { + index = Math.floor(index); + if (index < 0 || index >= this.touches.length) + { + ret.set_float(0); + return; + } + var layer, oldScale, oldZoomRate, oldParallaxY, oldAngle; + if (cr.is_undefined(layerparam)) + { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxY = layer.parallaxY; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxY = 1.0; + layer.angle = 0; + ret.set_float(layer.canvasToLayer(this.touches[index].x, this.touches[index].y, false)); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxY = oldParallaxY; + layer.angle = oldAngle; + } + else + { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else + layer = this.runtime.getLayerByName(layerparam); + if (layer) + ret.set_float(layer.canvasToLayer(this.touches[index].x, this.touches[index].y, false)); + else + ret.set_float(0); + } + }; + Exps.prototype.YForID = function (ret, id, layerparam) + { + var index = this.findTouch(id); + if (index < 0) + { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + var layer, oldScale, oldZoomRate, oldParallaxY, oldAngle; + if (cr.is_undefined(layerparam)) + { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxY = layer.parallaxY; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxY = 1.0; + layer.angle = 0; + ret.set_float(layer.canvasToLayer(touch.x, touch.y, false)); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxY = oldParallaxY; + layer.angle = oldAngle; + } + else + { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else + layer = this.runtime.getLayerByName(layerparam); + if (layer) + ret.set_float(layer.canvasToLayer(touch.x, touch.y, false)); + else + ret.set_float(0); + } + }; + Exps.prototype.AbsoluteX = function (ret) + { + if (this.touches.length) + ret.set_float(this.touches[0].x); + else + ret.set_float(0); + }; + Exps.prototype.AbsoluteXAt = function (ret, index) + { + index = Math.floor(index); + if (index < 0 || index >= this.touches.length) + { + ret.set_float(0); + return; + } + ret.set_float(this.touches[index].x); + }; + Exps.prototype.AbsoluteXForID = function (ret, id) + { + var index = this.findTouch(id); + if (index < 0) + { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + ret.set_float(touch.x); + }; + Exps.prototype.AbsoluteY = function (ret) + { + if (this.touches.length) + ret.set_float(this.touches[0].y); + else + ret.set_float(0); + }; + Exps.prototype.AbsoluteYAt = function (ret, index) + { + index = Math.floor(index); + if (index < 0 || index >= this.touches.length) + { + ret.set_float(0); + return; + } + ret.set_float(this.touches[index].y); + }; + Exps.prototype.AbsoluteYForID = function (ret, id) + { + var index = this.findTouch(id); + if (index < 0) + { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + ret.set_float(touch.y); + }; + Exps.prototype.SpeedAt = function (ret, index) + { + index = Math.floor(index); + if (index < 0 || index >= this.touches.length) + { + ret.set_float(0); + return; + } + var t = this.touches[index]; + var dist = cr.distanceTo(t.x, t.y, t.lastx, t.lasty); + var timediff = (t.time - t.lasttime) / 1000; + if (timediff <= 0) + ret.set_float(0); + else + ret.set_float(dist / timediff); + }; + Exps.prototype.SpeedForID = function (ret, id) + { + var index = this.findTouch(id); + if (index < 0) + { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + var dist = cr.distanceTo(touch.x, touch.y, touch.lastx, touch.lasty); + var timediff = (touch.time - touch.lasttime) / 1000; + if (timediff <= 0) + ret.set_float(0); + else + ret.set_float(dist / timediff); + }; + Exps.prototype.AngleAt = function (ret, index) + { + index = Math.floor(index); + if (index < 0 || index >= this.touches.length) + { + ret.set_float(0); + return; + } + var t = this.touches[index]; + ret.set_float(cr.to_degrees(cr.angleTo(t.lastx, t.lasty, t.x, t.y))); + }; + Exps.prototype.AngleForID = function (ret, id) + { + var index = this.findTouch(id); + if (index < 0) + { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + ret.set_float(cr.to_degrees(cr.angleTo(touch.lastx, touch.lasty, touch.x, touch.y))); + }; + Exps.prototype.Alpha = function (ret) + { + ret.set_float(this.getAlpha()); + }; + Exps.prototype.Beta = function (ret) + { + ret.set_float(this.getBeta()); + }; + Exps.prototype.Gamma = function (ret) + { + ret.set_float(this.getGamma()); + }; + Exps.prototype.AccelerationXWithG = function (ret) + { + ret.set_float(this.acc_g_x); + }; + Exps.prototype.AccelerationYWithG = function (ret) + { + ret.set_float(this.acc_g_y); + }; + Exps.prototype.AccelerationZWithG = function (ret) + { + ret.set_float(this.acc_g_z); + }; + Exps.prototype.AccelerationX = function (ret) + { + ret.set_float(this.acc_x); + }; + Exps.prototype.AccelerationY = function (ret) + { + ret.set_float(this.acc_y); + }; + Exps.prototype.AccelerationZ = function (ret) + { + ret.set_float(this.acc_z); + }; + Exps.prototype.TouchIndex = function (ret) + { + ret.set_int(this.trigger_index); + }; + Exps.prototype.TouchID = function (ret) + { + ret.set_float(this.trigger_id); + }; + Exps.prototype.WidthForID = function (ret, id) + { + var index = this.findTouch(id); + if (index < 0) + { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + ret.set_float(touch.width); + }; + Exps.prototype.HeightForID = function (ret, id) + { + var index = this.findTouch(id); + if (index < 0) + { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + ret.set_float(touch.height); + }; + Exps.prototype.PressureForID = function (ret, id) + { + var index = this.findTouch(id); + if (index < 0) + { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + ret.set_float(touch.pressure); + }; + pluginProto.exps = new Exps(); +}()); +if( window === undefined ) +{ + var window = ("undefined" == typeof window) ? + ("undefined" == typeof global) ? + ("undefined" == typeof self) ? + this + :self + :global + :window; +} +var __CONSTRUCT2_RUNTIME2__ = true; +var __CONSTRUCT3_RUNTIME2__ = false; +var __CONSTRUCT3_RUNTIME3__ = false; +var __DEBUG__ = false; +; +; +cr.plugins_.ValerypopoffJSPlugin = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.ValerypopoffJSPlugin.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + this.returnValue = undefined; + this.sciptsToLoad = 0; + this.Aliases = {}; + this.construct_compare_function_prefix = "ConstructCompare_"; + this.AliasDotpartsCache = + { + count: 0, + max_count: 4096, + Dotparts: {}, + AliasNames: {}, + AliasTrailers: {}, + IsAlias: {} + }; + this.NonAliasDotpartsCache = + { + count: 0, + max_count: 2048, + Dotparts: {} + }; + function AddScriptToPage(this_, nameOfExternalScript) + { + if( document === undefined ) + { + this_.ShowError( + { + debug_caller: "Including '"+ nameOfExternalScript +"' script to the page", + caller_name: "Including '"+ nameOfExternalScript +"' script to the page", + error_message: "'document' is not defined. You're probably launching the game in a Worker. Workers are not supported yet. Export project with 'Use worker' option unchecked in the 'Advanced' section of the 'Project properties' panel." + }); + return; + } + /* + if( window.jQuery && window.jQuery.ajax ) + { + $.ajax( + { + url: nameOfExternalScript, + dataType: "script", + async: false, + success: function() + { + this_.sciptsToLoad-- ; + }, + error: function(XMLHttpRequest) + { + this_.ShowError( + { + debug_caller: "Including '"+ nameOfExternalScript +"' script to the page", + caller_name: "Including '"+ nameOfExternalScript +"' script to the page", + error_message: XMLHttpRequest.status + }); + } + }); + } else */ + { + var myScriptTag = document.createElement('script'); + myScriptTag.setAttribute("type","text/javascript"); + myScriptTag.setAttribute("src", nameOfExternalScript); + myScriptTag.onreadystatechange = function () + { + if (this.readyState == 'complete') + this_.sciptsToLoad--; + } + myScriptTag.onload = function(){ this_.sciptsToLoad--; }; + myScriptTag.onerror = function() + { + this_.ShowError( + { + debug_caller: "Including '"+ nameOfExternalScript +"' script to the page", + caller_name: "Including '"+ nameOfExternalScript +"' script to the page", + error_message: "Probably file not found" + }); + }; + document.getElementsByTagName("head")[0].appendChild(myScriptTag); + } + } + if( this.properties[0] != "" ) + { + var lines = []; + if( __CONSTRUCT2_RUNTIME2__ ) + lines = this.properties[0].split(';'); + else + lines = this.properties[0].split(/[;\n\r]/); + for(var i=0; i= 0 || funcname_.indexOf(")") >= 0 ) + { + var info = + { + debug_caller: "CallJSfunction", + caller_name: caller_name_, + error_message: "'" + final.trimmed_code + "' must be a function name, not a function call. Remove parentheses." + } + if( final.alias_found ) + { + info["show-alias-expression"] = true; + info.alias_expression = final.trimmed_code; + } + this.ShowError( info ); + return; + } + var ret = undefined; + try + { + ret = final.end.apply(final.context, funcparams_); + } catch(err) + { + if (err instanceof TypeError && err.message.indexOf("apply") >= 0 && err.message.indexOf("undefined") >= 0 ) + err.message = funcname_ + " is undefined"; + var info = + { + debug_caller: "CallJSfunction", + caller_name: caller_name_, + error_message: err.message + } + if( final.alias_found ) + { + info["show-alias-expression"] = true; + info.alias_expression = MakeCallString(final.trimmed_code, funcparams_); + info["show-code"] = true, + info.code = MakeCallString(this.Aliases[final.alias_name].js + final.alias_trailer, funcparams_); + } + else + { + info["show-code"] = true, + info.code = MakeCallString(final.trimmed_code, funcparams_); + } + this.ShowError( info ); + return; + } + if( store_return_value_ ) + this.returnValue = ret; + return ret; + }, + CallAlias: function(alias_exp_, funcparams_, store_return_value_, caller_name_) + { + if( store_return_value_ === undefined ) + store_return_value_ = true; + if( caller_name_ === undefined ) + caller_name_ = "'Call alias' action"; + var final = this.ParseJS(alias_exp_, true, caller_name_); + /* + if( !final.alias_found ) + { + var info = + { + debug_caller: "CallAlias", + caller_name: caller_name_, + error_message: "No such alias '" + final.trimmed_code + "'" + } + this.ShowError( info ); + return; + } + */ + if( final.error ) + return; + var ret = this.CallJSfunction(this.Aliases[final.alias_name].js + final.alias_trailer, funcparams_, store_return_value_, caller_name_, final ); + return ret; + }, + ShowError: function( info ) + { + var error_str = "ValerypopoffJS plugin: Error in " + info.caller_name + "\n"; + error_str += "--------------------- \n"; + if( __DEBUG__ ) + { + error_str += "DEBUG CALLER: " + info.debug_caller + "\n"; + error_str += "--------------------- \n"; + } + if( info["show-alias-expression"] ) + { + error_str += "Alias expression: " + info.alias_expression + "\n"; + error_str += "--------------------- \n"; + } + if( info["show-code"] ) + { + error_str += "JS code: " + info.code + "\n"; + error_str += "--------------------- \n"; + } + error_str += info.error_message; + console.error( error_str ); + }, + Resolve: function( dotparts_, caller_name_, code_, alias_name_, alias_trailer_ ) + { + var context = window; + var end = context; + var endname = ""; + for( var i=0, dotparts_length=dotparts_.length; i= cache.max_count ) + for( var i in cache.Dotparts ) + { + delete cache.Dotparts[i]; + if( cache.IsAlias[ i ] ) + { + delete cache.AliasNames[ i ]; + delete cache.AliasTrailers[ i ]; + delete cache.IsAlias[ i ]; + } + cache.count--; + if(cache.count <= cache.max_count) + break; + } + cache.Dotparts[ trimmed_code ] = Dotparts; + if( alias_found ) + { + cache.AliasNames[ trimmed_code ] = alias_name; + cache.AliasTrailers[ trimmed_code ] = alias_trailer; + cache.IsAlias[ trimmed_code ] = true; + } + cache.count++; + } + var Result = this.Resolve( Dotparts, caller_name_, trimmed_code, alias_name, alias_trailer ); + return { + error: Result.error, + end: Result.end, + endname: Result.endname, + context: Result.context, + trimmed_code: trimmed_code, + alias_found: alias_found, + alias_name: alias_name, + alias_trailer: alias_trailer + }; + } +} + for( var k in InstanceFunctionsObject ) + { + instanceProto[k] = InstanceFunctionsObject[k]; + } + function Cnds() {}; + var CndsObject = + { + C2CompareFunctionReturnValue: function(value_, cmp_, funcname_, funcparams_) + { + switch( cmp_ ) + { + case 2: cmp_=4; break; + case 3: cmp_=5; break; + case 4: cmp_=2; break; + case 5: cmp_=3; break; + } + return this.CNDS.CompareFunctionReturnValue.call( this, funcname_, funcparams_, cmp_, value_ ); + }, + C2CompareAliasCallReturnValue: function(value_, cmp_, alias_exp_, funcparams_) + { + switch( cmp_ ) + { + case 2: cmp_=4; break; + case 3: cmp_=5; break; + case 4: cmp_=2; break; + case 5: cmp_=3; break; + } + return this.CNDS.CompareAliasCallReturnValue.call( this, alias_exp_, funcparams_, cmp_, value_ ); + }, + C2CompareExecReturnWithParams: function(value_, cmp_, code_, params_) + { + switch( cmp_ ) + { + case 2: cmp_=4; break; + case 3: cmp_=5; break; + case 4: cmp_=2; break; + case 5: cmp_=3; break; + } + return this.CNDS.CompareExecReturnWithParams.call( this, code_, params_, cmp_, value_ ); + }, + C2CompareValue: function(value_, cmp_, alias_exp_, funcparams_) + { + switch( cmp_ ) + { + case 2: cmp_=4; break; + case 3: cmp_=5; break; + case 4: cmp_=2; break; + case 5: cmp_=3; break; + } + return this.CNDS.CompareValue.call(this, alias_exp_, funcparams_, cmp_, value_) + }, + CompareExecReturnWithParams: function(code_, params_, cmp_, value_) + { + var ret = undefined; + var caller_name_ = "'Compare JS code Completion value' condition"; + if( params_.length ) + code_ = HashtagParamsToCode(code_, params_); + try + { + ret = eval(code_); + } catch(err) + { + var info = + { + debug_caller: "CompareExecReturnWithParams", + caller_name: caller_name_, + error_message: err.message, + "show-code": true, + code: code_ + } + this.ShowError( info ); + return; + } + if( typeof ret === "boolean" ) + ret = ret ? 1 : 0; + return cr.do_cmp(ret, cmp_, value_); + }, + CompareFunctionReturnValue: function(funcname_, funcparams_, cmp_, value_) + { + var store_return_value_ = false; + var ret = undefined; + ret = this.CallJSfunction(funcname_, funcparams_, store_return_value_, "'Compare Function return value' condition" ); + if( typeof ret === "boolean" ) + ret = ret ? 1 : 0; + return cr.do_cmp(ret, cmp_, value_); + }, + CompareStoredReturnValue: function(cmp_, value_) + { + var ret = this.returnValue; + if( typeof ret === "boolean" ) + ret = ret ? 1 : 0; + return cr.do_cmp(ret, cmp_, value_); + }, + AllScriptsLoaded: function() + { + return ( this.sciptsToLoad <= 0 ) ? true : false; + }, + CompareValue: function(alias_exp_, funcparams_, cmp_, value_) + { + var ret = undefined; + var caller_name = "'Compare Value' condition"; + ret = this.Value( caller_name, [].concat(alias_exp_, funcparams_) ); + if( typeof ret === "boolean" ) + ret = ret ? 1 : 0; + return cr.do_cmp(ret, cmp_, value_); + }, + CompareAliasValue: function(alias_exp_, cmp_, value_) + { + var caller_name_ = "'Compare alias' condition"; + var store_return_value_ = false; + var final = this.ParseJS(alias_exp_, true, "'Set alias' action"); + if( !final.alias_found ) + { + var info = + { + debug_caller: "CompareAliasValue", + caller_name: caller_name_, + error_message: "No such alias '" + alias_exp_ + "'" + } + this.ShowError( info ); + return; + } + if( final.error ) + { + return; + } + var custom_method = final.context[ this.construct_compare_function_prefix + final.endname ]; + if( custom_method && typeof(final.context) == "object" ) + { + try + { + return custom_method.call( final.context, cmp_, value_ ); + } catch(err) + { + var info = + { + debug_caller: "CompareAliasValue", + caller_name: caller_name_, + "show-alias-expression": true, + alias_expression: final.trimmed_code, + error_message: "Error in user defined '" + this.construct_compare_function_prefix + final.endname + "' function: " + err.message + } + this.ShowError( info ); + return; + } + } else + { + var ret = final.end; + if( typeof ret === "boolean" ) + ret = ret ? 1 : 0; + return cr.do_cmp(ret, cmp_, value_); + } + }, + CompareAliasCallReturnValue: function(alias_exp_, funcparams_, cmp_, value_) + { + var store_return_value_ = false; + var ret = undefined; + ret = this.CallAlias(alias_exp_, funcparams_, store_return_value_, "'Compare Alias Call return value' condition" ); + if( typeof ret === "boolean" ) + ret = ret ? 1 : 0; + return cr.do_cmp(ret, cmp_, value_); + } + }; + for( var k in CndsObject ) + { + Cnds.prototype[k] = CndsObject[k]; + } + pluginProto.cnds = new Cnds(); + function Acts() {}; + var ActsObject = + { + ExecuteJSWithParams: function(code, params_) + { + var caller_name_ = "'Execute JS code' action"; + this.returnValue = undefined; + code = code.replace( /#[0-9]+/g, function(str) + { + var temp = params_[ str.substr(1) ]; + if (typeof temp === "string") + return "'" + temp + "'"; + else + return temp; + } + ); + try + { + this.returnValue = eval(code); + } catch(err) + { + this.ShowError( + { + debug_caller: "ExecuteJSWithParams", + caller_name: caller_name_, + "show-code": true, + code: code, + error_message: err.message + }); + return; + } + }, + CallJSfunction: function(funcname_, funcparams_, store_return_value_, caller_name_, final_) + { + this.CallJSfunction(funcname_, funcparams_, store_return_value_, caller_name_, final_); + }, + SetValue: function(alias_exp_, alias_value_) + { + var caller_name_ = "'Set value' action"; + var final = this.ParseJS(alias_exp_, true, caller_name_); + /* + if( !final.alias_found ) + { + var info = + { + debug_caller: "SetValue", + caller_name: caller_name_, + error_message: "No such alias '" + final.trimmed_code + "'" + } + this.ShowError( info ); + return; + } */ + if( final.error ) + return; + try + { + final.context[final.endname] = alias_value_; + } catch(err) + { + var code = alias_exp_ + "="; + if( typeof alias_value_ == "string" ) + code = code + "'" + alias_value_ + "'"; + else + code = code + alias_value_; + var info = + { + debug_caller: "SetValue", + caller_name: caller_name_, + "show-alias-expression": final.alias_found, + alias_expression: final.trimmed_code, + "show-code": true, + code: code, + error_message: err.message + } + this.ShowError( info ); + return; + } + }, + Call: function(alias_exp_, funcparams_, store_return_value_, caller_name_) + { + this.CallJSfunction(alias_exp_, funcparams_, true, "'Call' action" ); + }, + InitAlias: function(alias_name_, alias_js_) + { + var caller_name_ = "'Init alias' action"; + alias_name_ = alias_name_.trim(); + alias_js_ = alias_js_.trim(); + if( alias_js_.length == 0 ) + { + var info = + { + debug_caller: "InitAlias", + caller_name: caller_name_, + error_message: "Javascript string of alias '" + alias_name_ + "' must not be empty." + } + this.ShowError( info ); + return; + } + if( alias_name_.indexOf(".") >= 0 || alias_name_.indexOf("[") >= 0 || alias_name_.indexOf("]") >= 0 ) + { + var info = + { + debug_caller: "InitAlias", + caller_name: caller_name_, + error_message: "Alias name must not contain '.', '[' or ']' signs: '" + alias_name_ + "'" + } + this.ShowError( info ); + return; + } + if( this.Aliases[alias_name_] != undefined ) + { + var info = + { + debug_caller: "InitAlias", + caller_name: caller_name_, + error_message: "Alias '" + alias_name_ + "' already exists" + } + this.ShowError( info ); + return; + } + var newAlias = new Object(); + newAlias.js = alias_js_; + newAlias.dotstring = alias_js_.split('[').join(".["); + this.Aliases[alias_name_] = newAlias; + }, + SetAlias: function(alias_exp_, alias_value_) + { + var caller_name_ = "'Set alias' action"; + var final = this.ParseJS(alias_exp_, true, "'Set alias' action"); + if( !final.alias_found ) + { + var info = + { + debug_caller: "SetAlias", + caller_name: caller_name_, + error_message: "No such alias '" + final.trimmed_code + "'" + } + this.ShowError( info ); + return; + } + if( final.error ) + return; + try + { + final.context[final.endname] = alias_value_; + } catch(err) + { + var code = alias_exp_ + "="; + if( typeof alias_value_ == "string" ) + code = code + "'" + alias_value_ + "'"; + else + code = code + alias_value_; + var info = + { + debug_caller: "SetAlias", + caller_name: caller_name_, + "show-alias-expression": true, + alias_expression: final.trimmed_code, + "show-code": true, + code: code, + error_message: err.message + } + this.ShowError( info ); + return; + } + }, + CallAlias: function(alias_exp_, funcparams_, store_return_value_, caller_name_) + { + this.CallAlias(alias_exp_, funcparams_, store_return_value_, caller_name_); + } + }; + for( var k in ActsObject ) + { + Acts.prototype[k] = ActsObject[k]; + } + pluginProto.acts = new Acts(); + function Exps() {}; + var ExpsObject = + { + JSCodeValue: function() + { + var params_ = Array.prototype.slice.call(arguments); + var ret; + if( __CONSTRUCT3_RUNTIME3__ ) + ret = {set_int: function(){}, set_float: function(){}, set_string: function(){}, set_any: function(){}}; + else + { + ret = params_[0]; + for( var i=0; i= entry.length){ + console.error("MODEL %s: setting item %s while array only have %s !",this.uid,index,entry.length); + throw "err"; + return; + } + } + /* + if entry[key] is not array or an object (typeof(entry[key]) != "object") + and since typeof(null)= "object" we had to add it in the condition + */ + if ( entry[key] == null || typeof(entry[key]) != "object"){ + entry[key] = {}; + } + entry = entry[key]; + } + return entry; + }; + instanceProto.getValue = function(keys, root) + { + var entry = root || this.hashtable; + if (!keys || keys === "" || keys == "root"|| keys.length == 0) + { + return entry; + } + if (typeof (keys) === "string"){ + keys = keys.split("."); + } + var key; + for (var i=0,l=keys.length; i< l; i++) + { + key = keys[i]; + if (entry.hasOwnProperty(key)){ + entry = entry[key]; + }else{ + return; + } + } + return entry; + }; + /* + keys="" + keys is an object/array + keys is a simple value + keys is a.b... where b dosent exist and a is a simple value + a.b.c + */ + instanceProto.setValue = function(keys, value, root) + { + if (keys === "" || keys.length === 0) + { + if (value !== null && typeof(value) === "object") + { + if (root == null){ + this.hashtable = value; + }else{ + root = value; + } + } + } + else + { + if (root == null){ + root = this.hashtable; + } + if (typeof (keys) === "string"){ + keys = keys.split("."); + } + var lastKey = keys.pop(); + try{ + var entry = this.getEntry(keys, root); + }catch(error){ + throw "err"; + return; + } + if(isArray(entry)){ + var index = parseInt(lastKey); + if(index < 0 || index >= entry.length){ + console.error("MODEL %s: setting item %s while array only have %s !",this.uid,index,entry.length); + return; + } + } + entry[lastKey] = value; + } + }; + instanceProto.removeKey = function (keys) + { + if ((keys === "") || (keys.length === 0)) + { + this.cleanAll(); + } + else + { + if (typeof (keys) === "string") + keys = keys.split("."); + var data = this.getValue(keys); + if (data === undefined) + return; + var lastKey = keys.pop(); + var entry = this.getEntry(keys); + if (!isArray(entry)) + { + delete entry[lastKey]; + } + else + { + if ((lastKey < 0) || (lastKey >= entry.length)) + return; + else if (lastKey === (entry.length-1)) + entry.pop(); + else if (lastKey === 0) + entry.shift(); + else + entry.splice(lastKey, 1); + } + } + }; + var getItemsCount = function (o) + { + if (o == null)// nothing + return (-1); + else if ((typeof o == "number") || (typeof o == "string"))// number/string + return 0; + else if (o.length != null)// list + return o.length; + var key,cnt=0; + for (key in o) + cnt += 1; + return cnt; + }; + var din = function (d, default_value) + { + var o; + if (d === true) + o = 1; + else if (d === false) + o = 0; + else if ((d == null) || (d==undefined)) + { + if ( (default_value != null) && (default_value != undefined) ) + o = default_value; + else + o = 0; + } + else if (typeof(d) == "object") + o = JSON.stringify(d); + else + o = d; + return o; + }; + var isArray = function(o) + { + return (o instanceof Array); + }; + var isObject = function(val) { + if (val === null) { return false;} + return ( (typeof val === 'function') || (typeof val === 'object') ); + } + function isObjectEmpty(obj) { + for(var prop in obj) { + if(obj.hasOwnProperty(prop)) + return false; + } + return true; + } + instanceProto.saveToJSON = function () + { + return { "d": this.hashtable }; + }; + instanceProto.loadFromJSON = function (o) + { + this.hashtable = o["d"]; + }; + instanceProto.onDestroy = function () + { + /* + delete tag from proui + deactivated the binding with all linked elements + */ + }; + function Cnds() {}; + pluginProto.cnds = new Cnds(); + Cnds.prototype.ForEachItem = function (key) + { + var entry = this.getEntry(key); + var current_frame = this.runtime.getCurrentEventStack(); + var current_event = current_frame.current_event; + var solModifierAfterCnds = current_frame.isModifierAfterCnds(); + var key, value; + this.exp_Loopindex = -1; + for (key in entry) + { + if (solModifierAfterCnds) + this.runtime.pushCopySol(current_event.solModifiers); + this.exp_CurKey = key; + this.exp_CurValue = entry[key]; + this.exp_Loopindex ++; + current_event.retrigger(); + if (solModifierAfterCnds) + this.runtime.popSol(current_event.solModifiers); + } + this.exp_CurKey = ""; + this.exp_CurValue = 0; + return false; + }; + Cnds.prototype.KeyExists = function (keys) + { + if (keys == "") + return false; + var data = this.getValue(keys); + return (data !== undefined); + }; + Cnds.prototype.IsEmpty = function (keys) + { + var entry = this.getEntry(keys); + var cnt = getItemsCount(entry); + return (cnt <= 0); + }; + /*Cnds.prototype.OnKeySet = function (key) + { + return cr.equals_nocase(tag, this.curTag); + };*/ + function Acts() {}; + pluginProto.acts = new Acts(); + Acts.prototype.SetValueByKeyString = function (key, value,options) + { + if (key == "" || key == "root"){ + console.error("MODEL %s: You can't set the root to a simple value !",this.tag); + return; + } + try{ + this.setValue(key, value); + }catch(error){ + return; + } + if(!options){ + options = {}; + } + options.op = 4; + options.key = key; + options.value = value; + this.notifyBehaviorModels(key,options); + }; + Acts.prototype.SetJSONByKeyString = function (key, value) + { + if(!isObject(value)){ + try { + value = JSON.parse(value); + } catch(e) { + console.error("MODEL %s: SetJSONByKeyString() **** The json you are trying to set is not valid !"); + console.error("key = %s", key); + console.error("value = %s", value); + console.error("********************* "); + return; + } + } + try{ + this.setValue(key, value); + }catch(error){ + return; + } + this.notifyBehaviorModels(key,{op:2}); //2 for load + }; + Acts.prototype.AddToValueByKeyString = function (key, value,options) + { + if (key === "") + return; + var _key = key.split("."); + var curValue = this.getValue(_key) || 0; + try{ + this.setValue(_key, curValue + value); + }catch(error){ + return; + } + if(!options){ + options = {}; + } + value = this.getValue(key) || 0; + options.op = 4; + options.key = key; + options.value = value; + this.notifyBehaviorModels(key,options); + }; + Acts.prototype.PushValue = function (key, val) + { + var arr = this.getEntry(key); + if (arr == null || isObjectEmpty(arr))//If there's nothing on key then we create a empty array + { + this.setValue(key, []); + arr = this.getEntry(key); + } + if (!isArray(arr)){//if there's something on keys but it's not an array, then we do nothing + console.log("not an array"); + return; + } + arr.push(val); + this.notifyBehaviorModels(key,{op:1}); //1 for push + }; + Acts.prototype.PushJSON = function (keys, val) + { + try { + val = JSON.parse(val); + } catch(e) { + console.error("MODEL PLugin: The json you are trying to push is not valid !"); + return; + } + Acts.prototype.PushValue.call(this, keys, val); + }; + Acts.prototype.InsertValue = function (key, val, index) + { + var array = this.getEntry(key); + if (array == null || isObjectEmpty(array)) + { + this.setValue(key, []); + array = this.getEntry(key); + } + if (!isArray(array)){ + console.log(this.hashtable); + return; + } + if(array.length= array.length)){ + return; + } + if (index === (array.length-1)){ + array.pop(); + } + else if (index === 0){ + array.shift(); + } + else{ + array.splice(index, 1); + } + this.notifyBehaviorModels(key,{op:-1, idx: index}); + }; + Acts.prototype.RemoveByKeyString = function (key) + { + this.removeKey(key); + this.notifyBehaviorModels(key); + }; + Acts.prototype.CleanAll = function () + { + this.cleanAll(); + this.notifyBehaviorModels("root"); + }; + Acts.prototype.StringToHashTable = function (json) + { + if (json != ""){ + try { + this.hashtable = JSON.parse(json); + } catch(e) { + console.error("MODEL PLugin: The json you are trying to load is not valid !",e); + return; + } + this.notifyBehaviorModels("root",{op:2}); + }else{ + this.cleanAll(); + } + }; + Acts.prototype.SetLanguage = function(lang) + { + this.lang_code = lang; + this.updateLabels(); + } + /*Acts.prototype.SetKeyToKey = function (key1,key2) + { + var value = this.getValue(key1); + var entry = this.getEntry(key1, root); + this.notifyBehaviorModels(key1,{op:-1, idx: index}); + };*/ + function Exps() {}; + pluginProto.exps = new Exps(); + Exps.prototype.at = function (ret, keys, default_value) + { + keys = keys.split("."); + var val = din(this.getValue(keys), default_value); + ret.set_any(val); + }; + Exps.prototype.arrayValueByValue = function (ret, arrayKey,idKey,idValue,key2,default_value) + { + var array = this.getValue(arrayKey); + var val = 0; + if (!isArray(array)){ + console.log("not an array"); + ret.set_any(val); + return; + } + for (var i = 0, l=array.length; i < l; i++) { + if(this.getValue(idKey,array[i]) == idValue){ + val = this.getValue(key2,array[i]); + break; + } + } + val = din(val, default_value); + ret.set_any(val); + }; + Exps.prototype.curKey = function (ret) + { + ret.set_string(this.exp_CurKey); + }; + Exps.prototype.curValue = function (ret, subKeys, default_value) + { + var val = this.getValue(subKeys, this.exp_CurValue); + val = din(val, default_value); + ret.set_any(val); + }; + Exps.prototype.loopindex = function (ret) + { + ret.set_int(this.exp_Loopindex); + }; + Exps.prototype.asJSON = function (ret) + { + var json = JSON.stringify(this.hashtable); + ret.set_string(json); + }; + Exps.prototype.makeJSON = function (ret) + { + var object = {}; + if (arguments.length > 1) + { + var i, cnt=arguments.length; + for(i=1; i 1) + { + var i, cnt=arguments.length; + for(i=1; i= + GESTURE_HOLD_THRESHOLD + ) { + this.tooFarForHold = true; + } + }; + var lastTapX = -1000; + var lastTapY = -1000; + var lastTapTime = -10000; + TouchInfo.prototype.maybeTriggerTap = function (inst, index) { + if (this.triggeredHold) return; + var nowtime = cr.performance_now(); + if ( + nowtime - this.starttime <= GESTURE_TAP_TIMEOUT && + !this.tooFarForHold && + cr.distanceTo(this.startx, this.starty, this.x, this.y) < + GESTURE_HOLD_THRESHOLD + ) { + inst.trigger_index = this.startindex; + inst.trigger_id = this["id"]; + inst.getTouchIndex = index; + if ( + nowtime - lastTapTime <= GESTURE_TAP_TIMEOUT * 2 && + cr.distanceTo(lastTapX, lastTapY, this.x, this.y) < + GESTURE_DOUBLETAP_THRESHOLD + ) { + inst.curTouchX = this.x; + inst.curTouchY = this.y; + lastTapX = -1000; + lastTapY = -1000; + lastTapTime = -10000; + } + else { + inst.curTouchX = this.x; + inst.curTouchY = this.y; + lastTapX = this.x; + lastTapY = this.y; + lastTapTime = nowtime; + } + inst.getTouchIndex = 0; + } + }; + instanceProto.onCreate = function () { + theInstance = this; + this.isWindows8 = !!( + typeof window["c2isWindows8"] !== "undefined" && window["c2isWindows8"] + ); + this.curTouchX = 0; + this.curTouchY = 0; + this.trigger_index = 0; + this.trigger_id = 0; + this.getTouchIndex = 0; + this.useMouseInput = true; + var elem = + this.runtime.fullscreen_mode > 0 ? document : this.runtime.canvas; + var elem2 = document; + if (this.runtime.isDirectCanvas) elem2 = elem = window["Canvas"]; + else if (this.runtime.isCocoonJs) elem2 = elem = window; + var self = this; + if (typeof PointerEvent !== "undefined") { + elem.addEventListener( + "pointerdown", + function (info) { + self.onPointerStart(info); + }, + false + ); + elem.addEventListener( + "pointermove", + function (info) { + self.onPointerMove(info); + }, + false + ); + elem2.addEventListener( + "pointerup", + function (info) { + self.onPointerEnd(info, false); + }, + false + ); + elem2.addEventListener( + "pointercancel", + function (info) { + self.onPointerEnd(info, true); + }, + false + ); + if (this.runtime.canvas) { + this.runtime.canvas.addEventListener( + "MSGestureHold", + function (e) { + e.preventDefault(); + }, + false + ); + document.addEventListener( + "MSGestureHold", + function (e) { + e.preventDefault(); + }, + false + ); + this.runtime.canvas.addEventListener( + "gesturehold", + function (e) { + e.preventDefault(); + }, + false + ); + document.addEventListener( + "gesturehold", + function (e) { + e.preventDefault(); + }, + false + ); + } + } + else if (window.navigator["msPointerEnabled"]) { + elem.addEventListener( + "MSPointerDown", + function (info) { + self.onPointerStart(info); + }, + false + ); + elem.addEventListener( + "MSPointerMove", + function (info) { + self.onPointerMove(info); + }, + false + ); + elem2.addEventListener( + "MSPointerUp", + function (info) { + self.onPointerEnd(info, false); + }, + false + ); + elem2.addEventListener( + "MSPointerCancel", + function (info) { + self.onPointerEnd(info, true); + }, + false + ); + if (this.runtime.canvas) { + this.runtime.canvas.addEventListener( + "MSGestureHold", + function (e) { + e.preventDefault(); + }, + false + ); + document.addEventListener( + "MSGestureHold", + function (e) { + e.preventDefault(); + }, + false + ); + } + } + else { + elem.addEventListener( + "touchstart", + function (info) { + self.onTouchStart(info); + }, + false + ); + elem.addEventListener( + "touchmove", + function (info) { + self.onTouchMove(info); + }, + false + ); + elem2.addEventListener( + "touchend", + function (info) { + self.onTouchEnd(info, false); + }, + false + ); + elem2.addEventListener( + "touchcancel", + function (info) { + self.onTouchEnd(info, true); + }, + false + ); + } + if (this.useMouseInput && !this.runtime.isDomFree) { + jQuery(document).mousemove(function (info) { + self.onMouseMove(info); + }); + jQuery(document).mousedown(function (info) { + self.onMouseDown(info); + }); + jQuery(document).mouseup(function (info) { + self.onMouseUp(info); + }); + } + if (!this.runtime.isDomFree) { + var wheelevent = function (info) { + self.onWheel(info); + }; + document.addEventListener("mousewheel", wheelevent, false); + document.addEventListener("DOMMouseScroll", wheelevent, false); + } + this.runtime.tick2Me(this); + this.enable = true; + this.lastTouchX = null; + this.lastTouchY = null; + cr.proui = this; + this.cssURL = this.properties[0]; + this.fontFamily = this.properties[1]; + this.defaultSoundTag = this.properties[2]; + this.useHowler = this.properties[3] === 0; + this.firstFrame = true; + /*The following is to get around not being able to destroy other instance in onDestroy of an instance, + cf onDestroy of radiogroup + */ + var runtime = this.runtime; + this.toBeDestroyed = []; + this.currentDialogs = []; + this.currentDialogs_lastResetTick = 0; + this.tags = {}; + this.tags_lastResetTick = 0; + this.scrollViews = {}; + this.iter = 0; + this.notRegister = false; + this.areInputsActive = true; + }; + instanceProto.getIter = function () { + this.iter++; + return this.iter; + }; + instanceProto.setNoRegister = function () {}; + instanceProto.addTag = function (tag, inst) { + if (!this.runtime.extra) { + this.runtime.extra = {}; + } + if (this.runtime.extra.notRegister || !tag) { + return; + } + /*if(this.runtime.changelayout && this.tags_lastResetTick != this.runtime.tickcount){ + this.tags = {} ; + this.tags_lastResetTick = this.runtime.tickcount; + }*/ + if (this.tags.hasOwnProperty(tag)) { + return; + } + this.tags[tag] = inst; + }; + instanceProto.removeTag = function (tag) { + delete this.tags[tag]; + }; + instanceProto.addDialog = function (behavior) { + if ( + this.runtime.changelayout && + this.currentDialogs_lastResetTick != this.runtime.tickcount + ) { + this.currentDialogs.length = 0; + this.currentDialogs_lastResetTick = this.runtime.tickcount; + } + this.currentDialogs.push(behavior); + }; + instanceProto.isModalDialogOpened = function () { + for (var i = 0; i < this.currentDialogs.length; i++) { + if (this.currentDialogs[i].isModal) { + return true; + } + } + return false; + }; + instanceProto.removeDialog = function (behavior) { + this.removeFromArray(this.currentDialogs, behavior); + }; + instanceProto.removeFromArray = function (array, e) { + for (var i = 0, l = array.length; i < l; i++) { + if (array[i] == e) { + array.splice(i, 1); + return; + } + } + }; + instanceProto.clearDestroyList = function () { + var toBeDestroyed = this.toBeDestroyed; + for (var i = 0, l = toBeDestroyed.length; i < l; i++) { + this.runtime.DestroyInstance(toBeDestroyed[i]); + } + toBeDestroyed.length = 0; + }; + instanceProto.playAudio = function (fileName) { + if (this.useHowler) { + this.getDependency(cr.plugins_.skymenhowlerjs, "howler"); + if (this["howler"]) { + cr.plugins_.skymenhowlerjs.prototype.acts.PlayByName.call( + this["howler"], + fileName, + this.defaultSoundTag + ); + } else { + console.error("ProUI: Please add the Howler plugin to the project."); + } + } else { + this.getDependency(cr.plugins_.Audio, "audio"); + if (this["audio"]) { + var ret = { + val: 0, + set_float(val) { + ret.val = val; + }, + }; + cr.plugins_.Audio.prototype.exps.Volume.call( + this["audio"], + ret, + this.defaultSoundTag + ); + var volume = ret.val; + cr.plugins_.Audio.prototype.acts.PlayByName.call( + this["audio"], + 0, + fileName, + 0, + volume, + this.defaultSoundTag + ); + } else { + console.error("ProUI: Please add the Audio plugin to the project."); + } + } + }; + instanceProto.getDependency = function (dependency, dependencyRef) { + if (this[dependencyRef] != null) { + return this[dependencyRef]; + } + if (!dependency) { + console.error("ProUI: Can not find the " + dependencyRef + " object."); + return; + } + var plugins = this.runtime.types; + var name, inst; + for (name in plugins) { + inst = plugins[name].instances[0]; + if (inst instanceof dependency.prototype.Instance) { + this[dependencyRef] = inst; + return this[dependencyRef]; + } + } + if (!this[dependencyRef]) { + console.error("ProUI: Can not find " + dependencyRef + " object."); + } + }; + instanceProto.isTypeValid = function (inst, types, errorMsg) { + var test; + for (var i = 0, l = types.length; i < l; i++) { + test = types[i] ? inst.type.plugin instanceof types[i] : false; + if (test) { + return; + } + } + throw new Error(errorMsg); + }; + /*behinstProto.runCallback = function () + { + if(this.callbackName == ""){ + return; + } + var params = this.callbackParams.split(","); + if(this.callbackName[0]=="$"){ //$41$transitionToLayout + var callback = this.callbackName.split("$"); + console.log(callback); + var inst = this.runtime.getObjectByUID(parseInt(callback[1])); + if(inst){ + console.log(inst.type); + } + }else{ + c2_callFunction(this.callbackName,params); + } + };*/ + instanceProto.runCallback = function (callbackName, callbackParams) { + if (callbackName == "") { + return; + } + var params = callbackParams.split(","); + var callFunction = window["c2_callFunction"]; + if (callFunction) { + callFunction(callbackName, params); + } else { + console.error("ProUI : Please add the Function plugin to the project."); + } + }; + instanceProto.validateSimpleValue = function (value, default_value) { + var o; + if (value === true) { + o = 1; + } else if (value === false) { + o = 0; + } else if ( + value == null || + value == undefined || + typeof value == "object" + ) { + if (default_value != null && default_value != undefined) + o = default_value; + else o = 0; + } else { + o = value; + } + return o; + }; + instanceProto.HookMe = function (obj, types) { + var type; + for (var i = 0, l = types.length; i < l; i++) { + type = types[i]; + this._callbackObjs[type].push(obj); + } + }; + instanceProto.UnHookMe = function (obj, types) { + var type; + for (var i = 0, l = types.length; i < l; i++) { + type = types[i]; + cr.arrayFindRemove(this._callbackObjs[type], obj); + } + }; + function getThisBehavior(inst, behaviorProto) { + var i, len; + for (i = 0, len = inst.behavior_insts.length; i < len; i++) { + if (inst.behavior_insts[i] instanceof behaviorProto.Instance) + return inst.behavior_insts[i]; + } + return null; + } + /*var dispatchTouchStart = function(touchX, touchY) + { + var instances = this.my_instances.valuesRef(); + var instance; + var lx, ly; + var objectInstances = []; + for (var i=0,l=instances.length; i maxZInstance.layer.index) || ( (objectInstances[i].layer.index == maxZInstance.layer.index) && (objectInstances[i].get_zindex() > maxZInstance.get_zindex()) ) ) + { + maxZInstance = objectInstances[i]; + } + } + var maxZInstanceBehavior = getThisBehavior(maxZInstance,this); + if(maxZInstanceBehavior.OnTouchStart){ + maxZInstanceBehavior.OnTouchStart(); + } + objectInstances.length = 0; + };*/ + var dispatchTouchStart = function (touchX, touchY) { + var instances = this.my_instances.valuesRef(); + var instance; + var instanceBehavior; + var lx, ly; + for (var i = 0, l = instances.length; i < l; i++) { + instance = instances[i]; + if (!instance) continue; + if (!instance.layer.visible || !instance.visible) continue; + lx = instance.layer.canvasToLayer(touchX, touchY, true); + ly = instance.layer.canvasToLayer(touchX, touchY, false); + instance.update_bbox(); + instanceBehavior = getThisBehavior(instance, this); + if (instanceBehavior.OnAnyTouchStart) { + instanceBehavior.OnAnyTouchStart(); + } + if (instance.contains_pt(lx, ly)) { + if (instanceBehavior.OnTouchStart) { + instanceBehavior.OnTouchStart(lx, ly); + } + } + } + }; + var dispatchTouchMove = function (touchX, touchY) { + var instances = this.my_instances.valuesRef(); + var instance; + var instanceBehavior; + var lx, ly; + for (var i = 0, l = instances.length; i < l; i++) { + instance = instances[i]; + if (!instance) continue; + if (!instance.layer.visible || !instance.visible) continue; + lx = instance.layer.canvasToLayer(touchX, touchY, true); + ly = instance.layer.canvasToLayer(touchX, touchY, false); + instance.update_bbox(); + instanceBehavior = getThisBehavior(instance, this); + /*if(instanceBehavior.OnAnyTouchStart){ + instanceBehavior.OnAnyTouchStart(); + }*/ + if (instance.contains_pt(lx, ly)) { + if (instanceBehavior.OnTouchMove) { + instanceBehavior.OnTouchMove(lx, ly); + } + } + } + }; + var dispatchTouchEnd = function (touchX, touchY) { + var instances = this.my_instances.valuesRef(); + var instance; + var instanceBehavior; + var tx, ty; + for (var i = 0, l = instances.length; i < l; i++) { + instance = instances[i]; + if (!instance) continue; + /*if(!instance.layer.visible || !instance.visible) + continue;*/ + tx = instance.layer.canvasToLayer(touchX, touchY, true); + ty = instance.layer.canvasToLayer(touchX, touchY, false); + instanceBehavior = getThisBehavior(instance, this); + if (instanceBehavior.OnAnyTouchEnd) { + instanceBehavior.OnAnyTouchEnd(tx, ty); + } + } + }; + var dispatchWheel = function (triggerDir) { + var instances = this.my_instances.valuesRef(); + var instance; + var instanceBehavior; + for (var i = 0, l = instances.length; i < l; i++) { + instance = instances[i]; + if (!instance) continue; + instanceBehavior = getThisBehavior(instance, this); + if (instanceBehavior.OnWheel) { + instanceBehavior.OnWheel(triggerDir); + } + } + }; + instanceProto.onWheel = function (info) { + var delta = info.wheelDelta + ? info.wheelDelta + : info.detail + ? -info.detail + : 0; + this.triggerDir = delta < 0 ? 0 : 1; + this.handled = false; + this.runtime.isInUserInputEvent = true; + for (var i = 0, l = this._callbackObjs["wheel"].length; i < l; i++) { + this.handled = true; + dispatchWheel.call(this._callbackObjs["wheel"][i], this.triggerDir); + } + this.runtime.isInUserInputEvent = false; + if (this.handled && cr.isCanvasInputEvent(info)) info.preventDefault(); + }; + instanceProto.onPointerMove = function (info) { + if (!this.enable) return; + if ( + info["pointerType"] === info["MSPOINTER_TYPE_MOUSE"] || + info["pointerType"] === "mouse" + ) + return; + if (info.preventDefault) info.preventDefault(); + var i = this.findTouch(info["pointerId"]); + var nowtime = cr.performance_now(); + if (i >= 0) { + var offset = this.runtime.isDomFree + ? dummyoffset + : jQuery(this.runtime.canvas).offset(); + var t = this.touches[i]; + if (nowtime - t.time < 2) return; + t.update( + nowtime, + info.pageX - offset.left, + info.pageY - offset.top, + info.width || 0, + info.height || 0, + info.pressure || 0 + ); + var touchx = info.pageX - offset.left; + var touchy = info.pageY - offset.top; + var cnt = this._callbackObjs["touch"].length, + hooki; + for (hooki = 0; hooki < cnt; hooki++) { + dispatchTouchMove.call( + this._callbackObjs["touch"][hooki], + touchx, + touchy + ); + } + } + }; + instanceProto.onPointerStart = function (info) { + if (!this.enable) return; + if ( + info["pointerType"] === info["MSPOINTER_TYPE_MOUSE"] || + info["pointerType"] === "mouse" + ) + return; + if (info.preventDefault && cr.isCanvasInputEvent(info)) + info.preventDefault(); + var offset = this.runtime.isDomFree + ? dummyoffset + : jQuery(this.runtime.canvas).offset(); + var touchx = info.pageX - offset.left; + var touchy = info.pageY - offset.top; + var nowtime = cr.performance_now(); + this.trigger_index = this.touches.length; + this.trigger_id = info["pointerId"]; + this.touches.push( + AllocTouchInfo(touchx, touchy, info["pointerId"], this.trigger_index) + ); + this.runtime.isInUserInputEvent = true; + this.curTouchX = touchx; + this.curTouchY = touchy; + var hooki, + cnt = this._callbackObjs["touch"].length; + for (hooki = 0; hooki < cnt; hooki++) { + dispatchTouchStart.call( + this._callbackObjs["touch"][hooki], + this.curTouchX, + this.curTouchY + ); + } + this.runtime.isInUserInputEvent = false; + }; + instanceProto.onPointerEnd = function (info, isCancel) { + if (!this.enable) return; + if ( + info["pointerType"] === info["MSPOINTER_TYPE_MOUSE"] || + info["pointerType"] === "mouse" + ) + return; + if (info.preventDefault && cr.isCanvasInputEvent(info)) + info.preventDefault(); + var i = this.findTouch(info["pointerId"]); + this.trigger_index = i >= 0 ? this.touches[i].startindex : -1; + this.trigger_id = i >= 0 ? this.touches[i]["id"] : -1; + this.runtime.isInUserInputEvent = true; + if (i >= 0) { + this.lastTouchX = this.touches[i].x; + this.lastTouchY = this.touches[i].y; + } + var cnt = this._callbackObjs["touch"].length, + hooki; + for (hooki = 0; hooki < cnt; hooki++) { + dispatchTouchEnd.call( + this._callbackObjs["touch"][hooki], + this.lastTouchX, + this.lastTouchY + ); + } + if (i >= 0) { + if (!isCancel) this.touches[i].maybeTriggerTap(this, i); + ReleaseTouchInfo(this.touches[i]); + this.touches.splice(i, 1); + } + this.runtime.isInUserInputEvent = false; + }; + instanceProto.onTouchMove = function (info) { + if (!this.enable) return; + if (info.preventDefault) info.preventDefault(); + var nowtime = cr.performance_now(); + var i, len, t, u; + var cnt = this._callbackObjs["touch"].length, + hooki; + for (i = 0, len = info.changedTouches.length; i < len; i++) { + t = info.changedTouches[i]; + var j = this.findTouch(t["identifier"]); + if (j >= 0) { + var offset = this.runtime.isDomFree + ? dummyoffset + : jQuery(this.runtime.canvas).offset(); + u = this.touches[j]; + if (nowtime - u.time < 2) continue; + var touchWidth = + (t.radiusX || t.webkitRadiusX || t.mozRadiusX || t.msRadiusX || 0) * + 2; + var touchHeight = + (t.radiusY || t.webkitRadiusY || t.mozRadiusY || t.msRadiusY || 0) * + 2; + var touchForce = + t.force || t.webkitForce || t.mozForce || t.msForce || 0; + u.update( + nowtime, + t.pageX - offset.left, + t.pageY - offset.top, + touchWidth, + touchHeight, + touchForce + ); + var touchx = t.pageX - offset.left; + var touchy = t.pageY - offset.top; + for (hooki = 0; hooki < cnt; hooki++) { + dispatchTouchMove.call( + this._callbackObjs["touch"][hooki], + touchx, + touchy + ); + } + } + } + }; + instanceProto.onTouchStart = function (info) { + if (!this.enable) return; + if (info.preventDefault && cr.isCanvasInputEvent(info)) + info.preventDefault(); + var offset = this.runtime.isDomFree + ? dummyoffset + : jQuery(this.runtime.canvas).offset(); + var nowtime = cr.performance_now(); + this.runtime.isInUserInputEvent = true; + var i, len, t, j; + var cnt = this._callbackObjs["touch"].length, + hooki; + for (i = 0, len = info.changedTouches.length; i < len; i++) { + t = info.changedTouches[i]; + j = this.findTouch(t["identifier"]); + if (j !== -1) continue; + var touchx = t.pageX - offset.left; + var touchy = t.pageY - offset.top; + this.trigger_index = this.touches.length; + this.trigger_id = t["identifier"]; + this.touches.push( + AllocTouchInfo(touchx, touchy, t["identifier"], this.trigger_index) + ); + for (hooki = 0; hooki < cnt; hooki++) { + dispatchTouchStart.call( + this._callbackObjs["touch"][hooki], + touchx, + touchy + ); + } + } + this.runtime.isInUserInputEvent = false; + }; + instanceProto.onTouchEnd = function (info, isCancel) { + if (!this.enable) return; + if (info.preventDefault && cr.isCanvasInputEvent(info)) + info.preventDefault(); + this.runtime.isInUserInputEvent = true; + var i, len, t, j; + var cnt = this._callbackObjs["touch"].length, + hooki; + for (i = 0, len = info.changedTouches.length; i < len; i++) { + t = info.changedTouches[i]; + j = this.findTouch(t["identifier"]); + if (j >= 0) { + this.trigger_index = this.touches[j].startindex; + this.trigger_id = this.touches[j]["id"]; + this.lastTouchX = this.touches[j].x; + this.lastTouchY = this.touches[j].y; + for (hooki = 0; hooki < cnt; hooki++) { + dispatchTouchEnd.call( + this._callbackObjs["touch"][hooki], + this.lastTouchX, + this.lastTouchY + ); + } + if (!isCancel) this.touches[j].maybeTriggerTap(this, j); + ReleaseTouchInfo(this.touches[j]); + this.touches.splice(j, 1); + } + } + this.runtime.isInUserInputEvent = false; + }; + instanceProto.updateCursor = function (info) { + var offset = this.runtime.isDomFree + ? dummyoffset + : jQuery(this.runtime.canvas).offset(); + this.cursor.x = info.pageX - offset.left; + this.cursor.y = info.pageY - offset.top; + }; + instanceProto.onMouseDown = function (info) { + if (!this.enable) return; + this.updateCursor(info); + this.mouseDown = true; + if ( + info.preventDefault && + this.runtime.had_a_click && + !this.runtime.isMobile + ) + info.preventDefault(); + var index = this.findTouch(0); + if (index !== -1) { + ReleaseTouchInfo(this.touches[index]); + cr.arrayRemove(this.touches, index); + } + var t = { pageX: info.pageX, pageY: info.pageY, identifier: 0 }; + var fakeinfo = { changedTouches: [t] }; + this.onTouchStart(fakeinfo); + }; + instanceProto.onMouseMove = function (info) { + if (!this.enable) return; + this.updateCursor(info); + if (!this.mouseDown) return; + var t = { pageX: info.pageX, pageY: info.pageY, identifier: 0 }; + var fakeinfo = { changedTouches: [t] }; + this.onTouchMove(fakeinfo); + }; + instanceProto.onMouseUp = function (info) { + if (!this.enable) return; + this.updateCursor(info); + this.mouseDown = false; + if ( + info.preventDefault && + this.runtime.had_a_click && + !this.runtime.isMobile + ) + info.preventDefault(); + this.runtime.had_a_click = true; + var t = { pageX: info.pageX, pageY: info.pageY, identifier: 0 }; + var fakeinfo = { changedTouches: [t] }; + this.onTouchEnd(fakeinfo); + }; + instanceProto.tick2 = function () { + if (!this.enable) return; + var i, len, t; + var nowtime = cr.performance_now(); + for (i = 0, len = this.touches.length; i < len; ++i) { + t = this.touches[i]; + if (t.time <= nowtime - 50) t.lasttime = nowtime; + } + this.lastTouchX = null; + this.lastTouchY = null; + /*if(this.firstFrame){ + this.firstFrame = false; + }*/ + }; + function Cnds() {} + Cnds.prototype.IsDialogOpened = function () { + return this.currentDialogs.length; + }; + pluginProto.cnds = new Cnds(); + function Acts() {} + pluginProto.acts = new Acts(); + Acts.prototype.SetInputEnabled = function (en) { + this.enable = en == 1; + }; + function Exps() {} + pluginProto.exps = new Exps(); + instanceProto.TouchCount = function (ret) { + ret.set_int(this.touches.length); + }; + instanceProto.X = function (layerparam) { + var index = this.getTouchIndex; + var result; + if (index < 0 || index >= this.touches.length) { + result = 0; + return result; + } + var layer, oldScale, oldZoomRate, oldParallaxX, oldAngle; + if (cr.is_undefined(layerparam)) { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxX = layer.parallaxX; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxX = 1.0; + layer.angle = 0; + result = layer.canvasToLayer( + this.touches[index].x, + this.touches[index].y, + true + ); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxX = oldParallaxX; + layer.angle = oldAngle; + } else { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else layer = this.runtime.getLayerByName(layerparam); + if (layer) + result = layer.canvasToLayer( + this.touches[index].x, + this.touches[index].y, + true + ); + else result = 0; + } + return result; + }; + instanceProto.XAt = function (ret, index, layerparam) { + index = Math.floor(index); + if (index < 0 || index >= this.touches.length) { + ret.set_float(0); + return; + } + var layer, oldScale, oldZoomRate, oldParallaxX, oldAngle; + if (cr.is_undefined(layerparam)) { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxX = layer.parallaxX; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxX = 1.0; + layer.angle = 0; + ret.set_float( + layer.canvasToLayer(this.touches[index].x, this.touches[index].y, true) + ); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxX = oldParallaxX; + layer.angle = oldAngle; + } else { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else layer = this.runtime.getLayerByName(layerparam); + if (layer) + ret.set_float( + layer.canvasToLayer( + this.touches[index].x, + this.touches[index].y, + true + ) + ); + else ret.set_float(0); + } + }; + instanceProto.XForID = function (ret, id, layerparam) { + var index = this.findTouch(id); + if (index < 0) { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + var layer, oldScale, oldZoomRate, oldParallaxX, oldAngle; + if (cr.is_undefined(layerparam)) { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxX = layer.parallaxX; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxX = 1.0; + layer.angle = 0; + ret.set_float(layer.canvasToLayer(touch.x, touch.y, true)); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxX = oldParallaxX; + layer.angle = oldAngle; + } else { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else layer = this.runtime.getLayerByName(layerparam); + if (layer) ret.set_float(layer.canvasToLayer(touch.x, touch.y, true)); + else ret.set_float(0); + } + }; + instanceProto.Y = function (layerparam) { + var index = this.getTouchIndex; + var result; + if (index < 0 || index >= this.touches.length) { + result = 0; + return; + } + var layer, oldScale, oldZoomRate, oldParallaxY, oldAngle; + if (cr.is_undefined(layerparam)) { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxY = layer.parallaxY; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxY = 1.0; + layer.angle = 0; + result = layer.canvasToLayer( + this.touches[index].x, + this.touches[index].y, + false + ); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxY = oldParallaxY; + layer.angle = oldAngle; + } else { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else layer = this.runtime.getLayerByName(layerparam); + if (layer) + result = layer.canvasToLayer( + this.touches[index].x, + this.touches[index].y, + false + ); + else result = 0; + } + return result; + }; + instanceProto.YAt = function (ret, index, layerparam) { + index = Math.floor(index); + if (index < 0 || index >= this.touches.length) { + ret.set_float(0); + return; + } + var layer, oldScale, oldZoomRate, oldParallaxY, oldAngle; + if (cr.is_undefined(layerparam)) { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxY = layer.parallaxY; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxY = 1.0; + layer.angle = 0; + ret.set_float( + layer.canvasToLayer(this.touches[index].x, this.touches[index].y, false) + ); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxY = oldParallaxY; + layer.angle = oldAngle; + } else { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else layer = this.runtime.getLayerByName(layerparam); + if (layer) + ret.set_float( + layer.canvasToLayer( + this.touches[index].x, + this.touches[index].y, + false + ) + ); + else ret.set_float(0); + } + }; + instanceProto.YForID = function (ret, id, layerparam) { + var index = this.findTouch(id); + if (index < 0) { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + var layer, oldScale, oldZoomRate, oldParallaxY, oldAngle; + if (cr.is_undefined(layerparam)) { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxY = layer.parallaxY; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxY = 1.0; + layer.angle = 0; + ret.set_float(layer.canvasToLayer(touch.x, touch.y, false)); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxY = oldParallaxY; + layer.angle = oldAngle; + } else { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else layer = this.runtime.getLayerByName(layerparam); + if (layer) ret.set_float(layer.canvasToLayer(touch.x, touch.y, false)); + else ret.set_float(0); + } + }; + instanceProto.AbsoluteX = function (ret) { + if (this.touches.length) ret.set_float(this.touches[0].x); + else ret.set_float(0); + }; + instanceProto.AbsoluteXAt = function (ret, index) { + index = Math.floor(index); + if (index < 0 || index >= this.touches.length) { + ret.set_float(0); + return; + } + ret.set_float(this.touches[index].x); + }; + instanceProto.AbsoluteXForID = function (ret, id) { + var index = this.findTouch(id); + if (index < 0) { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + ret.set_float(touch.x); + }; + instanceProto.AbsoluteY = function (ret) { + if (this.touches.length) ret.set_float(this.touches[0].y); + else ret.set_float(0); + }; + instanceProto.AbsoluteYAt = function (ret, index) { + index = Math.floor(index); + if (index < 0 || index >= this.touches.length) { + ret.set_float(0); + return; + } + ret.set_float(this.touches[index].y); + }; + instanceProto.AbsoluteYForID = function (ret, id) { + var index = this.findTouch(id); + if (index < 0) { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + ret.set_float(touch.y); + }; + instanceProto.IsInTouch = function () { + return this.touches.length > 0; + }; + instanceProto.CursorX = function (layerparam) { + if (this.cursor.x == null) return null; + var x; + var layer, oldScale, oldZoomRate, oldParallaxX, oldAngle; + if (cr.is_undefined(layerparam)) { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxX = layer.parallaxX; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxX = 1.0; + layer.angle = 0; + x = layer.canvasToLayer(this.cursor.x, this.cursor.y, true); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxX = oldParallaxX; + layer.angle = oldAngle; + } else { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else layer = this.runtime.getLayerByName(layerparam); + if (layer) x = layer.canvasToLayer(this.cursor.x, this.cursor.y, true); + else x = 0; + } + return x; + }; + instanceProto.CursorY = function (layerparam) { + if (this.cursor.y == null) return null; + var y; + var layer, oldScale, oldZoomRate, oldParallaxX, oldAngle; + if (cr.is_undefined(layerparam)) { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxX = layer.parallaxX; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxX = 1.0; + layer.angle = 0; + y = layer.canvasToLayer(this.cursor.x, this.cursor.y, false); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxX = oldParallaxX; + layer.angle = oldAngle; + } else { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else layer = this.runtime.getLayerByName(layerparam); + if (layer) y = layer.canvasToLayer(this.cursor.x, this.cursor.y, false); + else y = 0; + } + return y; + }; + instanceProto.CursorAbsoluteX = function () { + return this.cursor.x; + }; + instanceProto.CursorAbsoluteY = function () { + return this.cursor.y; + }; +})(); +/** + * flood fill algorithm + * image_data is an array with pixel information as provided in canvas_context.data + * (x, y) is starting point and color is the color used to replace old color + */ +function flood_fill(image_data, canvas_width, canvas_height, x, y, _color) { + if (x<0 || x>canvas_width){ return;} + if (y<0 || y>canvas_height){ return;} + var color = $('
').css('background-color', _color).css('background-color'); + if(color == "transparent") + color="rgb(0,0,0)"; + color=color.slice(4,-1).split(","); + var components = 4; //rgba + var fillColorR = color[0]; + var fillColorG = color[1]; + var fillColorB = color[2]; + var pixel_pos = (y*canvas_width + x) * components; + var startR = image_data[pixel_pos]; + var startG = image_data[pixel_pos + 1]; + var startB = image_data[pixel_pos + 2]; + if(fillColorR==startR && fillColorG==startG && fillColorB==startB) + return; //prevent inf loop. + function matchStartColor(pixel_pos) { + return startR == image_data[pixel_pos] && + startG == image_data[pixel_pos+1] && + startB == image_data[pixel_pos+2]; + } + function colorPixel(pixel_pos) { + image_data[pixel_pos] = fillColorR; + image_data[pixel_pos+1] = fillColorG; + image_data[pixel_pos+2] = fillColorB; + image_data[pixel_pos+3] = 255; + } + function trace(dir) { + if(matchStartColor(pixel_pos + dir*components)) { + if(!sides[dir]) { + pixelStack.push([x + dir, y]); + sides[dir]= true; + } + } + else if(sides[dir]) { + sides[dir]= false; + } + } + var pixelStack = [[x, y]]; + while(pixelStack.length) + { + var newPos, x, y, pixel_pos, reachLeft, reachRight; + newPos = pixelStack.pop(); + x = newPos[0]; + y = newPos[1]; + pixel_pos = (y*canvas_width + x) * components; + while(y-- >= 0 && matchStartColor(pixel_pos)) + { + pixel_pos -= canvas_width * components; + } + pixel_pos += canvas_width * components; + ++y; + var sides = []; + sides[-1] = false; + sides[1] = false; + while(y++ < canvas_height-1 && matchStartColor(pixel_pos)) { + colorPixel(pixel_pos); + if(x > 0) { + trace(-1); + } + if(x < canvas_width-1) { + trace(1); + } + pixel_pos += canvas_width * components; + } + } +} +; +; +cr.plugins_.c2canvas = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.c2canvas.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + if (this.is_family) + return; + this.texture_img = new Image(); + this.texture_img.src = this.texture_file; + this.texture_img.cr_filesize = this.texture_filesize; + this.runtime.wait_for_textures.push(this.texture_img); + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + var fxNames = [ "lighter", + "xor", + "copy", + "destination-over", + "source-in", + "destination-in", + "source-out", + "destination-out", + "source-atop", + "destination-atop"]; + instanceProto.effectToCompositeOp = function(effect) + { + if (effect <= 0 || effect >= 11) + return "source-over"; + return fxNames[effect - 1]; // not including "none" so offset by 1 + }; + instanceProto.updateBlend = function(effect) + { + var gl = this.runtime.gl; + if (!gl) + return; + this.srcBlend = gl.ONE; + this.destBlend = gl.ONE_MINUS_SRC_ALPHA; + switch (effect) { + case 1: // lighter (additive) + this.srcBlend = gl.ONE; + this.destBlend = gl.ONE; + break; + case 2: // xor + break; // todo + case 3: // copy + this.srcBlend = gl.ONE; + this.destBlend = gl.ZERO; + break; + case 4: // destination-over + this.srcBlend = gl.ONE_MINUS_DST_ALPHA; + this.destBlend = gl.ONE; + break; + case 5: // source-in + this.srcBlend = gl.DST_ALPHA; + this.destBlend = gl.ZERO; + break; + case 6: // destination-in + this.srcBlend = gl.ZERO; + this.destBlend = gl.SRC_ALPHA; + break; + case 7: // source-out + this.srcBlend = gl.ONE_MINUS_DST_ALPHA; + this.destBlend = gl.ZERO; + break; + case 8: // destination-out + this.srcBlend = gl.ZERO; + this.destBlend = gl.ONE_MINUS_SRC_ALPHA; + break; + case 9: // source-atop + this.srcBlend = gl.DST_ALPHA; + this.destBlend = gl.ONE_MINUS_SRC_ALPHA; + break; + case 10: // destination-atop + this.srcBlend = gl.ONE_MINUS_DST_ALPHA; + this.destBlend = gl.SRC_ALPHA; + break; + } + }; + instanceProto.onCreate = function() + { + this.visible = (this.properties[0] === 0); // 0=visible, 1=invisible + this.compositeOp = this.effectToCompositeOp(this.properties[1]); + this.updateBlend(this.properties[1]); + this.canvas = document.createElement('canvas'); + this.canvas.width=this.width; + this.canvas.height=this.height; + this.ctx = this.canvas.getContext('2d'); + this.ctx.drawImage(this.type.texture_img,0,0,this.width,this.height); + this.tCanvas = document.createElement('canvas'); + this.tCtx = this.tCanvas.getContext('2d'); + this.update_tex = true; + this.rcTex = new cr.rect(0, 0, 0, 0); + }; + instanceProto.onDestroy = function () + { + }; + instanceProto.saveToJSON = function () + { + return { + "canvas_w":this.canvas.width, + "canvas_h":this.canvas.height, + "image":this.ctx.getImageData(0,0,this.canvas.width,this.canvas.height).data + }; + }; + instanceProto.loadFromJSON = function (o) + { + var canvasWidth = this.canvas.width = o["canvas_w"]; + var canvasHeight = this.canvas.height = o["canvas_h"]; + var data = this.ctx.getImageData(0,0,this.canvas.width,this.canvas.height).data; + for (var y = 0; y < canvasHeight; ++y) { + for (var x = 0; x < canvasWidth; ++x) { + var index = (y * canvasWidth + x)*4; + for (var c = 0; c < 4; ++c) + data[index+c] = o["image"][index+c]; + } + } + }; + instanceProto.draw_instances = function (instances, ctx) + { + for(var x in instances) + { + if(instances[x].visible==false && this.runtime.testOverlap(this, instances[x])== false) + continue; + ctx.save(); + ctx.scale(this.canvas.width/this.width, this.canvas.height/this.height); + ctx.rotate(-this.angle); + ctx.translate(-this.bquad.tlx, -this.bquad.tly); + ctx.globalCompositeOperation = instances[x].compositeOp;//rojo + if (instances[x].type.pattern !== undefined && instances[x].type.texture_img !== undefined) { + instances[x].pattern = ctx.createPattern(instances[x].type.texture_img, "repeat"); + } + instances[x].draw(ctx); + ctx.restore(); + } + }; + instanceProto.draw = function(ctx) + { + ctx.save(); + ctx.globalAlpha = this.opacity; + ctx.globalCompositeOperation = this.compositeOp; + var myx = this.x; + var myy = this.y; + if (this.runtime.pixel_rounding) + { + myx = Math.round(myx); + myy = Math.round(myy); + } + ctx.translate(myx, myy); + ctx.rotate(this.angle); + ctx.drawImage(this.canvas, + 0 - (this.hotspotX * this.width), + 0 - (this.hotspotY * this.height), + this.width, + this.height); + ctx.restore(); + }; + instanceProto.drawGL = function(glw) + { + glw.setBlend(this.srcBlend, this.destBlend); + if (this.update_tex) + { + if (this.tex) + glw.deleteTexture(this.tex); + this.tex=glw.loadTexture(this.canvas, false, this.runtime.linearSampling); + this.update_tex = false; + } + glw.setTexture(this.tex); + glw.setOpacity(this.opacity); + var q = this.bquad; + if (this.runtime.pixel_rounding) + { + var ox = Math.round(this.x) - this.x; + var oy = Math.round(this.y) - this.y; + glw.quad(q.tlx + ox, q.tly + oy, q.trx + ox, q.try_ + oy, q.brx + ox, q.bry + oy, q.blx + ox, q.bly + oy); + } + else + glw.quad(q.tlx, q.tly, q.trx, q.try_, q.brx, q.bry, q.blx, q.bly); + }; + pluginProto.cnds = {}; + var cnds = pluginProto.cnds; + pluginProto.acts = {}; + var acts = pluginProto.acts; + acts.SetEffect = function (effect) + { + this.compositeOp = this.effectToCompositeOp(effect); + this.runtime.redraw = true; + this.update_tex = true; + }; + acts.DrawPoint = function (x,y, color) + { + var ctx=this.ctx; + ctx.fillStyle = color; + ctx.fillRect(x,y,1,1); + this.runtime.redraw = true; + this.update_tex = true; + }; + acts.ResizeCanvas = function (width, height) + { + this.canvas.width=width; + this.canvas.height=height; + this.runtime.redraw = true; + this.update_tex = true; + }; + acts.PasteObject = function (object) + { + var ctx=this.ctx; + this.update_bbox(); + var sol = object.getCurrentSol(); + var instances; + if (sol.select_all) + instances = sol.type.instances; + else + instances = sol.instances; + this.draw_instances(instances, ctx); + this.runtime.redraw = true; + this.update_tex = true; + }; + acts.PasteLayer = function (layer) + { + if (!layer || !layer.visible) + return false; + var ctx=this.ctx; + this.update_bbox(); + this.tCanvas.width=this.canvas.width; + this.tCanvas.height=this.canvas.height; + var t=this.tCtx; + t.clearRect(0,0,this.tCanvas.width, this.tCanvas.height); + this.draw_instances(layer.instances, t); + ctx.drawImage(this.tCanvas,0,0,this.width,this.height); + this.runtime.redraw = true; + this.update_tex = true; + }; + acts.DrawBox = function (x, y, width, height, color) + { + this.ctx.fillStyle = color; + this.ctx.fillRect(x,y,width,height); + this.runtime.redraw = true; + this.update_tex = true; + }; + acts.DrawLine = function (x1, y1, x2, y2, color, line_width) + { + var ctx = this.ctx; + ctx.strokeStyle = color; + ctx.lineWidth = line_width; + ctx.beginPath(); + ctx.moveTo(x1,y1); + ctx.lineTo(x2, y2); + ctx.stroke(); + this.runtime.redraw = true; + this.update_tex = true; + }; + acts.ClearCanvas = function () + { + this.ctx.clearRect(0,0,this.canvas.width, this.canvas.height); + this.runtime.redraw = true; + this.update_tex = true; + }; + acts.FillColor = function (color) + { + this.ctx.fillStyle = color; + this.ctx.fillRect(0,0,this.canvas.width, this.canvas.height); + this.runtime.redraw = true; + this.update_tex = true; + }; + acts.fillGradient = function (gradient_style, color1, color2) + { + var ctx = this.ctx; + var w =this.canvas.width; + var h=this.canvas.height; + var gradient; + switch(gradient_style) + { + case 0: //horizontal + gradient = ctx.createLinearGradient(0,0,w,0); + break; + case 1: //vertical + gradient = ctx.createLinearGradient(0,0,0,h); + break; + case 2: //diagonal_down_right + gradient = ctx.createLinearGradient(0,0,w,h); + break; + case 3: //diagonal_down_left + gradient = ctx.createLinearGradient(w,0,0,h); + break; + case 4: //radial + gradient = ctx.createRadialGradient(w/2,h/2,0,w/2,h/2, Math.sqrt(w*w+h*h)/2); + break; + } + try{ + gradient.addColorStop(0, color1); + }catch(e){ + gradient.addColorStop(0, "black"); + } + try{ + gradient.addColorStop(1, color2); + }catch(e){ + gradient.addColorStop(1, "black"); + } + this.ctx.fillStyle = gradient; + this.ctx.fillRect(0, 0, w, h); + this.runtime.redraw = true; + this.update_tex = true; + }; + acts.beginPath = function () + { + this.ctx.beginPath(); + }; + acts.drawPath = function (color, line_width) + { + var ctx = this.ctx; + ctx.strokeStyle = color; + ctx.lineWidth = line_width; + ctx.stroke(); + this.runtime.redraw = true; + this.update_tex = true; + }; + acts.setLineSettings = function (line_cap, line_joint) + { + var ctx = this.ctx; + ctx.lineCap = ["butt","round","square"][line_cap]; + ctx.lineJoin = ["round","bevel","milet"][line_joint]; + }; + acts.fillPath = function (color) + { + this.ctx.fillStyle = color; + this.ctx.fill(); + this.runtime.redraw = true; + this.update_tex = true; + }; + acts.moveTo = function (x, y) + { + this.ctx.moveTo(x, y); + }; + acts.lineTo = function (x, y) + { + this.ctx.lineTo(x, y); + }; + acts.arc = function (x, y, radius, start_angle, end_angle, arc_direction) + { + this.ctx.arc(x, y, radius, cr.to_radians(start_angle), cr.to_radians(end_angle), arc_direction==1); + }; + acts.drawCircle = function (x, y, radius, color, line_width) + { + var ctx = this.ctx; + ctx.strokeStyle = color; + ctx.lineWidth = line_width; + ctx.beginPath(); + ctx.arc(x, y, radius, 0, cr.to_radians(360), true); + ctx.stroke(); + this.runtime.redraw = true; + this.update_tex = true; + }; + acts.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) + { + this.ctx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y); + }; + acts.quadraticCurveTo = function (cpx, cpy, x, y) + { + this.ctx.quadraticCurveTo(cpx, cpy, x, y); + }; + acts.rectPath = function (x, y, width, height) + { + this.ctx.rect(x,y,width,height); + }; + acts.FloodFill= function (x,y,color) + { + var ctx = this.ctx; + var I = ctx.getImageData(0, 0, this.canvas.width, this.canvas.height); + flood_fill(I.data, this.canvas.width, this.canvas.height, x, y, color); + ctx.putImageData(I,0,0); + this.runtime.redraw = true; + this.update_tex = true; + }; + acts.setLineDash = function (dash_width, space_width) + { + var dashArr = [dash_width, space_width]; + this.ctx.setLineDash(dashArr); + }; + pluginProto.exps = {}; + var exps = pluginProto.exps; + exps.rgbaAt = function (ret, x, y) + { + var imageData= this.ctx.getImageData(x,y,1,1); + var data= imageData.data; + ret.set_string("rgba(" + data[0] + "," + data[1] + "," + data[2] + "," + data[3]/255 + ")"); + }; + exps.redAt = function (ret, x, y) + { + var imageData= this.ctx.getImageData(x,y,1,1); + var data= imageData.data; + ret.set_int(data[0]); + }; + exps.greenAt = function (ret, x, y) + { + var imageData= this.ctx.getImageData(x,y,1,1); + var data= imageData.data; + ret.set_int(data[1]); + }; + exps.blueAt = function (ret, x, y) + { + var imageData= this.ctx.getImageData(x,y,1,1); + var data= imageData.data; + ret.set_int(data[2]); + }; + exps.alphaAt = function (ret, x, y) + { + var imageData= this.ctx.getImageData(x,y,1,1); + var data= imageData.data; + ret.set_int(data[3]*100/255); + }; + exps.imageUrl = function (ret) + { + ret.set_string(this.canvas.toDataURL()); + }; + exps.AsJSON = function(ret) + { + ret.set_string( JSON.stringify({ + "c2array": true, + "size": [1, 1, this.canvas.width * this.canvas.height * 4], + "data": [[this.ctx.getImageData(0, 0, this.canvas.width, this.canvas.height).data]] + })); + }; +}()); +; +; +cr.plugins_.filechooser = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.filechooser.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + var c2URL = window["URL"] || window["webkitURL"] || window["mozURL"] || window["msURL"]; + instanceProto.onCreate = function() + { + if (this.runtime.isDomFree) + { + cr.logexport("[Construct 2] File Chooser plugin not supported on this platform - the object will not be created"); + return; + } + this.elem = document.createElement("input"); + this.elem.type = "file"; + this.elem.setAttribute("accept", this.properties[0]); + if (this.properties[1] !== 0) // multiple selection + this.elem.setAttribute("multiple", ""); + this.elem.id = this.properties[3]; + jQuery(this.elem).appendTo(this.runtime.canvasdiv ? this.runtime.canvasdiv : "body"); + this.element_hidden = false; + if (this.properties[2] === 0) + { + jQuery(this.elem).hide(); + this.visible = false; + this.element_hidden = true; + } + var self = this; + this.elem.onchange = function () + { + self.runtime.trigger(cr.plugins_.filechooser.prototype.cnds.OnChanged, self); + }; + this.lastLeft = 0; + this.lastTop = 0; + this.lastRight = 0; + this.lastBottom = 0; + this.lastWinWidth = 0; + this.lastWinHeight = 0; + this.updatePosition(true); + this.runtime.tickMe(this); + }; + instanceProto.onDestroy = function () + { + if (this.runtime.isDomFree) + return; + jQuery(this.elem).remove(); + this.elem = null; + }; + instanceProto.tick = function () + { + this.updatePosition(); + }; + var last_canvas_offset = null; + var last_checked_tick = -1; + instanceProto.updatePosition = function (first) + { + if (this.runtime.isDomFree) + return; + var left = this.layer.layerToCanvas(this.x, this.y, true); + var top = this.layer.layerToCanvas(this.x, this.y, false); + var right = this.layer.layerToCanvas(this.x + this.width, this.y + this.height, true); + var bottom = this.layer.layerToCanvas(this.x + this.width, this.y + this.height, false); + var rightEdge = this.runtime.width / this.runtime.devicePixelRatio; + var bottomEdge = this.runtime.height / this.runtime.devicePixelRatio; + if (!this.visible || !this.layer.visible || right <= 0 || bottom <= 0 || left >= rightEdge || top >= bottomEdge) + { + if (!this.element_hidden) + jQuery(this.elem).hide(); + this.element_hidden = true; + return; + } + if (left < 1) + left = 1; + if (top < 1) + top = 1; + if (right >= rightEdge) + right = rightEdge - 1; + if (bottom >= bottomEdge) + bottom = bottomEdge - 1; + var curWinWidth = window.innerWidth; + var curWinHeight = window.innerHeight; + if (!first && this.lastLeft === left && this.lastTop === top && this.lastRight === right && this.lastBottom === bottom && this.lastWinWidth === curWinWidth && this.lastWinHeight === curWinHeight) + { + if (this.element_hidden) + { + jQuery(this.elem).show(); + this.element_hidden = false; + } + return; + } + this.lastLeft = left; + this.lastTop = top; + this.lastRight = right; + this.lastBottom = bottom; + this.lastWinWidth = curWinWidth; + this.lastWinHeight = curWinHeight; + if (this.element_hidden) + { + jQuery(this.elem).show(); + this.element_hidden = false; + } + var offx = Math.round(left) + jQuery(this.runtime.canvas).offset().left; + var offy = Math.round(top) + jQuery(this.runtime.canvas).offset().top; + jQuery(this.elem).css("position", "absolute"); + jQuery(this.elem).offset({left: offx, top: offy}); + jQuery(this.elem).width(Math.round(right - left)); + jQuery(this.elem).height(Math.round(bottom - top)); + }; + instanceProto.draw = function(ctx) + { + }; + instanceProto.drawGL = function(glw) + { + }; + function Cnds() {}; + Cnds.prototype.OnChanged = function () + { + return true; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetVisible = function (vis) + { + if (this.runtime.isDomFree) + return; + this.visible = (vis !== 0); + }; + Acts.prototype.SetCSSStyle = function (p, v) + { + if (this.runtime.isDomFree) + return; + jQuery(this.elem).css(p, v); + }; + Acts.prototype.ReleaseFile = function (f) + { + if (this.runtime.isDomFree) + return; + if (c2URL && c2URL["revokeObjectURL"]) + c2URL["revokeObjectURL"](f); + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.FileCount = function (ret) + { + ret.set_int(this.runtime.isDomFree ? 0 : (this.elem["files"].length || 0)); + }; + function getFileAt(files, index) + { + if (!files) + return null; + index = Math.floor(index); + if (index < 0 || index >= files.length) + return null; + return files[index]; + }; + Exps.prototype.FileNameAt = function (ret, i) + { + var file = this.runtime.isDomFree ? null : getFileAt(this.elem["files"], i); + ret.set_string(file ? (file["name"] || "") : ""); + }; + Exps.prototype.FileSizeAt = function (ret, i) + { + var file = this.runtime.isDomFree ? null : getFileAt(this.elem["files"], i); + ret.set_int(file ? (file["size"] || 0) : 0); + }; + Exps.prototype.FileTypeAt = function (ret, i) + { + var file = this.runtime.isDomFree ? null : getFileAt(this.elem["files"], i); + ret.set_string(file ? (file["type"] || "") : ""); + }; + Exps.prototype.FileURLAt = function (ret, i) + { + var file = this.runtime.isDomFree ? null : getFileAt(this.elem["files"], i); + if (!file) + { + ret.set_string(""); + } + else if (file["c2url"]) // already created object URL + { + ret.set_string(file["c2url"]); + } + else if (c2URL && c2URL["createObjectURL"]) + { + file["c2url"] = c2URL["createObjectURL"](file); + ret.set_string(file["c2url"]); + } + else + { + ret.set_string(""); + } + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.gamepad = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.gamepad.prototype; + var isSupported = false; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + isSupported = !!(navigator["getGamepads"] || navigator["webkitGetGamepads"] || navigator["mozGetGamepads"] || navigator["gamepads"] || navigator["webkitGamepads"] || navigator["MozGamepads"] || window["cr_getGamepads"]); + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + var gamepadRuntime = null; + var gamepadInstance = null; + var controllers = new Array(16); + var padStates = new Array(16); + var padOldStates = new Array(16); + var osToken = ""; + var browserToken = ""; + function getPadState(i) + { + var j; + if (!padStates[i]) + { + padStates[i] = new Array(20); + for (j = 0; j < 20; ++j) + padStates[i][j] = 0; + } + return padStates[i]; + }; + function getPadOldState(i) + { + var j; + if (!padOldStates[i]) + { + padOldStates[i] = new Array(20); + for (j = 0; j < 20; ++j) + padOldStates[i][j] = 0; + } + return padOldStates[i]; + }; + function updatePadOldState(i) + { + var cur = getPadState(i); + var old = getPadOldState(i); + var j; + for (j = 0; j < 20; ++j) + old[j] = cur[j]; + }; + function clearPadState(i) + { + padStates[i] = null; + padOldStates[i] = null; + }; + var axisOffset = 16; + var curCtrlMap = null; + var ctrlmap = {}; + ctrlmap["windows"] = {}; + ctrlmap["windows"]["firefox"] = {}; + function doControllerMapping(index, isAxis, buttonmap, axismap) + { + if (isAxis) + { + if (index >= axismap.length) + return -1; // unknown axis + if (cr.is_number(axismap[index])) + return axismap[index] + axisOffset; + else + { + return axismap[index]; // returning array + } + } + else + { + if (index >= buttonmap.length) + return -1; // unknown button + return buttonmap[index]; + } + }; + var win_ff_xbox360_buttons = [0, 1, 2, 3, 4, 5, 8, 9, 10, 11]; + var win_ff_xbox360_axes = [0, 1, [7, 6], 2, 3, [14, 15], [12, 13]]; + ctrlmap["windows"]["firefox"]["xbox360"] = function (index, isAxis) + { + return doControllerMapping(index, isAxis, win_ff_xbox360_buttons, win_ff_xbox360_axes); + }; + var win_ff_lda_buttons = [2, 0, 1, 3, 4, 6, 5, 7, 8, 9]; + var win_ff_lda_axes = [0, 1, 2, 3, [14, 15], [12, 13]]; + ctrlmap["windows"]["firefox"]["logitechdualaction"] = function (index, isAxis) + { + return doControllerMapping(index, isAxis, win_ff_lda_buttons, win_ff_lda_axes); + }; + function defaultMap(index, isAxis) + { + if (isAxis) + { + if (index >= 4) + return -1; // unknown axis + return index + axisOffset; + } + else + { + if (index >= 16) + return -1; // unknown button + return index; + } + }; + function getMapper(id_) + { + if (!curCtrlMap) + return defaultMap; + var controllertoken = ""; + var id = id_.toLowerCase(); + if (id.indexOf("xbox 360") > -1) + controllertoken = "xbox360"; + else if (id.indexOf("logitech dual action") > -1) + controllertoken = "logitechdualaction"; + var curmap = curCtrlMap[controllertoken]; + return curmap || defaultMap; + }; + function onConnected(e) + { + controllers[e["gamepad"]["index"]] = e["gamepad"]; + gamepadRuntime.trigger(cr.plugins_.gamepad.prototype.cnds.OnGamepadConnected, gamepadInstance); + }; + function onDisconnected(e) + { + gamepadRuntime.trigger(cr.plugins_.gamepad.prototype.cnds.OnGamepadDisconnected, gamepadInstance); + controllers[e["gamepad"]["index"]] = null; + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + gamepadRuntime = this.runtime; + gamepadInstance = this; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + this.deadzone = this.properties[0]; + this.lastButton = 0; + var userAgent = navigator.userAgent; + osToken = "windows"; + if (/mac/i.test(userAgent)) + osToken = "mac"; + curCtrlMap = ctrlmap[osToken]; + browserToken = "chrome"; + if (/firefox/i.test(userAgent)) + browserToken = "firefox"; + if (curCtrlMap) + curCtrlMap = curCtrlMap[browserToken]; + window.addEventListener("webkitgamepadconnected", onConnected, false); + window.addEventListener("webkitgamepaddisconnected", onDisconnected, false); + window.addEventListener("MozGamepadConnected", onConnected, false); + window.addEventListener("MozGamepadDisconnected", onDisconnected, false); + window.addEventListener("gamepadconnected", onConnected, false); + window.addEventListener("gamepaddisconnected", onDisconnected, false); + this.runtime.tickMe(this); + this.activeControllers = []; + }; + instanceProto.tick = function () + { + this.activeControllers.length = 0; + var gamepads = null; + var synthetic = false; + if (navigator["getGamepads"]) + gamepads = navigator["getGamepads"](); + else if (navigator["webkitGetGamepads"]) + gamepads = navigator["webkitGetGamepads"](); + else if (navigator["mozGetGamepads"]) + gamepads = navigator["mozGetGamepads"](); + else if (navigator["msGetGamepads"]) + gamepads = navigator["msGetGamepads"](); + else if (this.runtime.isWindows8Capable && window["cr_getGamepads"]) + { + gamepads = window["cr_getGamepads"](); + synthetic = true; + } + else + gamepads = navigator["gamepads"] || navigator["webkitGamepads"] || navigator["MozGamepads"] || controllers; + if (!gamepads) + return; + var i, len, j, lenj, mapfunc, index, value; + for (i = 0, len = gamepads.length; i < len; i++) + { + var pad = gamepads[i]; + if (!pad) + { + clearPadState(i); + continue; + } + var state = getPadState(i); + var oldstate = getPadOldState(i); + updatePadOldState(i); + mapfunc = (synthetic ? defaultMap : getMapper(pad.id)); + for (j = 0, lenj = pad["buttons"].length; j < lenj; j++) + { + if (typeof pad["buttons"][j]["value"] !== "undefined") + value = pad["buttons"][j]["value"]; + else + value = pad["buttons"][j]; + index = mapfunc(j, false, value); + if (index >= 0 && index < 20) + { + state[index] = value * 100; + if (state[index] >= 50 && oldstate[index] < 50) + this.lastButton = index; + } + } + for (j = 0, lenj = pad["axes"].length; j < lenj; j++) + { + value = pad["axes"][j]; + index = mapfunc(j, true, value); + if (cr.is_number(index)) + { + if (index >= 0 && index < 20) + state[index] = value * 100; + } + else + { + state[index[0]] = 0; + state[index[1]] = 0; + if (value <= 0) + state[index[0]] = Math.abs(value * 100); + else + state[index[1]] = Math.abs(value * 100); + } + } + this.activeControllers.push(pad); + } + for ( ; i < 20; ++i) + clearPadState(i); + }; + instanceProto.saveToJSON = function () + { + return { "lastButton": this.lastButton }; + }; + instanceProto.loadFromJSON = function (o) + { + this.lastButton = o["lastButton"]; + }; + function Cnds() {}; + Cnds.prototype.SupportsGamepad = function () + { + return isSupported; + }; + Cnds.prototype.OnGamepadConnected = function () + { + return true; + }; + Cnds.prototype.OnGamepadDisconnected = function () + { + return true; + }; + Cnds.prototype.IsButtonDown = function (gamepad, button) + { + gamepad = Math.floor(gamepad); + if (gamepad < 0 || gamepad >= this.activeControllers.length) + return false; + var state = getPadState(gamepad); + if (!state) + return false; + var ret = state[button] >= 50; + if (ret) + this.lastButton = button; + return ret; + }; + Cnds.prototype.OnButtonDown = function (gamepad, button) + { + gamepad = Math.floor(gamepad); + if (gamepad < 0 || gamepad >= this.activeControllers.length) + return false; + var state = getPadState(gamepad); + var oldstate = getPadOldState(gamepad); + if (!state || !oldstate) + return false; + var ret = state[button] >= 50 && oldstate[button] < 50; + if (ret) + this.lastButton = button; + return ret; + }; + Cnds.prototype.OnButtonUp = function (gamepad, button) + { + gamepad = Math.floor(gamepad); + if (gamepad < 0 || gamepad >= this.activeControllers.length) + return false; + var state = getPadState(gamepad); + var oldstate = getPadOldState(gamepad); + if (!state || !oldstate) + return false; + var ret = state[button] < 50 && oldstate[button] >= 50; + if (ret) + this.lastButton = button; + return ret; + }; + Cnds.prototype.HasGamepads = function () + { + return this.activeControllers.length > 0; + }; + Cnds.prototype.CompareAxis = function (gamepad, axis, comparison, value) + { + gamepad = Math.floor(gamepad); + axis = Math.floor(axis); + if (gamepad < 0 || gamepad >= this.activeControllers.length) + return false; + var state = getPadState(gamepad); + if (!state) + return; + var axisvalue = state[axis + axisOffset]; + var othervalue = 0; + if (axis % 2 === 0) // is X axis + othervalue = state[axis + axisOffset + 1]; // get next axis (Y) + else + othervalue = state[axis + axisOffset - 1]; // get previous axis (X) + if (Math.sqrt(axisvalue * axisvalue + othervalue * othervalue) <= this.deadzone) + axisvalue = 0; + return cr.do_cmp(axisvalue, comparison, value); + }; + Cnds.prototype.OnAnyButtonDown = function (gamepad) + { + gamepad = Math.floor(gamepad); + if (gamepad < 0 || gamepad >= this.activeControllers.length) + return false; + var state = getPadState(gamepad); + var oldstate = getPadOldState(gamepad); + if (!state || !oldstate) + return false; + var i, len; + for (i = 0, len = state.length; i < len; i++) + { + if (state[i] >= 50 && oldstate[i] < 50) + { + this.lastButton = i; + return true; + } + } + return false; + }; + Cnds.prototype.OnAnyButtonUp = function (gamepad) + { + gamepad = Math.floor(gamepad); + if (gamepad < 0 || gamepad >= this.activeControllers.length) + return false; + var state = getPadState(gamepad); + var oldstate = getPadOldState(gamepad); + if (!state || !oldstate) + return false; + var i, len; + for (i = 0, len = state.length; i < len; i++) + { + if (state[i] < 50 && oldstate[i] >= 50) + { + this.lastButton = i; + return true; + } + } + return false; + }; + Cnds.prototype.IsButtonIndexDown = function (gamepad, button) + { + gamepad = Math.floor(gamepad); + if (gamepad < 0 || gamepad >= this.activeControllers.length) + return false; + var state = getPadState(gamepad); + if (!state) + return false; + button = Math.floor(button); + if (button < 0 || button >= state.length) + return false; + var ret = state[button] >= 50; + if (ret) + this.lastButton = button; + return ret; + }; + Cnds.prototype.OnButtonIndexDown = function (gamepad, button) + { + gamepad = Math.floor(gamepad); + if (gamepad < 0 || gamepad >= this.activeControllers.length) + return false; + var state = getPadState(gamepad); + var oldstate = getPadOldState(gamepad); + if (!state || !oldstate) + return false; + button = Math.floor(button); + if (button < 0 || button >= state.length) + return false; + var ret = state[button] >= 50 && oldstate[button] < 50; + if (ret) + this.lastButton = button; + return ret; + }; + Cnds.prototype.OnButtonIndexUp = function (gamepad, button) + { + gamepad = Math.floor(gamepad); + if (gamepad < 0 || gamepad >= this.activeControllers.length) + return false; + var state = getPadState(gamepad); + var oldstate = getPadOldState(gamepad); + if (!state || !oldstate) + return false; + button = Math.floor(button); + if (button < 0 || button >= state.length) + return false; + var ret = state[button] < 50 && oldstate[button] >= 50; + if (ret) + this.lastButton = button; + return ret; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.GamepadCount = function (ret) + { + ret.set_int(this.activeControllers.length); + }; + Exps.prototype.GamepadID = function (ret, index) + { + if (index < 0 || index >= this.activeControllers.length) + { + ret.set_string(""); + return; + } + ret.set_string(this.activeControllers[index].id); + }; + Exps.prototype.GamepadAxes = function (ret, index) + { + if (index < 0 || index >= this.activeControllers.length) + { + ret.set_string(""); + return; + } + var axes = this.activeControllers[index]["axes"]; + var str = ""; + var i, len; + for (i = 0, len = axes.length; i < len; i++) + { + str += "Axis " + i + ": " + Math.round(axes[i] * 100) + "\n"; + } + ret.set_string(str); + }; + Exps.prototype.GamepadButtons = function (ret, index) + { + if (index < 0 || index >= this.activeControllers.length) + { + ret.set_string(""); + return; + } + var buttons = this.activeControllers[index]["buttons"]; + var str = ""; + var i, len, value; + for (i = 0, len = buttons.length; i < len; i++) + { + if (typeof buttons[i]["value"] !== "undefined") + value = buttons[i]["value"]; + else + value = buttons[i]; + str += "Button " + i + ": " + Math.round(value * 100) + "\n"; + } + ret.set_string(str); + }; + Exps.prototype.RawButton = function (ret, gamepad, index) + { + gamepad = Math.floor(gamepad); + index = Math.floor(index); + if (gamepad < 0 || gamepad >= this.activeControllers.length) + { + ret.set_float(0); + return; + } + var state = this.activeControllers[gamepad]["buttons"]; + if (!state || index < 0 || index >= state.length) + { + ret.set_float(0); + return; + } + if (typeof state[index]["value"] !== "undefined") + ret.set_float(state[index]["value"]); + else + ret.set_float(state[index]); + }; + Exps.prototype.RawAxis = function (ret, gamepad, index) + { + gamepad = Math.floor(gamepad); + index = Math.floor(index); + if (gamepad < 0 || gamepad >= this.activeControllers.length) + { + ret.set_float(0); + return; + } + var state = this.activeControllers[gamepad]["axes"]; + if (!state || index < 0 || index >= state.length) + { + ret.set_float(0); + return; + } + ret.set_float(state[index]); + }; + Exps.prototype.RawButtonCount = function (ret, gamepad) + { + gamepad = Math.floor(gamepad); + if (gamepad < 0 || gamepad >= this.activeControllers.length) + { + ret.set_int(0); + return; + } + ret.set_int(this.activeControllers[gamepad]["buttons"].length); + }; + Exps.prototype.RawAxisCount = function (ret, gamepad) + { + gamepad = Math.floor(gamepad); + if (gamepad < 0 || gamepad >= this.activeControllers.length) + { + ret.set_int(0); + return; + } + ret.set_int(this.activeControllers[gamepad]["axes"].length); + }; + Exps.prototype.Button = function (ret, gamepad, index) + { + gamepad = Math.floor(gamepad); + index = Math.floor(index); + if (gamepad < 0 || gamepad >= this.activeControllers.length) + { + ret.set_float(0); + return; + } + var state = getPadState(gamepad); + if (!state || index < 0 || index >= axisOffset) + { + ret.set_float(0); + return; + } + ret.set_float(state[index]); + }; + Exps.prototype.Axis = function (ret, gamepad, index) + { + gamepad = Math.floor(gamepad); + index = Math.floor(index); + if (gamepad < 0 || gamepad >= this.activeControllers.length) + { + ret.set_float(0); + return; + } + var state = getPadState(gamepad); + if (!state || index < 0 || index >= 4) + { + ret.set_float(0); + return; + } + var value = state[index + axisOffset]; + var othervalue = 0; + if (index % 2 === 0) // is X axis + othervalue = state[index + axisOffset + 1]; // get next axis (Y) + else + othervalue = state[index + axisOffset - 1]; // get previous axis (X) + if (Math.sqrt(value * value + othervalue * othervalue) <= this.deadzone) + value = 0; + ret.set_float(value); + }; + Exps.prototype.LastButton = function (ret) + { + ret.set_int(this.lastButton); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.hmmg_layoutTransition_v2 = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.hmmg_layoutTransition_v2.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + var time = this.properties[0] || null; + if(time != null) + if(time >0) + $("head").append(""); + }; + instanceProto.onDestroy = function () + { + }; + instanceProto.saveToJSON = function () + { + return { + }; + }; + instanceProto.loadFromJSON = function (o) + { + }; + instanceProto.draw = function(ctx) + { + }; + instanceProto.drawGL = function (glw) + { + }; + function Cnds() {}; + Cnds.prototype.isTransitionReady = function () + { + return true; + }; + Cnds.prototype.didTransitionStart = function () + { + return true; + }; + Cnds.prototype.didTransitionFinish = function () + { + return true; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.prepareTransition = function () + { + var tempcolor = this.properties[1]; + var R = Math.floor(tempcolor/(65536)); + var G = Math.floor(tempcolor/(256)) % 256; + var B = tempcolor % 256; + tempcolor = "rgb(" + R + "," + G + "," + B +")"; + var self = this ; + function prepareCanvas(elem,callback1) + { + self.runtime.doCanvasSnapshot("image/jpeg", 100/100); + setTimeout(function() + { + callback1(self.runtime.snapshotData); + },50); + } + function isCanvasReady(callback) + { + prepareCanvas(self,function(returnedPic) + { + if($("#fakeCanvas")[0] == undefined) + { + var c2canvasdiv = $("#c2canvasdiv") ; + var fakeCanvas = $("
"); + var fakeBody = $("
"); + var marginLeft = parseFloat(c2canvasdiv.css("margin-left")); + fakeBody.css( + { + "top":c2canvasdiv.offset().top, + "left":c2canvasdiv.offset().left, + "width":c2canvasdiv.width(), + "height":c2canvasdiv.height(), + "background-color": tempcolor + }); + c2canvasdiv.addClass("prepared").find(" > :not(canvas)").each(function() + { + $(this).css("left",($(this).offset().left-marginLeft)+"px"); + }); + fakeBody.appendTo(document.body).append(c2canvasdiv).append(fakeCanvas); + if(callback) + callback(); + } + }); + } + isCanvasReady(function() + { + self.runtime.trigger(cr.plugins_.hmmg_layoutTransition_v2.prototype.cnds.isTransitionReady, self); + }); + }; + Acts.prototype.startTransition = function (transID) + { + var fakeBody = $("#fakeBody"); + var c2canvasdiv = fakeBody.find("#c2canvasdiv") ; + var fakeCanvas = fakeBody.find("#fakeCanvas"); + var self = this ; + function darkTheFakeCanvas(callback) + { + setTimeout(function() + { + fakeCanvas.find("div").addClass("darker"); + if(callback) + callback(); + },1); + } + function removeChanges() + { + fakeBody.remove(); + c2canvasdiv.appendTo(document.body).removeClass("prepared"); + self.runtime.trigger(cr.plugins_.hmmg_layoutTransition_v2.prototype.cnds.didTransitionFinish, self) + } + self.runtime.trigger(cr.plugins_.hmmg_layoutTransition_v2.prototype.cnds.didTransitionStart, self) + if(transID == 14) + { + c2canvasdiv.addClass("hidden"); + fakeCanvas.addClass('animated rotateOut').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + fakeCanvas.addClass("hidden"); + }); + c2canvasdiv.removeClass("hidden").addClass('animated rotateIn').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + c2canvasdiv.removeClass("animated rotateIn"); + removeChanges(); + }); + } + else if(transID == 13) + { + fakeCanvas.addClass('animated rollOut').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + fakeCanvas.addClass("hidden"); + }); + c2canvasdiv.addClass('animated rollIn').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + c2canvasdiv.removeClass("animated rollIn"); + removeChanges(); + }); + } + else if(transID == 12) + { + fakeCanvas.addClass('animated zoomOut').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + fakeCanvas.addClass("hidden"); + }); + c2canvasdiv.addClass('animated zoomIn').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + c2canvasdiv.removeClass("animated zoomIn"); + removeChanges(); + }); + } + else if(transID == 11) + { + c2canvasdiv.addClass("hidden"); + fakeCanvas.addClass('animated fadeOut').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + fakeCanvas.addClass("hidden"); + c2canvasdiv.removeClass("hidden").addClass('animated fadeIn').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + c2canvasdiv.removeClass("animated fadeIn"); + removeChanges(); + }); + }); + } + else if(transID == 10) + { + c2canvasdiv.addClass("hidden"); + fakeCanvas.addClass('animated fadeOut').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + fakeCanvas.addClass("hidden"); + }); + c2canvasdiv.removeClass("hidden").addClass('animated fadeIn').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + c2canvasdiv.removeClass("animated fadeIn"); + removeChanges(); + }); + } + else if(transID == 9) + { + c2canvasdiv.addClass("hidden"); + fakeCanvas.addClass('animated flipOutYY').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + fakeCanvas.addClass("hidden"); + c2canvasdiv.removeClass("hidden").addClass('animated flipInYY').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + c2canvasdiv.removeClass("animated flipInYY"); + removeChanges(); + }); + }); + } + else if(transID == 8) + { + c2canvasdiv.addClass("hidden"); + fakeCanvas.addClass('animated flipOutXX').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + fakeCanvas.addClass("hidden"); + c2canvasdiv.removeClass("hidden").addClass('animated flipInXX').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + c2canvasdiv.removeClass("animated flipInXX"); + removeChanges(); + }); + }); + } + else if(transID == 7) + { + c2canvasdiv.addClass('animated slideInRight').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + removeChanges(); + c2canvasdiv.removeClass("animated slideInRight"); + }); + } + else if(transID == 6) + { + c2canvasdiv.addClass('animated slideInLeft').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + removeChanges(); + c2canvasdiv.removeClass('animated slideInLeft'); + }); + } + else if(transID == 5) + { + c2canvasdiv.addClass('animated slideInDown').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + removeChanges(); + c2canvasdiv.removeClass('animated slideInDown'); + }); + } + else if(transID == 4) + { + c2canvasdiv.addClass('animated slideInUp').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + removeChanges(); + c2canvasdiv.removeClass('animated slideInUp'); + }); + } + else if(transID == 3) + { + c2canvasdiv.addClass('animated slideInRight').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + removeChanges(); + c2canvasdiv.removeClass("animated slideInRight"); + fakeCanvas.removeClass('animated slideOutLeft'); + }); + fakeCanvas.addClass('animated slideOutLeft'); + } + else if(transID == 2) + { + c2canvasdiv.addClass('animated slideInLeft').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + removeChanges(); + fakeCanvas.removeClass("animated slideOutRight"); + c2canvasdiv.removeClass('animated slideInLeft'); + }); + fakeCanvas.addClass('animated slideOutRight'); + } + else if(transID == 1) + { + c2canvasdiv.addClass('animated slideInDown').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + removeChanges(); + fakeCanvas.removeClass("animated slideOutDown"); + c2canvasdiv.removeClass('animated slideInDown'); + }); + fakeCanvas.addClass('animated slideOutDown'); + } + else if(transID == 0) + { + c2canvasdiv.addClass('animated slideInUp').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() + { + removeChanges(); + fakeCanvas.removeClass("animated slideOutUp"); + c2canvasdiv.removeClass('animated slideInUp'); + }); + fakeCanvas.addClass('animated slideOutUp'); + } + }; + pluginProto.acts = new Acts(); + function Exps() {}; + pluginProto.exps = new Exps(); +}()); +; +; +Math.sign = Math.sign || function(x) { + x = +x; // convert to a number + if (x === 0 || isNaN(x)) { + return Number(x); + } + return x > 0 ? 1 : -1; +} +cr.plugins_.jcw_trace = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.jcw_trace.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + this.obstacleTypes = []; + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + function TR() + { + this.x1 = 0; + this.y1 = 0; + this.x2 = 0; + this.y2 = 0; + this.dx = 0; + this.dy = 0; + this.bounds = new cr.rect(0, 0, 0, 0); + this.t = 0; + this.hit = false; + this.hitx = 0; + this.hity = 0; + this.uid = -1; + this.normalang = 0; + cr.seal(this); + } + var TRProto = TR.prototype; + TRProto.CalcHitPos = function(padding) + { + this.hitx = this.x1 + this.dx * this.t; + this.hity = this.y1 + this.dy * this.t; + if (padding === 0) {return;} + var ang = Math.atan2(-this.dy, -this.dx); + this.hitx += Math.cos(ang)*padding; + this.hity += Math.sin(ang)*padding; + }; + TRProto.GetReflectAng = function() + { + return 2*this.normalang - Math.atan2(-this.dy, -this.dx); + }; + function PointOnLineSide(px, py, x1, y1, x2, y2) + { + var dx = x2 - x1; + var dy = y2 - y1; + return (y1 - py) * dx - (x1 - px) * dy >= 0 ? 0 : 1; + } + function SegmentAABB(tr, bbox, padx, pady) + { + var ScaleX = 1.0 / tr.dx; + var ScaleY = 1.0 / tr.dy; + var SignX = Math.sign(ScaleX); + var SignY = Math.sign(ScaleY); + var PosX = (bbox.left + bbox.right) / 2; + var PosY = (bbox.top + bbox.bottom) / 2; + var HalfW = (bbox.right - bbox.left) / 2 + padx; + var HalfH = (bbox.bottom - bbox.top) / 2 + pady; + var NearTimeX = (PosX - SignX * HalfW - tr.x1) * ScaleX; + var NearTimeY = (PosY - SignY * HalfH - tr.y1) * ScaleY; + var FarTimeX = (PosX + SignX * HalfW - tr.x1) * ScaleX; + var FarTimeY = (PosY + SignY * HalfH - tr.y1) * ScaleY; + if (NearTimeX > FarTimeY || NearTimeY > FarTimeX) return false; + var NearTime = NearTimeX > NearTimeY ? NearTimeX : NearTimeY; + var FarTime = FarTimeX < FarTimeY ? FarTimeX : FarTimeY; + if (NearTime >= tr.t || FarTime <= 0) return false; + tr.t = Math.max(NearTime, 0); + tr.hit = true; + if (NearTimeX > NearTimeY) + { + tr.normalang = Math.atan2(0, -SignX); + } + else + { + tr.normalang = Math.atan2(-SignY, 0); + } + return true; + } + function InterceptSegment(s2x1, s2y1, s2x2, s2y2, s1x1, s1y1, s1x2, s1y2) + { + var s1dx = s1x2 - s1x1; + var s1dy = s1y2 - s1y1; + var s2dx = s2x2 - s2x1; + var s2dy = s2y2 - s2y1; + var den = s1dy * s2dx - s1dx * s2dy; + if (den === 0) {return 0;} + var num = (s1x1 - s2x1) * s1dy + (s2y1 - s1y1) * s1dx; + return num / den; + } + function SegmentQuad(tr, bquad) + { + var hit = false; + if (bquad.contains_pt(tr.x1, tr.y1)) + { + tr.t = 0; + tr.hit = true; + tr.normalang = Math.atan2(-tr.dy, -tr.dx); + return true; + } + var i, t; + var px1, py1, px2, py2; + for (i = 0; i < 4; i++) + { + px1 = bquad.at(i, true); + py1 = bquad.at(i, false); + px2 = bquad.at(i + 1, true); + py2 = bquad.at(i + 1, false); + if (!cr.segments_intersect(tr.x1, tr.y1, tr.x2, tr.y2, px1, py1, px2, py2)) continue; + t = InterceptSegment(tr.x1, tr.y1, tr.x2, tr.y2, px1, py1, px2, py2); + if (t < tr.t) + { + hit = true; + tr.t = t; + tr.hit = true; + tr.normalang = Math.atan2(px1 - px2, py2 - py1); + } + } + return hit; + } + function SegmentPolygon(tr, polygon, offx, offy) + { + var points = polygon.pts_cache; + if (polygon.contains_pt(tr.x1 - offx, tr.y1 - offy)) + { + tr.t = 0; + tr.hit = true; + tr.normalang = Math.atan2(-tr.dy, -tr.dx); + return true; + } + var i, leni, i2, imod, t; + var px1, py1, px2, py2; + var hit = false; + for (i = 0, leni = polygon.pts_count; i < leni; i++) + { + i2 = i*2; + imod = ((i+1)%leni)*2; + px1 = points[i2] + offx; + py1 = points[i2+1] + offy; + px2 = points[imod] + offx; + py2 = points[imod+1] + offy; + if (!cr.segments_intersect(tr.x1, tr.y1, tr.x2, tr.y2, px1, py1, px2, py2)) continue; + t = InterceptSegment(tr.x1, tr.y1, tr.x2, tr.y2, px1, py1, px2, py2); + if (t < tr.t) + { + hit = true; + tr.t = t; + tr.hit = true; + if (PointOnLineSide(tr.x1, tr.y1, px1, py1, px2, py2) === 0) + { + tr.normalang = Math.atan2(px1 - px2, py2 - py1); + } + else + { + tr.normalang = Math.atan2(px2 - px1, py1 - py2); + } + } + } + return hit; + } + var collrect_candidates = []; + var tmpRect = new cr.rect(0, 0, 0, 0); + function SegmentTilemap(tr, inst) + { + inst.getCollisionRectCandidates(tr.bounds, collrect_candidates); + var i, len, c, tilerc; + var tmx = inst.x; + var tmy = inst.y; + var hit = false; + for (i = 0, len = collrect_candidates.length; i < len; ++i) + { + c = collrect_candidates[i]; + tilerc = c.rc; + if (!tr.bounds.intersects_rect_off(tilerc, tmx, tmy)) continue; + tmpRect.copy(tilerc); + tmpRect.offset(tmx, tmy); + if (c.poly) + { + if (SegmentPolygon(tr, c.poly, tmpRect.left, tmpRect.top)) hit = true; + } + else + { + if (SegmentAABB(tr, tmpRect, 0, 0)) hit = true; + } + } + cr.clearArray(collrect_candidates); + return hit; + } + function SegmentOverlap(tr, inst) + { + if (!inst || !inst.collisionsEnabled) return; + inst.update_bbox(); + if (!inst.bbox.intersects_rect(tr.bounds)) return; + var hit = false; + if (inst.tilemap_exists) + { + hit = SegmentTilemap(tr, inst); + } + else if (inst.collision_poly && !inst.collision_poly.is_empty()) + { + var polygon = inst.collision_poly; + polygon.cache_poly(inst.width, inst.height, inst.angle); + hit = SegmentPolygon(tr, polygon, inst.x, inst.y); + } + else + { + if (inst.angle === 0) hit = SegmentAABB(tr, inst.bbox, 0, 0); else hit = SegmentQuad(tr, inst.bquad); + } + if (hit) tr.uid = inst.uid; + } + function AABBOverlap(tr, inst, halfw, halfh) + { + if (!inst || !inst.collisionsEnabled) return; + inst.update_bbox(); + if (!inst.bbox.intersects_rect(tr.bounds)) return; + var hit = false; + if (inst.tilemap_exists) + { + } + else if (inst.collision_poly && !inst.collision_poly.is_empty()) + { + var polygon = inst.collision_poly; + polygon.cache_poly(inst.width, inst.height, inst.angle); + } + else + { + if (inst.angle === 0) hit = SegmentAABB(tr, inst.bbox, halfw, halfh); // else hit = SegmentQuad(tr, inst.bquad); + } + if (hit) tr.uid = inst.uid; + } + instanceProto.onCreate = function() + { + this.obstacleMode = this.properties[0]; + this.useCollisionCells = (this.properties[1] !== 0); + this.padding = cr.clamp(this.properties[2], 0, 1); + this.tr = new TR(); + }; + instanceProto.onDestroy = function () + { + }; + instanceProto.saveToJSON = function () + { + return { + }; + }; + instanceProto.loadFromJSON = function (o) + { + }; + var candidates = []; + instanceProto.GetOverlapCandidates = function() + { + var tr = this.tr; + var i, leni; + if (this.obstacleMode === 0) + { + if (this.useCollisionCells) + { + this.runtime.getSolidCollisionCandidates(null, tr.bounds, candidates); + } + else + { + var solid = this.runtime.getSolidBehavior(); + if (solid) cr.appendArray(candidates, solid.my_instances.valuesRef()); + } + } + else + { + if (this.useCollisionCells) + { + this.runtime.getTypesCollisionCandidates(null, this.type.obstacleTypes, tr.bounds, candidates); + } + else + { + for (i = 0, leni = this.type.obstacleTypes.length; i < leni; ++i) + { + cr.appendArray(candidates, this.type.obstacleTypes[i].instances); + } + } + } + }; + function Cnds() {} + Cnds.prototype.Hit = function () { return this.tr.hit; }; + pluginProto.cnds = new Cnds(); + function Acts() {} + Acts.prototype.AddObstacle = function (obj_) + { + var obstacleTypes = this.type.obstacleTypes; + if (obstacleTypes.indexOf(obj_) !== -1) return; + var i, len, t; + for (i = 0, len = obstacleTypes.length; i < len; i++) + { + t = obstacleTypes[i]; + if (t.is_family && t.members.indexOf(obj_) !== -1) return; + } + obstacleTypes.push(obj_); + }; + Acts.prototype.ClearObstacles = function () + { + cr.clearArray(this.type.obstacleTypes); + }; + Acts.prototype.TraceLine = function (x1, y1, x2, y2) + { + var tr = this.tr; + tr.x1 = x1; + tr.y1 = y1; + tr.x2 = x2; + tr.y2 = y2; + tr.dx = x2 - x1; + tr.dy = y2 - y1; + tr.bounds.set(x1, y1, x2, y2); + tr.bounds.normalize(); + tr.t = 1; + tr.hit = false; + var i, leni, rinst; + this.GetOverlapCandidates(); + if (this.obstacleMode === 0) + { + for (i = 0, leni = candidates.length; i < leni; ++i) + { + rinst = candidates[i]; + if (!rinst.extra["solidEnabled"]) continue; + SegmentOverlap(tr, rinst); + } + } + else + { + for (i = 0, leni = candidates.length; i < leni; ++i) + { + rinst = candidates[i]; + SegmentOverlap(tr, rinst); + } + } + cr.clearArray(candidates); + if (tr.hit) + { + tr.CalcHitPos(this.padding); + } + else + { + tr.hitx = x2; + tr.hity = y2; + tr.uid = -1; + tr.normalang = Math.atan2(-tr.dy, -tr.dx); + } + }; + Acts.prototype.TraceBox = function (x1, y1, x2, y2, w, h) + { + var halfw = w / 2; + var halfh = h / 2; + var tr = this.tr; + tr.x1 = x1; + tr.y1 = y1; + tr.x2 = x2; + tr.y2 = y2; + tr.dx = x2 - x1; + tr.dy = y2 - y1; + tr.bounds.set(x1, y1, x2, y2); + tr.bounds.normalize(); + tr.bounds.left -= halfw; + tr.bounds.right += halfw; + tr.bounds.top -= halfh; + tr.bounds.bottom += halfh; + tr.t = 1; + tr.hit = false; + var i, leni, rinst; + this.GetOverlapCandidates() + if (this.obstacleMode === 0) + { + for (i = 0, leni = candidates.length; i < leni; ++i) + { + rinst = candidates[i]; + if (!rinst.extra["solidEnabled"]) continue; + AABBOverlap(tr, rinst, halfw, halfh); + } + } + else + { + for (i = 0, leni = candidates.length; i < leni; ++i) + { + rinst = candidates[i]; + AABBOverlap(tr, rinst, halfw, halfh); + } + } + cr.clearArray(candidates); + if (tr.hit) + { + tr.CalcHitPos(this.padding); + } + else + { + tr.hitx = x2; + tr.hity = y2; + tr.uid = -1; + tr.normalang = Math.atan2(-tr.dy, -tr.dx); + } + }; + pluginProto.acts = new Acts(); + function Exps() {} + Exps.prototype.HitUID = function (ret) { ret.set_int(this.tr.uid); }; + Exps.prototype.HitX = function (ret) { ret.set_float(this.tr.hitx); }; + Exps.prototype.HitY = function (ret) { ret.set_float(this.tr.hity); }; + Exps.prototype.NormalAngle = function (ret) { ret.set_float(cr.to_degrees(this.tr.normalang)); }; + Exps.prototype.ReflectAngle = function (ret) { ret.set_float(cr.to_degrees(this.tr.GetReflectAng())); }; + Exps.prototype.HitFrac = function (ret) { ret.set_float(this.tr.t); }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.rojoPaster = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.rojoPaster.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + this.visible = (this.properties[0] === 0); // 0=visible, 1=invisible + this.resx = this.width; + this.resy = this.height; + this.verts = [{x:0,y:0,u:0,v:0}, + {x:0,y:0,u:0,v:0}, + {x:0,y:0,u:0,v:0}, + {x:0,y:0,u:0,v:0}]; + this.points=null; + this.canvas2textureNextTick = 0; + var glw = this.runtime.glwrap; + if(glw) + { +; + this.texture = glw.createEmptyTexture(this.resx, this.resy, this.runtime.linearSampling, false); + this.temp_texture = glw.createEmptyTexture(this.resx, this.resy, this.runtime.linearSampling, false); + this.quadtex = glw.createEmptyTexture(1, 1, this.runtime.linearSampling, false); + glw.setTexture(null); + glw.setRenderingToTexture(this.quadtex); + glw.clear(0,0,0,1); + glw.setRenderingToTexture(null); + this.quadblend = new Object(); + this.quadblend.srcBlend = glw.gl.ONE; + this.quadblend.destBlend = glw.gl.ONE_MINUS_SRC_ALPHA; + } + else + { + this.canvas = document.createElement('canvas'); + this.canvas.width=this.resx; + this.canvas.height=this.resy; + this.ctx = this.canvas.getContext('2d'); + if (!this.runtime.linearSampling) + { + this.ctx.mozImageSmoothingEnabled = false; + this.ctx.webkitImageSmoothingEnabled = false; + this.ctx.msImageSmoothingEnabled = false; + this.ctx.imageSmoothingEnabled = false; + } + this.fill="black"; + } + }; + instanceProto.onDestroy = function () + { + if(this.texture) + { + this.runtime.glwrap.deleteTexture(this.texture); + this.runtime.glwrap.deleteTexture(this.quadtex); + this.runtime.glwrap.deleteTexture(this.temp_texture); + } + this.texture=null; + this.quadtex=null; + this.temp_texture=null; + this.canvas=null; + this.ctx=null; + }; + instanceProto.saveToJSON = function () + { + return { + }; + }; + instanceProto.loadFromJSON = function (o) + { + }; + instanceProto.grabCanvas = function() + { + var glw = this.runtime.glwrap; + var img = this.runtime.canvas; + if(glw) + { + if (this.type.plugin.canvasflip == null) + { + var canvas = document.createElement('canvas'); + canvas.width = 1; + canvas.height = 2; + var gl = canvas.getContext("experimental-webgl"); + gl.clearColor(1, 1, 1, 1); + gl.clear(gl.COLOR_BUFFER_BIT); + var prog = gl.createProgram(); + var vss = gl.createShader(gl.VERTEX_SHADER); + gl.shaderSource(vss, "attribute vec3 pos;void main() {gl_Position = vec4(pos, 1.0);}"); + gl.compileShader(vss); + gl.attachShader(prog, vss); + var fss = gl.createShader(gl.FRAGMENT_SHADER); + gl.shaderSource(fss, "void main() {gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);}"); + gl.compileShader(fss); + gl.attachShader(prog, fss); + gl.linkProgram(prog); + gl.useProgram(prog); + gl.bindBuffer(gl.ARRAY_BUFFER, gl.createBuffer()); + gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([-1, -1, 0, 1, -1, 0, -1, 0, 0, 1, 0, 0]), gl.STATIC_DRAW); + var attr = gl.getAttribLocation(prog, "pos"); + gl.enableVertexAttribArray(attr); + gl.vertexAttribPointer(attr, 3, gl.FLOAT, false, 0, 0); + gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4); + var tex_small = gl.createTexture(); + gl.bindTexture(gl.TEXTURE_2D, tex_small); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, gl.canvas); + gl.bindTexture(gl.TEXTURE_2D, null); + var fbo = gl.createFramebuffer(); + gl.bindFramebuffer(gl.FRAMEBUFFER, fbo); + gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, tex_small, 0); + var pixels = new Uint8Array(1 * 2 * 4); + gl.readPixels( 0, 0, 1, 2, gl.RGBA, gl.UNSIGNED_BYTE, pixels); + gl.bindFramebuffer(gl.FRAMEBUFFER, null); + this.type.plugin.canvasflip = pixels[0] == 0; + gl.deleteTexture(tex_small); + } + var gl = glw.gl; + if(this.texture.c2width != img.width || this.texture.c2height != img.height) + { + glw.deleteTexture(this.texture); + this.texture = null; + } + if ( this.texture == null) + this.texture = glw.createEmptyTexture(img.width, img.height, this.runtime.linearSampling, this.runtime.isMobile); + if(this.type.plugin.canvasflip) + { + glw.gl.pixelStorei(glw.gl.UNPACK_FLIP_Y_WEBGL, true); + } + glw.videoToTexture(img, this.texture, this.runtime.isMobile); + glw.gl.pixelStorei(glw.gl.UNPACK_FLIP_Y_WEBGL, false); + } + else + { + this.canvas.width = img.width; + this.canvas.height = img.height; + this.ctx.drawImage(img, 0, 0, img.width, img.height); + } + }; +/* instanceProto.tick = function() + { + this.canvas2textureNextTick--; + if(this.canvas2textureNextTick > 0) + { + this.canvas2textureNextTick = 0; + this.runtime.redraw = true; + this.grabCanvas(); + } + }; +*/ + instanceProto.draw = function(ctx) + { + ctx.globalAlpha = this.opacity; + ctx.save(); + ctx.translate(this.x, this.y); + var widthfactor = this.width > 0 ? 1 : -1; + var heightfactor = this.height > 0 ? 1 : -1; + if (widthfactor !== 1 || heightfactor !== 1) + ctx.scale(widthfactor, heightfactor); + ctx.rotate(this.angle * widthfactor * heightfactor); + ctx.drawImage(this.canvas, + 0 - (this.hotspotX * cr.abs(this.width)), + 0 - (this.hotspotY * cr.abs(this.height)), + cr.abs(this.width), + cr.abs(this.height)); + ctx.restore(); + }; + instanceProto.drawGL = function (glw) + { + glw.setTexture(this.texture); + glw.setOpacity(this.opacity); + var q = this.bquad; + glw.quad(q.tlx, q.tly, q.trx, q.try_, q.brx, q.bry, q.blx, q.bly); + }; + function Cnds() {}; +/* Cnds.prototype.MyCondition = function (myparam) + { + return myparam >= 0; + };*/ + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetEffect = function (effect) + { + this.compositeOp = cr.effectToCompositeOp(effect); + cr.setGLBlend(this, effect, this.runtime.gl); + this.runtime.redraw = true; + }; + Acts.prototype.PasteObject = function (object) + { + var sol = object.getCurrentSol(); + var instances; + if (sol.select_all) + instances = sol.type.instances; + else + instances = sol.instances; + this.update_bbox(); + var inst, i, len; + var glw = this.runtime.glwrap; + if(glw) //webgl + { + if(!this.texture) //bad tex + return; + var old_width = glw.width; + var old_height = glw.height; + glw.setSize(this.resx,this.resy); + glw.setTexture(null); + glw.setRenderingToTexture(this.texture); + glw.resetModelView(); + glw.scale(this.resx/this.width, -this.resy/this.height); + glw.rotateZ(-this.angle); + glw.translate((this.bbox.left + this.bbox.right) / -2, (this.bbox.top + this.bbox.bottom) / -2); + glw.updateModelView(); + var shaderindex = 0, etindex = 0; + var e, elen; + for (i = 0, len = instances.length; i < len; i++) + { + inst = instances[i]; + if (this == inst || !inst.visible || inst.width === 0 || inst.height === 0) + continue; + inst.update_bbox(); + if( !this.bbox.intersects_rect(inst.bbox)) + continue; + if (inst.uses_shaders) + { + for(e=0, elen=inst.active_effect_types.length; e3) + return; + this.verts[index].x = x; + this.verts[index].y = y; + this.verts[index].u = u; + this.verts[index].v = v; + }; + Acts.prototype.DrawSubTexQuad = function (blend, opacity, object_type) + { + var obj = object_type.getFirstPicked(); + if(!obj) + return; //no obj picked + var x1 = this.verts[0].x; + var y1 = this.verts[0].y; + var u1 = this.verts[0].u; + var v1 = this.verts[0].v; + var x2 = this.verts[1].x; + var y2 = this.verts[1].y; + var u2 = this.verts[1].u; + var v2 = this.verts[1].v; + var x3 = this.verts[2].x; + var y3 = this.verts[2].y; + var u3 = this.verts[2].u; + var v3 = this.verts[2].v; + var x4 = this.verts[3].x; + var y4 = this.verts[3].y; + var u4 = this.verts[3].u; + var v4 = this.verts[3].v; + var sprite = obj.curFrame; + var texture_2d = null; + var texture_webgl= null; + if(!sprite) + { + if(obj.canvas) + texture_2d = obj.canvas; + if(obj.tex) + texture_webgl = obj.tex; + if(obj.texture) + texture_webgl = obj.texture; + if(obj.texture_img) + { + texture_2d = obj.texture_img; + texture_webgl = obj.webGL_texture; + } + } + this.update_bbox(); + var glw = this.runtime.glwrap; + if(glw && (sprite || texture_webgl)) + { + glw.setTexture(null); + glw.setRenderingToTexture(this.texture); + var old_width = glw.width; + var old_height = glw.height; + glw.setSize(this.resx,this.resy); + glw.resetModelView(); + glw.scale(this.resx/this.width, -this.resy/this.height); + glw.rotateZ(-this.angle); + glw.translate((this.bbox.left + this.bbox.right) / -2, (this.bbox.top + this.bbox.bottom) / -2); + glw.updateModelView(); + glw.setOpacity(opacity/100); + cr.setGLBlend(this.quadblend, blend, glw.gl); + glw.setBlend(this.quadblend.srcBlend, this.quadblend.destBlend); + if(sprite) + { + glw.setTexture(obj.curWebGLTexture); + if (sprite.spritesheeted) + { + var bbox = sprite.sheetTex; + bbox.width = bbox.right - bbox.left; + bbox.height = bbox.bottom - bbox.top; + glw.quadTexUV(x1,y1,x2,y2,x3,y3,x4,y4, + bbox.left + u1*bbox.width, + bbox.top + v1*bbox.height, + bbox.left + u2*bbox.width, + bbox.top + v2*bbox.height, + bbox.left + u3*bbox.width, + bbox.top + v3*bbox.height, + bbox.left + u4*bbox.width, + bbox.top + v4*bbox.height); + } + else + { + glw.quadTexUV(x1,y1,x2,y2,x3,y3,x4,y4,u1,v1,u2,v2,u3,v3,u4,v4); + } + } + else + { + glw.setTexture(texture_webgl); + glw.quadTexUV(x1,y1,x2,y2,x3,y3,x4,y4,u1,v1,u2,v2,u3,v3,u4,v4); + } + glw.setRenderingToTexture(null); + glw.setSize(old_width, old_height); + } + else if (sprite || texture_2d) + { + var ctx = this.ctx; + var img = null; + ctx.save(); + ctx.scale(this.canvas.width/this.width, this.canvas.height/this.height); + ctx.rotate(-this.angle); + ctx.translate(-this.bquad.tlx, -this.bquad.tly); + ctx.globalCompositeOperation = cr.effectToCompositeOp(blend); + ctx.globalAlpha = opacity/100; + if(!this.points) + { + this.points=[new Object(),new Object(),new Object(),new Object()]; + } + if(sprite) + img = sprite.texture_img; + else + img = texture_2d; + if (sprite && sprite.spritesheeted) + { + this.points[0].x=x1; + this.points[0].y=y1; + this.points[0].u=sprite.offx + u1*sprite.width; + this.points[0].v=sprite.offy + v1*sprite.height; + this.points[1].x=x2; + this.points[1].y=y2; + this.points[1].u=sprite.offx + u2*sprite.width; + this.points[1].v=sprite.offy + v2*sprite.height; + this.points[2].x=x3; + this.points[2].y=y3; + this.points[2].u=sprite.offx + u3*sprite.width; + this.points[2].v=sprite.offy + v3*sprite.height; + this.points[3].x=x4; + this.points[3].y=y4; + this.points[3].u=sprite.offx + u4*sprite.width; + this.points[3].v=sprite.offy + v4*sprite.height; + } + else + { + this.points[0].x=x1; + this.points[0].y=y1; + this.points[0].u=u1*img.width; + this.points[0].v=v1*img.height; + this.points[1].x=x2; + this.points[1].y=y2; + this.points[1].u=u2*img.width; + this.points[1].v=v2*img.height; + this.points[2].x=x3; + this.points[2].y=y3; + this.points[2].u=u3*img.width; + this.points[2].v=v3*img.height; + this.points[3].x=x4; + this.points[3].y=y4; + this.points[3].u=u4*img.width; + this.points[3].v=v4*img.height; + } + textureMap(ctx, img, this.points) + ctx.restore(); + } + this.runtime.redraw = true; + }; + Acts.prototype.LoadImage = function (url_, resize_) + { + var self = this; + var img = new Image(); + img.onload = function() + { + self.resx = img.width; + self.resy = img.height; + var glw = self.runtime.glwrap; + if(glw) + { + glw.deleteTexture(this.texture); + glw.deleteTexture(this.temp_texture); + self.texture = glw.loadTexture(img, false, self.runtime.linearSampling); + } + else + { + self.canvas.width = img.width; + self.canvas.height = img.height; + self.ctx.drawImage(img, 0, 0, img.width, img.height); + } + if (resize_ === 0) // resize to image size + { + self.width = img.width; + self.height = img.height; + self.set_bbox_changed(); + } + self.runtime.redraw = true; + } + if (url_.substr(0, 5) !== "data:") + img.crossOrigin = 'anonymous'; + img.src = url_; + }; + Acts.prototype.LoadCanvas = function () + { + this.grabCanvas(); + this.runtime.redraw = true; + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.imageUrl = function (ret) + { + var glw = this.runtime.glwrap; + if(glw) + { + var gl = glw.gl; + var width = this.resx; + var height = this.resy; + glw.present(); + var framebuffer = gl.createFramebuffer(); + gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer); + gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, this.texture, 0); + var dsize=width * height * 4; + var data = new Uint8Array(dsize); + gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, data); + for(var i=0, r,g,b,a; i typeArray.length){ + difference = argArray.length - typeArray.length; + for (var i = 0; i < difference; i++) { + typeArray.push('a'); + } + } + /*else if(argArray.length < typeArray.length){ + difference = typeArray.length - argArray.length; + for (var i = 0; i < difference; i++) { + typeArray.pop(); + } + }*/ + for (var i = 0; i < argArray.length; i++) { + var char = typeArray[i].trim().charAt(0).toLowerCase(); + if(char != 's' && char != 'a' && char != 'n'){ + console.warn("The type of the given number doesn't exist. Please use Number, String or Any. Note that the type only needs to start with n, a or s, and is not case sensitive, so using a single letter is ok."); + } + if(char == 'n'){ + argArray[i] = parseFloat(argArray[i].trim()); + } + } + return argArray; + }; + function Cnds() {}; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.Callback = function (name, div, params, types) + { + var args = this.getArgs(params, div, types); + if (c2_callFunction){ + c2_callFunction(name, args); + } + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.Callback = function (ret, name_, div, params, types) // 'ret' must always be the first parameter - always return the expression's result through it! + { + var fs = pushFuncStack(); + fs.name = name_.toLowerCase(); + fs.retVal = 0; + cr.clearArray(fs.params); + fs.params = this.getArgs(params, div, types); + var ran = this.runtime.trigger(cr.plugins_.Function.prototype.cnds.OnFunction, this, fs.name); + if (isInPreview && !ran) + { + console.warn("[Construct 2] Function object: expression Function.Call('" + name_ + "' ...) was used, but no event was triggered. Is the function call spelt incorrectly or no longer used?"); + } + popFuncStack(); + ret.set_any(fs.retVal); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.skymen_siteLock = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.skymen_siteLock.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + this.sites = this.properties[0].split(' '); + this.hash = this.properties[1] === 0; + this.key = this.properties[2]; + this.order = this.properties[3] === 0; + }; + instanceProto.SiteLock = function () { + var key = this.key; + var val = this.getGameSite(); + var temp; + if (this.hash && this.order) { + for (var i = 0; i < this.sites.length; i++) { + var site = this.sites[i]; + key = this.key + i; + temp = this.hex_hmac_md5(key, val); + if (site === temp) return false; + } + return true; + } + if(this.hash){ + temp = this.hex_hmac_md5(key, val); + return !this.sites.includes(temp); + } + return !this.sites.includes(val); + }; + instanceProto.hex_hmac_md5 = function (k, d) { + return this.rstr2hex(rstr_hmac_md5(str2rstr_utf8(k), str2rstr_utf8(d))); + } + function rstr_hmac_md5(key, data) { + var bkey = rstr2binl(key); + if (bkey.length > 16) bkey = binl_md5(bkey, key.length * 8); + var ipad = Array(16), + opad = Array(16); + for (var i = 0; i < 16; i++) { + ipad[i] = bkey[i] ^ 0x36363636; + opad[i] = bkey[i] ^ 0x5C5C5C5C; + } + var hash = binl_md5(ipad.concat(rstr2binl(data)), 512 + data.length * 8); + return binl2rstr(binl_md5(opad.concat(hash), 512 + 128)); + } + function str2rstr_utf8(input) { + var output = ""; + var i = -1; + var x, y; + while (++i < input.length) { + /* Decode utf-16 surrogate pairs */ + x = input.charCodeAt(i); + y = i + 1 < input.length ? input.charCodeAt(i + 1) : 0; + if (0xD800 <= x && x <= 0xDBFF && 0xDC00 <= y && y <= 0xDFFF) { + x = 0x10000 + ((x & 0x03FF) << 10) + (y & 0x03FF); + i++; + } + /* Encode output as utf-8 */ + if (x <= 0x7F) + output += String.fromCharCode(x); + else if (x <= 0x7FF) + output += String.fromCharCode(0xC0 | ((x >>> 6) & 0x1F), + 0x80 | (x & 0x3F)); + else if (x <= 0xFFFF) + output += String.fromCharCode(0xE0 | ((x >>> 12) & 0x0F), + 0x80 | ((x >>> 6) & 0x3F), + 0x80 | (x & 0x3F)); + else if (x <= 0x1FFFFF) + output += String.fromCharCode(0xF0 | ((x >>> 18) & 0x07), + 0x80 | ((x >>> 12) & 0x3F), + 0x80 | ((x >>> 6) & 0x3F), + 0x80 | (x & 0x3F)); + } + return output; + } + function rstr2binl(input) { + var output = Array(input.length >> 2); + for (var i = 0; i < output.length; i++) + output[i] = 0; + for (var i = 0; i < input.length * 8; i += 8) + output[i >> 5] |= (input.charCodeAt(i / 8) & 0xFF) << (i % 32); + return output; + } + function binl2rstr(input) { + var output = ""; + for (var i = 0; i < input.length * 32; i += 8) + output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xFF); + return output; + } + function binl_md5(x, len) { + /* append padding */ + x[len >> 5] |= 0x80 << ((len) % 32); + x[(((len + 64) >>> 9) << 4) + 14] = len; + var a = 1732584193; + var b = -271733879; + var c = -1732584194; + var d = 271733878; + for (var i = 0; i < x.length; i += 16) { + var olda = a; + var oldb = b; + var oldc = c; + var oldd = d; + a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936); + d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586); + c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819); + b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330); + a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897); + d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426); + c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341); + b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983); + a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416); + d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417); + c = md5_ff(c, d, a, b, x[i + 10], 17, -42063); + b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162); + a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682); + d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101); + c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290); + b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329); + a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510); + d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632); + c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713); + b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302); + a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691); + d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083); + c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335); + b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848); + a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438); + d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690); + c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961); + b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501); + a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467); + d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784); + c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473); + b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734); + a = md5_hh(a, b, c, d, x[i + 5], 4, -378558); + d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463); + c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562); + b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556); + a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060); + d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353); + c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632); + b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640); + a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174); + d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222); + c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979); + b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189); + a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487); + d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835); + c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520); + b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651); + a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844); + d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415); + c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905); + b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055); + a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571); + d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606); + c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523); + b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799); + a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359); + d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744); + c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380); + b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649); + a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070); + d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379); + c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259); + b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551); + a = safe_add(a, olda); + b = safe_add(b, oldb); + c = safe_add(c, oldc); + d = safe_add(d, oldd); + } + return Array(a, b, c, d); + } + function md5_cmn(q, a, b, x, s, t) { + return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b); + } + function md5_ff(a, b, c, d, x, s, t) { + return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t); + } + function md5_gg(a, b, c, d, x, s, t) { + return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t); + } + function md5_hh(a, b, c, d, x, s, t) { + return md5_cmn(b ^ c ^ d, a, b, x, s, t); + } + function md5_ii(a, b, c, d, x, s, t) { + return md5_cmn(c ^ (b | (~d)), a, b, x, s, t); + } + function safe_add(x, y) { + var lsw = (x & 0xFFFF) + (y & 0xFFFF); + var msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return (msw << 16) | (lsw & 0xFFFF); + } + function bit_rol(num, cnt) { + return (num << cnt) | (num >>> (32 - cnt)); + } + instanceProto.rstr2hex = function (input) { + try { + this.hexcase + } catch (e) { + this.hexcase = 0; + } + var hex_tab = this.hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; + var output = ""; + var x; + for (var i = 0; i < input.length; i++) { + x = input.charCodeAt(i); + output += hex_tab.charAt((x >>> 4) & 0x0F) + + hex_tab.charAt(x & 0x0F); + } + return output; + } + instanceProto.getGameSite = function () { + try { + return new URL(document.referrer).hostname; + } catch (e) { + return new URL(document.location).hostname; + } + }; + function Cnds() {}; + Cnds.prototype.SiteLock = function () { + return this.SiteLock(); + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + pluginProto.acts = new Acts(); + function Exps() {}; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.skymen_skinsCore = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.skymen_skinsCore.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + this.skins = {}; + this.lastSkin; + this.lastSubSkin; + this.curSkin; + this.curSubSkin; + this.tag = this.properties[0]; + this.instances = []; + this.init = false; + if(cr.SkymenSkinCore == undefined){ + cr.SkymenSkinCore = {} + } + cr.SkymenSkinCore[this.tag] = this; + }; + instanceProto.draw = function(ctx) + { + }; + instanceProto.drawGL = function (glw) + { + }; + instanceProto.addInstance = function (inst) + { + this.instances.push(inst); + } + function Cnds() {}; + Cnds.prototype.IsEmpty = function () + { + return Object.keys(this.skins).length === 0 && this.skins.constructor === Object; + }; + Cnds.prototype.HasSkin = function (skin) + { + return this.skins[skin] != undefined; + }; + Cnds.prototype.HasSubSkin = function (skin, subskin) + { + return this.skins[skin] != undefined && this.skins[skin][subskin] != undefined; + }; + Cnds.prototype.OnSkin = function (skin) + { + return skin == this.lastSkin; + }; + Cnds.prototype.OnSubSkin = function (skin, subskin) + { + return skin == this.lastSkin && subskin == this.lastSubskin; + }; + Cnds.prototype.OnAnySkin = function () + { + return true; + }; + Cnds.prototype.OnAnySubSkin = function (skin) + { + return skin == this.lastSkin; + }; + Cnds.prototype.OnAnySubAnySkin = function () + { + return true; + }; + instanceProto.doForEachTrigger = function (current_event) + { + this.runtime.pushCopySol(current_event.solModifiers); + current_event.retrigger(); + this.runtime.popSol(current_event.solModifiers); + }; + Cnds.prototype.ForEachSkin = function () + { + var current_event = this.runtime.getCurrentEventStack().current_event; + self = this; + Object.keys(this.skins).forEach(function (k) { + self.curSkin = k; + self.doForEachTrigger(current_event); + }) + return false; + }; + Cnds.prototype.ForEachSubSkin = function (skin) + { + var current_event = this.runtime.getCurrentEventStack().current_event; + self = this; + if(this.skins[skin] == undefined) return false; + Object.keys(this.skins[skin]).forEach(function (k) { + self.curSubSkin = k; + self.doForEachTrigger(current_event); + }) + return false; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.AddSkin = function (obj, skin, mode, anim, subskin) + { + if(this.skins[skin] == undefined){ + this.skins[skin] = {}; + } + if(mode == 0){ + for (var i = 0; i < obj.animations.length; i++) { + var anim = obj.animations[i].name; + this.skins[skin][anim] = { + "type": obj, + "anim": anim + } + } + } + else{ + this.skins[skin][subskin] = { + "type": obj, + "anim": anim + } + } + }; + Acts.prototype.AddSubSkin = function (obj, skin, subskin, anim) + { + if(this.skins[skin] == undefined){ + this.skins[skin] = {}; + } + this.skins[skin][subskin] = { + "type": obj, + "anim": anim + } + }; + Acts.prototype.RemoveSkin = function (skin) + { + if (this.skins[skin] != undefined) { + delete this.skins[skin]; + } + }; + Acts.prototype.RemoveSubSkin = function (skin, subskin) + { + if (this.skins[skin] != undefined && this.skins[skin][subskin] != undefined) { + delete this.skins[skin][subskin]; + } + }; + Acts.prototype.Init = function () + { + if(this.init) return; + for (var i = 0; i < this.instances.length; i++) { + this.instances[i].updateSkin(); + } + this.init = true; + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.CurSkin = function (ret) + { + ret.set_string(this.curSkin); + }; + Exps.prototype.CurSubSkin = function (ret) + { + ret.set_string(this.curSubSkin); + }; + Exps.prototype.LastSkin = function (ret) + { + ret.set_string(this.lastSkin); + }; + Exps.prototype.LastSubSkin = function (ret) + { + ret.set_string(this.lastSubSkin); + }; + Exps.prototype.RandomSkin = function (ret) + { + var keys = Object.keys(this.skins) + var res = keys[ keys.length * Math.random() << 0]; + if(typeof res == "string") + ret.set_string(res); + else + ret.set_string(""); + }; + Exps.prototype.RandomSubSkin = function (ret,skin) + { + if(this.skins[skin]){ + var keys = Object.keys(this.skins[skin]) + var res = keys[ keys.length * Math.random() << 0]; + if (typeof res == "string") + ret.set_string(res); + else + ret.set_string(""); + } + else{ + console.warn("The skin " + skin + " doesn't exist") + ret.set_string("") + } + }; + pluginProto.exps = new Exps(); +}()); +; +; +var HowlerAudioPlayer = globalThis.HowlerAudioPlayer; +cr.plugins_.skymenhowlerjs = function (runtime) { + this.runtime = runtime; +}; +(function () { + var pluginProto = cr.plugins_.skymenhowlerjs.prototype; + pluginProto.Type = function (plugin) { + this.plugin = plugin; + this.runtime = plugin.runtime; + HowlerAudioPlayer.init(this.runtime); + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function () {}; + pluginProto.Instance = function (type) { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function () {}; + instanceProto.saveToJSON = function () {}; + instanceProto.loadFromJSON = function (o) {}; + instanceProto.onDestroy = function () {}; + instanceProto.tick = function () {}; + instanceProto.draw = function (ctx) {}; + instanceProto.drawGL = function (glw) {}; + function Cnds() {} + Cnds.prototype.IsPlaying = function (group) { + if (group.trim() === "") { + return HowlerAudioPlayer.isPlaying(); + } + return HowlerAudioPlayer.isPlaying(group); + }; + pluginProto.cnds = new Cnds(); + function Acts() {} + Acts.prototype.Play = function (file, group) { + if (group.trim() === "") { + HowlerAudioPlayer.play(file[0]); + } else { + HowlerAudioPlayer.play(file[0], group); + } + }; + Acts.prototype.PlayByName = function (file, group) { + if (group.trim() === "") { + HowlerAudioPlayer.play(file); + } else { + HowlerAudioPlayer.play(file, group); + } + }; + Acts.prototype.Stop = function (group) { + if (group.trim() === "") { + HowlerAudioPlayer.stop(); + } else { + HowlerAudioPlayer.stop(group); + } + }; + Acts.prototype.Mute = function (group) { + if (group.trim() === "") { + HowlerAudioPlayer.setMuted(true); + } else { + HowlerAudioPlayer.setMuted(true, group); + } + }; + Acts.prototype.Unmute = function (group) { + if (group.trim() === "") { + HowlerAudioPlayer.setMuted(false); + } else { + HowlerAudioPlayer.setMuted(false, group); + } + }; + Acts.prototype.Volume = function (volume, group) { + if (group.trim() === "") { + HowlerAudioPlayer.setVolume(volume); + } else { + HowlerAudioPlayer.setVolume(volume, group); + } + }; + Acts.prototype.LinearVolume = function (volume, group) { + if (group.trim() === "") { + HowlerAudioPlayer.setLinearVolume(volume); + } else { + HowlerAudioPlayer.setLinearVolume(volume, group); + } + }; + Acts.prototype.Load = function (file, group) { + if (group.trim() === "") { + HowlerAudioPlayer.load(file[0]); + } else { + HowlerAudioPlayer.load(file[0], group); + } + }; + Acts.prototype.Unload = function (file, group) { + if (group.trim() === "") { + HowlerAudioPlayer.unload(file[0]); + } else { + HowlerAudioPlayer.unload(file[0], group); + } + }; + Acts.prototype.LoadByName = function (file, group) { + if (group.trim() === "") { + HowlerAudioPlayer.load(file); + } else { + HowlerAudioPlayer.load(file, group); + } + }; + Acts.prototype.UnloadByName = function (file, group) { + if (group.trim() === "") { + HowlerAudioPlayer.unload(file); + } else { + HowlerAudioPlayer.unload(file, group); + } + }; + pluginProto.acts = new Acts(); + function Exps() {} + Exps.prototype.Volume = function (ret, group) { + if (group.trim() === "") { + ret.set_float(HowlerAudioPlayer.getVolume()); + } else { + ret.set_float(HowlerAudioPlayer.getVolume(group)); + } + }; + Exps.prototype.MasterVolume = function (ret) { + ret.set_float(HowlerAudioPlayer.getVolume(group)); + }; + Exps.prototype.LinearVolume = function (ret, group) { + if (group.trim() === "") { + ret.set_float(HowlerAudioPlayer.getLinearVolume()); + } else { + ret.set_float(HowlerAudioPlayer.getLinearVolume(group)); + } + }; + Exps.prototype.MasterVolume = function (ret) { + ret.set_float(HowlerAudioPlayer.getLinearVolume(group)); + }; + pluginProto.exps = new Exps(); +})(); +; +; +cr.behaviors.Anchor = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.Anchor.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.anch_left = this.properties[0]; // 0 = left, 1 = right, 2 = none + this.anch_top = this.properties[1]; // 0 = top, 1 = bottom, 2 = none + this.anch_right = this.properties[2]; // 0 = none, 1 = right + this.anch_bottom = this.properties[3]; // 0 = none, 1 = bottom + this.inst.update_bbox(); + this.xleft = this.inst.bbox.left; + this.ytop = this.inst.bbox.top; + this.xright = this.runtime.original_width - this.inst.bbox.left; + this.ybottom = this.runtime.original_height - this.inst.bbox.top; + this.rdiff = this.runtime.original_width - this.inst.bbox.right; + this.bdiff = this.runtime.original_height - this.inst.bbox.bottom; + this.enabled = (this.properties[4] !== 0); + }; + behinstProto.saveToJSON = function () + { + return { + "xleft": this.xleft, + "ytop": this.ytop, + "xright": this.xright, + "ybottom": this.ybottom, + "rdiff": this.rdiff, + "bdiff": this.bdiff, + "enabled": this.enabled + }; + }; + behinstProto.loadFromJSON = function (o) + { + this.xleft = o["xleft"]; + this.ytop = o["ytop"]; + this.xright = o["xright"]; + this.ybottom = o["ybottom"]; + this.rdiff = o["rdiff"]; + this.bdiff = o["bdiff"]; + this.enabled = o["enabled"]; + }; + behinstProto.tick = function () + { + if (!this.enabled) + return; + var n; + var layer = this.inst.layer; + var inst = this.inst; + var bbox = this.inst.bbox; + if (this.anch_left === 0) + { + inst.update_bbox(); + n = (layer.viewLeft + this.xleft) - bbox.left; + if (n !== 0) + { + inst.x += n; + inst.set_bbox_changed(); + } + } + else if (this.anch_left === 1) + { + inst.update_bbox(); + n = (layer.viewRight - this.xright) - bbox.left; + if (n !== 0) + { + inst.x += n; + inst.set_bbox_changed(); + } + } + if (this.anch_top === 0) + { + inst.update_bbox(); + n = (layer.viewTop + this.ytop) - bbox.top; + if (n !== 0) + { + inst.y += n; + inst.set_bbox_changed(); + } + } + else if (this.anch_top === 1) + { + inst.update_bbox(); + n = (layer.viewBottom - this.ybottom) - bbox.top; + if (n !== 0) + { + inst.y += n; + inst.set_bbox_changed(); + } + } + if (this.anch_right === 1) + { + inst.update_bbox(); + n = (layer.viewRight - this.rdiff) - bbox.right; + if (n !== 0) + { + inst.width += n; + if (inst.width < 0) + inst.width = 0; + inst.set_bbox_changed(); + } + } + if (this.anch_bottom === 1) + { + inst.update_bbox(); + n = (layer.viewBottom - this.bdiff) - bbox.bottom; + if (n !== 0) + { + inst.height += n; + if (inst.height < 0) + inst.height = 0; + inst.set_bbox_changed(); + } + } + }; + function Cnds() {}; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetEnabled = function (e) + { + if (this.enabled && e === 0) + this.enabled = false; + else if (!this.enabled && e !== 0) + { + this.inst.update_bbox(); + this.xleft = this.inst.bbox.left; + this.ytop = this.inst.bbox.top; + this.xright = this.runtime.original_width - this.inst.bbox.left; + this.ybottom = this.runtime.original_height - this.inst.bbox.top; + this.rdiff = this.runtime.original_width - this.inst.bbox.right; + this.bdiff = this.runtime.original_height - this.inst.bbox.bottom; + this.enabled = true; + } + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.Bullet = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.Bullet.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + var speed = this.properties[0]; + this.acc = this.properties[1]; + this.g = this.properties[2]; + this.bounceOffSolid = (this.properties[3] !== 0); + this.setAngle = (this.properties[4] !== 0); + this.dx = Math.cos(this.inst.angle) * speed; + this.dy = Math.sin(this.inst.angle) * speed; + this.lastx = this.inst.x; + this.lasty = this.inst.y; + this.lastKnownAngle = this.inst.angle; + this.travelled = 0; + this.enabled = (this.properties[5] !== 0); + }; + behinstProto.saveToJSON = function () + { + return { + "acc": this.acc, + "g": this.g, + "dx": this.dx, + "dy": this.dy, + "lx": this.lastx, + "ly": this.lasty, + "lka": this.lastKnownAngle, + "t": this.travelled, + "e": this.enabled + }; + }; + behinstProto.loadFromJSON = function (o) + { + this.acc = o["acc"]; + this.g = o["g"]; + this.dx = o["dx"]; + this.dy = o["dy"]; + this.lastx = o["lx"]; + this.lasty = o["ly"]; + this.lastKnownAngle = o["lka"]; + this.travelled = o["t"]; + this.enabled = o["e"]; + }; + behinstProto.tick = function () + { + if (!this.enabled) + return; + var dt = this.runtime.getDt(this.inst); + var s, a; + var bounceSolid, bounceAngle; + if (this.inst.angle !== this.lastKnownAngle) + { + if (this.setAngle) + { + s = cr.distanceTo(0, 0, this.dx, this.dy); + this.dx = Math.cos(this.inst.angle) * s; + this.dy = Math.sin(this.inst.angle) * s; + } + this.lastKnownAngle = this.inst.angle; + } + if (this.acc !== 0) + { + s = cr.distanceTo(0, 0, this.dx, this.dy); + if (this.dx === 0 && this.dy === 0) + a = this.inst.angle; + else + a = cr.angleTo(0, 0, this.dx, this.dy); + s += this.acc * dt; + if (s < 0) + s = 0; + this.dx = Math.cos(a) * s; + this.dy = Math.sin(a) * s; + } + if (this.g !== 0) + this.dy += this.g * dt; + this.lastx = this.inst.x; + this.lasty = this.inst.y; + if (this.dx !== 0 || this.dy !== 0) + { + this.inst.x += this.dx * dt; + this.inst.y += this.dy * dt; + this.travelled += cr.distanceTo(0, 0, this.dx * dt, this.dy * dt) + if (this.setAngle) + { + this.inst.angle = cr.angleTo(0, 0, this.dx, this.dy); + this.inst.set_bbox_changed(); + this.lastKnownAngle = this.inst.angle; + } + this.inst.set_bbox_changed(); + if (this.bounceOffSolid) + { + bounceSolid = this.runtime.testOverlapSolid(this.inst); + if (bounceSolid) + { + this.runtime.registerCollision(this.inst, bounceSolid); + s = cr.distanceTo(0, 0, this.dx, this.dy); + bounceAngle = this.runtime.calculateSolidBounceAngle(this.inst, this.lastx, this.lasty); + this.dx = Math.cos(bounceAngle) * s; + this.dy = Math.sin(bounceAngle) * s; + this.inst.x += this.dx * dt; // move out for one tick since the object can't have spent a tick in the solid + this.inst.y += this.dy * dt; + this.inst.set_bbox_changed(); + if (this.setAngle) + { + this.inst.angle = bounceAngle; + this.lastKnownAngle = bounceAngle; + this.inst.set_bbox_changed(); + } + if (!this.runtime.pushOutSolid(this.inst, this.dx / s, this.dy / s, Math.max(s * 2.5 * dt, 30))) + this.runtime.pushOutSolidNearest(this.inst, 100); + } + } + } + }; + function Cnds() {}; + Cnds.prototype.CompareSpeed = function (cmp, s) + { + return cr.do_cmp(cr.distanceTo(0, 0, this.dx, this.dy), cmp, s); + }; + Cnds.prototype.CompareTravelled = function (cmp, d) + { + return cr.do_cmp(this.travelled, cmp, d); + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetSpeed = function (s) + { + var a = cr.angleTo(0, 0, this.dx, this.dy); + this.dx = Math.cos(a) * s; + this.dy = Math.sin(a) * s; + }; + Acts.prototype.SetAcceleration = function (a) + { + this.acc = a; + }; + Acts.prototype.SetGravity = function (g) + { + this.g = g; + }; + Acts.prototype.SetAngleOfMotion = function (a) + { + a = cr.to_radians(a); + var s = cr.distanceTo(0, 0, this.dx, this.dy) + this.dx = Math.cos(a) * s; + this.dy = Math.sin(a) * s; + }; + Acts.prototype.Bounce = function (objtype) + { + if (!objtype) + return; + var otherinst = objtype.getFirstPicked(this.inst); + if (!otherinst) + return; + var dt = this.runtime.getDt(this.inst); + var s = cr.distanceTo(0, 0, this.dx, this.dy); + var bounceAngle = this.runtime.calculateSolidBounceAngle(this.inst, this.lastx, this.lasty, otherinst); + this.dx = Math.cos(bounceAngle) * s; + this.dy = Math.sin(bounceAngle) * s; + this.inst.x += this.dx * dt; // move out for one tick since the object can't have spent a tick in the solid + this.inst.y += this.dy * dt; + this.inst.set_bbox_changed(); + if (this.setAngle) + { + this.inst.angle = bounceAngle; + this.lastKnownAngle = bounceAngle; + this.inst.set_bbox_changed(); + } + if (s !== 0) // prevent divide-by-zero + { + if (this.bounceOffSolid) + { + if (!this.runtime.pushOutSolid(this.inst, this.dx / s, this.dy / s, Math.max(s * 2.5 * dt, 30))) + this.runtime.pushOutSolidNearest(this.inst, 100); + } + else + { + this.runtime.pushOut(this.inst, this.dx / s, this.dy / s, Math.max(s * 2.5 * dt, 30), otherinst) + } + } + }; + Acts.prototype.SetDistanceTravelled = function (d) + { + this.travelled = d; + }; + Acts.prototype.SetEnabled = function (en) + { + this.enabled = (en === 1); + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.Speed = function (ret) + { + var s = cr.distanceTo(0, 0, this.dx, this.dy); + s = cr.round6dp(s); + ret.set_float(s); + }; + Exps.prototype.Acceleration = function (ret) + { + ret.set_float(this.acc); + }; + Exps.prototype.AngleOfMotion = function (ret) + { + ret.set_float(cr.to_degrees(cr.angleTo(0, 0, this.dx, this.dy))); + }; + Exps.prototype.DistanceTravelled = function (ret) + { + ret.set_float(this.travelled); + }; + Exps.prototype.Gravity = function (ret) + { + ret.set_float(this.g); + }; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.Fade = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.Fade.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.activeAtStart = this.properties[0] === 1; + this.setMaxOpacity = false; // used to retrieve maxOpacity once in first 'Start fade' action if initially inactive + this.fadeInTime = this.properties[1]; + this.waitTime = this.properties[2]; + this.fadeOutTime = this.properties[3]; + this.destroy = this.properties[4]; // 0 = no, 1 = after fade out + this.stage = this.activeAtStart ? 0 : 3; // 0 = fade in, 1 = wait, 2 = fade out, 3 = done + if (this.recycled) + this.stageTime.reset(); + else + this.stageTime = new cr.KahanAdder(); + this.maxOpacity = (this.inst.opacity ? this.inst.opacity : 1.0); + if (this.activeAtStart) + { + if (this.fadeInTime === 0) + { + this.stage = 1; + if (this.waitTime === 0) + this.stage = 2; + } + else + { + this.inst.opacity = 0; + this.runtime.redraw = true; + } + } + }; + behinstProto.saveToJSON = function () + { + return { + "fit": this.fadeInTime, + "wt": this.waitTime, + "fot": this.fadeOutTime, + "s": this.stage, + "st": this.stageTime.sum, + "mo": this.maxOpacity, + }; + }; + behinstProto.loadFromJSON = function (o) + { + this.fadeInTime = o["fit"]; + this.waitTime = o["wt"]; + this.fadeOutTime = o["fot"]; + this.stage = o["s"]; + this.stageTime.reset(); + this.stageTime.sum = o["st"]; + this.maxOpacity = o["mo"]; + }; + behinstProto.tick = function () + { + this.stageTime.add(this.runtime.getDt(this.inst)); + if (this.stage === 0) + { + this.inst.opacity = (this.stageTime.sum / this.fadeInTime) * this.maxOpacity; + this.runtime.redraw = true; + if (this.inst.opacity >= this.maxOpacity) + { + this.inst.opacity = this.maxOpacity; + this.stage = 1; // wait stage + this.stageTime.reset(); + this.runtime.trigger(cr.behaviors.Fade.prototype.cnds.OnFadeInEnd, this.inst); + } + } + if (this.stage === 1) + { + if (this.stageTime.sum >= this.waitTime) + { + this.stage = 2; // fade out stage + this.stageTime.reset(); + this.runtime.trigger(cr.behaviors.Fade.prototype.cnds.OnWaitEnd, this.inst); + } + } + if (this.stage === 2) + { + if (this.fadeOutTime !== 0) + { + this.inst.opacity = this.maxOpacity - ((this.stageTime.sum / this.fadeOutTime) * this.maxOpacity); + this.runtime.redraw = true; + if (this.inst.opacity < 0) + { + this.inst.opacity = 0; + this.stage = 3; // done + this.stageTime.reset(); + this.runtime.trigger(cr.behaviors.Fade.prototype.cnds.OnFadeOutEnd, this.inst); + if (this.destroy === 1) + this.runtime.DestroyInstance(this.inst); + } + } + } + }; + behinstProto.doStart = function () + { + this.stage = 0; + this.stageTime.reset(); + if (this.fadeInTime === 0) + { + this.stage = 1; + if (this.waitTime === 0) + this.stage = 2; + } + else + { + this.inst.opacity = 0; + this.runtime.redraw = true; + } + }; + function Cnds() {}; + Cnds.prototype.OnFadeOutEnd = function () + { + return true; + }; + Cnds.prototype.OnFadeInEnd = function () + { + return true; + }; + Cnds.prototype.OnWaitEnd = function () + { + return true; + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.StartFade = function () + { + if (!this.activeAtStart && !this.setMaxOpacity) + { + this.maxOpacity = (this.inst.opacity ? this.inst.opacity : 1.0); + this.setMaxOpacity = true; + } + if (this.stage === 3) + this.doStart(); + }; + Acts.prototype.RestartFade = function () + { + this.doStart(); + }; + Acts.prototype.SetFadeInTime = function (t) + { + if (t < 0) + t = 0; + this.fadeInTime = t; + }; + Acts.prototype.SetWaitTime = function (t) + { + if (t < 0) + t = 0; + this.waitTime = t; + }; + Acts.prototype.SetFadeOutTime = function (t) + { + if (t < 0) + t = 0; + this.fadeOutTime = t; + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.FadeInTime = function (ret) + { + ret.set_float(this.fadeInTime); + }; + Exps.prototype.WaitTime = function (ret) + { + ret.set_float(this.waitTime); + }; + Exps.prototype.FadeOutTime = function (ret) + { + ret.set_float(this.fadeOutTime); + }; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.LOS = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.LOS.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + this.obstacleTypes = []; // object types to check for as obstructions + }; + behtypeProto.findLosBehavior = function (inst) + { + var i, len, b; + for (i = 0, len = inst.behavior_insts.length; i < len; ++i) + { + b = inst.behavior_insts[i]; + if (b instanceof cr.behaviors.LOS.prototype.Instance && b.type === this) + return b; + } + return null; + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.obstacleMode = this.properties[0]; // 0 = solids, 1 = custom + this.range = this.properties[1]; + this.cone = cr.to_radians(this.properties[2]); + this.useCollisionCells = (this.properties[3] !== 0); + }; + behinstProto.onDestroy = function () + { + }; + behinstProto.saveToJSON = function () + { + var o = { + "r": this.range, + "c": this.cone, + "t": [] + }; + var i, len; + for (i = 0, len = this.type.obstacleTypes.length; i < len; i++) + { + o["t"].push(this.type.obstacleTypes[i].sid); + } + return o; + }; + behinstProto.loadFromJSON = function (o) + { + this.range = o["r"]; + this.cone = o["c"]; + cr.clearArray(this.type.obstacleTypes); + var i, len, t; + for (i = 0, len = o["t"].length; i < len; i++) + { + t = this.runtime.getObjectTypeBySid(o["t"][i]); + if (t) + this.type.obstacleTypes.push(t); + } + }; + behinstProto.tick = function () + { + }; + var candidates = []; + var tmpRect = new cr.rect(0, 0, 0, 0); + behinstProto.hasLOSto = function (x_, y_) + { + var startx = this.inst.x; + var starty = this.inst.y; + var myangle = this.inst.angle; + if (this.inst.width < 0) + myangle += Math.PI; + if (cr.distanceTo(startx, starty, x_, y_) > this.range) + return false; // too far away + var a = cr.angleTo(startx, starty, x_, y_); + if (cr.angleDiff(myangle, a) > this.cone / 2) + return false; // outside cone of view + var i, leni, rinst, solid; + tmpRect.set(startx, starty, x_, y_); + tmpRect.normalize(); + if (this.obstacleMode === 0) + { + if (this.useCollisionCells) + { + this.runtime.getSolidCollisionCandidates(this.inst.layer, tmpRect, candidates); + } + else + { + solid = this.runtime.getSolidBehavior(); + if (solid) + cr.appendArray(candidates, solid.my_instances.valuesRef()); + } + for (i = 0, leni = candidates.length; i < leni; ++i) + { + rinst = candidates[i]; + if (!rinst.extra["solidEnabled"] || rinst === this.inst) + continue; + if (this.runtime.testSegmentOverlap(startx, starty, x_, y_, rinst)) + { + cr.clearArray(candidates); + return false; + } + } + } + else + { + if (this.useCollisionCells) + { + this.runtime.getTypesCollisionCandidates(this.inst.layer, this.type.obstacleTypes, tmpRect, candidates); + } + else + { + for (i = 0, leni = this.type.obstacleTypes.length; i < leni; ++i) + { + cr.appendArray(candidates, this.type.obstacleTypes[i].instances); + } + } + for (i = 0, leni = candidates.length; i < leni; ++i) + { + rinst = candidates[i]; + if (rinst === this.inst) + continue; + if (this.runtime.testSegmentOverlap(startx, starty, x_, y_, rinst)) + { + cr.clearArray(candidates); + return false; + } + } + } + cr.clearArray(candidates); + return true; + }; + function Cnds() {}; + var ltopick = new cr.ObjectSet(); + var rtopick = new cr.ObjectSet(); + Cnds.prototype.HasLOSToObject = function (obj_) + { + if (!obj_) + return false; + var i, j, leni, lenj, linst, losbeh, rinst, pick; + var lsol = this.runtime.getCurrentConditionObjectType().getCurrentSol(); + var rsol = obj_.getCurrentSol(); + var linstances = lsol.getObjects(); + var rinstances = rsol.getObjects(); + if (lsol.select_all) + cr.clearArray(lsol.else_instances); + if (rsol.select_all) + cr.clearArray(rsol.else_instances); + var inverted = this.runtime.getCurrentCondition().inverted; + for (i = 0, leni = linstances.length; i < leni; ++i) + { + linst = linstances[i]; + pick = false; + losbeh = this.findLosBehavior(linst); +; + for (j = 0, lenj = rinstances.length; j < lenj; ++j) + { + rinst = rinstances[j]; + if (linst !== rinst && cr.xor(losbeh.hasLOSto(rinst.x, rinst.y), inverted)) + { + pick = true; + rtopick.add(rinst); + } + } + if (pick) + ltopick.add(linst); + } + var lpicks = ltopick.valuesRef(); + var rpicks = rtopick.valuesRef(); + lsol.select_all = false; + rsol.select_all = false; + cr.shallowAssignArray(lsol.instances, lpicks); + cr.shallowAssignArray(rsol.instances, rpicks); + ltopick.clear(); + rtopick.clear(); + return lsol.hasObjects(); + }; + Cnds.prototype.HasLOSToPosition = function (x_, y_) + { + return this.hasLOSto(x_, y_); + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetRange = function (r) + { + this.range = r; + }; + Acts.prototype.SetCone = function (c) + { + this.cone = cr.to_radians(c); + }; + Acts.prototype.AddObstacle = function (obj_) + { + var obstacleTypes = this.type.obstacleTypes; + if (obstacleTypes.indexOf(obj_) !== -1) + return; + var i, len, t; + for (i = 0, len = obstacleTypes.length; i < len; i++) + { + t = obstacleTypes[i]; + if (t.is_family && t.members.indexOf(obj_) !== -1) + return; + } + obstacleTypes.push(obj_); + }; + Acts.prototype.ClearObstacles = function () + { + cr.clearArray(this.type.obstacleTypes); + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.Range = function (ret) + { + ret.set_float(this.range); + }; + Exps.prototype.ConeOfView = function (ret) + { + ret.set_float(cr.to_degrees(this.cone)); + }; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.Persist = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.Persist.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.myProperty = this.properties[0]; + }; + behinstProto.onDestroy = function () + { + }; + behinstProto.tick = function () + { + var dt = this.runtime.getDt(this.inst); + }; + function Cnds() {}; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + behaviorProto.acts = new Acts(); + function Exps() {}; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.Platform = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.Platform.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + var ANIMMODE_STOPPED = 0; + var ANIMMODE_MOVING = 1; + var ANIMMODE_JUMPING = 2; + var ANIMMODE_FALLING = 3; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + this.leftkey = false; + this.rightkey = false; + this.jumpkey = false; + this.jumped = false; // prevent bunnyhopping + this.doubleJumped = false; + this.canDoubleJump = false; + this.ignoreInput = false; + this.simleft = false; + this.simright = false; + this.simjump = false; + this.lastFloorObject = null; + this.loadFloorObject = -1; + this.lastFloorX = 0; + this.lastFloorY = 0; + this.floorIsJumpthru = false; + this.animMode = ANIMMODE_STOPPED; + this.fallthrough = 0; // fall through jump-thru. >0 to disable, lasts a few ticks + this.firstTick = true; + this.dx = 0; + this.dy = 0; + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.updateGravity = function() + { + this.downx = Math.cos(this.ga); + this.downy = Math.sin(this.ga); + this.rightx = Math.cos(this.ga - Math.PI / 2); + this.righty = Math.sin(this.ga - Math.PI / 2); + this.downx = cr.round6dp(this.downx); + this.downy = cr.round6dp(this.downy); + this.rightx = cr.round6dp(this.rightx); + this.righty = cr.round6dp(this.righty); + this.g1 = this.g; + if (this.g < 0) + { + this.downx *= -1; + this.downy *= -1; + this.g = Math.abs(this.g); + } + }; + behinstProto.onCreate = function() + { + this.maxspeed = this.properties[0]; + this.acc = this.properties[1]; + this.dec = this.properties[2]; + this.jumpStrength = this.properties[3]; + this.g = this.properties[4]; + this.g1 = this.g; + this.maxFall = this.properties[5]; + this.enableDoubleJump = (this.properties[6] !== 0); // 0=disabled, 1=enabled + this.jumpSustain = (this.properties[7] / 1000); // convert ms to s + this.defaultControls = (this.properties[8] === 1); // 0=no, 1=yes + this.enabled = (this.properties[9] !== 0); + this.wasOnFloor = false; + this.wasOverJumpthru = this.runtime.testOverlapJumpThru(this.inst); + this.loadOverJumpthru = -1; + this.sustainTime = 0; // time of jump sustain remaining + this.ga = cr.to_radians(90); + this.updateGravity(); + var self = this; + if (this.defaultControls && !this.runtime.isDomFree) + { + jQuery(document).keydown(function(info) { + self.onKeyDown(info); + }); + jQuery(document).keyup(function(info) { + self.onKeyUp(info); + }); + } + if (!this.recycled) + { + this.myDestroyCallback = function(inst) { + self.onInstanceDestroyed(inst); + }; + } + this.runtime.addDestroyCallback(this.myDestroyCallback); + this.inst.extra["isPlatformBehavior"] = true; + }; + behinstProto.saveToJSON = function () + { + return { + "ii": this.ignoreInput, + "lfx": this.lastFloorX, + "lfy": this.lastFloorY, + "lfo": (this.lastFloorObject ? this.lastFloorObject.uid : -1), + "am": this.animMode, + "en": this.enabled, + "fall": this.fallthrough, + "ft": this.firstTick, + "dx": this.dx, + "dy": this.dy, + "ms": this.maxspeed, + "acc": this.acc, + "dec": this.dec, + "js": this.jumpStrength, + "g": this.g, + "g1": this.g1, + "mf": this.maxFall, + "wof": this.wasOnFloor, + "woj": (this.wasOverJumpthru ? this.wasOverJumpthru.uid : -1), + "ga": this.ga, + "edj": this.enableDoubleJump, + "cdj": this.canDoubleJump, + "dj": this.doubleJumped, + "sus": this.jumpSustain + }; + }; + behinstProto.loadFromJSON = function (o) + { + this.ignoreInput = o["ii"]; + this.lastFloorX = o["lfx"]; + this.lastFloorY = o["lfy"]; + this.loadFloorObject = o["lfo"]; + this.animMode = o["am"]; + this.enabled = o["en"]; + this.fallthrough = o["fall"]; + this.firstTick = o["ft"]; + this.dx = o["dx"]; + this.dy = o["dy"]; + this.maxspeed = o["ms"]; + this.acc = o["acc"]; + this.dec = o["dec"]; + this.jumpStrength = o["js"]; + this.g = o["g"]; + this.g1 = o["g1"]; + this.maxFall = o["mf"]; + this.wasOnFloor = o["wof"]; + this.loadOverJumpthru = o["woj"]; + this.ga = o["ga"]; + this.enableDoubleJump = o["edj"]; + this.canDoubleJump = o["cdj"]; + this.doubleJumped = o["dj"]; + this.jumpSustain = o["sus"]; + this.leftkey = false; + this.rightkey = false; + this.jumpkey = false; + this.jumped = false; + this.simleft = false; + this.simright = false; + this.simjump = false; + this.sustainTime = 0; + this.updateGravity(); + }; + behinstProto.afterLoad = function () + { + if (this.loadFloorObject === -1) + this.lastFloorObject = null; + else + this.lastFloorObject = this.runtime.getObjectByUID(this.loadFloorObject); + if (this.loadOverJumpthru === -1) + this.wasOverJumpthru = null; + else + this.wasOverJumpthru = this.runtime.getObjectByUID(this.loadOverJumpthru); + }; + behinstProto.onInstanceDestroyed = function (inst) + { + if (this.lastFloorObject == inst) + this.lastFloorObject = null; + }; + behinstProto.onDestroy = function () + { + this.lastFloorObject = null; + this.runtime.removeDestroyCallback(this.myDestroyCallback); + }; + behinstProto.onKeyDown = function (info) + { + switch (info.which) { + case 38: // up + info.preventDefault(); + this.jumpkey = true; + break; + case 37: // left + info.preventDefault(); + this.leftkey = true; + break; + case 39: // right + info.preventDefault(); + this.rightkey = true; + break; + } + }; + behinstProto.onKeyUp = function (info) + { + switch (info.which) { + case 38: // up + info.preventDefault(); + this.jumpkey = false; + this.jumped = false; + break; + case 37: // left + info.preventDefault(); + this.leftkey = false; + break; + case 39: // right + info.preventDefault(); + this.rightkey = false; + break; + } + }; + behinstProto.onWindowBlur = function () + { + this.leftkey = false; + this.rightkey = false; + this.jumpkey = false; + }; + behinstProto.getGDir = function () + { + if (this.g < 0) + return -1; + else + return 1; + }; + behinstProto.isOnFloor = function () + { + var ret = null; + var ret2 = null; + var i, len, j; + var oldx = this.inst.x; + var oldy = this.inst.y; + this.inst.x += this.downx; + this.inst.y += this.downy; + this.inst.set_bbox_changed(); + if (this.lastFloorObject && this.runtime.testOverlap(this.inst, this.lastFloorObject) && + (!this.runtime.typeHasBehavior(this.lastFloorObject.type, cr.behaviors.solid) || this.lastFloorObject.extra["solidEnabled"])) + { + this.inst.x = oldx; + this.inst.y = oldy; + this.inst.set_bbox_changed(); + return this.lastFloorObject; + } + else + { + ret = this.runtime.testOverlapSolid(this.inst); + if (!ret && this.fallthrough === 0) + ret2 = this.runtime.testOverlapJumpThru(this.inst, true); + this.inst.x = oldx; + this.inst.y = oldy; + this.inst.set_bbox_changed(); + if (ret) // was overlapping solid + { + if (this.runtime.testOverlap(this.inst, ret)) + return null; + else + { + this.floorIsJumpthru = false; + return ret; + } + } + if (ret2 && ret2.length) + { + for (i = 0, j = 0, len = ret2.length; i < len; i++) + { + ret2[j] = ret2[i]; + if (!this.runtime.testOverlap(this.inst, ret2[i])) + j++; + } + if (j >= 1) + { + this.floorIsJumpthru = true; + return ret2[0]; + } + } + return null; + } + }; + behinstProto.tick = function () + { + }; + behinstProto.posttick = function () + { + var dt = this.runtime.getDt(this.inst); + var mx, my, obstacle, mag, allover, i, len, j, oldx, oldy; + if (!this.jumpkey && !this.simjump) + this.jumped = false; + var left = this.leftkey || this.simleft; + var right = this.rightkey || this.simright; + var jumpkey = (this.jumpkey || this.simjump); + var jump = jumpkey && !this.jumped; + this.simleft = false; + this.simright = false; + this.simjump = false; + if (!this.enabled) + return; + if (this.ignoreInput) + { + left = false; + right = false; + jumpkey = false; + jump = false; + } + if (!jumpkey) + this.sustainTime = 0; + var lastFloor = this.lastFloorObject; + var floor_moved = false; + if (this.firstTick) + { + if (this.runtime.testOverlapSolid(this.inst) || this.runtime.testOverlapJumpThru(this.inst)) + { + this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, 4, true); + } + this.firstTick = false; + } + if (lastFloor && this.dy === 0 && (lastFloor.y !== this.lastFloorY || lastFloor.x !== this.lastFloorX)) + { + mx = (lastFloor.x - this.lastFloorX); + my = (lastFloor.y - this.lastFloorY); + this.inst.x += mx; + this.inst.y += my; + this.inst.set_bbox_changed(); + this.lastFloorX = lastFloor.x; + this.lastFloorY = lastFloor.y; + floor_moved = true; + if (this.runtime.testOverlapSolid(this.inst)) + { + this.runtime.pushOutSolid(this.inst, -mx, -my, Math.sqrt(mx * mx + my * my) * 2.5); + } + } + var floor_ = this.isOnFloor(); + var collobj = this.runtime.testOverlapSolid(this.inst); + if (collobj) + { + var instWidth = Math.abs(this.inst.width); + var instHeight = Math.abs(this.inst.height); + if (this.inst.extra["inputPredicted"]) + { + this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, 10, false); + } + else if (this.runtime.pushOutSolidAxis(this.inst, -this.downx, -this.downy, instHeight / 8)) + { + this.runtime.registerCollision(this.inst, collobj); + } + else if (this.runtime.pushOutSolidAxis(this.inst, this.rightx, this.righty, instWidth / 2)) + { + this.runtime.registerCollision(this.inst, collobj); + } + else if (this.runtime.pushOutSolidAxis(this.inst, this.downx, this.downy, instHeight / 2)) + { + this.runtime.registerCollision(this.inst, collobj); + } + else if (this.runtime.pushOutSolidNearest(this.inst, Math.max(instWidth, instHeight) / 2)) + { + this.runtime.registerCollision(this.inst, collobj); + } + else + return; + } + if (floor_) + { + this.doubleJumped = false; // reset double jump flags for next jump + this.canDoubleJump = false; + if (this.dy > 0) + { + if (!this.wasOnFloor) + { + this.runtime.pushInFractional(this.inst, -this.downx, -this.downy, floor_, 16); + this.wasOnFloor = true; + } + this.dy = 0; + } + if (lastFloor != floor_) + { + this.lastFloorObject = floor_; + this.lastFloorX = floor_.x; + this.lastFloorY = floor_.y; + this.runtime.registerCollision(this.inst, floor_); + } + else if (floor_moved) + { + collobj = this.runtime.testOverlapSolid(this.inst); + if (collobj) + { + this.runtime.registerCollision(this.inst, collobj); + if (mx !== 0) + { + if (mx > 0) + this.runtime.pushOutSolid(this.inst, -this.rightx, -this.righty); + else + this.runtime.pushOutSolid(this.inst, this.rightx, this.righty); + } + this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy); + } + } + } + else + { + if (!jumpkey) + this.canDoubleJump = true; + } + if ((floor_ && jump) || (!floor_ && this.enableDoubleJump && jumpkey && this.canDoubleJump && !this.doubleJumped)) + { + oldx = this.inst.x; + oldy = this.inst.y; + this.inst.x -= this.downx; + this.inst.y -= this.downy; + this.inst.set_bbox_changed(); + if (!this.runtime.testOverlapSolid(this.inst)) + { + this.sustainTime = this.jumpSustain; + this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnJump, this.inst); + this.animMode = ANIMMODE_JUMPING; + this.dy = -this.jumpStrength; + jump = true; // set in case is double jump + if (floor_) + this.jumped = true; + else + this.doubleJumped = true; + } + else + jump = false; + this.inst.x = oldx; + this.inst.y = oldy; + this.inst.set_bbox_changed(); + } + if (!floor_) + { + if (jumpkey && this.sustainTime > 0) + { + this.dy = -this.jumpStrength; + this.sustainTime -= dt; + } + else + { + this.lastFloorObject = null; + this.dy += this.g * dt; + if (this.dy > this.maxFall) + this.dy = this.maxFall; + } + if (jump) + this.jumped = true; + } + this.wasOnFloor = !!floor_; + if (left == right) // both up or both down + { + if (this.dx < 0) + { + this.dx += this.dec * dt; + if (this.dx > 0) + this.dx = 0; + } + else if (this.dx > 0) + { + this.dx -= this.dec * dt; + if (this.dx < 0) + this.dx = 0; + } + } + if (left && !right) + { + if (this.dx > 0) + this.dx -= (this.acc + this.dec) * dt; + else + this.dx -= this.acc * dt; + } + if (right && !left) + { + if (this.dx < 0) + this.dx += (this.acc + this.dec) * dt; + else + this.dx += this.acc * dt; + } + if (this.dx > this.maxspeed) + this.dx = this.maxspeed; + else if (this.dx < -this.maxspeed) + this.dx = -this.maxspeed; + var landed = false; + if (this.dx !== 0) + { + oldx = this.inst.x; + oldy = this.inst.y; + mx = this.dx * dt * this.rightx; + my = this.dx * dt * this.righty; + this.inst.x += this.rightx * (this.dx > 1 ? 1 : -1) - this.downx; + this.inst.y += this.righty * (this.dx > 1 ? 1 : -1) - this.downy; + this.inst.set_bbox_changed(); + var is_jumpthru = false; + var slope_too_steep = this.runtime.testOverlapSolid(this.inst); + /* + if (!slope_too_steep && floor_) + { + slope_too_steep = this.runtime.testOverlapJumpThru(this.inst); + is_jumpthru = true; + if (slope_too_steep) + { + this.inst.x = oldx; + this.inst.y = oldy; + this.inst.set_bbox_changed(); + if (this.runtime.testOverlap(this.inst, slope_too_steep)) + { + slope_too_steep = null; + is_jumpthru = false; + } + } + } + */ + this.inst.x = oldx + mx; + this.inst.y = oldy + my; + this.inst.set_bbox_changed(); + obstacle = this.runtime.testOverlapSolid(this.inst); + if (!obstacle && floor_) + { + obstacle = this.runtime.testOverlapJumpThru(this.inst); + if (obstacle) + { + this.inst.x = oldx; + this.inst.y = oldy; + this.inst.set_bbox_changed(); + if (this.runtime.testOverlap(this.inst, obstacle)) + { + obstacle = null; + is_jumpthru = false; + } + else + is_jumpthru = true; + this.inst.x = oldx + mx; + this.inst.y = oldy + my; + this.inst.set_bbox_changed(); + } + } + if (obstacle) + { + var push_dist = Math.abs(this.dx * dt) + 2; + if (slope_too_steep || !this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, push_dist, is_jumpthru, obstacle)) + { + this.runtime.registerCollision(this.inst, obstacle); + push_dist = Math.max(Math.abs(this.dx * dt * 2.5), 30); + if (!this.runtime.pushOutSolid(this.inst, this.rightx * (this.dx < 0 ? 1 : -1), this.righty * (this.dx < 0 ? 1 : -1), push_dist, false)) + { + this.inst.x = oldx; + this.inst.y = oldy; + this.inst.set_bbox_changed(); + } + else if (floor_ && !is_jumpthru && !this.floorIsJumpthru) + { + oldx = this.inst.x; + oldy = this.inst.y; + this.inst.x += this.downx; + this.inst.y += this.downy; + if (this.runtime.testOverlapSolid(this.inst)) + { + if (!this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, 3, false)) + { + this.inst.x = oldx; + this.inst.y = oldy; + this.inst.set_bbox_changed(); + } + } + else + { + this.inst.x = oldx; + this.inst.y = oldy; + this.inst.set_bbox_changed(); + } + } + if (!is_jumpthru) + this.dx = 0; // stop + } + else if (!slope_too_steep && !jump && (Math.abs(this.dy) < Math.abs(this.jumpStrength / 4))) + { + this.dy = 0; + if (!floor_) + landed = true; + } + } + else + { + var newfloor = this.isOnFloor(); + if (floor_ && !newfloor) + { + mag = Math.ceil(Math.abs(this.dx * dt)) + 2; + oldx = this.inst.x; + oldy = this.inst.y; + this.inst.x += this.downx * mag; + this.inst.y += this.downy * mag; + this.inst.set_bbox_changed(); + if (this.runtime.testOverlapSolid(this.inst) || this.runtime.testOverlapJumpThru(this.inst)) + this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, mag + 2, true); + else + { + this.inst.x = oldx; + this.inst.y = oldy; + this.inst.set_bbox_changed(); + } + } + else if (newfloor) + { + if (!floor_ && this.floorIsJumpthru) + { + this.lastFloorObject = newfloor; + this.lastFloorX = newfloor.x; + this.lastFloorY = newfloor.y; + this.dy = 0; + landed = true; + } + if (this.dy === 0) + { + this.runtime.pushInFractional(this.inst, -this.downx, -this.downy, newfloor, 16); + } + } + } + } + if (this.dy !== 0) + { + oldx = this.inst.x; + oldy = this.inst.y; + this.inst.x += this.dy * dt * this.downx; + this.inst.y += this.dy * dt * this.downy; + var newx = this.inst.x; + var newy = this.inst.y; + this.inst.set_bbox_changed(); + collobj = this.runtime.testOverlapSolid(this.inst); + var fell_on_jumpthru = false; + if (!collobj && (this.dy > 0) && !floor_) + { + allover = this.fallthrough > 0 ? null : this.runtime.testOverlapJumpThru(this.inst, true); + if (allover && allover.length) + { + if (this.wasOverJumpthru) + { + this.inst.x = oldx; + this.inst.y = oldy; + this.inst.set_bbox_changed(); + for (i = 0, j = 0, len = allover.length; i < len; i++) + { + allover[j] = allover[i]; + if (!this.runtime.testOverlap(this.inst, allover[i])) + j++; + } + allover.length = j; + this.inst.x = newx; + this.inst.y = newy; + this.inst.set_bbox_changed(); + } + if (allover.length >= 1) + collobj = allover[0]; + } + fell_on_jumpthru = !!collobj; + } + if (collobj) + { + this.runtime.registerCollision(this.inst, collobj); + this.sustainTime = 0; + var push_dist = (fell_on_jumpthru ? Math.abs(this.dy * dt * 2.5 + 10) : Math.max(Math.abs(this.dy * dt * 2.5 + 10), 30)); + if (!this.runtime.pushOutSolid(this.inst, this.downx * (this.dy < 0 ? 1 : -1), this.downy * (this.dy < 0 ? 1 : -1), push_dist, fell_on_jumpthru, collobj)) + { + this.inst.x = oldx; + this.inst.y = oldy; + this.inst.set_bbox_changed(); + this.wasOnFloor = true; // prevent adjustment for unexpected floor landings + if (!fell_on_jumpthru) + this.dy = 0; // stop + } + else + { + this.lastFloorObject = collobj; + this.lastFloorX = collobj.x; + this.lastFloorY = collobj.y; + this.floorIsJumpthru = fell_on_jumpthru; + if (fell_on_jumpthru) + landed = true; + this.dy = 0; // stop + } + } + } + if (this.animMode !== ANIMMODE_FALLING && this.dy > 0 && !floor_) + { + this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnFall, this.inst); + this.animMode = ANIMMODE_FALLING; + } + if ((floor_ || landed) && this.dy >= 0) + { + if (this.animMode === ANIMMODE_FALLING || landed || (jump && this.dy === 0)) + { + this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnLand, this.inst); + if (this.dx === 0 && this.dy === 0) + this.animMode = ANIMMODE_STOPPED; + else + this.animMode = ANIMMODE_MOVING; + } + else + { + if (this.animMode !== ANIMMODE_STOPPED && this.dx === 0 && this.dy === 0) + { + this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnStop, this.inst); + this.animMode = ANIMMODE_STOPPED; + } + if (this.animMode !== ANIMMODE_MOVING && (this.dx !== 0 || this.dy !== 0) && !jump) + { + this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnMove, this.inst); + this.animMode = ANIMMODE_MOVING; + } + } + } + if (this.fallthrough > 0) + this.fallthrough--; + this.wasOverJumpthru = this.runtime.testOverlapJumpThru(this.inst); + }; + function Cnds() {}; + Cnds.prototype.IsMoving = function () + { + return this.dx !== 0 || this.dy !== 0; + }; + Cnds.prototype.CompareSpeed = function (cmp, s) + { + var speed = Math.sqrt(this.dx * this.dx + this.dy * this.dy); + return cr.do_cmp(speed, cmp, s); + }; + Cnds.prototype.IsOnFloor = function () + { + if (this.dy !== 0) + return false; + var ret = null; + var ret2 = null; + var i, len, j; + var oldx = this.inst.x; + var oldy = this.inst.y; + this.inst.x += this.downx; + this.inst.y += this.downy; + this.inst.set_bbox_changed(); + ret = this.runtime.testOverlapSolid(this.inst); + if (!ret && this.fallthrough === 0) + ret2 = this.runtime.testOverlapJumpThru(this.inst, true); + this.inst.x = oldx; + this.inst.y = oldy; + this.inst.set_bbox_changed(); + if (ret) // was overlapping solid + { + return !this.runtime.testOverlap(this.inst, ret); + } + if (ret2 && ret2.length) + { + for (i = 0, j = 0, len = ret2.length; i < len; i++) + { + ret2[j] = ret2[i]; + if (!this.runtime.testOverlap(this.inst, ret2[i])) + j++; + } + if (j >= 1) + return true; + } + return false; + }; + Cnds.prototype.IsByWall = function (side) + { + var ret = false; + var oldx = this.inst.x; + var oldy = this.inst.y; + if (side === 0) // left + { + this.inst.x -= this.rightx * 2; + this.inst.y -= this.righty * 2; + } + else + { + this.inst.x += this.rightx * 2; + this.inst.y += this.righty * 2; + } + this.inst.set_bbox_changed(); + if (!this.runtime.testOverlapSolid(this.inst)) + { + this.inst.x = oldx; + this.inst.y = oldy; + this.inst.set_bbox_changed(); + return false; + } + this.inst.x -= this.downx * 3; + this.inst.y -= this.downy * 3; + this.inst.set_bbox_changed(); + ret = this.runtime.testOverlapSolid(this.inst); + this.inst.x = oldx; + this.inst.y = oldy; + this.inst.set_bbox_changed(); + return ret; + }; + Cnds.prototype.IsJumping = function () + { + return this.dy < 0; + }; + Cnds.prototype.IsFalling = function () + { + return this.dy > 0; + }; + Cnds.prototype.OnJump = function () + { + return true; + }; + Cnds.prototype.OnFall = function () + { + return true; + }; + Cnds.prototype.OnStop = function () + { + return true; + }; + Cnds.prototype.OnMove = function () + { + return true; + }; + Cnds.prototype.OnLand = function () + { + return true; + }; + Cnds.prototype.IsDoubleJumpEnabled = function () + { + return this.enableDoubleJump; + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetIgnoreInput = function (ignoring) + { + this.ignoreInput = ignoring; + }; + Acts.prototype.SetMaxSpeed = function (maxspeed) + { + this.maxspeed = maxspeed; + if (this.maxspeed < 0) + this.maxspeed = 0; + }; + Acts.prototype.SetAcceleration = function (acc) + { + this.acc = acc; + if (this.acc < 0) + this.acc = 0; + }; + Acts.prototype.SetDeceleration = function (dec) + { + this.dec = dec; + if (this.dec < 0) + this.dec = 0; + }; + Acts.prototype.SetJumpStrength = function (js) + { + this.jumpStrength = js; + if (this.jumpStrength < 0) + this.jumpStrength = 0; + }; + Acts.prototype.SetGravity = function (grav) + { + if (this.g1 === grav) + return; // no change + this.g = grav; + this.updateGravity(); + if (this.runtime.testOverlapSolid(this.inst)) + { + this.runtime.pushOutSolid(this.inst, this.downx, this.downy, 10); + this.inst.x += this.downx * 2; + this.inst.y += this.downy * 2; + this.inst.set_bbox_changed(); + } + this.lastFloorObject = null; + }; + Acts.prototype.SetMaxFallSpeed = function (mfs) + { + this.maxFall = mfs; + if (this.maxFall < 0) + this.maxFall = 0; + }; + Acts.prototype.SimulateControl = function (ctrl) + { + switch (ctrl) { + case 0: this.simleft = true; break; + case 1: this.simright = true; break; + case 2: this.simjump = true; break; + } + }; + Acts.prototype.SetVectorX = function (vx) + { + this.dx = vx; + }; + Acts.prototype.SetVectorY = function (vy) + { + this.dy = vy; + }; + Acts.prototype.SetGravityAngle = function (a) + { + a = cr.to_radians(a); + a = cr.clamp_angle(a); + if (this.ga === a) + return; // no change + this.ga = a; + this.updateGravity(); + this.lastFloorObject = null; + }; + Acts.prototype.SetEnabled = function (en) + { + if (this.enabled !== (en === 1)) + { + this.enabled = (en === 1); + if (!this.enabled) + this.lastFloorObject = null; + } + }; + Acts.prototype.FallThrough = function () + { + var oldx = this.inst.x; + var oldy = this.inst.y; + this.inst.x += this.downx; + this.inst.y += this.downy; + this.inst.set_bbox_changed(); + var overlaps = this.runtime.testOverlapJumpThru(this.inst, false); + this.inst.x = oldx; + this.inst.y = oldy; + this.inst.set_bbox_changed(); + if (!overlaps) + return; + this.fallthrough = 3; // disable jumpthrus for 3 ticks (1 doesn't do it, 2 does, 3 to be on safe side) + this.lastFloorObject = null; + }; + Acts.prototype.SetDoubleJumpEnabled = function (e) + { + this.enableDoubleJump = (e !== 0); + }; + Acts.prototype.SetJumpSustain = function (s) + { + this.jumpSustain = s / 1000; // convert to ms + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.Speed = function (ret) + { + ret.set_float(Math.sqrt(this.dx * this.dx + this.dy * this.dy)); + }; + Exps.prototype.MaxSpeed = function (ret) + { + ret.set_float(this.maxspeed); + }; + Exps.prototype.Acceleration = function (ret) + { + ret.set_float(this.acc); + }; + Exps.prototype.Deceleration = function (ret) + { + ret.set_float(this.dec); + }; + Exps.prototype.JumpStrength = function (ret) + { + ret.set_float(this.jumpStrength); + }; + Exps.prototype.Gravity = function (ret) + { + ret.set_float(this.g); + }; + Exps.prototype.GravityAngle = function (ret) + { + ret.set_float(cr.to_degrees(this.ga)); + }; + Exps.prototype.MaxFallSpeed = function (ret) + { + ret.set_float(this.maxFall); + }; + Exps.prototype.MovingAngle = function (ret) + { + ret.set_float(cr.to_degrees(Math.atan2(this.dy, this.dx))); + }; + Exps.prototype.VectorX = function (ret) + { + ret.set_float(this.dx); + }; + Exps.prototype.VectorY = function (ret) + { + ret.set_float(this.dy); + }; + Exps.prototype.JumpSustain = function (ret) + { + ret.set_float(this.jumpSustain * 1000); // convert back to ms + }; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.Rex_Zigzag = function (runtime) { + this.runtime = runtime; +}; +(function () { + var behaviorProto = cr.behaviors.Rex_Zigzag.prototype; + behaviorProto.Type = function (behavior, objtype) { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function () { + }; + behaviorProto.Instance = function (type, inst) { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + }; + var behinstProto = behaviorProto.Instance.prototype; + var transferCmd = function (name, param) { + switch (name) { + case "F": + name = "M"; // move + break; + case "B": + name = "M"; // move + param = -param; + break; + case "R": + name = "R"; // rotate + break; + case "L": + name = "R"; // rotate + param = -param; + break; + case "W": + break; + default: + return null; // no matched command + break; + } + return ({ + "cmd": name, + "param": param + }); + }; + var parseSpeed = function (speedString) { + var newSpeedValue = (speedString != "") ? + eval("(" + speedString + ")") : null; + return newSpeedValue; + }; + var parsingRresult = [null, null]; + var parseCmd1 = function (cmd) // split cmd string and speed setting + { + var startIndex = cmd.indexOf("["); + var retCmd; + var speedString; + if (startIndex != (-1)) { + speedString = cmd.slice(startIndex); + retCmd = cmd.slice(0, startIndex); + } else { + speedString = ""; + retCmd = cmd; + } + parsingRresult[0] = retCmd; + parsingRresult[1] = speedString; + return parsingRresult; + }; + var parseCmdString = function (cmdString) { + var ret_cmds = []; + var cmds = cmdString.split(/;|\n/); + var i; + var cmd_length = cmds.length; + var cmd, cmd_slices, cmd_name, cmd_param, cmd_parsed; + var tmp; + for (i = 0; i < cmd_length; i++) { + tmp = parseCmd1(cmds[i]); + cmd = tmp[0]; + cmd = cmd.replace(/(^\s*)|(\s*$)/g, ""); + cmd = cmd.replace(/(\s+)/g, " "); + cmd_slices = cmd.split(" "); + if (cmd_slices.length == 2) { + cmd_name = cmd_slices[0].toUpperCase(); + cmd_param = parseFloat(cmd_slices[1]); + cmd_parsed = transferCmd(cmd_name, cmd_param); + if (cmd_parsed) { + cmd_parsed["speed"] = parseSpeed(tmp[1]); + ret_cmds.push(cmd_parsed); + } else { +; + continue; + } + } else { +; + continue; + } + } + return ret_cmds; + }; + behinstProto.onCreate = function () { + this.activated = this.properties[0]; + this.isRun = (this.properties[1] == 1); + var isRotatable = (this.properties[2] == 1); + var preciseMode = (this.properties[12] == 1); + var continuedMode = (this.properties[13] == 1); + var absoluteMode = (this.properties[14] == 1); + this.currentCmd = null; + this.inst.xOffset = 0; + this.inst.yOffset = 0; + this.isMyCall = false; + var initAngle = (isRotatable) ? + this.inst.angle : + cr.to_clamped_radians(this.properties[11]); + this.inst.angleOffset = initAngle; + if (!this.recycled) { + this.positionData = { + "x": 0, + "y": 0, + "a": 0 + }; + } + this.positionData["x"] = absoluteMode ? 0 : this.inst.x; + this.positionData["y"] = absoluteMode ? 0 : this.inst.y; + this.positionData["a"] = initAngle; + if (!this.recycled) { + this.CmdQueue = new CmdQueue(this.properties[3]); + } else { + this.CmdQueue.Init(this.properties[3]); + } + if (!this.recycled) { + this.CmdMove = new CmdMoveKlass(this.inst, + this.properties[5], + this.properties[6], + this.properties[7], + preciseMode, + continuedMode, + absoluteMode); + } else { + this.CmdMove.Init(this.inst, + this.properties[5], + this.properties[6], + this.properties[7], + preciseMode, + continuedMode, + absoluteMode); + } + if (!this.recycled) { + this.CmdRotate = new CmdRotateKlass(this.inst, + isRotatable, + this.properties[8], + this.properties[9], + this.properties[10], + preciseMode, + continuedMode, + absoluteMode); + } else { + this.CmdRotate.Init(this.inst, + isRotatable, + this.properties[8], + this.properties[9], + this.properties[10], + preciseMode, + continuedMode, + absoluteMode); + } + if (!this.recycled) { + this.CmdWait = new CmdWaitKlass(continuedMode); + } else { + this.CmdWait.Init(continuedMode); + } + if (!this.recycled) { + this.cmdMap = { + "M": this.CmdMove, + "R": this.CmdRotate, + "W": this.CmdWait + }; + } + this.AddCommandString(this.properties[4]); + }; + behinstProto.tick = function () { + if ((this.activated == 0) || (!this.isRun)) + return; + var dt = this.runtime.getDt(this.inst); + var cmd; + while (dt) { + if (this.currentCmd == null) // try to get new cmd + { + this.currentCmd = this.CmdQueue.GetCmd(); + if (this.currentCmd != null) { + cmd = this.cmdMap[this.currentCmd["cmd"]]; + cmd.CmdInit(this.positionData, this.currentCmd["param"], this.currentCmd["speed"]); + this.isMyCall = true; + this.runtime.trigger(cr.behaviors.Rex_Zigzag.prototype.cnds.OnCmdStart, this.inst); + this.isMyCall = false; + } else { + this.isRun = false; + this.isMyCall = true; + this.runtime.trigger(cr.behaviors.Rex_Zigzag.prototype.cnds.OnCmdQueueFinish, this.inst); + this.isMyCall = false; + break; + } + } else { + cmd = this.cmdMap[this.currentCmd["cmd"]]; + } + dt = cmd.Tick(dt); + if (cmd.isDone) { + this.isMyCall = true; + this.runtime.trigger(cr.behaviors.Rex_Zigzag.prototype.cnds.OnCmdFinish, this.inst); + this.isMyCall = false; + this.currentCmd = null; + } + } + }; + behinstProto.AddCommand = function (cmd, param) { + this.CmdQueue.Push(transferCmd(cmd, param)); + }; + behinstProto.AddCommandString = function (cmdString) { + if (cmdString != "") + this.CmdQueue.PushList(parseCmdString(cmdString)); + }; + behinstProto.saveToJSON = function () { + return { + "en": this.activated, + "ir": this.isRun, + "ps": this.positionData, + "cq": this.CmdQueue.saveToJSON(), + "cc": this.currentCmd, + "cm": this.CmdMove.saveToJSON(), + "cr": this.CmdRotate.saveToJSON(), + "cw": this.CmdWait.saveToJSON(), + }; + }; + behinstProto.loadFromJSON = function (o) { + this.activated = o["en"]; + this.isRun = o["ir"]; + this.positionData = o["ps"]; + this.CmdQueue.loadFromJSON(o["cq"]); + this.currentCmd = o["cc"]; + this.CmdMove.loadFromJSON(o["cm"]); + this.CmdRotate.loadFromJSON(o["cr"]); + this.CmdWait.loadFromJSON(o["cw"]); + if (this.currentCmd != null) // link to cmd object + { + var cmd = this.cmdMap[this.currentCmd["cmd"]]; + cmd.target = this.positionData; + } + }; + function Cnds() {}; + behaviorProto.cnds = new Cnds(); + Cnds.prototype.CompareMovSpeed = function (cmp, s) { + return cr.do_cmp(this.CmdMove.currentSpeed, cmp, s); + }; + Cnds.prototype.CompareRotSpeed = function (cmp, s) { + return cr.do_cmp(this.CmdRotate.currentSpeed, cmp, s); + }; + var isValidCmd = function (currentCmd, _cmd) { + if (currentCmd == null) + return false; + var ret; + switch (_cmd) { + case 0: //"F" + ret = ((currentCmd["cmd"] == "M") && (currentCmd["param"] >= 0)); + break; + case 1: //"B" + ret = ((currentCmd["cmd"] == "M") && (currentCmd["param"] < 0)); + break; + case 2: //"R" + ret = ((currentCmd["cmd"] == "R") && (currentCmd["param"] >= 0)); + break; + case 3: //"L" + ret = ((currentCmd["cmd"] == "R") && (currentCmd["param"] < 0)); + break; + case 4: //"W" + ret = (currentCmd["cmd"] == "W"); + break; + default: // any + ret = true; + } + return ret; + } + Cnds.prototype.IsCmd = function (_cmd) { + return isValidCmd(this.currentCmd, _cmd); + }; + Cnds.prototype.OnCmdQueueFinish = function () { + return (this.isMyCall); + }; + Cnds.prototype.OnCmdStart = function (_cmd) { + return (isValidCmd(this.currentCmd, _cmd) && this.isMyCall); + }; + Cnds.prototype.OnCmdFinish = function (_cmd) { + return (isValidCmd(this.currentCmd, _cmd) && this.isMyCall); + }; + function Acts() {}; + behaviorProto.acts = new Acts(); + Acts.prototype.SetActivated = function (s) { + this.activated = s; + }; + Acts.prototype.Start = function () { + this.currentCmd = null; + this.isRun = true; + this.CmdQueue.Reset(); + this.positionData["x"] = this.CmdMove.absoluteMode ? 0 : this.inst.x; + this.positionData["y"] = this.CmdMove.absoluteMode ? 0 : this.inst.y; + if (this.CmdRotate.rotatable) + this.positionData["a"] = this.inst.angle; + }; + Acts.prototype.Stop = function () { + this.currentCmd = null; + this.isRun = false; + }; + Acts.prototype.SetMaxMovSpeed = function (s) { + this.CmdMove.move["max"] = s; + }; + Acts.prototype.SetMovAcceleration = function (s) { + this.CmdMove.move["acc"] = s; + }; + Acts.prototype.SetMovDeceleration = function (s) { + this.CmdMove.move["dec"] = s; + }; + Acts.prototype.SetMaxRotSpeed = function (s) { + this.CmdRotate.move["max"] = s; + }; + Acts.prototype.SetRotAcceleration = function (s) { + this.CmdRotate.move["acc"] = s; + }; + Acts.prototype.SetRotDeceleration = function (s) { + this.CmdRotate.move["dec"] = s; + }; + Acts.prototype.SetRepeatCount = function (s) { + this.CmdQueue.repeatCount = s; + this.CmdQueue.repeatCountSave = s; + }; + Acts.prototype.CleanCmdQueue = function () { + this.CmdQueue.CleanAll(); + }; + var index2NameMap = ["F", "B", "R", "L", "W"]; + Acts.prototype.AddCmd = function (_cmd, param) { + this.AddCommand(index2NameMap[_cmd], param); + }; + Acts.prototype.AddCmdString = function (cmdString) { + this.AddCommandString(cmdString); + }; + Acts.prototype.SetRotatable = function (s) { + this.CmdRotate.rotatable = (s == 1); + }; + Acts.prototype.SetMovingAngle = function (s) { + var _angle = cr.to_clamped_radians(s); + if (this.CmdMove.absoluteMode) { + this.inst.angleOffset = _angle; + } + else { + this.positionData["a"] = _angle; + if (this.CmdRotate.rotatable) { + this.inst.angle = _angle; + this.inst.set_bbox_changed(); + } + } + }; + Acts.prototype.SetPrecise = function (s) { + var preciseMode = (s == 1); + this.CmdMove.preciseMode = preciseMode; + this.CmdRotate.preciseMode = preciseMode; + }; + Acts.prototype.SetAbsolute = function (s) { + var absoluteMode = (s == 1); + this.CmdMove.absoluteMode = absoluteMode; + this.CmdRotate.absoluteMode = absoluteMode; + }; + function Exps() {}; + behaviorProto.exps = new Exps(); + Exps.prototype.Activated = function (ret) { + ret.set_int(this.activated); + }; + Exps.prototype.MovSpeed = function (ret) { + ret.set_float(this.CmdMove.currentSpeed); + }; + Exps.prototype.MaxMovSpeed = function (ret) { + ret.set_float(this.CmdMove.move["max"]); + }; + Exps.prototype.MovAcc = function (ret) { + ret.set_float(this.CmdMove.move["acc"]); + }; + Exps.prototype.MovDec = function (ret) { + ret.set_float(this.CmdMove.move["dec"]); + }; + Exps.prototype.RotSpeed = function (ret) { + ret.set_float(this.CmdRotate.currentSpeed); + }; + Exps.prototype.MaxRotSpeed = function (ret) { + ret.set_float(this.CmdRotate.move["max"]); + }; + Exps.prototype.RotAcc = function (ret) { + ret.set_float(this.CmdRotate.move["acc"]); + }; + Exps.prototype.RotDec = function (ret) { + ret.set_float(this.CmdRotate.move["dec"]); + }; + Exps.prototype.Rotatable = function (ret) { + ret.set_int(this.CmdRotate.rotatable); + }; + Exps.prototype.RepCnt = function (ret) { + ret.set_int(this.CmdQueue.repeatCountSave); + }; + Exps.prototype.CmdIndex = function (ret) { + ret.set_int(this.CmdQueue.currentCmdQueueIndex); + }; + Exps.prototype.MovAngle = function (ret) { + var angle; + if (isValidCmd(this.currentCmd, 2) || isValidCmd(this.currentCmd, 3)) { + angle = this.CmdRotate.currentAngleDeg; + if (angle < 0) + angle = 360 + angle; + } else + angle = cr.to_clamped_degrees(this.positionData["a"]); + ret.set_float(angle); + }; + Exps.prototype.OffAngle = function (ret) { + var off = this.CmdRotate.rotatable? cr.to_clamped_degrees(this.inst.angleOffset) : 0; + if(typeof off == "number") + ret.set_float(off); + else + ret.set_float(0); + }; + Exps.prototype.OffX = function (ret) { + var off = this.inst.xOffset; + if(typeof off == "number") + ret.set_float(off); + else + ret.set_float(0); + }; + Exps.prototype.OffY = function (ret) { + var off = this.inst.yOffset; + if(typeof off == "number") + ret.set_float(off); + else + ret.set_float(0); + }; + var CmdQueue = function (repeatCount) { + this.Init(repeatCount); + }; + var CmdQueueProto = CmdQueue.prototype; + CmdQueueProto.Init = function (repeatCount) { + this.CleanAll(); + this.repeatCount = repeatCount; + this.repeatCountSave = repeatCount; + }; + CmdQueueProto.CleanAll = function () { + this.queueIndex = 0; + this.currentCmdQueueIndex = -1; + this.queue = []; + }; + CmdQueueProto.Reset = function () { + this.repeatCount = this.repeatCountSave; + this.queueIndex = 0; + this.currentCmdQueueIndex = -1; + }; + CmdQueueProto.Push = function (item) { + this.queue.push(item); + }; + CmdQueueProto.PushList = function (items) { + this.queue.push.apply(this.queue, items); + }; + CmdQueueProto.GetCmd = function () { + var cmd; + cmd = this.queue[this.queueIndex]; + this.currentCmdQueueIndex = this.queueIndex; + var index = this.queueIndex + 1; + if (index >= this.queue.length) { + if (this.repeatCount != 1) // repeat + { + this.queueIndex = 0; + this.repeatCount -= 1; + } else { + this.queueIndex = (-1); // finish + } + } else + this.queueIndex = index; + return cmd; + }; + CmdQueueProto.saveToJSON = function () { + return { + "i": this.queueIndex, + "cci": this.currentCmdQueueIndex, + "q": this.queue, + "rptsv": this.repeatCountSave, + "rpt": this.repeatCount + }; + }; + CmdQueueProto.loadFromJSON = function (o) { + this.queueIndex = o["i"]; + this.currentCmdQueueIndex = o["cci"]; + this.queue = o["q"]; + this.repeatCountSave = o["rptsv"]; + this.repeatCount = o["rpt"]; + }; + var CmdMoveKlass = function (inst, + maxSpeed, acc, dec, + preciseMode, continuedMode, absoluteMode) { + this.Init(inst, + maxSpeed, acc, dec, + preciseMode, continuedMode, absoluteMode); + }; + var CmdMoveKlassProto = CmdMoveKlass.prototype; + CmdMoveKlassProto.Init = function (inst, + maxSpeed, acc, dec, + preciseMode, continuedMode, absoluteMode) { + this.inst = inst; + this.move = { + "max": maxSpeed, + "acc": acc, + "dec": dec + }; + this.isDone = true; + this.preciseMode = preciseMode; + this.continuedMode = continuedMode; + this.absoluteMode = absoluteMode; + this.currentSpeed = 0; + }; + CmdMoveKlassProto.CmdInit = function (positionData, distance, + newSpeedValue) { + this.target = positionData; + this.dir = (distance >= 0); + this.remainDistance = Math.abs(distance); + this.isDone = false; + var angle; + if(this.absoluteMode) + angle = this.inst.angleOffset; + else + angle = positionData["a"]; + positionData["x"] += (distance * Math.cos(angle)); + positionData["y"] += (distance * Math.sin(angle)); + if (newSpeedValue) + speedReset.apply(this, newSpeedValue); + setCurrentSpeed.call(this, null); + }; + CmdMoveKlassProto.Tick = function (dt) { + var remainDt; + var distance = getMoveDistance.call(this, dt); + this.remainDistance -= distance; + if ((this.remainDistance <= 0) || (this.currentSpeed <= 0)) { + this.isDone = true; + if (this.preciseMode) // precise mode + { + if(this.absoluteMode){ + this.inst.xOffset = this.target["x"]; + this.inst.yOffset = this.target["y"]; + } + else { + this.inst.x = this.target["x"]; + this.inst.y = this.target["y"]; + } + } else // non-precise mode + { + var angle = this.target["a"]; + distance += this.remainDistance; + if (!this.dir) { + distance = -distance; + } + if (this.absoluteMode) { + this.inst.xOffset += (distance * Math.cos(angle)); + this.inst.yOffset += (distance * Math.sin(angle)); + this.target["x"] = this.inst.xOffset; + this.target["y"] = this.inst.yOffset; + } else { + this.inst.x += (distance * Math.cos(angle)); + this.inst.y += (distance * Math.sin(angle)); + this.target["x"] = this.inst.x; + this.target["y"] = this.inst.y; + } + } + remainDt = (this.continuedMode) ? getRemaindDt.call(this) : 0; + } else { + var angle; + if (this.absoluteMode) + angle = this.inst.angleOffset; + else + angle = this.target["a"]; + if (!this.dir) { + distance = -distance; + } + if(this.absoluteMode) { + this.inst.xOffset += (distance * Math.cos(angle)); + this.inst.yOffset += (distance * Math.sin(angle)); + } + else { + this.inst.x += (distance * Math.cos(angle)); + this.inst.y += (distance * Math.sin(angle)); + } + remainDt = 0; + } + if(!this.absoluteMode){ + this.inst.set_bbox_changed(); + } + return remainDt; + }; + CmdMoveKlassProto.saveToJSON = function () { + return { + "v": this.move, + "id": this.isDone, + "pm": this.preciseMode, + "cspd": this.currentSpeed, + "offx": this.inst.xOffset, + "offy": this.inst.yOffset, + "abs": this.absoluteMode, + "dir": this.dir, + "rd": this.remainDistance, + }; + }; + CmdMoveKlassProto.loadFromJSON = function (o) { + this.move = o["v"]; + this.isDone = o["id"]; + this.preciseMode = o["pm"]; + this.currentSpeed = o["cspd"]; + this.dir = o["dir"]; + this.remainDistance = o["rd"]; + this.absoluteMode = o["abs"]; + this.inst.xOffset = o["offx"]; + this.inst.yOffset = o["offy"]; + }; + var CmdRotateKlass = function (inst, + rotatable, + maxSpeed, acc, dec, + preciseMode, continuedMode, absoluteMode) { + this.Init(inst, + rotatable, + maxSpeed, acc, dec, + preciseMode, continuedMode, absoluteMode); + }; + var CmdRotateKlassProto = CmdRotateKlass.prototype; + CmdRotateKlassProto.Init = function (inst, + rotatable, + maxSpeed, acc, dec, + preciseMode, continuedMode, absoluteMode) { + this.inst = inst; + this.rotatable = rotatable; + this.move = { + "max": maxSpeed, + "acc": acc, + "dec": dec + }; + this.isDone = true; + this.isZeroDtMode = ((maxSpeed >= 36000) && (acc == 0) && (dec == 0)); + this.preciseMode = preciseMode; + this.continuedMode = continuedMode; + this.absoluteMode = absoluteMode; + this.currentAngleDeg = (rotatable) ? cr.to_clamped_degrees(inst.angle) : 0; + this.currentSpeed = 0; + }; + CmdRotateKlassProto.CmdInit = function (positionData, distance, + newSpeedValue) { + this.target = positionData; + this.currentAngleDeg = cr.to_clamped_degrees(positionData["a"]); + this.targetAngleDeg = this.currentAngleDeg + distance; + this.dir = (distance >= 0); + var angle = cr.to_clamped_radians(this.targetAngleDeg); + this.remainDistance = Math.abs(distance); + this.isDone = false; + positionData["a"] = angle; + if (newSpeedValue) + speedReset.apply(this, newSpeedValue); + setCurrentSpeed.call(this, null); + }; + CmdRotateKlassProto.Tick = function (dt) { + var remainDt; + var targetAngleRad; + if (this.isZeroDtMode) { + remainDt = dt; + this.isDone = true; + targetAngleRad = this.target["a"]; + this.currentAngleDeg = this.targetAngleDeg; + } else { + var distance = getMoveDistance.call(this, dt); + this.remainDistance -= distance; + if ((this.remainDistance <= 0) || (this.currentSpeed <= 0)) { + this.isDone = true; + if (this.preciseMode) // precise mode + { + targetAngleRad = this.target["a"]; + this.currentAngleDeg = this.targetAngleDeg; + } else // non-precise mode + { + distance += this.remainDistance; + this.currentAngleDeg += ((this.dir) ? distance : (-distance)); + targetAngleRad = cr.to_clamped_radians(this.currentAngleDeg); + this.target["a"] = targetAngleRad; + } + remainDt = (this.continuedMode == 1) ? getRemaindDt.call(this) : 0; + } else { + this.currentAngleDeg += ((this.dir) ? distance : (-distance)); + targetAngleRad = cr.to_clamped_radians(this.currentAngleDeg); + remainDt = 0; + } + } + if (this.absoluteMode) { + this.inst.angleOffset = targetAngleRad; + } + else { + if (this.rotatable) { + this.inst.angle = targetAngleRad; + this.inst.set_bbox_changed(); + } + } + return remainDt; + }; + CmdRotateKlassProto.saveToJSON = function () { + return { + "ra": this.rotatable, + "v": this.move, + "id": this.isDone, + "izm": this.isZeroDtMode, + "pm": this.preciseMode, + "cad": this.currentAngleDeg, + "cspd": this.currentSpeed, + "abs": this.absoluteMode, + "offa": this.inst.angleOffset, + "tad": this.targetAngleDeg, + "dir": this.dir, + "rd": this.remainDistance, + }; + }; + CmdRotateKlassProto.loadFromJSON = function (o) { + this.rotatable = o["ra"]; + this.move = o["v"]; + this.isDone = o["id"]; + this.isZeroDtMode = o["izm"]; + this.preciseMode = o["pm"]; + this.currentAngleDeg = o["cad"]; + this.currentSpeed = o["cspd"]; + this.absoluteMode = o["abs"]; + this.inst.angleOffset = o["offa"] + this.targetAngleDeg = o["tad"]; + this.dir = o["dir"]; + this.remainDistance = o["rd"]; + }; + var setCurrentSpeed = function (speed) { + var move = this.move; + if (speed != null) { + this.currentSpeed = (speed > move["max"]) ? + move["max"] : speed; + } else if (move["acc"] > 0) { + this.currentSpeed = 0; + } else { + this.currentSpeed = move["max"]; + } + }; + var getMoveDistance = function (dt) { + var move = this.move; + var isSlowDown = false; + if (move["dec"] != 0) { + var _distance = (this.currentSpeed * this.currentSpeed) / (2 * move["dec"]); // (v*v)/(2*a) + isSlowDown = (_distance >= this.remainDistance); + } + var acc = (isSlowDown) ? (-move["dec"]) : move["acc"]; + if (acc != 0) { + setCurrentSpeed.call(this, this.currentSpeed + (acc * dt)); + } + var distance = this.currentSpeed * dt; + return distance; + }; + var getRemaindDt = function () { + var remainDt; + if ((this.move["acc"] > 0) || (this.move["dec"] > 0)) { + setCurrentSpeed.call(this, 0); // stop in point + remainDt = 0; + } else { + remainDt = (-this.remainDistance) / this.currentSpeed; + } + return remainDt; + }; + var speedReset = function (max, acc, dec) { + if (max != null) + this.move["max"] = max; + if (acc != null) + this.move["acc"] = acc; + if (dec != null) + this.move["dec"] = dec; + }; + var CmdWaitKlass = function (continuedMode) { + this.Init(continuedMode); + }; + var CmdWaitKlassProto = CmdWaitKlass.prototype; + CmdWaitKlassProto.Init = function (continuedMode) { + this.isDone = true; + this.continuedMode = continuedMode; + }; + CmdWaitKlassProto.CmdInit = function (positionData, distance) { + this.remainDistance = distance; + this.isDone = false; + this.target = positionData; + }; + CmdWaitKlassProto.Tick = function (dt) { + this.remainDistance -= dt; + var remainDt; + if (this.remainDistance <= 0) { + remainDt = (this.continuedMode) ? (-this.remainDistance) : 0; + this.isDone = true; + } else { + remainDt = 0; + } + return remainDt; + }; + CmdWaitKlassProto.saveToJSON = function () { + return { + "id": this.isDone, + "rd": this.remainDistance, + }; + }; + CmdWaitKlassProto.loadFromJSON = function (o) { + this.isDone = o["id"]; + this.remainDistance = o["rd"]; + }; +}()); +; +; +cr.behaviors.Rex_pushOutSolid = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.Rex_pushOutSolid.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + this.obstacleTypes = []; // object types to check for as obstructions + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; + this.runtime = type.runtime; + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.enabled = (this.properties[0] === 1); + this.obstacleMode = this.properties[1]; // 0 = solids, 1 = custom + this.maxDist = 100; + }; + behinstProto.onDestroy = function() + { + }; + behinstProto.tick = function () + { + if (!this.enabled) + return; + this.pushOutNearest( this.getCandidates() , this.maxDist); + }; + var __candidates = []; + behinstProto.getCandidates = function () + { + __candidates.length = 0; + if (this.obstacleMode === 0) // use solids + { + var solid = this.runtime.getSolidBehavior(); + if (solid) + cr.appendArray(__candidates, solid.my_instances.valuesRef()); + } + else + { + var types = this.type.obstacleTypes; + var i, cnt=types.length; + for (i=0; i 1) + this.inst.opacity = 1; + break; + case 8: // forwards/backwards + if (this.inst.x !== this.lastKnownValue) + this.initialValue += this.inst.x - this.lastKnownValue; + if (this.inst.y !== this.lastKnownValue2) + this.initialValue2 += this.inst.y - this.lastKnownValue2; + this.inst.x = this.initialValue + Math.cos(this.inst.angle) * this.waveFunc(this.i) * this.mag; + this.inst.y = this.initialValue2 + Math.sin(this.inst.angle) * this.waveFunc(this.i) * this.mag; + this.lastKnownValue = this.inst.x; + this.lastKnownValue2 = this.inst.y; + break; + } + this.inst.set_bbox_changed(); + }; + behinstProto.onSpriteFrameChanged = function (prev_frame, next_frame) + { + switch (this.movement) { + case 2: // size + this.initialValue *= (next_frame.width / prev_frame.width); + this.ratio = next_frame.height / next_frame.width; + break; + case 3: // width + this.initialValue *= (next_frame.width / prev_frame.width); + break; + case 4: // height + this.initialValue *= (next_frame.height / prev_frame.height); + break; + } + }; + function Cnds() {}; + Cnds.prototype.IsActive = function () + { + return this.active; + }; + Cnds.prototype.CompareMovement = function (m) + { + return this.movement === m; + }; + Cnds.prototype.ComparePeriod = function (cmp, v) + { + return cr.do_cmp(this.period, cmp, v); + }; + Cnds.prototype.CompareMagnitude = function (cmp, v) + { + if (this.movement === 5) + return cr.do_cmp(this.mag, cmp, cr.to_radians(v)); + else + return cr.do_cmp(this.mag, cmp, v); + }; + Cnds.prototype.CompareWave = function (w) + { + return this.wave === w; + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetActive = function (a) + { + this.active = (a === 1); + }; + Acts.prototype.SetPeriod = function (x) + { + this.period = x; + }; + Acts.prototype.SetMagnitude = function (x) + { + this.mag = x; + if (this.movement === 5) // angle + this.mag = cr.to_radians(this.mag); + }; + Acts.prototype.SetMovement = function (m) + { + if (this.movement === 5 && m !== 5) + this.mag = cr.to_degrees(this.mag); + this.movement = m; + this.init(); + }; + Acts.prototype.SetWave = function (w) + { + this.wave = w; + }; + Acts.prototype.SetPhase = function (x) + { + this.i = (x * _2pi) % _2pi; + this.updateFromPhase(); + }; + Acts.prototype.UpdateInitialState = function () + { + this.init(); + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.CyclePosition = function (ret) + { + ret.set_float(this.i / _2pi); + }; + Exps.prototype.Period = function (ret) + { + ret.set_float(this.period); + }; + Exps.prototype.Magnitude = function (ret) + { + if (this.movement === 5) // angle + ret.set_float(cr.to_degrees(this.mag)); + else + ret.set_float(this.mag); + }; + Exps.prototype.Value = function (ret) + { + ret.set_float(this.waveFunc(this.i) * this.mag); + }; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.SkymenPin = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.SkymenPin.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.pinObject = null; + this.pinObjectUid = -1; // for loading + this.pinAngle = 0; + this.pinDist = 0; + this.myStartAngle = 0; + this.theirStartAngle = 0; + this.lastKnownAngle = 0; + this.mode = 0; // 0 = position & angle; 1 = position; 2 = angle; 3 = rope; 4 = bar + this.runOnTick = this.properties[0] == 0; + var self = this; + if (!this.recycled) + { + this.myDestroyCallback = (function(inst) { + self.onInstanceDestroyed(inst); + }); + } + this.runtime.addDestroyCallback(this.myDestroyCallback); + }; + behinstProto.saveToJSON = function () + { + return { + "uid": this.pinObject ? this.pinObject.uid : -1, + "pa": this.pinAngle, + "pd": this.pinDist, + "msa": this.myStartAngle, + "tsa": this.theirStartAngle, + "lka": this.lastKnownAngle, + "m": this.mode + }; + }; + behinstProto.loadFromJSON = function (o) + { + this.pinObjectUid = o["uid"]; // wait until afterLoad to look up + this.pinAngle = o["pa"]; + this.pinDist = o["pd"]; + this.myStartAngle = o["msa"]; + this.theirStartAngle = o["tsa"]; + this.lastKnownAngle = o["lka"]; + this.mode = o["m"]; + }; + behinstProto.afterLoad = function () + { + if (this.pinObjectUid === -1) + this.pinObject = null; + else + { + this.pinObject = this.runtime.getObjectByUID(this.pinObjectUid); +; + } + this.pinObjectUid = -1; + }; + behinstProto.onInstanceDestroyed = function (inst) + { + if (this.pinObject == inst) + this.pinObject = null; + }; + behinstProto.onDestroy = function() + { + this.pinObject = null; + this.runtime.removeDestroyCallback(this.myDestroyCallback); + }; + behinstProto.tick = function () + { + if (!this.pinObject || !this.runOnTick) + return; + if (this.lastKnownAngle !== this.inst.angle) + this.myStartAngle = cr.clamp_angle(this.myStartAngle + (this.inst.angle - this.lastKnownAngle)); + var newx = this.inst.x; + var newy = this.inst.y; + if (this.mode === 3 || this.mode === 4) // rope mode or bar mode + { + var dist = cr.distanceTo(this.inst.x, this.inst.y, this.pinObject.x, this.pinObject.y); + if ((dist > this.pinDist) || (this.mode === 4 && dist < this.pinDist)) { + var a = cr.angleTo(this.pinObject.x, this.pinObject.y, this.inst.x, this.inst.y); + newx = this.pinObject.x + Math.cos(a) * this.pinDist; + newy = this.pinObject.y + Math.sin(a) * this.pinDist; + } + } else { + newx = this.pinObject.x + Math.cos(this.pinObject.angle + this.pinAngle) * this.pinDist; + newy = this.pinObject.y + Math.sin(this.pinObject.angle + this.pinAngle) * this.pinDist; + } + var newangle = cr.clamp_angle(this.myStartAngle + (this.pinObject.angle - this.theirStartAngle)); + this.lastKnownAngle = newangle; + if ((this.mode === 0 || this.mode === 1 || this.mode === 3 || this.mode === 4) && + (this.inst.x !== newx || this.inst.y !== newy)) { + this.inst.x = newx; + this.inst.y = newy; + this.inst.set_bbox_changed(); + } + if ((this.mode === 0 || this.mode === 2) && (this.inst.angle !== newangle)) { + this.inst.angle = newangle; + this.inst.set_bbox_changed(); + } + }; + behinstProto.tick2 = function () + { + if (!this.pinObject || this.runOnTick) + return; + if (this.lastKnownAngle !== this.inst.angle) + this.myStartAngle = cr.clamp_angle(this.myStartAngle + (this.inst.angle - this.lastKnownAngle)); + var newx = this.inst.x; + var newy = this.inst.y; + if (this.mode === 3 || this.mode === 4) // rope mode or bar mode + { + var dist = cr.distanceTo(this.inst.x, this.inst.y, this.pinObject.x, this.pinObject.y); + if ((dist > this.pinDist) || (this.mode === 4 && dist < this.pinDist)) + { + var a = cr.angleTo(this.pinObject.x, this.pinObject.y, this.inst.x, this.inst.y); + newx = this.pinObject.x + Math.cos(a) * this.pinDist; + newy = this.pinObject.y + Math.sin(a) * this.pinDist; + } + } + else + { + newx = this.pinObject.x + Math.cos(this.pinObject.angle + this.pinAngle) * this.pinDist; + newy = this.pinObject.y + Math.sin(this.pinObject.angle + this.pinAngle) * this.pinDist; + } + var newangle = cr.clamp_angle(this.myStartAngle + (this.pinObject.angle - this.theirStartAngle)); + this.lastKnownAngle = newangle; + if ((this.mode === 0 || this.mode === 1 || this.mode === 3 || this.mode === 4) + && (this.inst.x !== newx || this.inst.y !== newy)) + { + this.inst.x = newx; + this.inst.y = newy; + this.inst.set_bbox_changed(); + } + if ((this.mode === 0 || this.mode === 2) && (this.inst.angle !== newangle)) + { + this.inst.angle = newangle; + this.inst.set_bbox_changed(); + } + }; + function Cnds() {}; + Cnds.prototype.IsPinned = function () + { + return !!this.pinObject; + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.Pin = function (obj, mode_) + { + if (!obj) + return; + var otherinst = obj.getFirstPicked(this.inst); + if (!otherinst) + return; + this.pinObject = otherinst; + this.pinAngle = cr.angleTo(otherinst.x, otherinst.y, this.inst.x, this.inst.y) - otherinst.angle; + this.pinDist = cr.distanceTo(otherinst.x, otherinst.y, this.inst.x, this.inst.y); + this.myStartAngle = this.inst.angle; + this.lastKnownAngle = this.inst.angle; + this.theirStartAngle = otherinst.angle; + this.mode = mode_; + }; + Acts.prototype.Unpin = function () + { + this.pinObject = null; + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.PinnedUID = function (ret) + { + ret.set_int(this.pinObject ? this.pinObject.uid : -1); + }; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.SkymenPolarCoordinates = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.SkymenPolarCoordinates.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.Enabled = this.properties[4] == 0; + this.Radius = this.properties[2]; + this.Angle = this.properties[3]; + this.OriginX = this.properties[0]; + this.OriginY = this.properties[1]; + this.ud = false + if(this.Enabled){ + this.update(); + } + }; + behinstProto.onDestroy = function () + { + }; + behinstProto.saveToJSON = function () + { + return { + "DX": this.Radius, + "DY": this.Angle, + "OX": this.OriginX, + "OY": this.OriginY, + "Enabled": this.Enabled + }; + }; + behinstProto.loadFromJSON = function (o) + { + this.Radius = o["DX"]; + this.Angle = o["DY"]; + this.OriginX = o["OX"]; + this.OriginY = o["OY"]; + this.Enabled = o["Enabled"] + this.update(); + }; + behinstProto.update = function(mode = 1) { + if(mode === 0){ + this.Radius = this.inst.x; + this.Angle = this.inst.y; + } + this.ud = true; + } + behinstProto.tick = function () + { + if(this.Angle > 359){ + this.Angle = this.Angle%360 + } + if(this.ud){ + this.inst.x = this.OriginX + Math.cos(this.Angle * Math.PI / 180) * this.Radius; + this.inst.y = this.OriginY + Math.sin(this.Angle * Math.PI / 180) * this.Radius; + this.inst.set_bbox_changed(); + this.ud = false; + } + }; + behinstProto.tick2 = function () + { + }; + function Cnds() {}; + Cnds.prototype.IsEnabled = function () + { + return this.Enabled; + }; + Cnds.prototype.CompareRadius = function (cmp, v) + { + return cr.do_cmp(this.Radius, cmp, v); + }; + Cnds.prototype.CompareAngle = function (cmp, v) + { + return cr.do_cmp(this.Angle, cmp, v); + }; + Cnds.prototype.CompareOriginX = function (cmp, v) + { + return cr.do_cmp(this.OriginX, cmp, v); + }; + Cnds.prototype.CompareOriginY = function (cmp, v) + { + return cr.do_cmp(this.OriginY, cmp, v); + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetEnabled = function (value) + { + if(value === 0){ + this.Enabled = true; + this.update(); + } + else + this.Enabled = false; + }; + Acts.prototype.SetRadius = function (value) + { + var en = this.Enabled; + if(en){ + this.Radius = value; + this.update(); + } + }; + Acts.prototype.SetAngle = function (value) + { + var en = this.Enabled; + if(en){ + this.Angle = value; + this.update(); + } + }; + Acts.prototype.SetDeltaPos = function (v1,v2) + { + var en = this.Enabled; + if(en){ + this.Radius = v1; + this.Angle = v2; + this.update(); + } + }; + Acts.prototype.SetOriginX = function (value) + { + var en = this.Enabled; + if(en){ + this.OriginX = value; + this.update(); + } + }; + Acts.prototype.SetOriginY = function (value) + { + var en = this.Enabled; + if(en){ + this.OriginY = value; + this.update(); + } + }; + Acts.prototype.SetOriginPos = function (v1,v2) + { + var en = this.Enabled; + if(en){ + this.OriginX = v1; + this.OriginY = v2; + this.update(); + } + }; + Acts.prototype.Update = function (mode) + { + this.update(mode); + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.Radius = function (ret) // 'ret' must always be the first parameter - always return the expression's result through it! + { + ret.set_float(this.Radius); + }; + Exps.prototype.Angle = function (ret) // 'ret' must always be the first parameter - always return the expression's result through it! + { + ret.set_float(this.Angle); + }; + Exps.prototype.DeltaX = function (ret) // 'ret' must always be the first parameter - always return the expression's result through it! + { + ret.set_float(this.Radius); + }; + Exps.prototype.DeltaY = function (ret) // 'ret' must always be the first parameter - always return the expression's result through it! + { + ret.set_float(this.Angle); + }; + Exps.prototype.OriginX = function (ret) // 'ret' must always be the first parameter - always return the expression's result through it! + { + ret.set_float(this.OriginX); + }; + Exps.prototype.OriginY = function (ret) // 'ret' must always be the first parameter - always return the expression's result through it! + { + ret.set_float(this.OriginY); + }; + Exps.prototype.CarToPolRad = function (ret,X,Y,OX,OY) // 'ret' must always be the first parameter - always return the expression's result through it! + { + X = X - OX; + Y = Y - OY; + var Dist = Math.sqrt(Math.pow(X,2) + Math.pow(Y,2)); + ret.set_float(Dist); + }; + Exps.prototype.CarToPolAngle = function (ret,X,Y,OX,OY) // 'ret' must always be the first parameter - always return the expression's result through it! + { + X = X - OX; + Y = Y - OY; + var Angle = Math.atan2(Y,X)*180/Math.PI; + ret.set_float(Angle); + }; + Exps.prototype.PolToCarX = function (ret,Dist,Angle,OX) // 'ret' must always be the first parameter - always return the expression's result through it! + { + var X = OX + Math.cos(Angle * Math.PI / 180) * Dist; + var X = Math.floor(X * 1000)/1000; + ret.set_float(X); + }; + Exps.prototype.PolToCarY = function (ret,Dist,Angle,OY) // 'ret' must always be the first parameter - always return the expression's result through it! + { + var Y = OY + Math.sin(Angle * Math.PI / 180) * Dist; + var Y = Math.floor(Y * 1000)/1000; + ret.set_float(Y); + }; + Exps.prototype.Status = function (ret) // 'ret' must always be the first parameter - always return the expression's result through it! + { + if(this.Enabled) + ret.set_string("Enabled"); + else + ret.set_string("Disabled"); + }; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.SkymenSkin = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.SkymenSkin.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.skinBaseTag = this.properties[0]; + if(cr.SkymenSkinCore == undefined){ + alert("Skin base plugin needed, please create it."); + } + else if(cr.SkymenSkinCore[this.skinBaseTag] == undefined){ + alert("Skin base with tag " + this.skinBaseTag + " cannot be found."); + } + else{ + this.skinBase = cr.SkymenSkinCore[this.skinBaseTag]; + this.skinBase.addInstance(this); + } + this.skinTag = this.properties[1]; + this.subSkinTag = this.properties[2]; + this.oldSkinTag = this.properties[1]; + this.oldSubSkinTag = this.properties[2]; + this.syncWithAnim = this.properties[3] === 0 ||this.properties[3] === 2; + this.syncWithFrame = this.properties[3] === 1 ||this.properties[3] === 2; + this.default = this.properties[4] === 0; //0 = Yes, 1 = No + this.hideDefault = this.properties[5] === 0; //0 = Yes, 1 = No + this.imagePoint = this.properties[6]; + this.syncZOrder = this.properties[7] === 0; //0 = Yes, 1 = No + this.syncSize = this.properties[8] === 1; + this.syncScale = this.properties[8] === 2; + this.firstFrame = true; + this.widthRatio = 1; + this.heightRatio = 1; + this.lastLayout = this.runtime.running_layout + this.object = null; + if(!this.inst.behaviorSkins){ + this.inst.behaviorSkins = []; + } + var found = false + for (let index = 0; index < this.inst.behaviorSkins.length; index++) { + const behavior = this.inst.behaviorSkins[index]; + if (this === behavior) { + found = true + this.behaviorId = index + } + } + if (!found){ + this.behaviorId = this.inst.behaviorSkins.length; + this.inst.behaviorSkins.push(this); + } + if(this.skinBase.init){ + this.updateSkin(); + } + }; + behinstProto.onDestroy = function () { + this.destroy(); + }; + behinstProto.saveToJSON = function () { + return { + "skinTag": this.skinTag, + "subSkinTag": this.subSkinTag, + "oldSkinTag": this.oldSkinTag, + "oldSubSkinTag": this.oldSubSkinTag, + "syncWithAnim": this.syncWithAnim, + "syncWithFrame": this.syncWithFrame, + "default": this.default, + "hideDefault": this.hideDefault, + "imagePoint": this.imagePoint, + "syncZOrder": this.syncZOrder, + "syncSize": this.syncSize, + "syncScale": this.syncScale, + "firstFrame": this.firstFrame, + "skinBaseTag": this.skinBaseTag, + "behaviorId": this.behaviorId + }; + }; + behinstProto.loadFromJSON = function (o) { + this.skinTag = o["skinTag"]; + this.subSkinTag = o["subSkinTag"]; + this.oldSkinTag = o["oldSkinTag"]; + this.oldSubSkinTag = o["oldSubSkinTag"]; + this.syncWithAnim = o["syncWithAnim"]; + this.syncWithFrame = o["syncWithFrame"]; + this.default = o["default"]; + this.hideDefault = o["hideDefault"]; + this.imagePoint = o["imagePoint"]; + this.syncZOrder = o["syncZOrder"]; + this.firstFrame = o["firstFrame"]; + this.skinBaseTag = o["skinBaseTag"]; + this.behaviorId = o["behaviorId"]; + this.syncSize = o["syncSize"]; + this.syncScale = o["syncScale"]; + /* if (o["object"] === "null"){ + this.object = null + } + else{ + } */ + }; + behinstProto.tick = function () + { + if(this.firstFrame){ + if(this.syncWithAnim){ + this.subSkinTag = this.inst.cur_animation.name; + this.oldsubSkinTag = this.inst.cur_animation.name; + } + this.firstFrame = false; + } + /* if (this.object != null && this.lastLayout !== this.runtime.running_layout) { + this.lastLayout = this.runtime.running_layout + this.runtime.DestroyInstance(this.object) + this.object = this.inst.runtime.createInstance(this.object.type, this.inst.layer) + this.updateSkin() + } + if (this.lastLayout !== this.runtime.running_layout) { + this.lastLayout = this.runtime.running_layout + } */ + } + behinstProto.tick2 = function () + { + if(this.object == null) return; + var newx = this.inst.getImagePoint(this.imagePoint, true); + var newy = this.inst.getImagePoint(this.imagePoint, false); + var angle = this.inst.angle; + var anim = this.inst.cur_animation.name; + if (this.syncSize || this.syncScale) { + if (this.object.width != this.inst.width * this.widthRatio) { + this.object.width = this.inst.width * this.widthRatio + } + if (this.object.height != this.inst.height * this.heightRatio) { + this.object.height = this.inst.height * this.heightRatio + } + } else { + var mirrorred = (this.inst.width < 0); + var selfMirrorred = (this.object.width < 0); + var flipped = (this.inst.height < 0); + var selfFlipped = (this.object.height < 0); + if(mirrorred != selfMirrorred){ + this.object.width = cr.abs(this.object.width) * (mirrorred ? -1 : 1); + } + if(flipped != selfFlipped){ + this.object.height = cr.abs(this.object.height) * (flipped? -1 : 1); + } + } + var other = this.inst; + if (this.behaviorId != 0) { + var i = this.behaviorId - 1; + while (i >= 0 && this.inst.behaviorSkins[i].object == null) { + i--; + } + if (i >= 0) { + other = this.inst.behaviorSkins[i].object; + } + } + if (this.syncZOrder && this.object.get_zindex() !== other.get_zindex() + 1) { + this.setZorder(); + } + if(this.object.x != newx){ + this.object.x = newx; + } + if(this.object.y != newy){ + this.object.y = newy; + } + if(this.object.angle != angle){ + this.object.angle = angle; + } + this.object.set_bbox_changed(); + if(this.syncWithAnim && this.subSkinTag != anim){ + this.subSkinTag = anim; + } + if(this.syncWithFrame && this.inst.cur_frame != this.object.cur_frame){ + cr.plugins_.Sprite.prototype.acts.SetAnimFrame.call(this.object, this.inst.cur_frame); + } + if(this.skinTag != this.oldSkinTag || this.subSkinTag != this.oldSubSkinTag){ + this.oldSkinTag = this.skinTag; + this.oldSubSkinTag = this.subSkinTag; + this.updateSkin(); + } + }; + behinstProto.updateSkin = function() + { + if(this.default){ + if(this.object != null){ + this.destroy(); + } + if(this.hideDefault && !this.inst.visible){ + this.inst.visible = true; + this.runtime.redraw = true; + } + return; + } + else{ + if(this.hideDefault && this.inst.visible){ + this.inst.visible = false; + this.runtime.redraw = true; + } + } + if(this.object == null){ + if(this.inst && this.inst.cur_animation){ + var anim = this.inst.cur_animation.name; + if (this.syncWithAnim && this.subSkinTag != anim) { + this.subSkinTag = anim; + } + } + var type = this.getType(this.skinTag, this.subSkinTag); + if(type == null){ + console.warn("Cannot assign subskin " + this.subSkinTag + " of skin " + this.skinTag + " because it doesn't exist. Reverting back to default."); + this.default = true; + this.updateSkin(); + return + } + if(this.syncWithAnim){ + this.subSkinTag = this.inst.cur_animation.name; + } + this.object = this.inst.runtime.createInstance(type, this.inst.layer) + var anim = this.getAnim(this.skinTag, this.subSkinTag); + cr.plugins_.Sprite.prototype.acts.SetAnim.call(this.object, anim, 0); + if(this.syncWithFrame){ + cr.plugins_.Sprite.prototype.acts.SetAnimSpeed.call(this.object, 0); + } + this.setZorder(); + cr.plugins_.Sprite.prototype.acts.SetCollisions.call(this.object, 0); + if (this.syncScale) { + let defaultAnim = this.object.type.animations.find(x => x.name === this.object.type.default_instance[5][4]) + defaultAnim = defaultAnim || this.object.type.animations[0]; + this.widthRatio = this.inst.width / Math.abs(this.inst.width) //Sign in case object is mirrorred + * this.object.type.default_instance[0][3] / defaultAnim.frames[0].width //Ratio of image size to default size + * this.object.cur_animation.frames[0].width / this.inst.width; //Ratio of frame size to object size + this.heightRatio = this.inst.height / Math.abs(this.inst.height) + * this.object.type.default_instance[0][4] / defaultAnim.frames[0].height + * this.object.cur_animation.frames[0].height / this.inst.height; + } else if (this.syncSize) { + this.widthRatio = 1; + this.heightRatio = 1; + this.object.width = this.inst.width; + this.object.height = this.inst.height; + } + } + else{ + if(this.object.type == this.getType(this.skinTag, this.subSkinTag)){ + if(this.syncWithAnim){ + this.subSkinTag = this.inst.cur_animation.name; + } + anim = this.getAnim(this.skinTag, this.subSkinTag); + cr.plugins_.Sprite.prototype.acts.SetAnim.call(this.object, anim, 0); + if(this.syncWithFrame){ + cr.plugins_.Sprite.prototype.acts.SetAnimSpeed.call(this.object, 0); + } + if(this.syncZOrder) this.setZorder(); + cr.plugins_.Sprite.prototype.acts.SetCollisions.call(this.object, 0); + } + else{ + this.destroy(); + this.updateSkin(); + return + } + } + }; + behinstProto.destroy = function () { + if(this.object === null)return; + if(this.object.behaviorSkins){ + for (var i = 0; i < this.object.behaviorSkins.length; i++) { + this.object.behaviorSkins[i].destroy(); + } + } + this.runtime.DestroyInstance(this.object); + this.object = null; + } + behinstProto.setZorder = function () { + var other = this.inst; + if(this.behaviorId != 0){ + var i = this.behaviorId-1; + while(i >= 0 && this.inst.behaviorSkins[i].object == null){ + i--; + } + if(i >= 0){ + other = this.inst.behaviorSkins[i].object; + } + } + if (this.object.layer.index !== other.layer.index) + { + this.object.layer.removeFromInstanceList(this.object, true); + this.object.layer = other.layer; + other.layer.appendToInstanceList(this.object, true); + } + this.object.layer.moveInstanceAdjacent(this.object, other, true); + this.runtime.redraw = true; + } + behinstProto.getType = function (skin, subSkin) + { + if(this.skinBase.skins[skin] == undefined || this.skinBase.skins[skin][subSkin] == undefined){ + return null; + } + return this.skinBase.skins[skin][subSkin].type; + } + behinstProto.getAnim = function (skin, subSkin) + { + if(this.skinBase.skins[skin] == undefined || this.skinBase.skins[skin][subSkin] == undefined){ + return null; + } + return this.skinBase.skins[skin][subSkin].anim; + } + function Cnds() {}; + Cnds.prototype.IsDefault = function () + { + return this.default; + }; + Cnds.prototype.IsSkin = function (skin) + { + return this.skinTag == skin; + }; + Cnds.prototype.IsSubSkin = function (subSkin) + { + return this.subSkinTag == subSkin; + }; + Cnds.prototype.IsDefaultHidden = function () + { + return this.hideDefault; + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetSkin = function (skin) + { + if(this.default){ + this.default = false; + } + this.skinTag = skin; + this.updateSkin(); + }; + Acts.prototype.SetSubSkin = function (subSkin) + { + this.subSkinTag = subSkin; + this.updateSkin(); + }; + Acts.prototype.Setup = function (skin, subSkin) + { + this.default = false; + this.skinTag = skin; + this.subSkinTag = subSkin; + this.updateSkin(); + }; + Acts.prototype.UseDefault = function () + { + this.default = true; + this.updateSkin(); + }; + Acts.prototype.HideDefault = function (hide) + { + this.hideDefault = hide === 1; //0 = No, 1 = Yes + this.updateSkin(); + }; + Acts.prototype.SetImagePoint = function (ip) + { + this.imagePoint = ip; + }; + Acts.prototype.SyncMode = function (mode) { + this.syncWithAnim = mode === 0 || mode === 2; + this.syncWithFrame = mode === 1 || mode === 2; + if (this.syncWithAnim) { + this.subSkinTag = this.inst.cur_animation.name; + } + }; + Acts.prototype.SyncZOrder = function (mode) { + this.syncZOrder = mode === 0; + }; + Acts.prototype.UpdateZOrder = function () { + if(this.object){ + this.setZorder(); + } + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.Skin = function (ret) + { + ret.set_string(this.skinTag); + }; + Exps.prototype.SubSkin = function (ret) + { + ret.set_string(this.subSkinTag); + }; + Exps.prototype.SkinBaseTag = function (ret) + { + ret.set_string(this.skinBaseTag); + }; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.Timer = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.Timer.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.timers = {}; + }; + behinstProto.onDestroy = function () + { + cr.wipe(this.timers); + }; + behinstProto.saveToJSON = function () + { + var o = {}; + var p, t; + for (p in this.timers) + { + if (this.timers.hasOwnProperty(p)) + { + t = this.timers[p]; + o[p] = { + "c": t.current.sum, + "t": t.total.sum, + "d": t.duration, + "r": t.regular + }; + } + } + return o; + }; + behinstProto.loadFromJSON = function (o) + { + this.timers = {}; + var p; + for (p in o) + { + if (o.hasOwnProperty(p)) + { + this.timers[p] = { + current: new cr.KahanAdder(), + total: new cr.KahanAdder(), + duration: o[p]["d"], + regular: o[p]["r"] + }; + this.timers[p].current.sum = o[p]["c"]; + this.timers[p].total.sum = o[p]["t"]; + } + } + }; + behinstProto.tick = function () + { + var dt = this.runtime.getDt(this.inst); + var p, t; + for (p in this.timers) + { + if (this.timers.hasOwnProperty(p)) + { + t = this.timers[p]; + t.current.add(dt); + t.total.add(dt); + } + } + }; + behinstProto.tick2 = function () + { + var p, t; + for (p in this.timers) + { + if (this.timers.hasOwnProperty(p)) + { + t = this.timers[p]; + if (t.current.sum >= t.duration) + { + if (t.regular) + t.current.sum -= t.duration; + else + delete this.timers[p]; + } + } + } + }; + function Cnds() {}; + Cnds.prototype.OnTimer = function (tag_) + { + tag_ = tag_.toLowerCase(); + var t = this.timers[tag_]; + if (!t) + return false; + return t.current.sum >= t.duration; + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.StartTimer = function (duration_, type_, tag_) + { + this.timers[tag_.toLowerCase()] = { + current: new cr.KahanAdder(), + total: new cr.KahanAdder(), + duration: duration_, + regular: (type_ === 1) + }; + }; + Acts.prototype.StopTimer = function (tag_) + { + tag_ = tag_.toLowerCase(); + if (this.timers.hasOwnProperty(tag_)) + delete this.timers[tag_]; + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.CurrentTime = function (ret, tag_) + { + var t = this.timers[tag_.toLowerCase()]; + ret.set_float(t ? t.current.sum : 0); + }; + Exps.prototype.TotalTime = function (ret, tag_) + { + var t = this.timers[tag_.toLowerCase()]; + ret.set_float(t ? t.total.sum : 0); + }; + Exps.prototype.Duration = function (ret, tag_) + { + var t = this.timers[tag_.toLowerCase()]; + ret.set_float(t ? t.duration : 0); + }; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.Turret = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.Turret.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + this.targetTypes = []; // object types to check for as targets + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.range = this.properties[0]; + this.rateOfFire = this.properties[1]; + this.rotateEnabled = (this.properties[2] !== 0); + this.rotateSpeed = cr.to_radians(this.properties[3]); + this.targetMode = this.properties[4]; // 0 = first, 1 = nearest + this.predictiveAim = (this.properties[5] !== 0); + this.projectileSpeed = this.properties[6]; + this.enabled = (this.properties[7] !== 0); + this.useCollisionCells = (this.properties[8] !== 0); + this.lastCheckTime = 0; // last time checked for targets in range + this.fireTimeCount = this.rateOfFire; // counts up to rate of fire before shooting. starts in fully reloaded state + this.currentTarget = null; // current target object + this.loadTargetUid = -1; + this.oldTargetX = 0; + this.oldTargetY = 0; + this.lastSpeeds = [0, 0, 0, 0]; + this.speedsCount = 0; + this.firstTickWithTarget = true; + var self = this; + if (!this.recycled) + { + this.myDestroyCallback = function(inst) { + self.onInstanceDestroyed(inst); + }; + } + this.runtime.addDestroyCallback(this.myDestroyCallback); + }; + behinstProto.saveToJSON = function () + { + var o = { + "r": this.range, + "rof": this.rateOfFire, + "re": this.rotateEnabled, + "rs": this.rotateSpeed, + "tm": this.targetMode, + "pa": this.predictiveAim, + "ps": this.projectileSpeed, + "en": this.enabled, + "lct": this.lastCheckTime, + "ftc": this.fireTimeCount, + "target": (this.currentTarget ? this.currentTarget.uid : -1), + "ox": this.oldTargetX, + "oy": this.oldTargetY, + "ls": this.lastSpeeds, + "sc": this.speedsCount, + "targs": [] + }; + var i, len; + for (i = 0, len = this.type.targetTypes.length; i < len; i++) + { + o["targs"].push(this.type.targetTypes[i].sid); + } + return o; + }; + behinstProto.loadFromJSON = function (o) + { + this.range = o["r"]; + this.rateOfFire = o["rof"]; + this.rotateEnabled = o["re"]; + this.rotateSpeed = o["rs"]; + this.targetMode = o["tm"]; + this.predictiveAim = o["pa"]; + this.projectileSpeed = o["ps"]; + this.enabled = o["en"]; + this.lastCheckTime = o["lct"]; + this.fireTimeCount = o["ftc"] || 0; // not in = this.lastCheckTime + 0.1) + { + this.lastCheckTime = nowtime; + if (this.targetMode === 0 && !this.currentTarget) + { + this.lookForFirstTarget(); + if (this.currentTarget) + { + this.speedsCount = 0; + this.firstTickWithTarget = true; + this.oldTargetX = this.currentTarget.x; + this.oldTargetY = this.currentTarget.y; + this.runtime.trigger(cr.behaviors.Turret.prototype.cnds.OnTargetAcquired, this.inst); + } + } + else if (this.targetMode === 1) + { + var oldTarget = this.currentTarget; + this.lookForNearestTarget(); + if (this.currentTarget && this.currentTarget !== oldTarget) + { + this.speedsCount = 0; + this.firstTickWithTarget = true; + this.oldTargetX = this.currentTarget.x; + this.oldTargetY = this.currentTarget.y; + this.runtime.trigger(cr.behaviors.Turret.prototype.cnds.OnTargetAcquired, this.inst); + } + } + } + this.fireTimeCount += dt; + if (this.currentTarget) + { + var targetAngle = cr.angleTo(inst.x, inst.y, this.currentTarget.x, this.currentTarget.y); + if (this.predictiveAim) + { + var Gx = inst.x; + var Gy = inst.y; + var Px = this.currentTarget.x; + var Py = this.currentTarget.y; + var h = cr.angleTo(Px, Py, this.oldTargetX, this.oldTargetY); + if (!this.firstTickWithTarget) + this.addSpeed(cr.distanceTo(Px, Py, this.oldTargetX, this.oldTargetY) / dt); + var s = this.getSpeed(); + var q = Py - Gy; + var r = Px - Gx; + var w = (s * Math.sin(h) * (Gx - Px) - s * Math.cos(h) * (Gy - Py)) / this.projectileSpeed; + var a = (Math.asin(w / Math.sqrt(q * q + r * r)) - Math.atan2(q, -r)) + Math.PI; + if (!isNaN(a)) + targetAngle = a; + } + if (this.rotateEnabled) + { + inst.angle = cr.angleRotate(inst.angle, targetAngle, this.rotateSpeed * dt); + inst.set_bbox_changed(); + } + if ((this.fireTimeCount >= this.rateOfFire) && + (!this.rotateEnabled || cr.to_degrees(cr.angleDiff(inst.angle, targetAngle)) <= 0.1) && + (!this.predictiveAim || this.speedsCount >= 4)) + { + this.fireTimeCount -= this.rateOfFire; + if (this.fireTimeCount >= this.rateOfFire) + this.fireTimeCount = 0; + this.runtime.trigger(cr.behaviors.Turret.prototype.cnds.OnShoot, this.inst); + } + if (this.currentTarget) + { + this.oldTargetX = this.currentTarget.x; + this.oldTargetY = this.currentTarget.y; + } + this.firstTickWithTarget = false; + } + if (this.fireTimeCount > this.rateOfFire) + this.fireTimeCount = this.rateOfFire; + }; + function Cnds() {}; + Cnds.prototype.HasTarget = function () + { + return !!this.currentTarget; + }; + Cnds.prototype.OnShoot = function () + { + return true; + }; + Cnds.prototype.OnTargetAcquired = function () + { + return true; + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.AcquireTarget = function (obj_) + { + if (!obj_) + return; + var instances = obj_.getCurrentSol().getObjects(); + var i, len, inst; + for (i = 0, len = instances.length; i < len; ++i) + { + inst = instances[i]; + if (this.currentTarget !== inst && this.isInRange(inst)) + { + this.currentTarget = inst; + this.speedsCount = 0; + this.firstTickWithTarget = true; + this.oldTargetX = this.currentTarget.x; + this.oldTargetY = this.currentTarget.y; + this.runtime.trigger(cr.behaviors.Turret.prototype.cnds.OnTargetAcquired, this.inst); + break; + } + } + }; + Acts.prototype.AddTarget = function (obj_) + { + var targetTypes = this.type.targetTypes; + if (targetTypes.indexOf(obj_) !== -1) + return; + var i, len, t; + for (i = 0, len = targetTypes.length; i < len; i++) + { + t = targetTypes[i]; + if (t.is_family && t.members.indexOf(obj_) !== -1) + return; + } + targetTypes.push(obj_); + }; + Acts.prototype.ClearTargets = function () + { + cr.clearArray(this.type.targetTypes); + }; + Acts.prototype.UnacquireTarget = function () + { + this.currentTarget = null; + this.speedsCount = 0; + this.firstTickWithTarget = true; + }; + Acts.prototype.SetEnabled = function (e) + { + this.enabled = (e !== 0); + }; + Acts.prototype.SetRange = function (r) + { + this.range = r; + }; + Acts.prototype.SetRateOfFire = function (r) + { + this.rateOfFire = r; + }; + Acts.prototype.SetRotate = function (r) + { + this.rotateEnabled = (r !== 0); + }; + Acts.prototype.SetRotateSpeed = function (r) + { + this.rotateSpeed = cr.to_radians(r); + }; + Acts.prototype.SetTargetMode = function (s) + { + this.targetMode = s; + }; + Acts.prototype.SetPredictiveAim = function (s) + { + this.predictiveAim = (s !== 0); + }; + Acts.prototype.SetProjectileSpeed = function (s) + { + this.projectileSpeed = s; + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.TargetUID = function (ret) + { + ret.set_int(this.currentTarget ? this.currentTarget.uid : 0); + }; + Exps.prototype.Range = function (ret) + { + ret.set_float(this.range); + }; + Exps.prototype.RateOfFire = function (ret) + { + ret.set_float(this.rateOfFire); + }; + Exps.prototype.RotateSpeed = function (ret) + { + ret.set_float(cr.to_degrees(this.rotateSpeed)); + }; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.aekiro_bind = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.aekiro_bind.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; + this.runtime = type.runtime; + if(!cr.proui){ + throw new Error("ProUI Plugin not found. Please add it to the project."); + return; + } + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.proui = cr.proui; + this.isInstanceOfText = cr.plugins_.Text ? (this.inst.type.plugin instanceof cr.plugins_.Text) : false; + this.isInstanceOfSpriteFont = cr.plugins_.Spritefont2 ? (this.inst.type.plugin instanceof cr.plugins_.Spritefont2) : false; + this.isInstanceOfSpriteFontPlus = cr.plugins_.SkymenSFPlusPLus ? (this.inst.type.plugin instanceof cr.plugins_.SkymenSFPlusPLus) : false; + this.isInstanceOfSprite = cr.plugins_.Sprite?(this.inst.type.plugin instanceof cr.plugins_.Sprite):false; + this.isInstanceOfPaster = cr.plugins_.rojoPaster?(this.inst.type.plugin instanceof cr.plugins_.rojoPaster):false; + this.bind_key = this.properties[0]; + this.bind_property = this.properties[1]; + this.firstFrame = true; + this.inst.proui_bind = this; + this.index = -1 ; //index of the item this sub-item belong to + this.deepKey = ""; + this.model = null; + }; + behinstProto.updateGridViewModel = function (value,options){ + if(this.model && this.deepKey){ + console.log(this.deepKey+"***"+value); + cr.plugins_.aekiro_model.prototype.acts.SetValueByKeyString.call(this.model,this.deepKey,value,options); + } + }; + behinstProto.setValue = function (value){ + if(!this.bind_key){ + return; + } + if(this.bind_property==0 && this.inst._proui && this.inst._proui._setValue){//Value + this.inst._proui._setValue(value); + }else if(this.bind_property==1 && (this.isInstanceOfText || this.isInstanceOfSpriteFont || this.isInstanceOfSpriteFontPlus) ){ //Text + this.inst.type.plugin.acts.SetText.call(this.inst,value); + }else if(this.bind_property==2 && this.isInstanceOfSprite){//Frame + var frame = 0; + if (!isNaN(value)){ + frame = parseInt(value); + } + this.inst.type.plugin.acts.SetAnimFrame.apply(this.inst, [frame]); + }else if(this.bind_property==3 && this.isInstanceOfSprite){//Animation + var anim = String(value); + this.inst.type.plugin.acts.SetAnim.apply(this.inst, [anim]); + }else if(this.bind_property==4 && (this.isInstanceOfSprite || this.isInstanceOfPaster) ){//URL + this.inst.type.plugin.acts.LoadImage.call(this.inst,value, 1); + } + }; + behinstProto.tick = function () + { + }; + behinstProto.onDestroy = function () + { + }; + behinstProto.saveToJSON = function () + { + return { + "bind_key" : this.bind_key, + "bind_property" : this.bind_property + } + }; + behinstProto.loadFromJSON = function (o) + { + this.bind_key = o["bind_key"]; + this.bind_property = o["bind_property"]; + }; + function Cnds() {}; + Cnds.prototype.IsIndex = function (index){ + return (index == this.index); + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.index = function (ret) + { + ret.set_int(this.index); + }; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.aekiro_button = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.aekiro_button.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; + this.runtime = type.runtime; + if(!cr.proui){ + throw new Error("ProUI Plugin not found. Please add it to the project."); + } + if(!this.behavior.isHooked){ + cr.proui.HookMe(this.behavior,["touch"]); + this.behavior.isHooked = true; + } + }; + var behinstProto = behaviorProto.Instance.prototype; + var NORMAL = 0, HOVER = 1, CLICKED = 2; + behinstProto.onCreate = function() + { + this.proui = cr.proui; + this.proui.isTypeValid(this.inst,[cr.plugins_.Sprite,cr.plugins_.NinePatch,cr.plugins_.TiledBg],"Pro UI: Button behavior is only applicable to Sprite, 9-patch or tiled backgrounds objects."); + this.isInstanceOfSprite = cr.plugins_.Sprite?(this.inst.type.plugin instanceof cr.plugins_.Sprite):false; + this.isEnabled = this.properties[0]; + this.frame_hover = isNaN(parseInt(this.properties[1]))?-1:parseInt(this.properties[1]); + this.frame_clicked = isNaN(parseInt(this.properties[2]))?-1:parseInt(this.properties[2]); + this.frame_disabled = isNaN(parseInt(this.properties[3]))?-1:parseInt(this.properties[3]); + this.clickSound = this.properties[4]; + this.clickAnimation = this.properties[5]; + this.hoverSound = this.properties[6]; + this.hoverAnimation = this.properties[7]; + this.callbackName = this.properties[8]; + this.callbackParams = this.properties[9]; + this.firstFrame = true; + this.uiType = "button"; + this.inst.uiType = "button"; + this.inst._proui = this; + this.state = NORMAL; + this.onTouchStarted = false; + this.onMouseEnterFlag = false; + this.callbacks = []; + this.onCreateInit(); + }; + behinstProto.onCreateInit = function (){ + this.setClickAnimations(); + this.setHoverAnimations(); + this.useStates = true; + if(this.frame_hover<0 && this.frame_clicked<0 && this.frame_disabled<0){ + this.useStates = false; + } + }; + behinstProto.setClickAnimations = function (){ + this.tween = new TWEEN["Tween"](this.inst); + if(this.clickAnimation == 1){ + this.tween["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ width: this.inst.width*1.2, height:this.inst.height*1.2 }, 200); + }else if(this.clickAnimation == 2){ + this.tween["easing"](TWEEN["Easing"]["Elastic"]["Out"])["to"]({ width: this.inst.width*1.2, height:this.inst.height*1.2 }, 500); + }else if(this.clickAnimation == 3){ + this.tween["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ y:this.inst.y+this.inst.height/10 }, 100); + }else if(this.clickAnimation == 4){ + this.tween["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ y:this.inst.y-this.inst.height/10 }, 100); + }else if(this.clickAnimation == 5){ + this.tween["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ x:this.inst.x-this.inst.width/10 }, 100); + }else if(this.clickAnimation == 6){ + this.tween["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ x:this.inst.x+this.inst.width/10 }, 100); + } + }; + behinstProto.setHoverAnimations = function (){ + this.tween_hover = new TWEEN["Tween"](this.inst); + if(this.hoverAnimation == 1){ + this.tween_hover["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ width: this.inst.width*1.1, height:this.inst.height*1.1 }, 200); + }else if(this.hoverAnimation == 2){ + this.tween_hover["easing"](TWEEN["Easing"]["Elastic"]["Out"])["to"]({ width: this.inst.width*1.1, height:this.inst.height*1.1 }, 500); + }else if(this.hoverAnimation == 3){ + this.tween_hover["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ y:this.inst.y+this.inst.height/10 }, 100); + }else if(this.hoverAnimation == 4){ + this.tween_hover["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ y:this.inst.y-this.inst.height/10 }, 100); + }else if(this.hoverAnimation == 5){//Left + this.tween_hover["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ x:this.inst.x-this.inst.width/13 }, 100); + }else if(this.hoverAnimation == 6){//Right + this.tween_hover["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ x:this.inst.x+this.inst.width/13 }, 100); + } + }; + behinstProto.updateView = function (){ + if(!this.useStates){ + return; + } + if(!this.isInstanceOfSprite){ + return; + } + if(this.isEnabled){ + if(this.state == CLICKED && this.frame_clicked >= 0){ + cr.plugins_.Sprite.prototype.acts.SetAnimFrame.call(this.inst, this.frame_clicked); + } + else if(this.state == HOVER && this.frame_hover >= 0){ + cr.plugins_.Sprite.prototype.acts.SetAnimFrame.call(this.inst, this.frame_hover); + } + else if(this.state == NORMAL && this.frame_normal >= 0){ + cr.plugins_.Sprite.prototype.acts.SetAnimFrame.call(this.inst, this.frame_normal); + } + } + else if(this.frame_disabled >= 0){ + cr.plugins_.Sprite.prototype.acts.SetAnimFrame.call(this.inst, this.frame_disabled); + } + else if(!this.isInsideScrollView){ + cr.plugins_.Sprite.prototype.acts.SetAnimFrame.call(this.inst, this.frame_normal); + } + }; + /*Does not get called if: + - instance is invisible + - instance layer is + - under an opened dialog + cf dispatchTouchStart in proui plugin + */ + behinstProto.OnTouchStart = function () + { + if(!this.isClickable() || !this.isInsideScrollView() || this.onTouchStarted)return; + /*var scrollView = this.proui.scrollViews["l"+this.inst.layer.index]; + if(scrollView && (Math.abs(scrollView.contentDpos.dy)>1 || Math.abs(scrollView.contentDpos.dx)>1 ) ){ + return; + }*/ + var scrollView = this.proui.scrollViews["l"+this.inst.layer.index]; + if(scrollView && Math.sqrt(Math.pow(scrollView.scroll.dx, 2) + Math.pow(scrollView.scroll.dy, 2)) > 5) return; + this.onTouchStarted = true; + if(this.state != CLICKED && this.clickAnimation>0){ + this.tween["start"](); + } + this.state = CLICKED; + this.updateView(); + if(this.clickSound){ + this.proui.playAudio(this.clickSound); + } + }; + behinstProto.OnAnyTouchEnd = function (touchX, touchY) + { + if(this.onTouchStarted){ + this.OnTouchEnd(touchX, touchY); + } + this.onTouchStarted = false; + }; + behinstProto.OnTouchEnd = function (touchX, touchY) + { + this.inst.update_bbox(); + if(this.inst.contains_pt(touchX,touchY)){ + if(this.runtime.isMobile){ + this.state = NORMAL; + }else{ + this.state = HOVER; + } + this.updateView(); + this.proui.runCallback(this.callbackName,this.callbackParams); + for (var i = 0, l= this.callbacks.length; i < l; i++) { + this.callbacks[i](); + } + this.runtime.trigger(cr.behaviors.aekiro_button.prototype.cnds.OnClicked, this.inst); + }else{ + this.state = NORMAL; + this.updateView(); + } + if(this.clickAnimation>0){ + this.tween["reverse"](); + } + }; + behinstProto.isMouseOver = function () + { + if(this.onTouchStarted){ + var scrollView = this.proui.scrollViews["l"+this.inst.layer.index]; + if(scrollView && Math.sqrt(Math.pow(scrollView.scroll.dx, 2) + Math.pow(scrollView.scroll.dy, 2)) > 5) { + this.onTouchStarted = false; + this.state = NORMAL; + this.updateView(); + if(this.clickAnimation>0){ + this.tween["reverse"](); + } + }; + } + var mouse_x = this.proui.CursorX(this.inst.layer.index); + var mouse_y = this.proui.CursorY(this.inst.layer.index); + this.inst.update_bbox(); + return this.inst.contains_pt(mouse_x, mouse_y); + }; + behinstProto.OnMouseEnter = function () + { + if(!this.isClickable())return; + this.state = HOVER; + this.updateView(); + if(this.hoverAnimation>0){ + this.tween_hover["start"](); + } + if(this.hoverSound){ + this.proui.playAudio(this.hoverSound); + } + this.runtime.trigger(cr.behaviors.aekiro_button.prototype.cnds.OnMouseEnter, this.inst); + }; + behinstProto.OnMouseLeave = function () + { + this.state = NORMAL; + this.updateView(); + if(this.hoverAnimation>0){ + this.tween_hover["reverse"](); + } + this.runtime.trigger(cr.behaviors.aekiro_button.prototype.cnds.OnMouseLeave, this.inst); + }; + behinstProto.isInTouch = function () + { + var touch_x = this.proui.X(this.inst.layer.index); + var touch_y = this.proui.Y(this.inst.layer.index); + this.inst.update_bbox(); + return this.inst.contains_pt(touch_x, touch_y); + }; + behinstProto.setEnabled = function (isEnabled) + { + this.isEnabled = isEnabled; + this.updateView(); + } + behinstProto.isInsideScrollView = function(){ + var insideScrollView = true; + var scrollView = this.proui.scrollViews["l"+this.inst.layer.index]; + if(scrollView){ + var touch_x, touch_y; + if(this.runtime.isMobile){ + touch_x = this.proui.X(this.inst.layer.index); + touch_y = this.proui.Y(this.inst.layer.index); + } + else{ + touch_x = this.proui.CursorX(this.inst.layer.index); + touch_y = this.proui.CursorY(this.inst.layer.index); + } + scrollView.inst.update_bbox(); + insideScrollView = scrollView.inst.contains_pt(touch_x, touch_y); + } + return insideScrollView; + }; + behinstProto.isClickable = function() + { + var isVisible = (this.inst.layer.visible && this.inst.visible); + /***************/ + var isUnder = false; + for (var i = 0,l=this.proui.currentDialogs.length; i < l; i++) { + if(this.inst.layer.index10 || Math.abs(this.lastX-this.proui.CursorX(this.inst.layer.index))>10 ) ){ + this.onMouseEnterFlag = true; + this.OnMouseEnter(); + this.lastY = this.proui.CursorY(this.inst.layer.index); + this.lastX = this.proui.CursorX(this.inst.layer.index); + } + }else{ + if(this.onMouseEnterFlag && (!this.isInsideScrollView() || Math.abs(this.lastY-this.proui.CursorY(this.inst.layer.index))>10 || Math.abs(this.lastX-this.proui.CursorX(this.inst.layer.index))>10)) { + this.onMouseEnterFlag = false; + this.OnMouseLeave(); + this.lastY = this.proui.CursorY(this.inst.layer.index); + this.lastX = this.proui.CursorX(this.inst.layer.index); + } + } + } + }; + behinstProto.onDestroy = function () + { + }; + behinstProto.saveToJSON = function () + { + return { + "isEnabled" : this.isEnabled, + "clickSound" : this.clickSound, + "clickAnimation" : this.clickAnimation, + "hoverSound":this.hoverSound, + "hoverAnimation":this.hoverAnimation, + "callbackName" : this.callbackName, + "callbackParams" : this.callbackParams, + "frame_hover" : this.frame_hover, + "frame_clicked" : this.frame_clicked, + "frame_disabled" : this.frame_disabled + }; + }; + behinstProto.loadFromJSON = function (o) + { + this.isEnabled = o["isEnabled"]; + this.clickSound = o["clickSound"]; + this.clickAnimation = o["clickAnimation"]; + this.hoverSound = o["hoverSound"]; + this.hoverAnimation = o["hoverAnimation"]; + this.callbackName = o["callbackName"]; + this.callbackParams = o["callbackParams"]; + this.frame_hover = o["frame_hover"]; + this.frame_clicked = o["frame_clicked"]; + this.frame_disabled = o["frame_disabled"]; + this.onCreateInit(); + }; + function Cnds() {}; + Cnds.prototype.OnMouseEnter = function (){ + return true; + }; + Cnds.prototype.OnMouseLeave = function (){ + return true; + }; + Cnds.prototype.OnClicked = function (){ + return true; + }; + Cnds.prototype.IsEnabled = function (){ + return this.isEnabled; + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.setEnabled = function (isEnabled){ + this.setEnabled(isEnabled); + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.aekiro_checkbox = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.aekiro_checkbox.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; + this.runtime = type.runtime; + if(!cr.proui){ + throw new Error("ProUI Plugin not found. Please add it to the project."); + } + if(!this.behavior.isHooked){ + cr.proui.HookMe(this.behavior,["touch"]); + this.behavior.isHooked = true; + } + }; + var behinstProto = behaviorProto.Instance.prototype; + var NORMAL = 0, HOVER = 1, CLICKED = 2; + behinstProto.onCreate = function() + { + this.proui = cr.proui; + this.proui.isTypeValid(this.inst,[cr.plugins_.Sprite],"Pro UI: Checkbox behavior is only applicable to Sprite objects."); + this.isEnabled = this.properties[0]; + this.value = this.properties[1]; + this.frames_normal = this.properties[2]; + this.frames_hover = this.properties[3]; + this.frames_disabled = this.properties[4]; + this.clickSound = this.properties[5]; + this.clickAnimation = this.properties[6]; + this.hoverSound = this.properties[7]; + this.hoverAnimation = this.properties[8]; + this.callbackName = this.properties[9]; + this.callbackParams = this.properties[10]; + this.firstFrame = true; + this.uiType = "checkbox"; + this.inst.uiType = "checkbox"; + this.inst._proui = this; + this.firstSetValue = false; + this.state = NORMAL; + this.onTouchStarted = false; + this.onMouseEnterFlag = false; + /*If this elements is part of a composed ui element like a gridview, then upon creation of this element, the parent (gridview) will set this value to itself, + and it is passed in options.except (cf behinstProto.setValue ) to notifyBehaviorModels of themodel so that it wont notify the gridview + */ + this.compParent = this; + this.onCreateInit(); + }; + behinstProto.onCreateInit = function (){ + this.setFrames(); + this.setClickAnimations(); + this.setHoverAnimations(); + }; + behinstProto.setFrames = function (){ + var normalFrames = this.frames_normal.split(','); + this.frame_normal_uncheck = isNaN(parseInt(normalFrames[0]))?-1:parseInt(normalFrames[0]); + this.frame_normal_check = isNaN(parseInt(normalFrames[1]))?-1:parseInt(normalFrames[1]); + var hoverFrames = this.frames_hover.split(','); + this.frame_hover_uncheck = isNaN(parseInt(hoverFrames[0]))?-1:parseInt(hoverFrames[0]); + this.frame_hover_check = isNaN(parseInt(hoverFrames[1]))?-1:parseInt(hoverFrames[1]); + var disabledFrames = this.frames_disabled.split(','); + this.frame_disabled_uncheck = isNaN(parseInt(disabledFrames[0]))?-1:parseInt(disabledFrames[0]); + this.frame_disabled_check = isNaN(parseInt(disabledFrames[1]))?-1:parseInt(disabledFrames[1]); + }; + behinstProto.setClickAnimations = function (){ + this.tween = new TWEEN["Tween"](this.inst); + if(this.clickAnimation == 1){ + this.tween["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ width: this.inst.width*1.2, height:this.inst.height*1.2 }, 200); + }else if(this.clickAnimation == 2){ + this.tween["easing"](TWEEN["Easing"]["Elastic"]["Out"])["to"]({ width: this.inst.width*1.2, height:this.inst.height*1.2 }, 500); + }else if(this.clickAnimation == 3){ + this.tween["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ y:this.inst.y+this.inst.height/10 }, 100); + }else if(this.clickAnimation == 4){ + this.tween["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ y:this.inst.y-this.inst.height/10 }, 100); + }else if(this.clickAnimation == 5){ + this.tween["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ x:this.inst.x-this.inst.width/10 }, 100); + }else if(this.clickAnimation == 6){ + this.tween["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ x:this.inst.x+this.inst.width/10 }, 100); + } + }; + behinstProto.setHoverAnimations = function (){ + this.tween_hover = new TWEEN["Tween"](this.inst); + if(this.hoverAnimation == 1){ + this.tween_hover["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ width: this.inst.width*1.1, height:this.inst.height*1.1 }, 200); + }else if(this.hoverAnimation == 2){ + this.tween_hover["easing"](TWEEN["Easing"]["Elastic"]["Out"])["to"]({ width: this.inst.width*1.1, height:this.inst.height*1.1 }, 500); + }else if(this.hoverAnimation == 3){ + this.tween_hover["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ y:this.inst.y+this.inst.height/10 }, 100); + }else if(this.hoverAnimation == 4){ + this.tween_hover["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ y:this.inst.y-this.inst.height/10 }, 100); + }else if(this.hoverAnimation == 5){//Left + this.tween_hover["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ x:this.inst.x-this.inst.width/13 }, 100); + }else if(this.hoverAnimation == 6){//Right + this.tween_hover["easing"](TWEEN["Easing"]["Quadratic"]["Out"])["to"]({ x:this.inst.x+this.inst.width/13 }, 100); + } + }; + behinstProto.setValue = function (value){ + this.firstSetValue = true; + if(this._setValue(value)){ + var modelB = this.inst.proui_model; + if(modelB){ + modelB.setModelValue(value,{except:this.compParent}); + } + if(this.inst.proui_bind){ + this.inst.proui_bind.updateGridViewModel(value,{except:this.compParent}); + } + } + }; + behinstProto._setValue = function (value){ + if(value == null){ + return false; + } + value = this.proui.validateSimpleValue(value,0); + value = cr.clamp(value,0,1); + if(this.value!=value){ + this.value = value; + this.updateView(); + return true; + }else{ + return false; + } + }; + behinstProto.updateFromModel = function (){ + var modelB = this.inst.proui_model; + if(modelB){ + var value = modelB.getFromModel(); + if(value == null){ + return; + } + value = this.proui.validateSimpleValue(value,0); + value = cr.clamp(value,0,1); + if(this.value!=value){ + this.value = value; + } + } + }; + behinstProto.updateView = function (){ + if(this.value){ + cr.plugins_.Sprite.prototype.acts.SetAnimFrame.apply(this.inst, [this.frame_normal_check]); + if(this.isEnabled){ + if(this.state == HOVER && this.frame_hover_check>=0){ + cr.plugins_.Sprite.prototype.acts.SetAnimFrame.apply(this.inst, [this.frame_hover_check]); + } + }else{ + if(this.frame_disabled_check>=0) + cr.plugins_.Sprite.prototype.acts.SetAnimFrame.apply(this.inst, [this.frame_disabled_check]); + } + }else{ + cr.plugins_.Sprite.prototype.acts.SetAnimFrame.apply(this.inst, [this.frame_normal_uncheck]); + if(this.isEnabled){ + if(this.state == HOVER && this.frame_hover_uncheck>=0){ + cr.plugins_.Sprite.prototype.acts.SetAnimFrame.apply(this.inst, [this.frame_hover_uncheck]); + } + }else{ + if(this.frame_disabled_uncheck>=0) + cr.plugins_.Sprite.prototype.acts.SetAnimFrame.apply(this.inst, [this.frame_disabled_uncheck]); + } + } + }; + behinstProto.setEnabled = function (isEnabled) + { + this.isEnabled = isEnabled; + this.updateView(); + } + behinstProto.OnTouchStart = function () + { + if(!this.isClickable() || !this.isInsideScrollView() || this.onTouchStarted)return; + var scrollView = this.proui.scrollViews["l"+this.inst.layer.index]; + if(scrollView && Math.sqrt(Math.pow(scrollView.scroll.dx, 2) + Math.pow(scrollView.scroll.dy, 2)) > 5) return; + this.onTouchStarted = true; + if(this.state != CLICKED && this.clickAnimation>0){ + this.tween["start"](); + } + this.state = CLICKED; + if(this.clickSound){ + this.proui.playAudio(this.clickSound); + } + }; + behinstProto.OnAnyTouchEnd = function (touchX, touchY) + { + if(this.onTouchStarted){ + this.OnTouchEnd(touchX, touchY); + } + this.onTouchStarted = false; + }; + behinstProto.OnTouchEnd = function (touchX, touchY) + { + this.inst.update_bbox(); + if(this.inst.contains_pt(touchX,touchY)){ + if(this.runtime.isMobile){ + this.state = NORMAL; + }else{ + this.state = HOVER; + } + this.setValue(1-this.value); + this.updateView(); + this.proui.runCallback(this.callbackName,this.callbackParams); + this.runtime.trigger(cr.behaviors.aekiro_checkbox.prototype.cnds.OnClicked, this.inst); + }else{ + this.state = NORMAL; + this.updateView(); + } + if(this.clickAnimation>0){ + this.tween["reverse"](); + } + }; + behinstProto.isMouseOver = function () + { + if(this.onTouchStarted){ + var scrollView = this.proui.scrollViews["l"+this.inst.layer.index]; + if(scrollView && Math.sqrt(Math.pow(scrollView.scroll.dx, 2) + Math.pow(scrollView.scroll.dy, 2)) > 5) { + this.onTouchStarted = false; + this.state = NORMAL; + this.updateView(); + if(this.clickAnimation>0){ + this.tween["reverse"](); + } + }; + } + var mouse_x = this.proui.CursorX(this.inst.layer.index); + var mouse_y = this.proui.CursorY(this.inst.layer.index); + this.inst.update_bbox(); + return this.inst.contains_pt(mouse_x, mouse_y); + }; + behinstProto.OnMouseEnter = function () + { + if(!this.isClickable())return; + this.state = HOVER; + this.updateView(); + if(this.hoverAnimation>0){ + this.tween_hover["start"](); + } + if(this.hoverSound){ + this.proui.playAudio(this.hoverSound); + } + this.runtime.trigger(cr.behaviors.aekiro_checkbox.prototype.cnds.OnMouseEnter, this.inst); + }; + behinstProto.OnMouseLeave = function () + { + this.state = NORMAL; + this.updateView(); + if(this.hoverAnimation>0){ + this.tween_hover["reverse"](); + } + this.runtime.trigger(cr.behaviors.aekiro_checkbox.prototype.cnds.OnMouseLeave, this.inst); + }; + behinstProto.isInTouch = function () + { + var touch_x = this.proui.X(this.inst.layer.index); + var touch_y = this.proui.Y(this.inst.layer.index); + this.inst.update_bbox(); + return this.inst.contains_pt(touch_x, touch_y); + }; + behinstProto.isInsideScrollView = function(){ + var insideScrollView = true; + var scrollView = this.proui.scrollViews["l"+this.inst.layer.index]; + if(scrollView){ + var touch_x, touch_y; + if(this.runtime.isMobile){ + touch_x = this.proui.X(this.inst.layer.index); + touch_y = this.proui.Y(this.inst.layer.index); + } + else{ + touch_x = this.proui.CursorX(this.inst.layer.index); + touch_y = this.proui.CursorY(this.inst.layer.index); + } + scrollView.inst.update_bbox(); + insideScrollView = scrollView.inst.contains_pt(touch_x, touch_y); + } + return insideScrollView; + }; + behinstProto.isClickable = function() + { + var isVisible = (this.inst.layer.visible && this.inst.visible); + var isUnder = false; + for (var i = 0,l=this.proui.currentDialogs.length; i < l; i++) { + if(this.inst.layer.index10 || Math.abs(this.lastX-this.proui.CursorX(this.inst.layer.index))>10 ) ){ + this.onMouseEnterFlag = true; + this.OnMouseEnter(); + this.lastY = this.proui.CursorY(this.inst.layer.index); + this.lastX = this.proui.CursorX(this.inst.layer.index); + } + }else{ + if(this.onMouseEnterFlag && (!this.isInsideScrollView() || Math.abs(this.lastY-this.proui.CursorY(this.inst.layer.index))>10 || Math.abs(this.lastX-this.proui.CursorX(this.inst.layer.index))>10 ) ){ + this.onMouseEnterFlag = false; + this.OnMouseLeave(); + this.lastY = this.proui.CursorY(this.inst.layer.index); + this.lastX = this.proui.CursorX(this.inst.layer.index); + } + } + } + }; + behinstProto.onDestroy = function () + { + }; + behinstProto.saveToJSON = function () + { + return { + "isEnabled" : this.isEnabled, + "clickSound" : this.clickSound, + "clickAnimation" : this.clickAnimation, + "hoverSound":this.hoverSound, + "hoverAnimation":this.hoverAnimation, + "callbackName" : this.callbackName, + "callbackParams" : this.callbackParams, + "frames_normal" : this.frames_normal, + "frames_hover" : this.frames_hover, + "disabledFrames" : this.frames_disabled, + "value" : this.value + }; + }; + behinstProto.loadFromJSON = function (o) + { + this.isEnabled = o["isEnabled"]; + this.clickSound = o["clickSound"]; + this.clickAnimation = o["clickAnimation"]; + this.hoverSound = o["hoverSound"]; + this.hoverAnimation = o["hoverAnimation"]; + this.callbackName = o["callbackName"]; + this.callbackParams = o["callbackParams"]; + this.frames_normal = o["frames_normal"]; + this.frames_hover = o["frames_hover"]; + this.frames_disabled = o["disabledFrames"]; + this.value = o["value"]; + this.onCreateInit(); + }; + function Cnds() {}; + Cnds.prototype.OnMouseEnter = function (){ + return true; + }; + Cnds.prototype.OnMouseLeave = function (){ + return true; + }; + Cnds.prototype.IsEnabled = function (){ + return this.isEnabled; + }; + Cnds.prototype.OnClicked = function (){ + return true; + }; + Cnds.prototype.IsChecked = function (){ + return this.value; + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.setEnabled = function (isEnabled){ + this.setEnabled(isEnabled); + }; + Acts.prototype.setValue = function (value){ + this.setValue(value); + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.value = function (ret) + { + ret.set_int(this.value); + }; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.aekiro_dialog = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.aekiro_dialog.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; + this.runtime = type.runtime; + if(!cr.proui){ + throw new Error("ProUI Plugin not found. Please add it to the project."); + return; + } + this.tweenFunctions =[ + TWEEN["Easing"]["Linear"]["None"], + TWEEN["Easing"]["Quadratic"]["Out"], + TWEEN["Easing"]["Quartic"]["Out"], + TWEEN["Easing"]["Exponential"]["Out"], + TWEEN["Easing"]["Circular"]["Out"], + TWEEN["Easing"]["Back"]["Out"], + TWEEN["Easing"]["Elastic"]["Out"], + TWEEN["Easing"]["Bounce"]["Out"], + ]; + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.proui = cr.proui; + this.proui.isTypeValid(this.inst,[cr.plugins_.Sprite,cr.plugins_.NinePatch,cr.plugins_.TiledBg],"Pro UI: dialog behavior is only applicable to Sprite, 9-patch or tiled backgrounds objects."); + this.openAnimation = this.properties[0]; + this.openAnimTweenFunction = this.tweenFunctions[this.properties[1]]; + this.openSound = this.properties[2]; + this.openAnimDuration = this.properties[3]; + this.closeAnimation = this.properties[4]; + this.closeAnimTweenFunction = this.tweenFunctions[this.properties[5]]; + this.closeSound = this.properties[6]; + this.closeAnimDuration = this.properties[7]; + this.overlayUID = this.properties[8]; + this.pauseOnOpen = this.properties[9]; + this.closeButtonUID = this.properties[10]; + this.isModal = this.properties[11]; + this.isLayerContainer = this.properties[12]; + this.firstFrame = true; + this.inst.uiType = "dialog"; + this.uiType = "dialog"; + this.inst._proui = this; + this.dpos = {}; + this.isInit = false; + this.isOpen = false; + this.outLayerChildren = {}; //list of scrollviews on the dialog + this.tween = new TWEEN["Tween"](); + this.tween["onReverseComplete"](this.postClose,this); + this.tween["onComplete"](this.postOpen,this); + this.tween_close = new TWEEN["Tween"](); + this.tween_close["onComplete"](this.postClose,this); + this.tween_opacity = new TWEEN["Tween"](); //a separate tween for opacity: we don't want the opacity to be tweened by elastic + }; + behinstProto.setCloseButton = function (){ + this.closeButton = this.proui.tags[this.closeButtonUID]; + if(this.closeButton){ + if(this.closeButton.uiType != "button"){ + console.error("ProUI-Dialog uid=%s: the close button needs to have a button behavior !",this.inst.uid); + return; + } + var self = this; + this.closeButton._proui.callbacks.push(function(){ + self.close(); + }); + } + }; + behinstProto.setOverlay = function (){ + this.overlay = this.proui.tags[this.overlayUID]; + if(this.overlay){ + this.proui.isTypeValid(this.overlay,[cr.plugins_.Sprite,cr.plugins_.NinePatch,cr.plugins_.TiledBg],"ProUI-Dialog: The overlay of a dialog can only be a Sprite, 9-patch Or Tiled Background object."); + this.overlay.uiType = "overlay"; + this.tween_overlay = new TWEEN["Tween"](); + this.tween_overlay["easing"](TWEEN["Easing"]["Quartic"]["Out"]); + } + }; + behinstProto.showOverlay = function (){ + if(this.overlay){ + this.overlay.my_timescale = 1; + this.overlay.type.plugin.acts.MoveToLayer.call(this.overlay, this.inst.layer); + this.overlay.type.plugin.acts.MoveToBottom.call(this.overlay); + this.overlay.width = this.inst.layer.viewRight - this.inst.layer.viewLeft; + this.overlay.height = this.inst.layer.viewBottom - this.inst.layer.viewTop; + this.overlay.set_bbox_changed(); + this.overlay.update_bbox(); + this.overlay.x = this.inst.layer.viewLeft + (this.overlay.x - this.overlay.bbox.left); + this.overlay.y = this.inst.layer.viewTop + (this.overlay.y - this.overlay.bbox.top); + this.overlay.set_bbox_changed(); + this.overlay.visible = true; + this.overlay.opacity = 0; + this.tween_overlay["setObject"](this.overlay); + this.tween_overlay["to"]({ opacity:0.3 }, 300); + this.tween_overlay["start"](); + } + }; + behinstProto.setDialogTimeScale = function (){ + var inst; + for (var i = 0, l= this.inst.layer.instances.length; i < l; i++) { + inst = this.inst.layer.instances[i]; + inst.my_timescale = 1; + } + }; + behinstProto.setOutLayerChildrenVisible = function (isVisible) + { + var layerInsts, self = this; + Object.keys(this.outLayerChildren).forEach(function(key) { + layerInsts = self.outLayerChildren[key]; + for (var i = 0, l= layerInsts.length; i < l; i++) { + cr.system_object.prototype.acts.SetLayerVisible.call(self.runtime.system,layerInsts[i].layer,isVisible); + } + }); + }; + behinstProto.init = function () + { + if(this.isInit) + return; + cr.system_object.prototype.acts.SetLayerVisible.call(this.runtime.system,this.inst.layer,false); + this.setOutLayerChildrenVisible(false); + /*if(this.inst.aekiro_gameobject){ + this.inst.aekiro_gameobject.init(); + }*/ + this.dpos.prev_x = this.inst.x; + this.dpos.prev_y = this.inst.y; + this.dpos.dx = 0; + this.dpos.dy = 0; + this.inst.x = this.inst.layer.viewLeft - this.inst.width - 100; + this.inst.set_bbox_changed(); + this.setOverlay(); + this.setCloseButton(); + this.isInit = true; + }; + behinstProto.tick = function () + { + if(this.firstFrame){ + this.firstFrame = false; + this.init(); + } + /*if(this.isOpen && this.runtime.timescale == 0){ + this.resetDialogTimeScale(); + }*/ + var dt; + if(this.tween["isPlaying"]){ + dt = this.runtime.getDt(this.inst)*1000; + this.tween["update"](dt); + if(this.openAnimation == 5 || this.openAnimation == 6){ //ScaleDown|ScaleUp + var layerInsts, self = this; + Object.keys(this.outLayerChildren).forEach(function(key) { + layerInsts = self.outLayerChildren[key]; + for (var i = 0, l= layerInsts.length; i < l; i++) { + layerInsts[i].layer.scale = self.inst.layer.scale; + } + }); + this.runtime.redraw = true; + }else{ + this.inst.set_bbox_changed(); + } + } + if(this.tween_close["isPlaying"]){ + dt = this.runtime.getDt(this.inst)*1000; + this.tween_close["update"](dt); + if(this.closeAnimation == 6 || this.closeAnimation == 7){ //ScaleDown|ScaleUp + var layerInsts, self = this; + Object.keys(this.outLayerChildren).forEach(function(key) { + layerInsts = self.outLayerChildren[key]; + for (var i = 0, l= layerInsts.length; i < l; i++) { + layerInsts[i].layer.scale = self.inst.layer.scale; + } + }); + this.runtime.redraw = true; + }else{ + this.inst.set_bbox_changed(); + } + } + if(this.tween_opacity["isPlaying"]){ + dt = this.runtime.getDt(this.inst)*1000; + this.tween_opacity["update"](dt); + var layerInsts, self = this; + Object.keys(this.outLayerChildren).forEach(function(key) { + layerInsts = self.outLayerChildren[key]; + for (var i = 0, l= layerInsts.length; i < l; i++) { + layerInsts[i].layer.opacity = self.inst.layer.opacity; + } + }); + this.runtime.redraw = true; + } + if(this.tween_overlay && this.tween_overlay["isPlaying"]){ + dt = this.runtime.getDt(this.inst)*1000; + this.tween_overlay["update"](dt); + this.runtime.redraw = true; + } + }; + behinstProto.updateChildren = function () + { + if(!this.isLayerContainer){ + return; + } + if(isNaN(this.dpos.prev_x)){ + this.dpos.prev_x = this.inst.x; + this.dpos.prev_y = this.inst.y; + } + this.dpos.dx = this.inst.x - this.dpos.prev_x; + this.dpos.dy = this.inst.y - this.dpos.prev_y; + this.dpos.prev_x = this.inst.x; + this.dpos.prev_y = this.inst.y; + var inst; + if( (this.dpos.dx != 0) || (this.dpos.dy != 0) ){ + for (var i = 0, l= this.inst.layer.instances.length; i < l; i++) { + inst = this.inst.layer.instances[i]; + if ( inst.uiType == "dialog" || inst.uiType == "overlay" || inst.isSubComp===true) + continue; + inst.x += this.dpos.dx; + inst.y += this.dpos.dy; + inst.set_bbox_changed(); + if ( inst.uiType == "radiogroup" || inst.uiType =="discreteProgress" || inst.uiType =="sliderbar"){ + inst._proui.updateChildren(); + } + /*if(inst.aekiro_gameobject){ + inst.aekiro_gameobject.updateChildren(); + }*/ + } + var layerInsts; + var self = this; + Object.keys(this.outLayerChildren).forEach(function(key,index) { + layerInsts = self.outLayerChildren[key]; + for (var i = 0, l= layerInsts.length; i < l; i++) { + inst = layerInsts[i]; + inst.x += self.dpos.dx; + inst.y += self.dpos.dy; + inst.set_bbox_changed(); + } + }); + } + }; + behinstProto.tick2 = function () + { + this.updateChildren(); + }; + behinstProto.setInitialPosition = function (targetX,targetY,center){ + var initX,initY; + if(this.openAnimation == 0 || this.openAnimation == 5 || this.openAnimation == 6){ //None/ ScaleDown|ScaleUp + initX = targetX; + initY = targetY; + if(center){ + initY = (this.inst.layer.viewTop+this.inst.layer.viewBottom)/2; + initX = (this.inst.layer.viewLeft+this.inst.layer.viewRight)/2; + } + }else if(this.openAnimation == 1){ //SlideDown + initY = this.inst.layer.viewTop - (this.inst.height/2) - 100; + if(center){ + initX = (this.inst.layer.viewLeft+this.inst.layer.viewRight)/2; + }else{ + initX = targetX; + } + }else if(this.openAnimation == 2){ //SlideUp + initY = this.inst.layer.viewBottom + (this.inst.height/2) + 100; + if(center){ + initX = (this.inst.layer.viewLeft+this.inst.layer.viewRight)/2; + }else{ + initX = targetX; + } + }else if(this.openAnimation == 3){ //SlideLeft + initX = this.inst.layer.viewRight + (this.inst.width/2) + 100; + if(center){ + initY = (this.inst.layer.viewTop+this.inst.layer.viewBottom)/2; + }else{ + initY = targetY; + } + }else if(this.openAnimation == 4){ //SlideRight + initX = this.inst.layer.viewLeft - (this.inst.width/2) - 100; + if(center){ + initY = (this.inst.layer.viewTop+this.inst.layer.viewBottom)/2; + }else{ + initY = targetY; + } + } + this.inst.x = initX; + this.inst.y = initY; + this.inst.set_bbox_changed(); + this.updateChildren(); + }; + behinstProto.open = function (_targetX,_targetY,center) + { + this.init(); + if(this.isOpen || this.tween["isPlaying"]){//|| this.tween_close["isPlaying"] + return; + } + if(this.proui.isModalDialogOpened()){ + console.log("ProUI-Dialog: Can not open dialog because modal dialog is already opened"); + return; + } + if(this.tween_close["isPlaying"]){ + this.tween_close["isPlaying"] = false; + this.postClose(); + } + this.proui.addDialog(this); + this.isOpen = true; + this.runtime.trigger(cr.behaviors.aekiro_dialog.prototype.cnds.onDialogOpened, this.inst); + if(this.pauseOnOpen){ + this.prevTimescale = this.runtime.timescale; + cr.system_object.prototype.acts.SetTimescale.call(this.runtime.system,0); + } + if(this.runtime.timescale != 1){ + this.setDialogTimeScale(1); + } + this.setInitialPosition(_targetX,_targetY,center); + cr.system_object.prototype.acts.SetLayerVisible.call(this.runtime.system,this.inst.layer,true); + var layerInsts, self = this; + Object.keys(this.outLayerChildren).forEach(function(key) { + layerInsts = self.outLayerChildren[key]; + for (var i = 0, l= layerInsts.length; i < l; i++) { + cr.system_object.prototype.acts.SetLayerVisible.call(self.runtime.system,layerInsts[i].layer,true); + } + }); + var targetX = _targetX; + var targetY = _targetY; + if(center){ + targetX = (this.inst.layer.viewLeft+this.inst.layer.viewRight)/2; + targetY = (this.inst.layer.viewTop+this.inst.layer.viewBottom)/2; + } + if(this.openAnimDuration == 0){ //If anim duration = 0 then we set animation to "no animation", otherwise wierd bug emerge + this.openAnimation = 0 + } + if(this.openAnimation==1 || this.openAnimation == 2){ //SlideDown|SlideUp + this.tween["setObject"](this.inst); + this.tween["easing"](this.openAnimTweenFunction); + this.tween["to"]({y: targetY }, this.openAnimDuration); + }else if(this.openAnimation == 3 || this.openAnimation == 4){ //SlideLeft|SlideRight + this.tween["setObject"](this.inst); + this.tween["easing"](this.openAnimTweenFunction); + this.tween["to"]({x: targetX }, this.openAnimDuration); + }else if(this.openAnimation == 5 || this.openAnimation == 6){ //ScaleDown|ScaleUp + this.tween["setObject"](this.inst.layer); + this.tween["easing"](this.openAnimTweenFunction); + if(this.openAnimation == 5){ //ScaleDown + this.inst.layer.scale = 2; + }else{ //ScaleUp + this.inst.layer.scale = 0.2; + } + this.inst.layer.opacity = 0; + this.runtime.redraw = true; + this.tween["to"]({ scale: 1 }, this.openAnimDuration); + this.tween_opacity["setObject"](this.inst.layer); + this.tween_opacity["to"]({ opacity: 1 }, 300); + this.tween_opacity["easing"](TWEEN["Easing"]["Quartic"]["Out"]); + } + if(this.openAnimation>0){ + this.tween["start"](); + if(this.openAnimation == 5 || this.openAnimation == 6){ //ScaleDown|ScaleUp + this.tween_opacity["start"](); + } + }else{ + this.inst.x = targetX; + this.inst.y = targetY; + this.inst.set_bbox_changed(); + this.updateChildren(); + } + if(this.openSound){ + this.proui.playAudio(this.openSound); + } + }; + behinstProto.postOpen = function (){ + this.showOverlay(); + }; + behinstProto.getCloseTargetPosition = function (){ + var X = this.inst.x; + var Y = this.inst.y; + if(this.closeAnimation == 2){ //SlideDown + Y = this.inst.layer.viewBottom + (this.inst.height/2) + 100; + X = this.inst.x; + }else if(this.closeAnimation == 3){ //SlideUp + Y = this.inst.layer.viewTop - (this.inst.height/2) - 100; + X = this.inst.x; + }else if(this.closeAnimation == 4){ //SlideLeft + X = this.inst.layer.viewLeft - (this.inst.width/2) - 100; + Y = this.inst.y; + }else if(this.closeAnimation == 5){ //SlideRight + X = this.inst.layer.viewRight + (this.inst.width/2) + 100; + Y = this.inst.y; + } + return {x:X,y:Y}; + }; + behinstProto.close = function () + { + if(!this.isOpen || this.tween["isPlaying"] || this.tween_close["isPlaying"]){ + return; + } + this.isOpen = false; + this.runtime.trigger(cr.behaviors.aekiro_dialog.prototype.cnds.onDialogClosed, this.inst); + if(this.overlay){ + this.overlay.visible = false; + } + this.proui.removeDialog(this); + var target = this.getCloseTargetPosition(); + var targetX = target.x; + var targetY = target.y; + if(this.closeAnimDuration == 0){ //If anim duration = 0 then we set animation to "no animation", otherwise wierd bug emerge + this.closeAnimation = 0 + } + if(this.closeAnimation==2 || this.closeAnimation==3){ //SlideDown|SlideUp + this.tween_close["setObject"](this.inst); + this.tween_close["easing"](this.closeAnimTweenFunction); + this.tween_close["to"]({ y: targetY }, this.closeAnimDuration); + }else if(this.closeAnimation == 4 || this.closeAnimation == 5){ //SlideLeft|SlideRight + this.tween_close["setObject"](this.inst); + this.tween_close["easing"](this.closeAnimTweenFunction); + this.tween_close["to"]({ x: targetX }, this.closeAnimDuration); + }else if(this.closeAnimation == 6 || this.closeAnimation == 7){ //ScaleDown|ScaleUp + this.tween_close["setObject"](this.inst.layer); + this.tween_close["easing"](this.closeAnimTweenFunction); + if(this.closeAnimation == 6){ //ScaleDown + this.tween_close["to"]({ scale: 0.2 }, this.closeAnimDuration); + }else{ //ScaleUp + this.tween_close["to"]({ scale: 2 }, this.closeAnimDuration); + } + this.tween_opacity["setObject"](this.inst.layer); + this.tween_opacity["to"]({ opacity: 0 }, 300); + this.tween_opacity["easing"](TWEEN["Easing"]["Quartic"]["Out"]); + } + if(this.closeAnimation==1){//Reverse + this.tween["reverse"](); + if(this.openAnimation == 5 || this.openAnimation == 6){ //ScaleDown|ScaleUp + this.tween_opacity["reverse"](); + } + }else if(this.closeAnimation==0){//None + this.postClose(); + }else{ //SlideDown|SlideUp|SlideLeft|SlideRight|ScaleDown|ScaleUp + this.tween_close["start"](); + if(this.closeAnimation == 6 || this.closeAnimation == 7){ //ScaleDown|ScaleUp + this.tween_opacity["start"](); + } + } + if(this.closeSound){ + this.proui.playAudio(this.closeSound); + } + }; + behinstProto.postClose = function (){ + cr.system_object.prototype.acts.SetLayerVisible.call(this.runtime.system,this.inst.layer,false); + var layerInsts, self = this; + Object.keys(this.outLayerChildren).forEach(function(key) { + layerInsts = self.outLayerChildren[key]; + for (var i = 0, l= layerInsts.length; i < l; i++) { + cr.system_object.prototype.acts.SetLayerVisible.call(self.runtime.system,layerInsts[i].layer,false); + } + }); + this.inst.layer.scale = 1; + this.inst.layer.opacity = 1; + this.runtime.redraw = true; + var targetX = (this.inst.layer.viewLeft+this.inst.layer.viewRight)/2; + var targetY = this.inst.layer.viewTop - (this.inst.height/2) -100; + this.inst.x = targetX; + this.inst.y = targetY; + this.inst.set_bbox_changed(); + this.updateChildren(); + if(this.pauseOnOpen){ + cr.system_object.prototype.acts.SetTimescale.call(this.runtime.system,this.prevTimescale); + } + if(this.runtime.timescale != 0){ + this.setDialogTimeScale(-1); //-1 indicate game time (cf RestoreObjectTimescale in system.js) + } + }; + behinstProto.onDestroy = function () + { + this.proui.removeDialog(this); + }; + behinstProto.saveToJSON = function () + { + return { + }; + }; + behinstProto.loadFromJSON = function (o) + { + }; + function Cnds() {}; + Cnds.prototype.onDialogOpened = function () + { + return true; + }; + Cnds.prototype.onDialogClosed = function () + { + return true; + }; + Cnds.prototype.isOpened = function () + { + return this.isOpen; + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.Open = function (targetX,targetY,center) + { + this.open(targetX,targetY,center); + }; + Acts.prototype.Close = function () + { + this.close(); + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.aekiro_gameobject2 = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.aekiro_gameobject2.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; + this.runtime = type.runtime; + if(!cr.goManager){ + var runtime = this.runtime; + cr.goManager = { + gos : {}, + toBeDestroyed : [], + addGO : function(inst){ + if(!inst)return; + if(!inst.aekiro_gameobject2.name){ + inst.aekiro_gameobject2.name = "o"+inst.uid; + } + /*if(!name){ + console.error("Aekiro Hierarchy: object of uid=%s has no name !",inst.uid); + return; + }*/ + var name = inst.aekiro_gameobject2.name; + if(this.gos.hasOwnProperty(name)){ + console.error("Aekiro Hierarchy: GameObject already exist with name: %s !",name); + return; + } + this.gos[name] = inst; + }, + removeGO : function(name){ + delete this.gos[name]; + }, + clearDestroyList : function (){ + var toBeDestroyed = this.toBeDestroyed; + for (var i = 0,l=toBeDestroyed.length; i < l; i++) { + runtime.DestroyInstance(toBeDestroyed[i]); + } + toBeDestroyed.length = 0; + }, + createInst : function (objtype,_layer,x,y) + { + var layer = (typeof _layer == "number")?this.runtime.getLayerByNumber(_layer):(typeof _layer == "string")?this.runtime.getLayerByName(_layer):_layer; + var inst = runtime.createInstance(objtype,layer); + /*var sol = objtype.getCurrentSol(); + sol.select_all = false; + cr.clearArray(sol.instances); + sol.instances[0] = inst;*/ + return inst; + }, + clone : function (t_node,parent,layer, x, y){ + cr.haltNext = true; + var inst = this.createInst(t_node.parent.type, layer); + cr.haltNext = false; + inst.type.plugin.acts.LoadFromJsonString.call(inst,t_node.parent.json); + inst.x = x; + inst.y = y; + inst.set_bbox_changed(); + inst.update_bbox(); + inst.aekiro_gameobject2.name = ""; + inst.aekiro_gameobject2.onCreateInit(); + if(parent){ + inst.aekiro_gameobject2.parentName = parent.aekiro_gameobject2.name; + } + for (var i = 0, l= t_node.children.length; i < l; i++) { + this.clone(t_node.children[i], inst, layer, inst.bbox.left+t_node.children[i].parent.relX, inst.bbox.top+t_node.children[i].parent.relY); + } + inst.aekiro_gameobject2.init(); + return inst; + } + } + } + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.goManager = cr.goManager; + this.name = this.properties[0]; + this.parentName = this.properties[1]; + this.firstFrame = true; + this.inst.aekiro_gameobject2 = this; + this.isInit = false; + this.areChildrenRegistred = false; + this.children = []; + if(!cr.haltNext){ + this.onCreateInit(); + } + }; + behinstProto.onCreateInit = function(){ + this.goManager.addGO(this.inst); + this.local = {x:0,y:0,angle:0}; + this.inst.update_bbox(); + this.prev = { + x : this.inst.x, + y : this.inst.y, + angle : this.inst.angle, + width: this.inst.width, + height: this.inst.height, + }; + var set_bbox_changed_old = this.inst.set_bbox_changed; + this.inst.set_bbox_changed_old = this.inst.set_bbox_changed; + this.inst.set_bbox_changed = function(){ + this.aekiro_gameobject2.local_update(); + this.aekiro_gameobject2.children_update(); + set_bbox_changed_old.call(this); + }; + }; + behinstProto.local_update = function(){ + this.parent = this.parent_get(); + if(this.parent){ + var res = this.globalToLocal(this.inst,this.parent); + this.local.x = res.x; + this.local.y = res.y + this.local.angle = res.angle; + } + }; + behinstProto.local_set = function(x,y,angle){ + this.parent = this.parent_get(); + if(this.parent){ + var inst = this.inst; + if(x!=undefined)this.local.x = x; + if(y!=undefined)this.local.y = y; + if(angle!=undefined)this.local.angle = angle; + inst.x = this.parent.x + this.local.x*Math.cos(this.parent.angle) - this.local.y*Math.sin(this.parent.angle); + inst.y = this.parent.y + this.local.x*Math.sin(this.parent.angle) + this.local.y*Math.cos(this.parent.angle); + inst.angle = this.parent.angle + this.local.angle; + this.prev.x = inst.x; + this.prev.y = inst.y; + this.prev.angle = inst.angle; + this.children_update(); + this.inst.set_bbox_changed_old(); + } + }; + behinstProto.children_add = function(inst){ + var name,aekiro_gameobject2; + if (typeof inst === 'string'){ //add by child name + name = inst; + inst = null; + }else{ + aekiro_gameobject2 = inst.aekiro_gameobject2; + if(!aekiro_gameobject2){ + console.error("Aekiro GameObject: You're adding a child (uid=%s) without a gameobject behavior on it.",inst.uid); + return; + } + name = inst.aekiro_gameobject2.name; + } + inst = this.goManager.gos[name]; + if(!inst){ + console.error("Aekiro GameObject: Object of name : %s not found !",name); + return; + } + if(name == this.parentName){ + console.error("Aekiro GameObject: Cannot add %s as a child of %s, because %s is its parent !",name,this.name,name); + return; + } + if(this.children.indexOf(inst) > -1){ + console.error("Aekiro GameObject: Object %s already have a child named %s !",this.name,name); + return; + } + aekiro_gameobject2 = inst.aekiro_gameobject2; + aekiro_gameobject2.removeFromParent(); //if inst is already a child of another parent then remove it from its parent. + aekiro_gameobject2.parentName = this.name; + /*initial local.x should be computed using x of parent as it is in the editor + we use self.prev.x instead of self.inst.x otherwise and in case of a "set x" action that happens on "on start of layout" + the local.x will be computed used the new value set by "set x" + */ + /*aekiro_gameobject2.local.x = inst.x - this.prev.x ; + aekiro_gameobject2.local.y = inst.y - this.prev.y ; + aekiro_gameobject2.local.angle = inst.angle - this.prev.angle;*/ + var res = this.globalToLocal2(inst,this.prev.x,this.prev.y,this.prev.angle); + aekiro_gameobject2.local.x = res.x; + aekiro_gameobject2.local.y = res.y + aekiro_gameobject2.local.angle = res.angle; + this.children.push(inst); + }; + behinstProto.children_remove = function(inst){ + var index = -1; + if (typeof inst === 'string'){ //remove by child name + for (var i = 0, l= this.children.length; i < l; i++) { + if(this.children[i].aekiro_gameobject2.name==inst){ + index = i; + break; + } + } + }else{ + index = this.children.indexOf(inst); + } + if(index!=-1){ + this.children[index].aekiro_gameobject2.parentName = ""; + this.children[index].aekiro_gameobject2.parent = null; + this.children.splice(index, 1); + } + }; + behinstProto.children_update = function () + { + if(!this.areChildrenRegistred) + this.registerChildren(); + this.prev.x = this.inst.x; + this.prev.y = this.inst.y; + this.prev.angle = this.inst.angle; + if(!this.children.length) + return; + var parent_inst = this.inst; + parent_inst.width = parent_inst.width==0?0.1:parent_inst.width; + parent_inst.height = parent_inst.height==0?0.1:parent_inst.height; + var wf = parent_inst.width/this.prev.width; + var hf = parent_inst.height/this.prev.height; + this.prev.width = parent_inst.width; + this.prev.height = parent_inst.height; + var inst, goManager = this.goManager; + for (var i = 0, l= this.children.length; i < l; i++) { + inst = this.children[i]; + if(wf!=1){ + inst.width *= wf; + inst.aekiro_gameobject2.local.x *=wf; + } + if(hf!=1){ + inst.height *= hf; + inst.aekiro_gameobject2.local.y *=hf; + } + inst.x = parent_inst.x + inst.aekiro_gameobject2.local.x*Math.cos(parent_inst.angle) - inst.aekiro_gameobject2.local.y*Math.sin(parent_inst.angle); + inst.y = parent_inst.y + inst.aekiro_gameobject2.local.x*Math.sin(parent_inst.angle) + inst.aekiro_gameobject2.local.y*Math.cos(parent_inst.angle); + inst.angle = parent_inst.angle + inst.aekiro_gameobject2.local.angle; + inst.aekiro_gameobject2.prev.x = inst.x; + inst.aekiro_gameobject2.prev.y = inst.y; + inst.aekiro_gameobject2.prev.angle = inst.angle; + inst.set_bbox_changed_old(); + inst.aekiro_gameobject2.children_update(); + } + }; + behinstProto.scopeToParent = function (local,parent_inst){ + var res = {}; + res.x = parent_inst.x + local.x*Math.cos(parent_inst.angle) - local.y*Math.sin(parent_inst.angle); + res.y = parent_inst.y + local.x*Math.sin(parent_inst.angle) + local.y*Math.cos(parent_inst.angle); + res.angle = parent_inst.angle + local.angle; + return res; + }; + behinstProto.localToGlobal = function (){ + let parent = this.parent_get(); + var local = this.local; + var res = {}; + if (!parent) { + return { + x: this.inst.x, + y: this.inst.y, + angle: this.inst.angle + } + } + while (parent) { + res.x = parent.x + local.x*Math.cos(parent.angle) - local.y*Math.sin(parent.angle); + res.y = parent.y + local.x*Math.sin(parent.angle) + local.y*Math.cos(parent.angle); + res.angle = parent.angle + local.angle; + local = { + x: res.x, + y: res.y, + angle: res.angle + } + parent = parent.aekiro_gameobject2.parent_get(); + } + return res; + }; + behinstProto.globalToLocal = function (inst,parent_inst){ + var res = {}; + res.x = (inst.x-parent_inst.x)*Math.cos(parent_inst.angle) + (inst.y-parent_inst.y)*Math.sin(parent_inst.angle); + res.y = -(inst.x-parent_inst.x)*Math.sin(parent_inst.angle) + (inst.y-parent_inst.y)*Math.cos(parent_inst.angle); + res.angle = inst.angle - parent_inst.angle; + return res; + }; + behinstProto.globalToLocal2 = function (inst,p_x,p_y,p_angle){ + var res = {}; + res.x = (inst.x-p_x)*Math.cos(p_angle) + (inst.y-p_y)*Math.sin(p_angle); + res.y = -(inst.x-p_x)*Math.sin(p_angle) + (inst.y-p_y)*Math.cos(p_angle); + res.angle = inst.angle - p_angle; + return res; + }; + behinstProto.registerChildren = function (){ + if(this.areChildrenRegistred) + return; + var gos = this.goManager.gos; + var go; + var self = this; + if(this.name){ + Object.keys(gos).forEach(function(key) { + go = gos[key]; + if(go.aekiro_gameobject2.parentName == self.name){ + self.children_add(go); + go.aekiro_gameobject2.registerChildren(); + } + }); + } + this.areChildrenRegistred = true; + console.log("registerChildren"); + }; + behinstProto.init = function (){ + if(this.isInit){ + return; + } + this.registerChildren(); + this.children_update(); + this.isInit = true; + this.setVisible(this.inst.visible); + }; + behinstProto.tick = function () + { + if(this.firstFrame){ + this.firstFrame = false; + this.init(); + } + }; + behinstProto.tick2 = function () + { + }; + behinstProto.setVisible = function (isVisible){ + this.init(); + this.inst.type.plugin.acts.SetVisible.call(this.inst,isVisible); + var children = this.children; + for (var i = 0, l= children.length; i < l; i++) { + children[i].aekiro_gameobject2.setVisible(isVisible); + } + }; + behinstProto.setOpacity = function (v){ + this.init(); + var SetOpacity = this.inst.type.plugin.acts.SetOpacity; + SetOpacity.call(this.inst,v); + var children = this.children; + for (var i = 0, l= children.length; i < l; i++) { + children[i].aekiro_gameobject2.setOpacity(v); + } + }; + behinstProto.getTemplate = function (node,parent,template){ + this.init(); + if(!node){ + node = this.inst; + } + if(!template){ + template = []; + } + if(parent){ + parent.update_bbox(); + } + template.push({ + parent:{ + type: node.type, + relX: parent?node.x - parent.bbox.left:null, + relY: parent?node.y - parent.bbox.top:null, + json:JSON.stringify(this.runtime.saveInstanceToJSON(node, true)) + }, + children:[] + }); + var children = node.aekiro_gameobject2.children; + for (var i = 0, l= children.length; i < l; i++) { + this.getTemplate(children[i],node,template[template.length-1].children); + } + return template[0]; + }; + behinstProto.parent_get = function () + { + if(!this.parent && this.parentName && this.name){ + this.parent = this.goManager.gos[this.parentName]; + } + return this.parent; + }; + behinstProto.removeFromParent = function () + { + this.parent = this.parent_get(); + if(this.parent){ + this.parent.aekiro_gameobject2.children_remove(this.inst); + } + }; + behinstProto.onDestroy = function () + { + var goManager = this.goManager; + if(!this.runtime.changelayout){ + for (var i = 0,l=this.children.length; i < l; i++) { + goManager.toBeDestroyed.push(this.children[i]); + } + setTimeout(function(){ goManager.clearDestroyList(); }, 0); + } + this.children.length = 0; + goManager.removeGO(this.name); + this.inst.set_bbox_changed = this.inst.set_bbox_changed_old; + this.removeFromParent(); + }; + behinstProto.saveToJSON = function () + { + return { + }; + }; + behinstProto.loadFromJSON = function (o) + { + }; + function Cnds() {}; + Cnds.prototype.IsName = function (name){ + return (name == this.name); + }; + Cnds.prototype.IsParent = function (name){ + return (name == this.parentName); + }; + Cnds.prototype.OnCloned = function () + { + return true; + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.Clone = function (layer,x,y) + { + var template = []; + template = this.getTemplate(this.inst); + var inst = this.goManager.clone(template,null,layer,x,y); + this.runtime.trigger(cr.behaviors.aekiro_gameobject2.prototype.cnds.OnCloned, inst); + /*var sol = inst.type.getCurrentSol(); + sol.select_all = false; + cr.clearArray(sol.instances); + sol.instances[0] = inst;*/ + }; + Acts.prototype.SetVisible = function (isVisible) + { + this.setVisible(isVisible); + }; + Acts.prototype.SetOpacity = function (v) + { + this.setOpacity(v); + }; + Acts.prototype.AddChildrenFromLayer = function (_layer) + { + this.init(); + var layer = (typeof _layer == "number")?this.runtime.getLayerByNumber(_layer):(typeof _layer == "string")?this.runtime.getLayerByName(_layer):_layer; + var inst, name; + for (var i = 0, l= layer.instances.length; i < l; i++) { + this.children_add(layer.instances[i]); + } + }; + Acts.prototype.AddChildrenFromType = function (type) + { + if (!type) + return; + var instances = type.getCurrentSol().getObjects(); + for (var i = 0, l= instances.length; i < l; i++) { + this.children_add(instances[i]); + } + }; + Acts.prototype.AddChildByName = function (name) + { + this.children_add(name); + }; + Acts.prototype.SetLocalPosition = function (x,y) + { + this.local_set(x,y); + }; + Acts.prototype.SetLocal = function (prop,value) + { + if(prop==0){ + this.local_set(value);//x + }else if(prop==1){ + this.local_set(null,value);//y + }else if(prop==2){ + this.local_set(null,null,value);//angle + } + }; + Acts.prototype.RemoveChildByName = function (name) + { + this.children_remove(name); + }; + Acts.prototype.RemoveChildByType = function (type) + { + if (!type) + return; + var instances = type.getCurrentSol().getObjects(); + for (var i = 0, l= instances.length; i < l; i++) { + this.children_remove(instances[i]); + } + }; + Acts.prototype.RemoveFromParent = function () + { + this.removeFromParent(); + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.name = function (ret) + { + ret.set_string(this.name); + }; + Exps.prototype.parent = function (ret) + { + ret.set_string(this.parentName); + }; + Exps.prototype.local = function (ret,prop) + { + if(!this.parent_get()){ + ret.set_float(0); + }else{ + if(prop=="x"){ + ret.set_float(this.local.x); + }else if(prop=="y"){ + ret.set_float(this.local.y); + }else if(prop=="angle"){ + ret.set_float(this.local.angle); + }else{ + ret.set_float(0); + } + } + }; + Exps.prototype.global = function (ret,prop) + { + var parent = this.parent_get(); + if(!parent){ + if(prop === "x") { + ret.set_float(this.inst.x); + } else if(prop === "y") { + ret.set_float(this.inst.y); + } else if(prop === "angle") { + ret.set_float(this.inst.angle); + } else { + ret.set_float(0); + } + }else{ + let global = this.localToGlobal(); + if(prop === "x") { + ret.set_float(global.x); + } else if(prop === "y") { + ret.set_float(global.y); + } else if(prop === "angle") { + ret.set_float(global.angle); + } else { + ret.set_float(0); + } + } + }; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.aekiro_gridView = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.aekiro_gridView.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; + this.runtime = type.runtime; + if(!cr.proui){ + throw new Error("ProUI Plugin not found. Please add it to the project."); + return; + } + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.proui = cr.proui; + this.proui.isTypeValid(this.inst,[cr.plugins_.Sprite,cr.plugins_.NinePatch,cr.plugins_.TiledBg],"ProUI-GRIDVIEW: GridView behavior is only applicable to Sprite Or 9-patch objects."); + this.itemUID = this.properties[0]; + this.columns = this.properties[1]; + this.rows = this.properties[2]; + this.vspace = this.properties[3]; + this.hspace = this.properties[4]; + this.VPadding = this.properties[5]; + this.HPadding = this.properties[6]; + this.dialogUID = this.properties[7]; + this.firstFrame = true; + this.inst.uiType = "gridView"; + this.uiType = "gridView"; + this.inst._proui = this; + this.dpos = {}; + this.template = {}; + this.isTemplateSet = false; + this.value = []; + this.items = []; + this.isViewBuilt = false; + this.it_column = 0; //column iterator + this.it_row = 0; //row iterator + this.firstUpdateView = false; + this.scrollView = null; + this.isScrollViewInit = false; + this.triggerRenderTickCt = 0; + this.triggerRenderTickMax = 4; + }; + behinstProto.updateFromModel = function (){ + var modelB = this.inst.proui_model; + if(modelB){ + var value = modelB.getFromModel(); + if(value == null){ + return; + } + if(!isArray(value)){ + console.error("ProUI-GRIDVIEW: The value at the key %s of the model of uid= %s, is not an array !",modelB.modelKey,modelB.modelUID); + return; + } + this.value = value; + } + }; + behinstProto._setValue = function (value, options){ + if(value == null){ + value = []; + } + if(!isArray(value)){ + var modelB = this.inst.proui_model; + console.error("ProUI-GRIDVIEW: The value at the key %s of the model of uid= %s, is not an array !",modelB.modelKey,modelB.modelUID); + return; + } + this.value = value; + this.updateView(options); + }; + behinstProto.setItemTemplate = function (){ + if(this.isTemplateSet){ + return; + } + this.setTemplateVisible(true); + var item = this.proui.tags[this.itemUID]; + if(!item){ + throw new Error("ProUI-GRIDVIEW: Grid item not found, please check gridItem uid"); + return; + } + this.proui.isTypeValid(item,[cr.plugins_.Sprite,cr.plugins_.NinePatch,cr.plugins_.TiledBg],"ProUI-GRIDVIEW: Grid item can only be a Sprite Or 9-patch object."); + item.uiType = "gridItem"; + item.update_bbox(); + this.template.item = {}; + this.template.item.type = item.type; + this.template.item.width = item.width; + this.template.item.height = item.height; + this.template.item.uiType = "gridItem"; + this.template.item.offsetX = item.x - item.bbox.left; + this.template.item.offsetY = item.y - item.bbox.top; + this.template.item.json = JSON.stringify(this.runtime.saveInstanceToJSON(item, true)); + this.template.subs = []; //subitems + var inst, inst_template; + /* on firstframe the gridview update its view. the issue is that setTemplate might happens before the sliderbar set the slider button + with isSubComp == true and then get saved in the template. + */ + for (var i = 0, l= this.inst.layer.instances.length; i < l; i++) { + inst = this.inst.layer.instances[i]; + if (inst.uiType == "discreteProgress" || inst.uiType == "sliderbar" || inst.uiType == "progress" || inst.uiType == "scrollView"){ + inst._proui.init(); + } + } + for (var i = 0, l= this.inst.layer.instances.length; i < l; i++) { + inst = this.inst.layer.instances[i]; + if ( inst.uiType == "gridView" || inst.uiType == "gridItem" || inst.uiType == "dialog" || inst.uiType == "scrollView" || inst.uiType == "radiobutton" || inst.uiType == "scrollBar" || inst.uiType == "slider") + continue; + if(inst.isSubComp === true){ + continue; + } + inst_template = null; + if(inst.uiType == "radiogroup" || inst.uiType == "discreteProgress" || inst.uiType == "sliderbar"){ + inst_template = inst._proui.getTemplate(); + } + this.template.subs.push({ + type : inst.type, + relX: inst.x - item.bbox.left, + relY: inst.y - item.bbox.top, + json: JSON.stringify(this.runtime.saveInstanceToJSON(inst, true)), + bindkey: inst.proui_bind?inst.proui_bind.bind_key:"", + template: inst_template + }); + } + this.isTemplateSet = true; + for (var i = 0, l= this.inst.layer.instances.length; i < l; i++) { + inst = this.inst.layer.instances[i]; + if ( inst.uiType == "gridView" || inst.uiType == "dialog" || inst.uiType == "scrollView" || inst.uiType == "radiobutton" || inst.uiType == "scrollBar" || inst.uiType == "slider" || inst.isSubComp === true) + continue; + this.runtime.DestroyInstance(inst); + } + }; + behinstProto.initScrollView = function (){ + if(this.isScrollViewInit){ + return; + } + var inst; + for (var i = 0, l= this.inst.layer.instances.length; i < l; i++) { + inst = this.inst.layer.instances[i]; + if ( inst.uiType == "scrollView"){ + inst._proui.init(); + this.isScrollViewInit = true; + return; + } + } + }; + behinstProto.updateView = function (options){ + if(this.rows<=0 && this.columns<=0){ + console.error("ProUI-GRIDVIEW: max rows and max columns can't be both -1 or 0"); + return; + } + this.initScrollView(); + this.setItemTemplate(); + this.inst.update_bbox(); + this.initBboxTop = this.inst.bbox.top; + this.initBboxLeft = this.inst.bbox.left; + if(this.value.length == 0){ + this.clear(); + }else if(options.op == 2){ //load + this.build(); + }else if(options.op == 1){//push + if(this.rows>0 && this.columns>0 && this.it_row==this.rows){ + return; + } + this.add(this.value.length-1); + this.nextRowColumn(); + this.resize(); + }else if(options.op == -1){ //remove + this.remove(options.idx); + }else if(options.op == 3){ //insert + this.build(); + }else if(options.op == 4){ //edit + this.edit(options.key,options.value); + } + this.dpos.prev_x = this.inst.x; + this.dpos.prev_y = this.inst.y; + this.dpos.dx = 0; + this.dpos.dy = 0; + if(this.scrollView){ + this.scrollView.postGridviewUpdate(); + } + if(this.firstUpdateView){ + this.runtime.trigger(cr.behaviors.aekiro_gridView.prototype.cnds.OnRender, this.inst); + } + this.firstUpdateView = true; + }; + behinstProto.edit = function (key,value){ + var modelB = this.inst.proui_model; + var modelKey = modelB.modelKey; + var itemIndex = 0; + var subKey; + if(key.slice(0, modelKey.length+1) == (modelKey+".") ){ //make sure that key is a subkey of this.modelKey and not the opposite + var keys = key.slice(modelKey.length+1);//extract the part after the modelkey (0.coinValue) + var keysArray = keys.split("."); + if(keysArray.length>1){ + itemIndex = keysArray[0]; + subKey = keys.slice(itemIndex.length+1); + var item = this.items[itemIndex]; + if(!item){ + return; + } + for (var j = 0,m=item.subs.length; j < m; j++) { + var subItem = item.subs[j]; + if(subItem.proui_bind && subItem.proui_bind.bind_key == subKey){ + subItem.proui_bind.setValue(value); + } + } + } + } + }; + behinstProto.clear = function (){ + for (var i = 0,l=this.items.length; i < l; i++) { + this.runtime.DestroyInstance(this.items[i].parent); + for (var j = 0,m=this.items[i].subs.length; j < m; j++) { + this.runtime.DestroyInstance(this.items[i].subs[j]); + } + } + this.items.length = 0; + this.it_column = 0; //column iterator + this.it_row = 0; //row iterator + this.inst.width = 5; + this.inst.height = 5; + this.inst.set_bbox_changed(); + this.inst.update_bbox(); + this.inst.x = this.initBboxLeft + (this.inst.x-this.inst.bbox.left); + this.inst.y = this.initBboxTop + (this.inst.y-this.inst.bbox.top); + this.inst.set_bbox_changed(); + }; + behinstProto.resize = function (){ + var row = Math.ceil(this.value.length/this.columns); + var column = Math.ceil(this.value.length/this.rows); + if(this.rows<0){ + column = this.columns; + if(this.value.length0 && this.columns>0){ + var itemsCount = this.rows * this.columns; + if(this.value.length>=itemsCount){ + this.add(itemsCount-1); + this.nextRowColumn(); + this.resize(); + } + } + }; + behinstProto.setTemplateVisible = function (isVisible){ + if(this.isTemplateSet) + return; + var inst; + /* on firstframe the gridview update its view. the issue is that setTemplate might happens before the sliderbar set the slider button + with isSubComp == true and then get saved in the template. + */ + for (var i = 0, l= this.inst.layer.instances.length; i < l; i++) { + inst = this.inst.layer.instances[i]; + if (inst.uiType == "discreteProgress" || inst.uiType == "sliderbar" || inst.uiType == "progress" || inst.uiType == "scrollView"){ + inst._proui.init(); + } + } + /*for (var i = 0, l= this.inst.layer.instances.length; i < l; i++) { + inst = this.inst.layer.instances[i]; + if ( inst && (inst.uiType == "gridView" || inst.uiType == "dialog" || inst.uiType == "scrollView" || inst.uiType == "scrollBar" || inst.uiType == "slider") ) + continue; + inst.visible = isVisible; + }*/ + }; + behinstProto.tick = function () + { + if(this.firstFrame){ + this.firstFrame = false; + this.setTemplateVisible(false); + var dialog = this.proui.tags[this.dialogUID]; + if(dialog && (dialog.uiType == "dialog") && dialog._proui){ + if(!dialog._proui.outLayerChildren[this.inst.layer.name]){ + dialog._proui.outLayerChildren[this.inst.layer.name] = []; + } + dialog._proui.outLayerChildren[this.inst.layer.name].push(this.inst); + } + this.dpos.prev_x = this.inst.x; + this.dpos.prev_y = this.inst.y; + this.dpos.dx = 0; + this.dpos.dy = 0; + this.updateFromModel(); + if(!this.firstUpdateView){ + this.updateView({op:2}); + } + } + /*if(this.triggerRenderTickCt != 0){ + this.triggerRenderTickCt++; + if(this.triggerRenderTickCt == this.triggerRenderTickMax){ + this.triggerRenderTickCt = 0; + this.runtime.trigger(cr.behaviors.aekiro_gridView.prototype.cnds.OnRender, this.inst); + console.log("trigger render"); + } + }*/ + }; + behinstProto.updateChildren = function () + { + if(isNaN(this.dpos.prev_x)){ + this.dpos.prev_x = this.inst.x; + this.dpos.prev_y = this.inst.y; + } + this.dpos.dx = this.inst.x - this.dpos.prev_x; + this.dpos.dy = this.inst.y - this.dpos.prev_y; + this.dpos.prev_x = this.inst.x; + this.dpos.prev_y = this.inst.y; + var inst; + if( (this.dpos.dx != 0) || (this.dpos.dy != 0) ){ + for (var i = 0, l= this.inst.layer.instances.length; i < l; i++) { + inst = this.inst.layer.instances[i]; + if ( inst.isSubComp===true || (inst.uiType == "gridView") || (inst.uiType == "dialog") || (inst.uiType == "scrollView") || (inst.uiType == "scrollBar") || (inst.uiType == "slider")) + continue; + inst.x += this.dpos.dx; + inst.y += this.dpos.dy; + inst.set_bbox_changed(); + } + } + }; + behinstProto.tick2 = function () + { + this.updateChildren(); + }; + behinstProto.onDestroy = function () + { + }; + behinstProto.saveToJSON = function () + { + return { + }; + }; + behinstProto.loadFromJSON = function (o) + { + }; + var isObject = function(a) { + return (!!a) && (a.constructor === Object); + }; + var isArray = function(a) { + return (!!a) && (a.constructor === Array); + }; + var getValueByKeyString = function(o, s) { + s = s.replace(/\[(\w+)\]/g, '.$1'); // convert indexes to properties + s = s.replace(/^\./, ''); // strip a leading dot + var a = s.split('.'); + for (var i = 0, n = a.length; i < n; ++i) { + var k = a[i]; + if (k in o) { + o = o[k]; + } else { + return; + } + } + return o; + }; + function Cnds() {}; + Cnds.prototype.OnRender = function (){ + return true; + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + behaviorProto.acts = new Acts(); + function Exps() {}; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.aekiro_modelB = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.aekiro_modelB.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; + this.runtime = type.runtime; + if(!cr.proui){ + throw new Error("ProUI Plugin not found. Please add it to the project."); + return; + } + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.proui = cr.proui; + this.modelUID = this.properties[0]; + this.modelKey = this.properties[1]; + this.model = this.proui.tags[this.modelUID]; + this.model = (!!this.model && this.model.uiType == "model")?this.model:null; + this.firstFrame = true; + this.inst.proui_model = this; + if(this.model && this.modelKey){ + this.model.registerBehavior(this); + } + }; + behinstProto.setModelValue = function (value,options){ + if(this.model && this.modelKey){ + cr.plugins_.aekiro_model.prototype.acts.SetValueByKeyString.call(this.model,this.modelKey,value,options); + } + }; + behinstProto.setElementValue = function (value,options){ + var inst = this.inst; + if(inst._proui && inst._proui._setValue){ + inst._proui._setValue(value,options); + } + }; + behinstProto.getFromModel = function (){ + var value = null; + if(this.model && this.modelKey){ + value = this.model.getValue(this.modelKey); + } + return value; + }; + behinstProto.tick = function () + { + /*if(this.firstFrame){ + this.firstFrame = false; + }*/ + }; + behinstProto.onDestroy = function () + { + if(this.model){ + this.model.unregisterBehavior(this); + } + this.modelUID = 0; + this.modelKey = ""; + this.model = null; + }; + behinstProto.saveToJSON = function () + { + }; + behinstProto.loadFromJSON = function (o) + { + }; + function Cnds() {}; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.Reset = function () + { + if(this.model){ + this.model.unregisterBehavior(this); + } + this.modelUID = ""; + this.modelKey = ""; + this.model = null; + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.aekiro_scrollView = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.aekiro_scrollView.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; + this.runtime = type.runtime; + if(!cr.proui){ + throw new Error("ProUI Plugin not found. Please add it to the project."); + return; + } + if(!this.behavior.isHooked){ + cr.proui.HookMe(this.behavior,["touch","wheel"]); + this.behavior.isHooked = true; + } + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.proui = cr.proui; + this.proui.isTypeValid(this.inst,[cr.plugins_.Sprite,cr.plugins_.NinePatch,cr.plugins_.TiledBg],"Pro UI: ScrollView behavior is only applicable to Sprite Or 9-patch objects."); + this.scrolling = this.properties[0]; + this.isSwipeScroll = this.properties[1]; + this.isMouseScroll = this.properties[2]; + this.contentUID = this.properties[3]; + this.vSliderUID = this.properties[4]; + this.vScrollBarUID = this.properties[5]; + this.hSliderUID = this.properties[6]; + this.hScrollBarUID = this.properties[7]; + this.inertia = this.properties[8]; + this.movement = this.properties[9]; //0:clamped; 1:elastic + this.dialogUID = this.properties[10]; + if(!this.inertia){ //If there's no inertia, then the movement can't be elastic. + this.movement = 0; + } + this.elasticF = 1; + if(this.movement){ + this.elasticF = 0.4; + } + this.firstFrame = true; + this.uiType = "scrollView"; + this.inst.uiType = "scrollView"; + this.inst._proui = this; + this.dpos = {}; + this.proui.scrollViews["l"+this.inst.layer.index] = this; + this.onTouchStarted = false; + this.isTouchMoving = false; + this.onSliderTouchStarted = false; + this.onvSliderTouchStarted = false; + this.onhSliderTouchStarted = false; + this.content = null; + this.vSlider = null; + this.vScrollBar = null; + this.hSlider = null; + this.hScrollBar = null; + this.contentPrevWidth = 0; + this.contentPrevHeight = 0; + this.contentDpos = {}; + this.isInit = false; + this.isContentGridView = false; + this.scroll = { + isEnabled:false, + prevTouchX : 0, + dx:0, + prevTouchY : 0, + dy:0, + scrollRatio:0, + vScrolling: (this.scrolling == 0) || (this.scrolling == 2), + hScrolling: (this.scrolling == 1) || (this.scrolling == 2), + isSwipeScroll: this.isSwipeScroll, + isMouseScroll:this.isMouseScroll, + vSliderDy:0, + hSliderDx:0, + scrollToTargetY:null, + scrollToTargetX:null, + scrollToX:false, + scrollToY:false, + scrollToSmooth : 0.3 + }; + }; + behinstProto.scrollTo = function (targetX,targetY,targetType,smooth){ + this.inst.update_bbox(); + this.content.update_bbox(); + this.scroll.scrollToSmooth = smooth; + this.scroll.scrollToTargetY = null; + this.scroll.scrollToTargetX = null; + this.scroll.scrollToX = false; + this.scroll.scrollToY = false; + this.onScrollToStarted = false; + if(targetY>=0 && this.scroll.vScrolling ){ + var viewportCenterY = (this.inst.bbox.top+this.inst.bbox.bottom)/2; + if(targetType){//Percentage + targetY = cr.clamp(targetY,0,1); + targetY = this.content.bbox.top + targetY*this.content.height; + }else{ + targetY = this.content.bbox.top + targetY; + } + this.scroll.scrollToTargetY = this.content.y + (viewportCenterY-targetY); + this.scroll.scrollToY = true; + this.scroll.isEnabled = true; + this.onScrollToStarted = true; + } + if(targetX>=0 && this.scroll.hScrolling){ + var viewportCenterX = (this.inst.bbox.left+this.inst.bbox.right)/2; + if(targetType){//Percentage + targetX = cr.clamp(targetX,0,1); + targetX = this.content.bbox.left + targetX*this.content.width; + }else{ + targetX = this.content.bbox.left + targetX; + } + this.scroll.scrollToTargetX = this.content.x + (viewportCenterX-targetX); + this.scroll.scrollToX = true; + this.scroll.isEnabled = true; + this.onScrollToStarted = true; + } + this.content.set_bbox_changed(); + }; + behinstProto.OnWheel = function (dir){ + if(!this.isInteractible()){ + return; + } + if(this.scroll.isMouseScroll && this.scroll.vScrolling && this.isMouseOver()){ + this.scroll.scrollToX = false; + this.scroll.scrollToY = false; + this.scroll.isEnabled = true; + this.onWheelStarted = true; + dir = (dir == 0 ? -1 : 1); + this.scroll.dy = dir*0.026*this.content.height; + } + }; + behinstProto.OnAnyTouchStart = function () + { + if(this.vSlider && this.isInTouch(this.vSlider) && this.scroll.vScrolling){ + this.OnSliderTouchStart(); + this.onvSliderTouchStarted = true; + } + if(this.hSlider && this.isInTouch(this.hSlider) && this.scroll.hScrolling){ + this.OnSliderTouchStart(); + this.onhSliderTouchStarted = true; + } + }; + behinstProto.isInteractible = function () + { + var isInteractible = true; + for (var i = 0,l=this.proui.currentDialogs.length; i < l; i++) { + if(this.inst.layer.index0 || diff_bottomY>0){ + if(this.scroll.scrollToY){ + this.content.y = cr.clamp(this.content.y,this.content.y+diff_bottomY,this.content.y - diff_topY); + this.scroll.scrollToTargetY = this.content.y; + this.scroll.scrollToY = false; + }else{ + this.content.y = cr.clamp(this.content.y,cr.lerp(this.content.y,this.content.y+diff_bottomY,this.elasticF),cr.lerp(this.content.y,this.content.y - diff_topY,this.elasticF)); + } + } + this.content.set_bbox_changed(); + } + if(this.scroll.hScrolling){ + diff_rightX = this.inst.bbox.right-this.content.bbox.right; + diff_leftX = this.content.bbox.left-this.inst.bbox.left; + if(diff_rightX>0 || diff_leftX>0){ + if(this.scroll.scrollToX){ + this.content.x = cr.clamp(this.content.x,this.content.x + diff_rightX,this.content.x - diff_leftX); + this.scroll.scrollToTargetX = this.content.x; + this.scroll.scrollToX = false; + }else{ + this.content.x = cr.clamp(this.content.x,cr.lerp(this.content.x,this.content.x + diff_rightX,this.elasticF),cr.lerp(this.content.x,this.content.x - diff_leftX,this.elasticF)); + } + } + this.content.set_bbox_changed(); + } + if(!this.inertia && this.onWheelStarted){ + this.scroll.isEnabled = false; + this.onWheelStarted = false; + } + if(this.onScrollToStarted && !this.scroll.scrollToX && !this.scroll.scrollToY){ + this.scroll.isEnabled = false; + this.onScrollToStarted = false; + } + if( this.inertia && Math.abs(this.scroll.dx)<0.1 && Math.abs(this.scroll.dy)<0.1 && !this.scroll.scrollToX && !this.scroll.scrollToY ){ + this.scroll.isEnabled = false; + console.log("Scroll disabled"); + } + } + }; + behinstProto.updateContentChildren = function () + { + if(!this.content)return; + /*this.contentDpos.dx = this.content.x - this.contentDpos.prev_x; + this.contentDpos.dy = this.content.y - this.contentDpos.prev_y; + this.contentDpos.prev_x = this.content.x; + this.contentDpos.prev_y = this.content.y;*/ + var inst; + if( (this.contentDpos.dx != 0) || (this.contentDpos.dy != 0) ){ + for (var i = 0, l= this.inst.layer.instances.length; i < l; i++) { + inst = this.inst.layer.instances[i]; + if(!inst)continue; + if ( inst==this.content || inst.isSubComp===true || inst.uiType == "dialog" || inst.uiType == "scrollView" || inst.uiType == "scrollBar" || inst.uiType == "slider") + continue; + inst.x += this.contentDpos.dx; + inst.y += this.contentDpos.dy; + inst.set_bbox_changed(); + } + } + }; + behinstProto.updateChildren = function () + { + if(isNaN(this.dpos.prev_x)){ + this.dpos.prev_x = this.inst.x; + this.dpos.prev_y = this.inst.y; + } + this.dpos.dx = this.inst.x - this.dpos.prev_x; + this.dpos.dy = this.inst.y - this.dpos.prev_y; + this.dpos.prev_x = this.inst.x; + this.dpos.prev_y = this.inst.y; + var parts = [this.content, this.vScrollBar,this.vSlider,this.hScrollBar,this.hSlider]; + var inst; + if( (this.dpos.dx != 0) || (this.dpos.dy != 0) ){ + for (var i = 0, l= parts.length; i < l; i++) { + inst = parts[i]; + if(inst){ + inst.x += this.dpos.dx; + inst.y += this.dpos.dy; + inst.set_bbox_changed(); + } + } + } + }; + behinstProto.tick2 = function () + { + if(!this.isContentGridView){ + this.updateContentChildren(); + } + this.updateChildren(); + }; + behinstProto.onDestroy = function () + { + this.proui.scrollViews["l"+this.inst.layer.index] = null; + }; + behinstProto.saveToJSON = function () + { + return { + }; + }; + behinstProto.loadFromJSON = function (o) + { + }; + function Cnds() {}; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.ScrollTo = function (targetX,targetY,targetType,smooth) + { + this.scrollTo(targetX,targetY,targetType,smooth); + } + behaviorProto.acts = new Acts(); + function Exps() {}; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.aekiro_sliderbar = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.aekiro_sliderbar.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; + this.runtime = type.runtime; + if(!cr.proui){ + throw new Error("ProUI Plugin not found. Please add it to the project."); + return; + } + if(!this.behavior.isHooked){ + cr.proui.HookMe(this.behavior,["touch"]); + this.behavior.isHooked = true; + } + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.proui = cr.proui; + this.proui.isTypeValid(this.inst,[cr.plugins_.Sprite,cr.plugins_.NinePatch],"Pro UI: SliderBar behavior is only applicable to Sprite Or 9-patch objects."); + this.isEnabled = this.properties[0]; + this.value = this.properties[1]; + this.sliderButtonUID = this.properties[2]; + this.minValue = this.properties[3]; + this.maxValue = this.properties[4]; + this.step = this.properties[5]; + this.firstFrame = true; + this.inst.uiType = "sliderbar"; + this.uiType = "sliderbar"; + this.inst._proui = this; + this.firstSetValue = false; + this.compParent = this; + this.isInit = false; + this.dpos = {}; + this.onSliderTouchStarted = false; + this.onValueChanged = false; + this.value = this.validateValue(this.value); //needs to be after step + }; + behinstProto.getTemplate = function (){ + this.sliderButton = this.proui.tags[this.sliderButtonUID]; + if(!this.sliderButton){ + console.error("SLIDERBAR %d : Slider button not found",this.inst.uid); + return; + } + var template = { + sliderTag:this.sliderButtonUID, + type: this.sliderButton.type, + json: JSON.stringify(this.runtime.saveInstanceToJSON(this.sliderButton, true)) + }; + return template; + }; + behinstProto.clone = function (template){ + if(!template){ + return; + } + var sliderButton = this.runtime.createInstance(template.type, this.inst.layer); + sliderButton.type.plugin.acts.LoadFromJsonString.call(sliderButton,template.json); + var sliderTag = template.sliderTag + this.proui.getIter(); + sliderButton.aekiro_tag.tag = sliderTag; + var prevRegister = this.runtime.extra.notRegister; + this.runtime.extra.notRegister = false; + this.proui.addTag(sliderTag,sliderButton); + this.runtime.extra.notRegister = prevRegister; + this.sliderButtonUID = sliderTag; + this.init(); + }; + behinstProto.setValue = function (value){ + this.firstSetValue = true; + if(this._setValue(value)){ + var modelB = this.inst.proui_model; + if(modelB){ + modelB.setModelValue(value,{except:this.compParent}); + } + if(this.inst.proui_bind){ + this.inst.proui_bind.updateGridViewModel(value,{except:this.compParent}); + } + } + }; + behinstProto.validateValue = function (value){ + value = this.proui.validateSimpleValue(value,0); + value = Math.round(value/this.step)*this.step; + value = cr.clamp(value,this.minValue,this.maxValue); + return value; + }; + behinstProto._setValue = function (value){ + if(value == null){ + return false; + } + value = this.validateValue(value); + this.value = value; + this.updateView(); + return true; + /*}else{ + return false; + }*/ + }; + behinstProto.updateFromModel = function (){ + var modelB = this.inst.proui_model; + if(modelB){ + var value = modelB.getFromModel(); + if(value == null){ + return; + } + value = this.validateValue(value); + this.value = value; + } + }; + behinstProto.OnAnyTouchStart = function () + { + if(this.sliderButton && this.isInTouch(this.sliderButton) && this.isEnabled){ + this.OnSliderTouchStart(); + this.onSliderTouchStarted = true; + this.onValueChanged = true; + } + }; + behinstProto.OnTouchStart = function (){ + if( (this.sliderButton && this.isInTouch(this.sliderButton)) || !this.isEnabled){ + return; + } + this.onX(this.proui.X(this.inst.layer.index)); + this.onValueChanged = true; + }; + behinstProto.OnSliderTouchStart = function (){ + }; + behinstProto.OnAnyTouchEnd = function (touchX, touchY) + { + if(this.onSliderTouchStarted){ + this.OnTouchEnd(touchX, touchY); + } + this.onSliderTouchStarted = false; + this.onValueChanged = false; + }; + behinstProto.OnTouchEnd = function (touchX, touchY){ + this.setValue(this.value); + }; + behinstProto.updateView = function (){ + if(!this.isInit){ + return; + } + this.inst.update_bbox(); + this.sliderButton.x = cr.clamp(this.inst.bbox.left+((this.value-this.minValue)/this.step)*this.widthStep,this.inst.bbox.left,this.inst.bbox.right); + this.sliderButton.y = (this.inst.bbox.bottom+this.inst.bbox.top)/2; + this.sliderButton.set_bbox_changed(); + this.lastStop = this.sliderButton.x; + }; + behinstProto.setEnabled = function (isEnabled) + { + this.isEnabled = isEnabled; + } + behinstProto.init = function (){ + if(this.isInit){ + return; + } + this.sliderButton = this.proui.tags[this.sliderButtonUID]; + if(!this.sliderButton){ + console.error("SLIDERBAR %d : Slider button not found",this.inst.uid); + return; + } + this.sliderButton.uiType = "sliderbutton"; + this.inst.update_bbox(); + this.sliderButton.x = this.inst.bbox.left; + this.sliderButton.y = (this.inst.bbox.bottom+this.inst.bbox.top)/2; + this.sliderButton.set_bbox_changed(); + this.sliderButton.isSubComp = true; + this.widthStep = (this.step/(this.maxValue-this.minValue))* this.inst.width; + this.thres = this.step/(this.maxValue-this.minValue); + this.lastStop = this.inst.bbox.left; + this.dpos.prev_x = this.inst.x; + this.dpos.prev_y = this.inst.y; + this.dpos.dx = 0; + this.dpos.dy = 0; + this.isInit = true; + }; + behinstProto.onX = function (touchX){ + this.inst.update_bbox(); + var diff = touchX-this.lastStop; + if(this.thres>0.04){ + if(this.sign(diff)>0 && (this.maxValue-this.value < this.step) ){ + return; + } + if( (Math.abs(diff) > this.widthStep*2/3)){ + this.lastStop = this.lastStop + this.sign(diff)*this.widthStep; + this.sliderButton.x = cr.clamp(this.lastStop,this.inst.bbox.left,this.inst.bbox.right); + this.sliderButton.set_bbox_changed(); + this.value = this.value + this.sign(diff)*this.step; + this.value = cr.clamp(this.value,this.minValue,this.maxValue); + } + }else{ + this.sliderButton.x = cr.clamp(touchX,this.inst.bbox.left,this.inst.bbox.right); + this.sliderButton.set_bbox_changed(); + this.value = ((this.sliderButton.x-this.inst.bbox.left)/this.inst.width)*(this.maxValue-this.minValue); + this.value = this.minValue+Math.round(this.value/this.step)*this.step; + this.value = cr.clamp(this.value,this.minValue,this.maxValue); + } + }; + behinstProto.isInTouch = function (inst) + { + var touch_x = this.proui.X(this.inst.layer.index); + var touch_y = this.proui.Y(this.inst.layer.index); + inst.update_bbox(); + return inst.contains_pt(touch_x, touch_y); + }; + behinstProto.sign = function(value_){ + if (isNaN(parseFloat(value_))) return NaN; + if (value_ === 0) return 0; + if (value_ === -0) return -0; + return value_ > 0 ? 1 : -1; + }; + behinstProto.tick = function () + { + if(this.firstFrame){ + this.firstFrame = false; + this.init(); + if(!this.firstSetValue){ + this.updateFromModel(); + } + this.updateView(); + } + if(this.onSliderTouchStarted){ + this.onX(this.proui.X(this.inst.layer.index)); + } + }; + behinstProto.updateChildren = function () + { + if(!this.sliderButton){ + return; + } + if(isNaN(this.dpos.prev_x)){ + this.dpos.prev_x = this.inst.x; + this.dpos.prev_y = this.inst.y; + } + this.dpos.dx = this.inst.x - this.dpos.prev_x; + this.dpos.dy = this.inst.y - this.dpos.prev_y; + this.dpos.prev_x = this.inst.x; + this.dpos.prev_y = this.inst.y; + var inst = this.sliderButton; + if( (this.dpos.dx != 0) || (this.dpos.dy != 0) ){ + inst.x += this.dpos.dx; + inst.y += this.dpos.dy; + inst.set_bbox_changed(); + } + }; + behinstProto.tick2 = function () + { + this.updateChildren(); + }; + behinstProto.onDestroy = function () + { + if(this.runtime.changelayout){ + return; + } + this.proui.toBeDestroyed.push(this.sliderButton); + var proui = this.proui; + setTimeout(function(){ proui.clearDestroyList(); }, 0); + }; + behinstProto.saveToJSON = function () + { + return { + "isEnabled" : this.isEnabled, + "value": this.value, + "minValue": this.minValue, + "maxValue": this.maxValue, + "step": this.step + }; + }; + behinstProto.loadFromJSON = function (o) + { + this.isEnabled = o["isEnabled"]; + this.value = o["value"]; + this.minValue = o["minValue"]; + this.maxValue = o["maxValue"]; + this.step = o["step"]; + }; + var getValueByKeyString = function(o, s) { + s = s.replace(/\[(\w+)\]/g, '.$1'); // convert indexes to properties + s = s.replace(/^\./, ''); // strip a leading dot + var a = s.split('.'); + for (var i = 0, n = a.length; i < n; ++i) { + var k = a[i]; + if (k in o) { + o = o[k]; + } else { + return; + } + } + return o; + }; + function Cnds() {}; + behaviorProto.cnds = new Cnds(); + Cnds.prototype.IsSliding = function (){ + return this.onValueChanged; + }; + function Acts() {}; + Acts.prototype.setValue = function (value){ + this.setValue(value); + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.value = function (ret) + { + ret.set_float(this.value); + }; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.aekiro_tag = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.aekiro_tag.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; + this.runtime = type.runtime; + if(!cr.proui){ + throw new Error("ProUI Plugin not found. Please add it to the project."); + return; + } + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.proui = cr.proui; + this.tag = this.properties[0]; + this.inst.proui_tag = this.tag; + this.inst.aekiro_tag = this; + this.proui.addTag(this.tag,this.inst); + }; + behinstProto.tick = function () + { + }; + behinstProto.onDestroy = function () + { + this.proui.removeTag(this.tag); + }; + behinstProto.saveToJSON = function () + { + return { + }; + }; + behinstProto.loadFromJSON = function (o) + { + }; + function Cnds() {}; + Cnds.prototype.IsTag = function (tag){ + return (tag == this.tag); + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.tag = function (ret) + { + ret.set_string(this.tag); + }; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.jumpthru = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.jumpthru.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.inst.extra["jumpthruEnabled"] = (this.properties[0] !== 0); + }; + behinstProto.tick = function () + { + }; + function Cnds() {}; + Cnds.prototype.IsEnabled = function () + { + return this.inst.extra["jumpthruEnabled"]; + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetEnabled = function (e) + { + this.inst.extra["jumpthruEnabled"] = !!e; + }; + behaviorProto.acts = new Acts(); +}()); +var easeOutBounceArray = []; +var easeInElasticArray = []; +var easeOutElasticArray = []; +var easeInOutElasticArray = []; +var easeInCircle = []; +var easeOutCircle = []; +var easeInOutCircle = []; +var easeInBack = []; +var easeOutBack = []; +var easeInOutBack = []; +var litetween_precision = 10000; +var updateLimit = 0; //0.0165; +function easeOutBouncefunc(t) { + var b=0.0; + var c=1.0; + var d=1.0; + if ((t/=d) < (1/2.75)) { + result = c*(7.5625*t*t) + b; + } else if (t < (2/2.75)) { + result = c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; + } else if (t < (2.5/2.75)) { + result = c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; + } else { + result = c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; + } + return result; +} +function integerize(t, d) +{ + return Math.round(t/d*litetween_precision); +} +function easeFunc(easing, t, b, c, d, flip, param) +{ + var ret_ease = 0; + switch (easing) { + case 0: // linear + ret_ease = c*t/d + b; + break; + case 1: // easeInQuad + ret_ease = c*(t/=d)*t + b; + break; + case 2: // easeOutQuad + ret_ease = -c *(t/=d)*(t-2) + b; + break; + case 3: // easeInOutQuad + if ((t/=d/2) < 1) + ret_ease = c/2*t*t + b + else + ret_ease = -c/2 * ((--t)*(t-2) - 1) + b; + break; + case 4: // easeInCubic + ret_ease = c*(t/=d)*t*t + b; + break; + case 5: // easeOutCubic + ret_ease = c*((t=t/d-1)*t*t + 1) + b; + break; + case 6: // easeInOutCubic + if ((t/=d/2) < 1) + ret_ease = c/2*t*t*t + b + else + ret_ease = c/2*((t-=2)*t*t + 2) + b; + break; + case 7: // easeInQuart + ret_ease = c*(t/=d)*t*t*t + b; + break; + case 8: // easeOutQuart + ret_ease = -c * ((t=t/d-1)*t*t*t - 1) + b; + break; + case 9: // easeInOutQuart + if ((t/=d/2) < 1) + ret_ease = c/2*t*t*t*t + b + else + ret_ease = -c/2 * ((t-=2)*t*t*t - 2) + b; + break; + case 10: // easeInQuint + ret_ease = c*(t/=d)*t*t*t*t + b; + break; + case 11: // easeOutQuint + ret_ease = c*((t=t/d-1)*t*t*t*t + 1) + b; + break; + case 12: // easeInOutQuint + if ((t/=d/2) < 1) + ret_ease = c/2*t*t*t*t*t + b + else + ret_ease = c/2*((t-=2)*t*t*t*t + 2) + b; + break; + case 13: // easeInCircle + if (param.optimized) { + ret_ease = easeInCircle[integerize(t,d)]; + } else { + ret_ease = -(Math.sqrt(1-t*t) - 1); + } + break; + case 14: // easeOutCircle + if (param.optimized) { + ret_ease = easeOutCircle[integerize(t,d)]; + } else { + ret_ease = Math.sqrt(1 - ((t-1)*(t-1))); + } + break; + case 15: // easeInOutCircle + if (param.optimized) { + ret_ease = easeInOutCircle[integerize(t,d)]; + } else { + if ((t/=d/2) < 1) ret_ease = -c/2 * (Math.sqrt(1 - t*t) - 1) + b + else ret_ease = c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; + } + break; + case 16: // easeInBack + if (param.optimized) { + ret_ease = easeInBack[integerize(t,d)]; + } else { + var s = param.s; + ret_ease = c*(t/=d)*t*((s+1)*t - s) + b; + } + break; + case 17: // easeOutBack + if (param.optimized) { + ret_ease = easeOutBack[integerize(t,d)]; + } else { + var s = param.s; + ret_ease = c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; + } + break; + case 18: // easeInOutBack + if (param.optimized) { + ret_ease = easeInOutBack[integerize(t,d)]; + } else { + var s = param.s + if ((t/=d/2) < 1) + ret_ease = c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b + else + ret_ease = c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; + } + break; + case 19: //easeInElastic + if (param.optimized) { + ret_ease = easeInElasticArray[integerize(t, d)]; + } else { + var a = param.a; + var p = param.p; + var s = 0; + if (t==0) ret_ease = b; if ((t/=d)==1) ret_ease = b+c; + if (p==0) p=d*.3; if (a==0 || a < Math.abs(c)) { a=c; s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + ret_ease = -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + } + break; + case 20: //easeOutElastic + if (param.optimized) { + ret_ease = easeOutElasticArray[integerize(t,d)]; + } else { + var a = param.a; + var p = param.p; + var s = 0; + if (t==0) ret_ease= b; if ((t/=d)==1) ret_ease= b+c; if (p == 0) p=d*.3; + if (a==0 || a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + ret_ease= (a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b); + } + break; + case 21: //easeInOutElastic + if (param.optimized) { + ret_ease = easeInOutElasticArray[integerize(t,d)]; + } else { + var a = param.a; + var p = param.p; + var s = 0; + if (t==0) ret_ease = b; + if ((t/=d/2)==2) ret_ease = b+c; + if (p==0) p=d*(.3*1.5); + if (a==0 || a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + if (t < 1) + ret_ease = -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b + else + ret_ease = a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; + } + break; + case 22: //easeInBounce + if (param.optimized) { + ret_ease = c - easeOutBounceArray[integerize(d-t, d)] + b; + } else { + ret_ease = c - easeOutBouncefunc(d-t/d) + b; + } + break; + case 23: //easeOutBounce + if (param.optimized) { + ret_ease = easeOutBounceArray[integerize(t, d)]; + } else { + ret_ease = easeOutBouncefunc(t/d); + } + break; + case 24: //easeInOutBounce + if (param.optimized) { + if (t < d/2) + ret_ease = (c - easeOutBounceArray[integerize(d-(t*2), d)] + b) * 0.5 +b; + else + ret_ease = easeOutBounceArray[integerize(t*2-d, d)] * .5 + c*.5 + b; + } else { + if (t < d/2) + ret_ease = (c - easeOutBouncefunc(d-(t*2)) + b) * 0.5 +b; + else + ret_ease = easeOutBouncefunc((t*2-d)/d) * .5 + c *.5 + b; + } + break; + case 25: //easeInSmoothstep + var mt = (t/d) / 2; + ret_ease = (2*(mt * mt * (3 - 2*mt))); + break; + case 26: //easeOutSmoothstep + var mt = ((t/d) + 1) / 2; + ret_ease = ((2*(mt * mt * (3 - 2*mt))) - 1); + break; + case 27: //easeInOutSmoothstep + var mt = (t / d); + ret_ease = (mt * mt * (3 - 2*mt)); + break; + }; + if (flip) + return (c - b) - ret_ease + else + return ret_ease; +}; +(function preCalculateArray() { + var d = 1.0; + var b = 0.0; + var c = 1.0; + var result = 0.0; + var a = 0.0; + var p = 0.0; + var t = 0.0; + var s = 0.0; + for (var ti = 0; ti <= litetween_precision; ti++) { + t = ti/litetween_precision; + if ((t/=d) < (1/2.75)) { + result = c*(7.5625*t*t) + b; + } else if (t < (2/2.75)) { + result = c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; + } else if (t < (2.5/2.75)) { + result = c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; + } else { + result = c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; + } + easeOutBounceArray[ti] = result; + t = ti/litetween_precision; a = 0; p = 0; + if (t==0) result = b; if ((t/=d)==1) result = b+c; + if (p==0) p=d*.3; if (a==0 || a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + result = -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + easeInElasticArray[ti] = result; + t = ti/litetween_precision; a = 0; p = 0; + if (t==0) result= b; if ((t/=d)==1) result= b+c; if (p == 0) p=d*.3; + if (a==0 || a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + result= (a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b); + easeOutElasticArray[ti] = result; + t = ti/litetween_precision; a = 0; p = 0; + if (t==0) result = b; + if ((t/=d/2)==2) result = b+c; + if (p==0) p=d*(.3*1.5); + if (a==0 || a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + if (t < 1) + result = -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b + else + result = a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; + easeInOutElasticArray[ti] = result; + t = ti/litetween_precision; easeInCircle[ti] = -(Math.sqrt(1-t*t) - 1); + t = ti/litetween_precision; easeOutCircle[ti] = Math.sqrt(1 - ((t-1)*(t-1))); + t = ti/litetween_precision; + if ((t/=d/2) < 1) result = -c/2 * (Math.sqrt(1 - t*t) - 1) + b + else result = c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; + easeInOutCircle[ti] = result; + t = ti/litetween_precision; s = 0; + if (s==0) s = 1.70158; + result = c*(t/=d)*t*((s+1)*t - s) + b; + easeInBack[ti] = result; + t = ti/litetween_precision; s = 0; + if (s==0) s = 1.70158; + result = c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; + easeOutBack[ti] = result; + t = ti/litetween_precision; s = 0; if (s==0) s = 1.70158; + if ((t/=d/2) < 1) + result = c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b + else + result = c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; + easeInOutBack[ti] = result; + } +}()); +var TweenObject = function() +{ + var constructor = function (tname, tweened, easefunc, initial, target, duration, enforce) + { + this.name = tname; + this.value = 0; + this.setInitial(initial); + this.setTarget(target); + this.easefunc = easefunc; + this.tweened = tweened; + this.duration = duration; + this.progress = 0; + this.state = 0; + this.onStart = false; + this.onEnd = false; + this.onReverseStart = false; + this.onReverseEnd = false; + this.lastKnownValue = 0; + this.lastKnownValue2 = 0; + this.enforce = enforce; + this.pingpong = 1.0; + this.flipEase = false; + this.easingparam = []; + this.lastState = 1; + for (var i=0; i<28; i++) { + this.easingparam[i] = {}; + this.easingparam[i].a = 0.0; + this.easingparam[i].p = 0.0; + this.easingparam[i].t = 0.0; + this.easingparam[i].s = 0.0; + this.easingparam[i].optimized = true; + } + } + return constructor; +}(); +(function () { + TweenObject.prototype = { + }; + TweenObject.prototype.flipTarget = function () + { + var x1 = this.initialparam1; + var x2 = this.initialparam2; + this.initialparam1 = this.targetparam1; + this.initialparam2 = this.targetparam2; + this.targetparam1 = x1; + this.targetparam2 = x2; + this.lastKnownValue = 0; + this.lastKnownValue2 = 0; + } + TweenObject.prototype.setInitial = function (initial) + { + this.initialparam1 = parseFloat(initial.split(",")[0]); + this.initialparam2 = parseFloat(initial.split(",")[1]); + this.lastKnownValue = 0; + this.lastKnownValue2 = 0; + } + TweenObject.prototype.setTarget = function (target) + { + this.targetparam1 = parseFloat(target.split(",")[0]); + this.targetparam2 = parseFloat(target.split(",")[1]); + if (isNaN(this.targetparam2)) this.targetparam2 = this.targetparam1; + } + TweenObject.prototype.OnTick = function(dt) + { + if (this.state === 0) return -1.0; + if (this.state === 1) + this.progress += dt; + if (this.state === 2) + this.progress -= dt; + if (this.state === 3) { + this.state = 0; + } + if ((this.state === 4) || (this.state === 6)) { + this.progress += dt * this.pingpong; + } + if (this.state === 5) { + this.progress += dt * this.pingpong; + } + if (this.progress < 0) { + this.progress = 0; + if (this.state === 4) { + this.pingpong = 1; + } else if (this.state === 6) { + this.pingpong = 1; + this.flipEase = false; + } else { + this.state = 0; + } + this.onReverseEnd = true; + return 0.0; + } else if (this.progress > this.duration) { + this.progress = this.duration; + if (this.state === 4) { + this.pingpong = -1; + } else if (this.state === 6) { + this.pingpong = -1; + this.flipEase = true; + } else if (this.state === 5) { + this.progress = 0.0; + } else { + this.state = 0; + } + this.onEnd = true; + return 1.0; + } else { + if (this.flipEase) { + var factor = easeFunc(this.easefunc, this.duration - this.progress, 0, 1, this.duration, this.flipEase, this.easingparam[this.easefunc]); + } else { + var factor = easeFunc(this.easefunc, this.progress, 0, 1, this.duration, this.flipEase, this.easingparam[this.easefunc]); + } + return factor; + } + }; +}()); +; +; +function trim (str) { + return str.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); +} +cr.behaviors.lunarray_LiteTween = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.lunarray_LiteTween.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + this.i = 0; // progress + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.playmode = this.properties[0]; + this.active = (this.playmode == 1) || (this.playmode == 2) || (this.playmode == 3) || (this.playmode == 4); + this.tweened = this.properties[1]; // 0=Position|1=Size|2=Width|3=Height|4=Angle|5=Opacity|6=Value only|7=Horizontal|8=Vertical|9=Scale + this.easing = this.properties[2]; + this.target = this.properties[3]; + this.targetmode = this.properties[4]; + this.useCurrent = false; + if (this.targetmode === 1) this.target = "relative("+this.target+")"; + this.duration = this.properties[5]; + this.enforce = (this.properties[6] === 1); + this.value = 0; + this.tween_list = {}; + this.addToTweenList("default", this.tweened, this.easing, "current", this.target, this.duration, this.enforce); + if (this.properties[0] === 1) this.startTween(0) + if (this.properties[0] === 2) this.startTween(2) + if (this.properties[0] === 3) this.startTween(3) + if (this.properties[0] === 4) this.startTween(4) + }; + behinstProto.parseCurrent = function(tweened, parseText) + { + if (parseText === undefined) parseText = "current"; + var parsed = trim(parseText); + parseText = trim(parseText); + var value = this.value; + if (parseText === "current") { + switch (tweened) { + case 0: parsed = this.inst.x + "," + this.inst.y; break; + case 1: parsed = this.inst.width + "," + this.inst.height; break; + case 2: parsed = this.inst.width + "," + this.inst.height; break; + case 3: parsed = this.inst.width + "," + this.inst.height; break; + case 4: parsed = cr.to_degrees(this.inst.angle) + "," + cr.to_degrees(this.inst.angle); break; + case 5: parsed = (this.inst.opacity*100) + "," + (this.inst.opacity*100); break; + case 6: parsed = value + "," + value; break; + case 7: parsed = this.inst.x + "," + this.inst.y; break; + case 8: parsed = this.inst.x + "," + this.inst.y; break; + case 9: + if (this.inst.curFrame !== undefined) + parsed = (this.inst.width/this.inst.curFrame.width) + "," +(this.inst.height/this.inst.curFrame.height) + else + parsed = "1,1"; + break; + default: break; + } + } + if (parseText.substring(0,8) === "relative") { + var param1 = parseText.match(/\((.*?)\)/); + if (param1) { + var relativex = parseFloat(param1[1].split(",")[0]); + var relativey = parseFloat(param1[1].split(",")[1]); + } + if (isNaN(relativex)) relativex = 0; + if (isNaN(relativey)) relativey = 0; + switch (tweened) { + case 0: parsed = (this.inst.x+relativex) + "," + (this.inst.y+relativey); break; + case 1: parsed = (this.inst.width+relativex) + "," + (this.inst.height+relativey); break; + case 2: parsed = (this.inst.width+relativex) + "," + (this.inst.height+relativey); break; + case 3: parsed = (this.inst.width+relativex) + "," + (this.inst.height+relativey); break; + case 4: parsed = (cr.to_degrees(this.inst.angle)+relativex) + "," + (cr.to_degrees(this.inst.angle)+relativey); break; + case 5: parsed = (this.inst.opacity*100+relativex) + "," + (this.inst.opacity*100+relativey); break; + case 6: parsed = value+relativex + "," + value+relativex; break; + case 7: parsed = (this.inst.x+relativex) + "," + (this.inst.y); break; + case 8: parsed = (this.inst.x) + "," + (this.inst.y+relativex); break; + case 9: parsed = (relativex) + "," + (relativey); break; + default: break; + } + } + return parsed; + }; + behinstProto.addToTweenList = function(tname, tweened, easing, init, targ, duration, enforce) + { + init = this.parseCurrent(tweened, init); + targ = this.parseCurrent(tweened, targ); + if (this.tween_list[tname] !== undefined) { + delete this.tween_list[tname] + } + this.tween_list[tname] = new TweenObject(tname, tweened, easing, init, targ, duration, enforce); + this.tween_list[tname].dt = 0; + }; + behinstProto.saveToJSON = function () + { + var v = JSON.stringify(this.tween_list["default"]); + return { + "playmode": this.playmode, + "active": this.active, + "tweened": this.tweened, + "easing": this.easing, + "target": this.target, + "targetmode": this.targetmode, + "useCurrent": this.useCurrent, + "duration": this.duration, + "enforce": this.enforce, + "value": this.value, + "tweenlist": JSON.stringify(this.tween_list["default"]) + }; + }; + TweenObject.Load = function(rawObj, tname, tweened, easing, init, targ, duration, enforce) + { + var obj = new TweenObject(tname, tweened, easing, init, targ, duration, enforce); + for(var i in rawObj) + obj[i] = rawObj[i]; + return obj; + }; + behinstProto.loadFromJSON = function (o) + { + var x = JSON.parse(o["tweenlist"]); + var tempObj = TweenObject.Load(x, x.name, x.tweened, x.easefunc, x.initialparam1+","+x.initialparam2, x.targetparam1+","+x.targetparam2, x.duration, x.enforce); + this.tween_list["default"] = tempObj; + this.playmode = o["playmode"]; + this.active = o["active"]; + this.movement = o["tweened"]; + this.easing = o["easing"]; + this.target = o["target"]; + this.targetmode = o["targetmode"]; + this.useCurrent = o["useCurrent"]; + this.duration = o["duration"]; + this.enforce = o["enforce"]; + this.value = o["value"]; + }; + behinstProto.setProgressTo = function (mark) + { + if (mark > 1.0) mark = 1.0; + if (mark < 0.0) mark = 0.0; + for (var i in this.tween_list) { + var inst = this.tween_list[i]; + inst.lastKnownValue = 0; + inst.lastKnownValue2 = 0; + inst.state = 3; + inst.progress = mark * inst.duration; + var factor = inst.OnTick(0); + this.updateTween(inst, factor); + } + } + behinstProto.startTween = function (startMode) + { + for (var i in this.tween_list) { + var inst = this.tween_list[i]; + if (this.useCurrent) { + var init = this.parseCurrent(inst.tweened, "current"); + var target = this.parseCurrent(inst.tweened, this.target); + inst.setInitial(init); + inst.setTarget(target); + } + if (startMode === 0) { + inst.progress = 0.000001; + inst.lastKnownValue = 0; + inst.lastKnownValue2 = 0; + inst.onStart = true; + inst.state = 1; + } + if (startMode === 1) { + inst.state = inst.lastState; + } + if ((startMode === 2) || (startMode === 4)) { + inst.progress = 0.000001; + inst.lastKnownValue = 0; + inst.lastKnownValue2 = 0; + inst.onStart = true; + if (startMode == 2) inst.state = 4; //state ping pong + if (startMode == 4) inst.state = 6; //state flip flop + } + if (startMode === 3) { + inst.progress = 0.000001; + inst.lastKnownValue = 0; + inst.lastKnownValue2 = 0; + inst.onStart = true; + inst.state = 5; + } + } + } + behinstProto.stopTween = function (stopMode) + { + for (var i in this.tween_list) { + var inst = this.tween_list[i]; + if ((inst.state != 3) && (inst.state != 0)) //don't save paused/seek state + inst.lastState = inst.state; + if (stopMode === 1) inst.progress = 0.0; + if (stopMode === 2) inst.progress = inst.duration; + inst.state = 3; + var factor = inst.OnTick(0); + this.updateTween(inst, factor); + } + } + behinstProto.reverseTween = function(reverseMode) + { + for (var i in this.tween_list) { + var inst = this.tween_list[i]; + if (reverseMode === 1) { + inst.progress = inst.duration; + inst.lastKnownValue = 0; + inst.lastKnownValue2 = 0; + inst.onReverseStart = true; + } + inst.state = 2; + } + } + behinstProto.updateTween = function (inst, factor) + { + if (inst.tweened === 0) { + if (inst.enforce) { + this.inst.x = inst.initialparam1 + (inst.targetparam1 - inst.initialparam1) * factor; + this.inst.y = inst.initialparam2 + (inst.targetparam2 - inst.initialparam2) * factor; + } else { + this.inst.x += ((inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue; + this.inst.y += ((inst.targetparam2 - inst.initialparam2) * factor) - inst.lastKnownValue2; + inst.lastKnownValue = ((inst.targetparam1 - inst.initialparam1) * factor); + inst.lastKnownValue2 = ((inst.targetparam2 - inst.initialparam2) * factor); + } + } else if (inst.tweened === 1) { + if (inst.enforce) { + this.inst.width = (inst.initialparam1 + ((inst.targetparam1 - inst.initialparam1) * (factor))); + this.inst.height = (inst.initialparam2 + ((inst.targetparam2 - inst.initialparam2) * (factor))); + } else { + this.inst.width += ((inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue; + this.inst.height += ((inst.targetparam2 - inst.initialparam2) * factor) - inst.lastKnownValue2; + inst.lastKnownValue = ((inst.targetparam1 - inst.initialparam1) * factor); + inst.lastKnownValue2 = ((inst.targetparam2 - inst.initialparam2) * factor); + } + } else if (inst.tweened === 2) { + if (inst.enforce) { + this.inst.width = (inst.initialparam1 + ((inst.targetparam1 - inst.initialparam1) * (factor))); + } else { + this.inst.width += ((inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue; + inst.lastKnownValue = ((inst.targetparam1 - inst.initialparam1) * factor); + } + } else if (inst.tweened === 3) { + if (inst.enforce) { + this.inst.height = (inst.initialparam2 + ((inst.targetparam2 - inst.initialparam2) * (factor))); + } else { + this.inst.height += ((inst.targetparam2 - inst.initialparam2) * factor) - inst.lastKnownValue2; + inst.lastKnownValue2 = ((inst.targetparam2 - inst.initialparam2) * factor); + } + } else if (inst.tweened === 4) { + if (inst.enforce) { + var tangle = inst.initialparam1 + (inst.targetparam1 - inst.initialparam1) * factor; + this.inst.angle = cr.clamp_angle(cr.to_radians(tangle)); + } else { + var tangle = ((inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue; + this.inst.angle = cr.clamp_angle(this.inst.angle + cr.to_radians(tangle)); + inst.lastKnownValue = (inst.targetparam1 - inst.initialparam1) * factor; + } + } else if (inst.tweened === 5) { + if (inst.enforce) { + this.inst.opacity = (inst.initialparam1 + (inst.targetparam1 - inst.initialparam1) * factor) / 100; + } else { + this.inst.opacity += (((inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue) / 100; + inst.lastKnownValue = ((inst.targetparam1 - inst.initialparam1) * factor); + } + } else if (inst.tweened === 6) { + if (inst.enforce) { + this.value = (inst.initialparam1 + (inst.targetparam1 - inst.initialparam1) * factor); + } else { + this.value += (((inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue); + inst.lastKnownValue = ((inst.targetparam1 - inst.initialparam1) * factor); + } + } else if (inst.tweened === 7) { + if (inst.enforce) { + this.inst.x = inst.initialparam1 + (inst.targetparam1 - inst.initialparam1) * factor; + } else { + this.inst.x += ((inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue; + inst.lastKnownValue = ((inst.targetparam1 - inst.initialparam1) * factor); + } + } else if (inst.tweened === 8) { + if (inst.enforce) { + this.inst.y = inst.initialparam2 + (inst.targetparam2 - inst.initialparam2) * factor; + } else { + this.inst.y += ((inst.targetparam2 - inst.initialparam2) * factor) - inst.lastKnownValue2; + inst.lastKnownValue2 = ((inst.targetparam2 - inst.initialparam2) * factor); + } + } else if (inst.tweened === 9) { + var scalex = inst.initialparam1 + (inst.targetparam1 - inst.initialparam1) * factor; + var scaley = inst.initialparam2 + (inst.targetparam2 - inst.initialparam2) * factor; + if (this.inst.width < 0) scalex = inst.initialparam1 + (inst.targetparam1 + inst.initialparam1) * -factor; + if (this.inst.height < 0) scaley = inst.initialparam2 + (inst.targetparam2 + inst.initialparam2) * -factor; + if (inst.enforce) { + this.inst.width = this.inst.curFrame.width * scalex; + this.inst.height = this.inst.curFrame.height * scaley; + } else { + if (this.inst.width < 0) { + this.inst.width = scalex * (this.inst.width / (-1+inst.lastKnownValue)); + inst.lastKnownValue = scalex + 1 + } else { + this.inst.width = scalex * (this.inst.width / (1+inst.lastKnownValue)); + inst.lastKnownValue = scalex - 1; + } + if (this.inst.height < 0) { + this.inst.height = scaley * (this.inst.height / (-1+inst.lastKnownValue2)); + inst.lastKnownValue2 = scaley + 1 + } else { + this.inst.height = scaley * (this.inst.height / (1+inst.lastKnownValue2)); + inst.lastKnownValue2 = scaley - 1; + } + } + } + this.inst.set_bbox_changed(); + } + behinstProto.tick = function () + { + var dt = this.runtime.getDt(this.inst); + var inst = this.tween_list["default"]; + if (inst.state !== 0) { + if (inst.onStart) { + this.runtime.trigger(cr.behaviors.lunarray_LiteTween.prototype.cnds.OnStart, this.inst); + inst.onStart = false; + } + if (inst.onReverseStart) { + this.runtime.trigger(cr.behaviors.lunarray_LiteTween.prototype.cnds.OnReverseStart, this.inst); + inst.onReverseStart = false; + } + this.active = (inst.state == 1) || (inst.state == 2) || (inst.state == 4) || (inst.state == 5) || (inst.state == 6); + var factor = inst.OnTick(dt); + this.updateTween(inst, factor); + if (inst.onEnd) { + this.runtime.trigger(cr.behaviors.lunarray_LiteTween.prototype.cnds.OnEnd, this.inst); + inst.onEnd = false; + } + if (inst.onReverseEnd) { + this.runtime.trigger(cr.behaviors.lunarray_LiteTween.prototype.cnds.OnReverseEnd, this.inst); + inst.onReverseEnd = false; + } + } + }; + behaviorProto.cnds = {}; + var cnds = behaviorProto.cnds; + cnds.IsActive = function () + { + return (this.tween_list["default"].state !== 0); + }; + cnds.IsReversing = function () + { + return (this.tween_list["default"].state == 2); + }; + cnds.CompareProgress = function (cmp, v) + { + var inst = this.tween_list["default"]; + return cr.do_cmp((inst.progress / inst.duration), cmp, v); + }; + cnds.OnThreshold = function (cmp, v) + { + var inst = this.tween_list["default"]; + this.threshold = (cr.do_cmp((inst.progress / inst.duration), cmp, v)); + var ret = (this.oldthreshold != this.threshold) && (this.threshold); + if (ret) { + this.oldthreshold = this.threshold; + } + return ret; + }; + cnds.OnStart = function () + { + if (this.tween_list["default"] === undefined) + return false; + return this.tween_list["default"].onStart; + }; + cnds.OnReverseStart = function () + { + if (this.tween_list["default"] === undefined) + return false; + return this.tween_list["default"].onReverseStart; + }; + cnds.OnEnd = function () + { + if (this.tween_list["default"] === undefined) + return false; + return this.tween_list["default"].onEnd; + }; + cnds.OnReverseEnd = function () + { + if (this.tween_list["default"] === undefined) + return false; + return this.tween_list["default"].onReverseEnd; + }; + behaviorProto.acts = {}; + var acts = behaviorProto.acts; + acts.Start = function (startmode, current) + { + this.threshold = false; + this.oldthreshold = false; + this.useCurrent = (current == 1); + this.startTween(startmode); + }; + acts.Stop = function (stopmode) + { + this.stopTween(stopmode); + }; + acts.Reverse = function (revMode) + { + this.threshold = false; + this.oldthreshold = false; + this.reverseTween(revMode); + }; + acts.ProgressTo = function (progress) + { + this.setProgressTo(progress); + }; + acts.SetDuration = function (x) + { + if (isNaN(x)) return; + if (x < 0) return; + if (this.tween_list["default"] === undefined) return; + this.tween_list["default"].duration = x; + }; + acts.SetEnforce = function (x) + { + if (this.tween_list["default"] === undefined) return; + this.tween_list["default"].enforce = (x===1); + }; + acts.SetInitial = function (x) + { + if (this.tween_list["default"] === undefined) return; + var init = this.parseCurrent(this.tween_list["default"].tweened, x); + this.tween_list["default"].setInitial(init); + }; + acts.SetTarget = function (targettype, absrel, x) + { + if (this.tween_list["default"] === undefined) return; + if (isNaN(x)) return; + var inst = this.tween_list["default"]; + var parsed = x + ""; + this.targetmode = absrel; + var x1 = ""; + var x2 = ""; + if (absrel === 1) { + this.target = "relative(" + parsed + ")"; + switch (targettype) { + case 0: x1 = (this.inst.x + x); x2 = inst.targetparam2; break; + case 1: x1 = inst.targetparam1; x2 = (this.inst.y + x); break; + case 2: x1 = "" + cr.to_degrees(this.inst.angle + cr.to_radians(x)); x2 = x1; break; //angle + case 3: x1 = "" + (this.inst.opacity*100) + x; x2 = x1; break; //opacity + case 4: x1 = (this.inst.width + x); x2 = inst.targetparam2; break; //width + case 5: x1 = inst.targetparam1; x2 = (this.inst.height + x); break; //height + case 6: x1 = x; x2 = x; break; //value + default: break; + } + parsed = x1 + "," + x2; + } else { + switch (targettype) { + case 0: x1 = x; x2 = inst.targetparam2; break; + case 1: x1 = inst.targetparam1; x2 = x; break; + case 2: x1 = x; x2 = x; break; //angle + case 3: x1 = x; x2 = x; break; //opacity + case 4: x1 = x; x2 = inst.targetparam2; break; //width + case 5: x1 = inst.targetparam1; x2 = x; break; //height + case 6: x1 = x; x2 = x; break; //value + default: break; + } + parsed = x1 + "," + x2; + this.target = parsed; + } + var init = this.parseCurrent(this.tween_list["default"].tweened, "current"); + var targ = this.parseCurrent(this.tween_list["default"].tweened, parsed); + inst.setInitial(init); + inst.setTarget(targ); + }; + acts.SetTweenedProperty = function (x) + { + if (this.tween_list["default"] === undefined) return; + this.tween_list["default"].tweened = x; + }; + acts.SetEasing = function (x) + { + if (this.tween_list["default"] === undefined) return; + this.tween_list["default"].easefunc = x; + }; + acts.SetEasingParam = function (x, a, p, t, s) + { + if (this.tween_list["default"] === undefined) return; + this.tween_list["default"].easingparam[x].optimized = false; + this.tween_list["default"].easingparam[x].a = a; + this.tween_list["default"].easingparam[x].p = p; + this.tween_list["default"].easingparam[x].t = t; + this.tween_list["default"].easingparam[x].s = s; + }; + acts.ResetEasingParam = function () + { + if (this.tween_list["default"] === undefined) return; + this.tween_list["default"].optimized = true; + }; + acts.SetValue = function (x) + { + var inst = this.tween_list["default"]; + this.value = x; + if (inst.tweened === 6) + inst.setInitial( this.parseCurrent(inst.tweened, "current") ); + }; + acts.SetParameter = function (tweened, easefunction, target, duration, enforce) + { + if (this.tween_list["default"] === undefined) { + this.addToTweenList("default", tweened, easefunction, initial, target, duration, enforce, 0); + } else { + var inst = this.tween_list["default"]; + inst.tweened = tweened; + inst.easefunc = easefunction; + inst.setInitial( this.parseCurrent(tweened, "current") ); + inst.setTarget( this.parseCurrent(tweened, target) ); + inst.duration = duration; + inst.enforce = (enforce === 1); + } + }; + behaviorProto.exps = {}; + var exps = behaviorProto.exps; + exps.State = function (ret) + { + var parsed = "N/A"; + switch (this.tween_list["default"].state) { + case 0: parsed = "paused"; break; + case 1: parsed = "playing"; break; + case 2: parsed = "reversing"; break; + case 3: parsed = "seeking"; break; + default: break; + } + ret.set_string(parsed); + }; + exps.Progress = function (ret) + { + var progress = this.tween_list["default"].progress/this.tween_list["default"].duration; + ret.set_float(progress); + }; + exps.Duration = function (ret) + { + ret.set_float(this.tween_list["default"].duration); + }; + exps.Target = function (ret) + { + var inst = this.tween_list["default"]; + var parsed = "N/A"; + switch (inst.tweened) { + case 0: parsed = inst.targetparam1; break; + case 1: parsed = inst.targetparam2; break; + case 2: parsed = inst.targetparam1; break; + case 3: parsed = inst.targetparam1; break; + case 4: parsed = inst.targetparam1; break; + case 5: parsed = inst.targetparam2; break; + case 6: parsed = inst.targetparam1; break; + default: break; + } + ret.set_float(parsed); + }; + exps.Value = function (ret) + { + var tval = this.value; + ret.set_float(tval); + }; + exps.Tween = function (ret, a_, b_, x_, easefunc_) + { + var currX = (x_>1.0?1.0:x_); + var factor = easeFunc(easefunc_, currX<0.0?0.0:currX, 0.0, 1.0, 1.0, false, false); + ret.set_float(a_ + factor * (b_-a_)); + }; +}()); +; +; +function trim (str) { + return str.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); +} +cr.behaviors.lunarray_Tween = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.lunarray_Tween.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + this.i = 0; // progress + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.groupUpdateProgress = function(v) + { + if (v > 1) v = 1; + if (cr.lunarray_tweenProgress[this.group] = -1) cr.lunarray_tweenProgress[this.group] = v; + if (cr.lunarray_tweenProgress[this.group] >= v) cr.lunarray_tweenProgress[this.group] = v; + } + behinstProto.groupSync = function() + { + if (this.group != "") { + if (typeof cr.lunarray_tweenGroup === "undefined") { + cr.lunarray_tweenGroup = {}; + cr.lunarray_tweenProgress = {}; + } + if (typeof cr.lunarray_tweenGroup[this.group] === "undefined") { + cr.lunarray_tweenGroup[this.group] = []; + cr.lunarray_tweenProgress[this.group] = -1; + } + if (cr.lunarray_tweenGroup[this.group].indexOf(this) == -1) { + cr.lunarray_tweenGroup[this.group].push(this); + } + } + } + behinstProto.saveState = function() + { + this.tweenSaveWidth = this.inst.width; + this.tweenSaveHeight = this.inst.height; + this.tweenSaveAngle = this.inst.angle; + this.tweenSaveOpacity = this.inst.opacity; + this.tweenSaveX = this.inst.x; + this.tweenSaveY = this.inst.y; + this.tweenSaveValue = this.value; + } + behinstProto.onCreate = function() + { + this.active = (this.properties[0] === 1); + this.tweened = this.properties[1]; // 0=Position|1=Size|2=Width|3=Height|4=Angle|5=Opacity|6=Value only|7=Pixel Size + this.easing = this.properties[2]; + this.initial = this.properties[3]; + this.target = this.properties[4]; + this.duration = this.properties[5]; + this.wait = this.properties[6]; + this.playmode = this.properties[7]; //0=Play Once|1=Repeat|2=Ping Pong|3=Play once and destroy|4=Loop|5=Ping Pong Stop|6=Play and stop + this.value = this.properties[8]; + this.coord_mode = this.properties[9]; //0=Absolute|1=Relative + this.forceInit = (this.properties[10] === 1); + this.group = this.properties[11]; + this.targetObject = null; + this.pingpongCounter = 0; + if (this.playmode == 5) this.pingpongCounter = 1; + this.groupSync(); + this.isPaused = false; + this.initialX = this.inst.x; + this.initialY = this.inst.y; + this.targetX = parseFloat(this.target.split(",")[0]); + this.targetY = parseFloat(this.target.split(",")[1]); + this.saveState(); + this.tweenInitialX = 0; + this.tweenInitialY = 0; + this.tweenTargetX = 0; + this.tweenTargetY = 0; + this.tweenTargetAngle = 0; + this.ratio = this.inst.height / this.inst.width; + this.reverse = false; + this.rewindMode = false; + this.doTweenX = true; + this.doTweenY = true; + this.loop = false; + this.initiating = 0; + this.cooldown = 0; + this.lastPlayMode = this.playmode; + this.lastKnownValue = this.tweenInitialX; + this.lastKnownX = this.tweenInitialX; + this.lastKnownY = this.tweenInitialY; + if (this.forceInit) this.init(); + if (this.initial == "") this.initial = "current"; + this.onStarted = false; + this.onStartedDone = false; + this.onWaitEnd = false; + this.onWaitEndDone = false; + this.onEnd = false; + this.onEndDone = false; + this.onCooldown = false; + this.onCooldownDone = false; + if (this.active) { + this.init(); + } + }; + behinstProto.init = function () + { + this.onStarted = false; + if (this.initial === "") this.initial = "current"; + if (this.target === "") this.target = "current"; + var isCurrent = (this.initial === "current"); + var targetIsCurrent = (this.target === "current"); + var isTargettingObject = (this.target === "OBJ"); + if (this.target === "OBJ") { + if (this.targetObject != null) { + if (this.tweened == 0) { + if (this.coord_mode == 1) //relative mode + this.target = (this.targetObject.x-this.inst.x) + "," + (this.targetObject.y-this.inst.y); + else //absolute mode + this.target = (this.targetObject.x) + "," + (this.targetObject.y); + } else if ((this.tweened == 1) || (this.tweened == 2) || (this.tweened == 3) || (this.tweened == 7)) { + if (this.coord_mode == 1) { //relative mode + this.target = ((this.tweened==2)?1:(this.targetObject.width)) + "," + ((this.tweened==3)?1:(this.targetObject.height)); + } else { + this.target = ((this.tweened==2)?1:(this.targetObject.width/this.tweenSaveWidth)) + "," + ((this.tweened==3)?1:(this.targetObject.height/this.tweenSaveHeight)); + } + } else if (this.tweened == 4) { + if (this.coord_mode == 1) //relative mode + this.target = cr.to_degrees(this.targetObject.angle-this.inst.angle) + ""; + else //absolute mode + this.target = cr.to_degrees(this.targetObject.angle) + ""; + } else if (this.tweened == 5) { + if (this.coord_mode == 1) //relative mode + this.target = ((this.targetObject.opacity-this.inst.opacity)*100) + ""; + else //absolute mode + this.target = (this.targetObject.opacity*100) + ""; + } + } + } + if (this.tweened == 0) { + if (targetIsCurrent) this.target = this.inst.x + "," + this.inst.y; + if (!isCurrent) { + if (!this.reverse) { + if (this.playmode != 1) { + this.inst.x = parseFloat(this.initial.split(",")[0]); + this.inst.y = parseFloat(this.initial.split(",")[1]); + } + } + } else { + if (this.coord_mode == 1) { + this.initial = this.inst.x + "," + this.inst.y; + } else { + this.initial = this.tweenSaveX + "," + this.tweenSaveY; + } + } + if (this.coord_mode == 1) { + if (this.loop) { + this.inst.x = this.tweenSaveX; + this.inst.y = this.tweenSaveY; + } + this.initialX = this.inst.x; + this.initialY = this.inst.y; + if (!this.reverse) { + this.targetX = parseFloat(this.target.split(",")[0]); + this.targetY = parseFloat(this.target.split(",")[1]); + } else { + this.targetX = -parseFloat(this.target.split(",")[0]); + this.targetY = -parseFloat(this.target.split(",")[1]); + } + this.tweenInitialX = this.initialX; + this.tweenInitialY = this.initialY; + this.tweenTargetX = this.tweenInitialX + this.targetX; + this.tweenTargetY = this.tweenInitialY + this.targetY; + } else { + if (!this.reverse) { + this.inst.x = this.tweenSaveX; + this.inst.y = this.tweenSaveY; + this.targetX = parseFloat(this.target.split(",")[0]); + this.targetY = parseFloat(this.target.split(",")[1]); + } else { + this.inst.x = parseFloat(this.target.split(",")[0]); + this.inst.y = parseFloat(this.target.split(",")[1]); + this.targetX = this.tweenSaveX; + this.targetY = this.tweenSaveY; + } + this.initialX = this.inst.x; + this.initialY = this.inst.y; + this.tweenInitialX = this.initialX; + this.tweenInitialY = this.initialY; + this.tweenTargetX = this.targetX; + this.tweenTargetY = this.targetY; + if (this.playmode == -6) { + this.tweenTargetX = this.tweenSaveX; + this.tweenTargetY = this.tweenSaveY; + } + } + } else if ((this.tweened == 1) || (this.tweened == 2) || (this.tweened == 3)) { + if (targetIsCurrent) this.target = "1,1"; + if (this.initial == "current") this.initial = "1,1"; + this.initial = "" + this.initial; + this.target = "" + this.target; + if (this.tweened == 2) { + if (this.initial.indexOf(',') == -1) this.initial = parseFloat(this.initial) + ",1"; + if (this.target.indexOf(',') == -1) this.target = parseFloat(this.target) + ",1"; + } else if (this.tweened == 3) { + if (this.initial.indexOf(',') == -1) this.initial = "1," + parseFloat(this.initial); + if (this.target.indexOf(',') == -1) this.target = "1," + parseFloat(this.target); + } else { + if (this.initial.indexOf(',') == -1) this.initial = parseFloat(this.initial) + "," + parseFloat(this.initial); + if (this.target.indexOf(',') == -1) this.target = parseFloat(this.target) + "," + parseFloat(this.target); + } + var ix = parseFloat(this.initial.split(",")[0]); + var iy = parseFloat(this.initial.split(",")[1]); + this.doTweenX = true; + var tx = parseFloat(this.target.split(",")[0]); + if ((tx == 0) || (isNaN(tx))) this.doTweenX = false; + if (this.tweened == 3) this.doTweenX = false; + this.doTweenY = true; + var ty = parseFloat(this.target.split(",")[1]); + if ((ty == 0) || (isNaN(ty))) this.doTweenY = false; + if (this.tweened == 2) this.doTweenY = false; + if (this.coord_mode == 1) { + if (this.loop) { + this.inst.width = this.tweenSaveWidth; + this.inst.height = this.tweenSaveHeight; + } + if (!isCurrent) { + if (!this.reverse) { + this.inst.width = this.inst.width * ix; + this.inst.height = this.inst.height * iy; + } else { + this.inst.width = this.inst.width * tx; + this.inst.height = this.inst.height * ty; + } + } + this.initialX = this.inst.width; + this.initialY = this.inst.height; + this.tweenInitialX = this.initialX; + this.tweenInitialY = this.initialY; + if (!this.reverse) { + this.targetX = this.initialX * tx; + this.targetY = this.initialY * ty; + } else { + this.targetX = this.initialX * ix/tx; + this.targetY = this.initialY * iy/ty; + } + this.tweenTargetX = this.targetX; + this.tweenTargetY = this.targetY; + } else { + if (!isCurrent) { + if (!this.reverse) { + this.inst.width = this.tweenSaveWidth * ix; + this.inst.height = this.tweenSaveHeight * iy; + } else { + this.inst.width = this.tweenSaveWidth * tx; + this.inst.height = this.tweenSaveHeight * ty; + } + } + this.initialX = this.inst.width; + this.initialY = this.inst.height; + this.tweenInitialX = this.initialX; + this.tweenInitialY = this.initialY; + if (!this.reverse) { + this.targetX = this.tweenSaveWidth * tx; + this.targetY = this.tweenSaveHeight * ty; + } else { + this.targetX = this.tweenSaveWidth * ix; + this.targetY = this.tweenSaveHeight * iy; + } + this.tweenTargetX = this.targetX; + this.tweenTargetY = this.targetY; + } + if (this.playmode == -6) { + this.tweenTargetX = this.tweenSaveWidth * ix; + this.tweenTargetY = this.tweenSaveHeight * iy; + } + } else if (this.tweened == 4) { + if (targetIsCurrent) this.target = cr.to_degrees(this.inst.angle); + if (this.initial != "current") { + if (!this.reverse) { + if (this.playmode != 1) { //if repeat, don't initialize + this.inst.angle = cr.to_radians(parseFloat(this.initial.split(",")[0])); + } + } + } + if (this.coord_mode == 1) { + if (this.loop) { + this.inst.angle = this.tweenSaveAngle; + } + this.initialX = this.inst.angle; + if (this.reverse) { + this.targetX = this.inst.angle - cr.to_radians(parseFloat(this.target.split(",")[0])); + } else { + this.targetX = this.inst.angle + cr.to_radians(parseFloat(this.target.split(",")[0])); + } + this.tweenInitialX = this.initialX; + this.tweenTargetX = cr.to_degrees(this.targetX); + } else { + if (this.reverse) { + this.inst.angle = cr.to_radians(parseFloat(this.target.split(",")[0]));; + this.initialX = this.inst.angle; + this.targetX = this.tweenSaveAngle; + this.tweenInitialX = this.initialX; + this.tweenTargetX = cr.to_degrees(this.targetX); + } else { + this.inst.angle = this.tweenSaveAngle; + this.initialX = this.inst.angle; + this.targetX = cr.to_radians(parseFloat(this.target.split(",")[0])); + this.tweenInitialX = this.initialX; + this.tweenTargetX = cr.to_degrees(this.targetX); + } + } + if (this.playmode == -6) { + this.tweenTargetX = cr.to_degrees(this.tweenSaveAngle); + } + this.tweenTargetAngle = cr.to_radians(this.tweenTargetX); + } else if (this.tweened == 5) { + if (this.initial == "current") this.initial = this.inst.opacity; + if (targetIsCurrent) this.target = ""+this.inst.opacity; + if (!isCurrent) { + if (!this.reverse) { + if (this.playmode != 1) { //if repeat, don't initialize + this.inst.opacity = parseFloat(this.initial.split(",")[0]) / 100; + } + } + } + if (this.coord_mode == 1) { + if (this.loop) { + this.inst.opacity = this.tweenSaveOpacity; + } + this.initialX = this.inst.opacity; + this.tweenInitialX = this.initialX; + if (!this.reverse) { + this.targetX = parseFloat(this.target.split(",")[0]) / 100; + } else { + this.targetX = -parseFloat(this.target.split(",")[0]) / 100; + } + this.tweenTargetX = this.tweenInitialX + this.targetX; + } else { + this.initialX = this.inst.opacity; + if (!this.reverse) { + this.tweenInitialX = this.initialX; + this.targetX = parseFloat(this.target.split(",")[0]) / 100; + } else { + this.tweenInitialX = parseFloat(this.target.split(",")[0]) / 100; + this.targetX = parseFloat(this.initial.split(",")[0]) / 100; + } + this.tweenTargetX = this.targetX; + } + if (this.playmode == -6) { + this.tweenTargetX = this.tweenSaveOpacity; + } + } else if (this.tweened == 6) { + if (isNaN(this.value)) this.value = 0; + if (this.initial == "current") this.initial = ""+this.value; + if (targetIsCurrent) this.target = ""+this.value; + if (!isCurrent) { + if (!this.reverse) { + if (this.playmode != 1) { //if repeat, don't initialize + this.value = parseFloat(this.initial.split(",")[0]); + } + } + } + if (this.coord_mode == 1) { + if (this.loop) { + this.value = this.tweenSaveValue; + } + if (!isCurrent) { + if (!this.reverse) { + this.value = parseFloat(this.initial.split(",")[0]); + } else { + this.value = parseFloat(this.target.split(",")[0]); + } + } + this.initialX = this.value; + if (!this.reverse) { + this.targetX = this.initialX + parseFloat(this.target.split(",")[0]); + } else { + this.targetX = this.initialX - parseFloat(this.target.split(",")[0]); + } + this.tweenInitialX = this.initialX; + this.tweenTargetX = this.targetX; + } else { + if (!isCurrent) { + if (!this.reverse) { + this.value = parseFloat(this.initial.split(",")[0]); + } else { + this.value = parseFloat(this.target.split(",")[0]); + } + } + this.initialX = this.value; + if (!this.reverse) { + this.targetX = parseFloat(this.target.split(",")[0]); + } else { + this.targetX = parseFloat(this.initial.split(",")[0]); + } + this.tweenInitialX = this.initialX; + this.tweenTargetX = this.targetX; + } + if (this.playmode == -6) { + this.tweenTargetX = this.tweenSaveValue; + } + } else if (this.tweened == 7) { + if (targetIsCurrent) this.target = this.inst.width + "," + this.inst.height; + if (this.initial != "current") { + if (!this.reverse) { + if (this.playmode != 1) { //if repeat, don't initialize + this.inst.width = parseFloat(this.initial.split(",")[0]); + this.inst.height = parseFloat(this.initial.split(",")[1]); + } + } + } + this.doTweenX = true; + var tx = parseFloat(this.target.split(",")[0]); + if ((tx < 0) || (isNaN(tx))) this.doTweenX = false; + this.doTweenY = true; + var ty = parseFloat(this.target.split(",")[1]); + if ((ty < 0) || (isNaN(ty))) this.doTweenY = false; + if (this.coord_mode == 1) { + if (this.loop) { + this.inst.width = this.tweenSaveWidth; + this.inst.height = this.tweenSaveHeight; + } + this.initialX = this.inst.width; + this.initialY = this.inst.height; + if (!this.reverse) { + this.targetX = this.initialX + parseFloat(this.target.split(",")[0]); + this.targetY = this.initialY + parseFloat(this.target.split(",")[1]); + } else { + this.targetX = this.initialX - parseFloat(this.target.split(",")[0]); + this.targetY = this.initialY - parseFloat(this.target.split(",")[1]); + } + this.tweenInitialX = this.initialX; + this.tweenInitialY = this.initialY; + this.tweenTargetX = this.targetX; + this.tweenTargetY = this.targetY; + } else { + if (!isCurrent) { + if (!this.reverse) { + this.inst.width = this.tweenSaveWidth; + this.inst.height = this.tweenSaveHeight; + } else { + this.inst.width = parseFloat(this.target.split(",")[0]); + this.inst.height = parseFloat(this.target.split(",")[1]); + } + } + this.initialX = this.inst.width; + this.initialY = this.inst.height; + if (!this.reverse) { + this.targetX = parseFloat(this.target.split(",")[0]); + this.targetY = parseFloat(this.target.split(",")[1]); + } else { + this.targetX = this.tweenSaveWidth; + this.targetY = this.tweenSaveHeight; + } + this.tweenInitialX = this.initialX; + this.tweenInitialY = this.initialY; + this.tweenTargetX = this.targetX; + this.tweenTargetY = this.targetY; + } + if (this.playmode == -6) { + this.tweenTargetX = this.tweenSaveWidth; + this.tweenTargetY = this.tweenSaveHeight; + } + } else { +; + } + this.lastKnownValue = this.tweenInitialX; + this.lastKnownX = this.tweenInitialX; + this.lastKnownY = this.tweenInitialY; + this.initiating = parseFloat(this.wait.split(",")[0]); + this.cooldown = parseFloat(this.wait.split(",")[1]); + if ((this.initiating < 0) || (isNaN(this.initiating))) this.initiating = 0; + if ((this.cooldown < 0) || (isNaN(this.cooldown))) this.cooldown = 0; + if (isCurrent) this.initial = "current"; + if (targetIsCurrent) this.target = "current"; + if (isTargettingObject) this.target = "OBJ"; + }; + function easeOutBounce(t,b,c,d) { + if ((t/=d) < (1/2.75)) { + return c*(7.5625*t*t) + b; + } else if (t < (2/2.75)) { + return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; + } else if (t < (2.5/2.75)) { + return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; + } else { + return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; + } + } + behinstProto.easeFunc = function (t, b, c, d) + { + switch (this.easing) { + case 0: // linear + return c*t/d + b; + case 1: // easeInQuad + return c*(t/=d)*t + b; + case 2: // easeOutQuad + return -c *(t/=d)*(t-2) + b; + case 3: // easeInOutQuad + if ((t/=d/2) < 1) return c/2*t*t + b; + return -c/2 * ((--t)*(t-2) - 1) + b; + case 4: // easeInCubic + return c*(t/=d)*t*t + b; + case 5: // easeOutCubic + return c*((t=t/d-1)*t*t + 1) + b; + case 6: // easeInOutCubic + if ((t/=d/2) < 1) + return c/2*t*t*t + b; + return c/2*((t-=2)*t*t + 2) + b; + case 7: // easeInQuart + return c*(t/=d)*t*t*t + b; + case 8: // easeOutQuart + return -c * ((t=t/d-1)*t*t*t - 1) + b; + case 9: // easeInOutQuart + if ((t/=d/2) < 1) return c/2*t*t*t*t + b; + return -c/2 * ((t-=2)*t*t*t - 2) + b; + case 10: // easeInQuint + return c*(t/=d)*t*t*t*t + b; + case 11: // easeOutQuint + return c*((t=t/d-1)*t*t*t*t + 1) + b; + case 12: // easeInOutQuint + if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; + return c/2*((t-=2)*t*t*t*t + 2) + b; + case 13: // easeInCircle + return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; + case 14: // easeOutCircle + return c * Math.sqrt(1 - (t=t/d-1)*t) + b; + case 15: // easeInOutCircle + if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; + return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; + case 16: // easeInBack + var s = 0; + if (s==0) s = 1.70158; + return c*(t/=d)*t*((s+1)*t - s) + b; + case 17: // easeOutBack + var s = 0; + if (s==0) s = 1.70158; + return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; + case 18: // easeInOutBack + var s = 0; + if (s==0) s = 1.70158; + if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; + return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; + case 19: //easeInElastic + var a = 0; + var p = 0; + if (t==0) return b; if ((t/=d)==1) return b+c; if (p==0) p=d*.3; + if (a==0 || a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + case 20: //easeOutElastic + var a = 0; + var p = 0; + if (t==0) return b; if ((t/=d)==1) return b+c; if (p == 0) p=d*.3; + if (a==0 || a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + return (a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b); + case 21: //easeInOutElastic + var a = 0; + var p = 0; + if (t==0) return b; + if ((t/=d/2)==2) return b+c; + if (p==0) p=d*(.3*1.5); + if (a==0 || a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; + case 22: //easeInBounce + return c - easeOutBounce(d-t, 0, c, d) + b; + case 23: //easeOutBounce + return easeOutBounce(t,b,c,d); + case 24: //easeInOutBounce + if (t < d/2) return (c - easeOutBounce(d-(t*2), 0, c, d) + b) * 0.5 +b; + else return easeOutBounce(t*2-d, 0, c, d) * .5 + c*.5 + b; + case 25: //easeInSmoothstep + var mt = (t/d) / 2; + return (2*(mt * mt * (3 - 2*mt))); + case 26: //easeOutSmoothstep + var mt = ((t/d) + 1) / 2; + return ((2*(mt * mt * (3 - 2*mt))) - 1); + case 27: //easeInOutSmoothstep + var mt = (t / d); + return (mt * mt * (3 - 2*mt)); + }; + return 0; + }; + behinstProto.saveToJSON = function () + { + return { + "i": this.i, + "active": this.active, + "tweened": this.tweened, + "easing": this.easing, + "initial": this.initial, + "target": this.target, + "duration": this.duration, + "wait": this.wait, + "playmode": this.playmode, + "value": this.value, + "coord_mode": this.coord_mode, + "forceInit": this.forceInit, + "group": this.group, + "targetObject": this.targetObject, + "pingpongCounter": this.pingpongCounter, + "isPaused": this.isPaused, + "initialX": this.initialX, + "initialY": this.initialY, + "targetX": this.targetX, + "targetY": this.targetY, + "tweenSaveWidth": this.tweenSaveWidth, + "tweenSaveHeight": this.tweenSaveHeight, + "tweenSaveAngle": this.tweenSaveAngle, + "tweenSaveX": this.tweenSaveX, + "tweenSaveY": this.tweenSaveY, + "tweenSaveValue": this.tweenSaveValue, + "tweenInitialX": this.tweenInitialX, + "tweenInitialY": this.tweenInitialY, + "tweenTargetX": this.tweenTargetX, + "tweenTargetY": this.tweenTargetY, + "tweenTargetAngle": this.tweenTargetAngle, + "ratio": this.ratio, + "reverse": this.reverse, + "rewindMode": this.rewindMode, + "doTweenX": this.doTweenX, + "doTweenY": this.doTweenY, + "loop": this.loop, + "initiating": this.initiating, + "cooldown": this.cooldown, + "lastPlayMode": this.lastPlayMode, + "lastKnownValue": this.lastKnownValue, + "lastKnownX": this.lastKnownX, + "lastKnownY": this.lastKnownY, + "onStarted": this.onStarted, + "onStartedDone": this.onStartedDone, + "onWaitEnd": this.onWaitEnd, + "onWaitEndDone": this.onWaitEndDone, + "onEnd": this.onEnd, + "onEndDone": this.onEndDone, + "onCooldown": this.onCooldown, + "onCooldownDone": this.onCooldownDone + }; + }; + behinstProto.loadFromJSON = function (o) + { + this.i = o["i"]; + this.active = o["active"]; + this.tweened = o["tweened"]; + this.easing = o["easing"]; + this.initial = o["initial"]; + this.target = o["target"]; + this.duration = o["duration"]; + this.wait = o["wait"]; + this.playmode = o["playmode"]; + this.value = o["value"]; + this.coord_mode = o["coord_mode"]; + this.forceInit = o["forceInit"]; + this.group = o["group"]; + this.targetObject = o["targetObject"]; + this.pingpongCounter = o["pingpongCounter"]; + this.isPaused = o["isPaused"]; + this.initialX = o["initialX"]; + this.initialY = o["initialY"]; + this.targetX = o["targetX"]; + this.targetY = o["targetY"]; + this.tweenSaveWidth = o["tweenSaveWidth"]; + this.tweenSaveHeight = o["tweenSaveHeight"]; + this.tweenSaveAngle = o["tweenSaveAngle"]; + this.tweenSaveX = o["tweenSaveX"]; + this.tweenSaveY = o["tweenSaveY"]; + this.tweenSaveValue = o["tweenSaveValue"]; + this.tweenInitialX = o["tweenInitialX"]; + this.tweenInitialY = o["tweenInitialY"]; + this.tweenTargetX = o["tweenTargetX"]; + this.tweenTargetY = o["tweenTargetY"]; + this.tweenTargetAngle = o["tweenTargetAngle"]; + this.ratio = o["ratio"]; + this.reverse = o["reverse"]; + this.rewindMode = o["rewindMode"]; + this.doTweenX = o["doTweenX"]; + this.doTweenY = o["doTweenY"]; + this.loop = o["loop"]; + this.initiating = o["initiating"]; + this.cooldown = o["cooldown"]; + this.lastPlayMode = o["lastPlayMode"]; + this.lastKnownValue = o["lastKnownValue"]; + this.lastKnownX = o["lastKnownX"]; + this.lastKnownY = o["lastKnownY"]; + this.onStarted = o["onStarted"]; + this.onStartedDone = o["onStartedDone"]; + this.onWaitEnd = o["onWaitEnd"]; + this.onWaitEndDone = o["onWaitEndDone"] + this.onEnd = o["onEnd"]; + this.onEndDone = o["onEndDone"]; + this.onCooldown = o["onCooldown"]; + this.onCooldownDone = o["onCooldownDone"]; + this.groupSync(); + }; + behinstProto.tick = function () + { + var dt = this.runtime.getDt(this.inst); + var isForceStop = (this.i == -1); + if (!this.active || dt === 0) + return; + if (this.i == 0) { + if (!this.onStarted) { + this.onStarted = true; + this.onStartedDone = false; + this.onWaitEnd = false; + this.onWaitEndDone = false; + this.onEnd = false; + this.onEndDone = false; + this.onCooldown = false; + this.onCooldownDone = false; + this.runtime.trigger(cr.behaviors.lunarray_Tween.prototype.cnds.OnStart, this.inst); + this.onStartedDone = true; + } + } + if (this.i == -1) { + this.i = this.initiating + this.duration + this.cooldown; + } else { + this.i += dt; + } + if (this.i <= this.initiating) { + return; + } else { + if (this.onWaitEnd == false) { + this.onWaitEnd = true; + this.runtime.trigger(cr.behaviors.lunarray_Tween.prototype.cnds.OnWaitEnd, this.inst); + this.onWaitEndDone = true; + } + } + if (this.i <= (this.duration + this.initiating)) { + var factor = this.easeFunc(this.i-this.initiating, 0, 1, this.duration); + if (this.tweened == 0) { + if (this.coord_mode == 1) { + if (this.inst.x !== this.lastKnownX) { + this.tweenInitialX += (this.inst.x - this.lastKnownX); + this.tweenTargetX += (this.inst.x - this.lastKnownX); + } + if (this.inst.y !== this.lastKnownY) { + this.tweenInitialY += (this.inst.y - this.lastKnownY); + this.tweenTargetY += (this.inst.y - this.lastKnownY); + } + } else { + if (this.inst.x !== this.lastKnownX) + this.tweenInitialX += (this.inst.x - this.lastKnownX); + if (this.inst.y !== this.lastKnownY) + this.tweenInitialY += (this.inst.y - this.lastKnownY); + } + this.inst.x = this.tweenInitialX + (this.tweenTargetX - this.tweenInitialX) * factor; + this.inst.y = this.tweenInitialY + (this.tweenTargetY - this.tweenInitialY) * factor; + this.lastKnownX = this.inst.x; + this.lastKnownY = this.inst.y; + } else if ((this.tweened == 1) || (this.tweened == 2) || (this.tweened == 3)) { + if (this.inst.width !== this.lastKnownX) + this.tweenInitialX = this.inst.width; + if (this.inst.height !== this.lastKnownY) + this.tweenInitialY = this.inst.height; + if (this.doTweenX) { + this.inst.width = this.tweenInitialX + (this.tweenTargetX - this.tweenInitialX) * factor; + } + if (this.doTweenY) { + this.inst.height = this.tweenInitialY + (this.tweenTargetY - this.tweenInitialY) * factor; + } else { + if (this.tweened == 1) { + this.inst.height = this.inst.width * this.ratio; + } + } + this.lastKnownX = this.inst.width; + this.lastKnownY = this.inst.height; + } else if (this.tweened == 4) { + var tangle = this.tweenInitialX + (this.tweenTargetAngle - this.tweenInitialX) * factor; + if (this.i >= (this.duration + this.initiating)) + tangle = this.tweenTargetAngle; + this.inst.angle = cr.clamp_angle(tangle); + } else if (this.tweened == 5) { + if (this.coord_mode == 1) { + if (this.inst.opacity !== this.lastKnownX) + this.tweenInitialX = this.inst.opacity; + } + this.inst.opacity = this.tweenInitialX + (this.tweenTargetX - this.tweenInitialX) * factor; + this.lastKnownX = this.inst.opacity; + } else if (this.tweened == 6) { + this.value = this.tweenInitialX + (this.tweenTargetX - this.tweenInitialX) * factor; + } else if (this.tweened == 7) { + if (this.coord_mode == 1) { + if (this.inst.width !== this.lastKnownX) + this.tweenInitialX = this.inst.width; + if (this.inst.height !== this.lastKnownY) + this.tweenInitialY = this.inst.height; + } + if (this.doTweenX) this.inst.width = this.tweenInitialX + (this.tweenTargetX - this.tweenInitialX) * factor; + if (this.doTweenY) this.inst.height = this.tweenInitialY + (this.tweenTargetY - this.tweenInitialY) * factor; + this.lastKnownX = this.inst.width; + this.lastKnownY = this.inst.height; + } + this.inst.set_bbox_changed(); + } + if (this.i >= this.duration + this.initiating) { + this.doEndFrame(isForceStop); + this.inst.set_bbox_changed(); + if (this.onEnd == false) { + this.onEnd = true; + this.runtime.trigger(cr.behaviors.lunarray_Tween.prototype.cnds.OnEnd, this.inst); + this.onEndDone = true; + } + }; + }; + behinstProto.doEndFrame = function (isForceStop) + { + switch (this.tweened) { + case 0: // position + this.inst.x = this.tweenTargetX; + this.inst.y = this.tweenTargetY; + break; + case 1: // size + if (this.doTweenX) this.inst.width = this.tweenTargetX; + if (this.doTweenY) { + this.inst.height = this.tweenTargetY; + } else { + this.inst.height = this.inst.width * this.ratio; + } + break; + case 2: // width + this.inst.width = this.tweenTargetX; + break; + case 3: // height + this.inst.height = this.tweenTargetY; + break; + case 4: // angle + var tangle = this.tweenTargetAngle; + this.inst.angle = cr.clamp_angle(tangle); + this.lastKnownValue = this.inst.angle; + break; + case 5: // opacity + this.inst.opacity = this.tweenTargetX; + break; + case 6: // value + this.value = this.tweenTargetX; + break; + case 7: // size + if (this.doTweenX) this.inst.width = this.tweenTargetX; + if (this.doTweenY) this.inst.height = this.tweenTargetY; + break; + } + if (this.i >= this.duration + this.initiating + this.cooldown) { + if (this.playmode == 0) { + this.active = false; + this.reverse = false; + this.i = this.duration + this.initiating + this.cooldown; + } else if (this.playmode == 1) { + this.i = 0; + this.init(); + this.active = true; + } else if (this.playmode == 2) { + if (isForceStop) { + this.reverse = false; + this.init(); + } else { + this.reverse = !this.reverse; + this.i = 0; + this.init(); + this.active = true; + } + } else if (this.playmode == 3) { + this.runtime.DestroyInstance(this.inst); + } else if (this.playmode == 4) { + this.loop = true; + this.i = 0; + this.init(); + this.active = true; + } else if (this.playmode == 5) { + if (isForceStop) { + this.reverse = false; + this.init(); + } else { + if (this.pingpongCounter <= 0) { + this.i = this.duration + this.initiating + this.cooldown; + this.active = false; + } else { + if (!this.reverse) { + this.pingpongCounter -= 1; + this.reverse = true; + this.i = 0; + this.init(); + this.active = true; + } else { + this.pingpongCounter -= 1; + this.reverse = false; + this.i = 0; + this.init(); + this.active = true; + } + } + } + } else if (this.playmode == -6) { + this.playmode = this.lastPlayMode; + this.reverse = false; + this.i = 0; + this.active = false; + } else if (this.playmode == 6) { + this.reverse = false; + this.i = this.duration + this.initiating + this.cooldown; + this.active = false; + } + } + if (this.onCooldown == false) { + this.onCooldown = true; + this.runtime.trigger(cr.behaviors.lunarray_Tween.prototype.cnds.OnCooldownEnd, this.inst); + this.onCooldownDone = true; + } + } + behaviorProto.cnds = {}; + var cnds = behaviorProto.cnds; + cnds.IsActive = function () + { + return this.active; + }; + cnds.CompareGroupProgress = function (cmp, v) + { + var x = []; + cr.lunarray_tweenGroup[this.group].forEach(function (value) { + x.push((value.i / (value.duration + value.initiating + value.cooldown))); + } ); + return cr.do_cmp( Math.min.apply(null, x), cmp, v ); + } + cnds.CompareProgress = function (cmp, v) + { + return cr.do_cmp((this.i / (this.duration + this.initiating + this.cooldown)), cmp, v); + }; + cnds.OnStart = function () + { + if (this.onStartedDone === false) { + return this.onStarted; + } + }; + cnds.OnWaitEnd = function () + { + if (this.onWaitEndDone === false) { + return this.onWaitEnd; + } + }; + cnds.OnEnd = function (a, b, c) + { + if (this.onEndDone === false) { + return this.onEnd; + } + }; + cnds.OnCooldownEnd = function () + { + if (this.onCooldownDone === false) { + return this.onCooldown; + } + }; + behaviorProto.acts = {}; + var acts = behaviorProto.acts; + acts.SetActive = function (a) + { + this.active = (a === 1); + }; + acts.StartGroup = function (force, sgroup) + { + if (sgroup === "") sgroup = this.group; + var groupReady = (force === 1) || cr.lunarray_tweenGroup[sgroup].every(function(value2) { return !value2.active; } ); + if ( groupReady ) { + cr.lunarray_tweenGroup[sgroup].forEach( + function(value) { + if (force === 1) { + acts.Force.apply(value); + } else { + acts.Start.apply(value); + } + } + ); + } + } + acts.StopGroup = function (stopmode, sgroup) + { + if (sgroup === "") sgroup = this.group; + cr.lunarray_tweenGroup[sgroup].forEach( function(value) { + acts.Stop.apply(value, [stopmode]); + } ); + } + acts.ReverseGroup = function (force, rewindMode, sgroup) + { + if (sgroup === "") sgroup = this.group; + var groupReady = (force === 1) || cr.lunarray_tweenGroup[sgroup].every(function(value2) { return !value2.active; } ); + if ( groupReady ) { + cr.lunarray_tweenGroup[sgroup].forEach( + function(value) { + if (force === 1) { + acts.ForceReverse.apply(value, [rewindMode]); + } else { + acts.Reverse.apply(value, [rewindMode]); + } + } + ); + } + } + acts.Force = function () + { + this.loop = (this.playmode === 4); + if (this.playmode == 5) this.pingpongCounter = 1; + if ((this.playmode == 6) || (this.playmode == -6)) { + if (this.i < this.duration + this.cooldown + this.initiating) { + this.reverse = false; + this.init(); + this.active = true; + } + } else { + this.reverse = false; + this.i = 0; + this.init(); + this.active = true; + } + }; + acts.ForceReverse = function (rewindMode) + { + this.rewindMode = (rewindMode == 1); + this.loop = (this.playmode === 4); + if (this.playmode == 5) this.pingpongCounter = 1; + if ((this.playmode == 6) || (this.playmode == -6)) { + if (this.i < this.duration + this.cooldown + this.initiating) { + this.reverse = true; + this.init(); + this.active = true; + } + } else { + if (rewindMode) { + if (this.pingpongCounter == 1) { + if (this.i >= this.duration + this.cooldown + this.initiating) { + this.reverse = true; + this.i = 0; + this.pingpongCounter = 2; + this.init(); + this.active = true; + } + } + } else { + this.reverse = true; + this.i = 0; + this.init(); + this.active = true; + } + } + }; + acts.Start = function () + { + if (!this.active) { + this.loop = (this.playmode === 4); + if (this.playmode == 5) this.pingpongCounter = 1; + if ((this.playmode == 6) || (this.playmode == -6)) { + if (this.i < this.duration + this.cooldown + this.initiating) { + this.reverse = false; + this.init(); + this.active = true; + } + } else { + this.pingpongCounter = 1; + this.reverse = false; + this.i = 0; + this.init(); + this.active = true; + } + } + }; + acts.Stop = function (stopmode) + { + if (this.active) { + if ((this.playmode == 2) || (this.playmode == 4)) { + if (this.reverse) { + this.i = 0; + } else { + this.i = -1; + } + } else { + if (stopmode == 1) { + this.saveState(); + } else if (stopmode == 0) { + this.i = this.initiating + this.cooldown + this.duration; + } else { + this.i = 0; + } + } + this.tick(); + this.active = false; + } + }; + acts.Pause = function () { + if (this.active) { + this.isPaused = true; + this.active = false; + } + } + acts.Resume = function () { + if (this.isPaused) { + this.active = true; + this.isPaused = false; + } else { + if (!this.active) { + this.reverse = false; + this.i = 0; + this.init(); + this.active = true; + } + } + } + acts.Reverse = function (rewindMode) + { + this.rewindMode = (rewindMode == 1); + if (!this.active) { + this.loop = (this.playmode === 4); + if (this.playmode == 5) this.pingpongCounter = 1; + if ((this.playmode == 6) || (this.playmode == -6)) { + if (this.i < this.duration + this.cooldown + this.initiating) { + this.reverse = true; + this.init(); + this.active = true; + } + } else { + if (rewindMode) { + if (this.pingpongCounter == 1) { + if (this.i >= this.duration + this.cooldown + this.initiating) { + this.reverse = true; + this.i = 0; + this.pingpongCounter = 2; + this.init(); + this.active = true; + } + } + } else { + this.reverse = true; + this.i = 0; + this.init(); + this.active = true; + } + } + } + }; + acts.SetDuration = function (x) + { + this.duration = x; + }; + acts.SetWait = function (x) + { + this.wait = x; + this.initiating = parseFloat(this.wait.split(",")[0]); + this.cooldown = parseFloat(this.wait.split(",")[1]); + if ((this.initiating < 0) || (isNaN(this.initiating))) this.initiating = 0; + if ((this.cooldown < 0) || (isNaN(this.cooldown))) this.cooldown = 0; + }; + acts.SetTarget = function (x) + { + if (typeof(x) == "string") { + this.target = x; + this.targetX = parseFloat(x.split(",")[0]); + this.targetY = parseFloat(x.split(",")[1]); + } else { + this.target = x; + this.targetX = x; + } + if (!this.active) { + this.init(); + } else { + } + }; + acts.SetTargetObject = function (obj) + { + if (!obj) + return; + var otherinst = obj.getFirstPicked(); + if (!otherinst) + return; + this.targetObject = otherinst; + this.target = "OBJ"; + }; + acts.SetTargetX = function (x) + { + if ((this.tweened == 2) || (this.tweened == 3) || (this.tweened == 4) || (this.tweened == 5) || (this.tweened == 6)) { + if (typeof(x) == "string") { + this.target = parseFloat(x.split(",")[0]); + } else { + this.target = ""+x+","+this.targetY; + } + this.targetX = this.target; + } else { + var currY = this.target.split(",")[1]; + this.target = String(x) + "," + currY; + this.targetX = parseFloat(this.target.split(",")[0]); + this.targetY = parseFloat(this.target.split(",")[1]); + } + if (!this.active) { + this.saveState(); + this.init(); + } else { + } + }; + acts.SetTargetY = function (x) + { + if ((this.tweened == 2) || (this.tweened == 3) || (this.tweened == 4) || (this.tweened == 5) || (this.tweened == 6)) { + if (typeof(x) == "string") { + this.target = parseFloat(x)+""; + } else { + this.target = this.targetX+","+x; + } + this.targetX = this.target; + } else { + var currX = this.target.split(",")[0]; + this.target = currX + "," + String(x); + this.targetX = parseFloat(this.target.split(",")[0]); + this.targetY = parseFloat(this.target.split(",")[1]); + } + if (!this.active) { + this.saveState(); + this.init(); + } else { + } + }; + acts.SetInitial = function (x) + { + if (typeof(x) == "string") { + this.initial = x; + this.initialX = parseFloat(x.split(",")[0]); + this.initialY = parseFloat(x.split(",")[1]); + } else { + this.initial = ""+x; + this.initialX = x; + } + if (this.tweened == 6) { + this.value = this.initialX; + } + if (!this.active) { + this.saveState(); + this.init(); + } else { + } + }; + acts.SetInitialX = function (x) + { + if ((this.tweened == 2) || (this.tweened == 3) || (this.tweened == 4) || (this.tweened == 5) || (this.tweened == 6)) { + if (typeof(x) == "string") { + this.initial = parseFloat(x); + } else { + this.initial = ""+x+","+this.initialY; + } + this.initialX = this.initial; + } else { + if (this.initial == "") this.initial = "current"; + if (this.initial == "current") { + var currY = this.tweenSaveY; + } else { + var currY = this.initial.split(",")[1]; + } + this.initial = String(x) + "," + currY; + this.initialX = parseFloat(this.initial.split(",")[0]); + this.initialY = parseFloat(this.initial.split(",")[1]); + } + if (this.tweened == 6) { + this.value = this.initialX; + } + if (!this.active) { + this.saveState(); + this.init(); + } else { + } + }; + acts.SetInitialY = function (x) + { + if ((this.tweened == 2) || (this.tweened == 3) || (this.tweened == 4) || (this.tweened == 5) || (this.tweened == 6)) { + if (typeof(x) == "string") { + this.initial = parseFloat(x); + } else { + this.initial = ""+this.initialX+","+x; + } + this.initialX = this.initial; + } else { + if (this.initial == "") this.initial = "current"; + if (this.initial == "current") { + var currX = this.tweenSaveX; + } else { + var currX = this.initial.split(",")[0]; + } + this.initial = currX + "," + String(x); + this.initialX = parseFloat(this.initial.split(",")[0]); + this.initialY = parseFloat(this.initial.split(",")[1]); + } + if (!this.active) { + this.saveState(); + this.init(); + } else { + } + }; + acts.SetValue = function (x) + { + this.value = x; + }; + acts.SetTweenedProperty = function (m) + { + this.tweened = m; + }; + acts.SetEasing = function (w) + { + this.easing = w; + }; + acts.SetPlayback = function (x) + { + this.playmode = x; + }; + acts.SetParameter = function (tweened, playmode, easefunction, initial, target, duration, wait, cmode) + { + this.tweened = tweened; + this.playmode = playmode; + this.easing = easefunction; + acts.SetInitial.apply(this, [initial]); + acts.SetTarget.apply(this, [target]); + acts.SetDuration.apply(this, [duration]); + acts.SetWait.apply(this, [wait]); + this.coord_mode = cmode; + this.saveState(); + }; + behaviorProto.exps = {}; + var exps = behaviorProto.exps; + exps.Progress = function (ret) + { + ret.set_float(this.i / (this.duration + this.initiating + this.cooldown)); + }; + exps.ProgressTime = function (ret) + { + ret.set_float(this.i); + }; + exps.Duration = function (ret) + { + ret.set_float(this.duration); + }; + exps.Initiating = function (ret) + { + ret.set_float(this.initiating); + }; + exps.Cooldown = function (ret) + { + ret.set_float(this.cooldown); + }; + exps.Target = function (ret) + { + ret.set_string(this.target); + }; + exps.Value = function (ret) + { + ret.set_float(this.value); + }; + exps.isPaused = function (ret) + { + ret.set_int(this.isPaused ? 1: 0); + }; +}()); +; +; +cr.behaviors.scrollto = function(runtime) +{ + this.runtime = runtime; + this.shakeMag = 0; + this.shakeStart = 0; + this.shakeEnd = 0; + this.shakeMode = 0; +}; +(function () +{ + var behaviorProto = cr.behaviors.scrollto.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.enabled = (this.properties[0] !== 0); + }; + behinstProto.saveToJSON = function () + { + return { + "smg": this.behavior.shakeMag, + "ss": this.behavior.shakeStart, + "se": this.behavior.shakeEnd, + "smd": this.behavior.shakeMode + }; + }; + behinstProto.loadFromJSON = function (o) + { + this.behavior.shakeMag = o["smg"]; + this.behavior.shakeStart = o["ss"]; + this.behavior.shakeEnd = o["se"]; + this.behavior.shakeMode = o["smd"]; + }; + behinstProto.tick = function () + { + }; + function getScrollToBehavior(inst) + { + var i, len, binst; + for (i = 0, len = inst.behavior_insts.length; i < len; ++i) + { + binst = inst.behavior_insts[i]; + if (binst.behavior instanceof cr.behaviors.scrollto) + return binst; + } + return null; + }; + behinstProto.tick2 = function () + { + if (!this.enabled) + return; + var all = this.behavior.my_instances.valuesRef(); + var sumx = 0, sumy = 0; + var i, len, binst, count = 0; + for (i = 0, len = all.length; i < len; i++) + { + binst = getScrollToBehavior(all[i]); + if (!binst || !binst.enabled) + continue; + sumx += all[i].x; + sumy += all[i].y; + ++count; + } + var layout = this.inst.layer.layout; + var now = this.runtime.kahanTime.sum; + var offx = 0, offy = 0; + if (now >= this.behavior.shakeStart && now < this.behavior.shakeEnd) + { + var mag = this.behavior.shakeMag * Math.min(this.runtime.timescale, 1); + if (this.behavior.shakeMode === 0) + mag *= 1 - (now - this.behavior.shakeStart) / (this.behavior.shakeEnd - this.behavior.shakeStart); + var a = Math.random() * Math.PI * 2; + var d = Math.random() * mag; + offx = Math.cos(a) * d; + offy = Math.sin(a) * d; + } + layout.scrollToX(sumx / count + offx); + layout.scrollToY(sumy / count + offy); + }; + function Acts() {}; + Acts.prototype.Shake = function (mag, dur, mode) + { + this.behavior.shakeMag = mag; + this.behavior.shakeStart = this.runtime.kahanTime.sum; + this.behavior.shakeEnd = this.behavior.shakeStart + dur; + this.behavior.shakeMode = mode; + }; + Acts.prototype.SetEnabled = function (e) + { + this.enabled = (e !== 0); + }; + behaviorProto.acts = new Acts(); +}()); +; +; +cr.behaviors.shadowcaster = function(runtime) +{ + this.runtime = runtime; + this.myTypes = []; +}; +(function () +{ + var behaviorProto = cr.behaviors.shadowcaster.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + if (this.behavior.myTypes.indexOf(objtype) === -1) + this.behavior.myTypes.push(objtype); + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.inst.extra["shadowcasterEnabled"] = (this.properties[0] !== 0); + this.inst.extra["shadowcasterHeight"] = this.properties[1]; + this.inst.extra["shadowcasterTag"] = this.properties[2]; + }; + behinstProto.tick = function () + { + }; + function Cnds() {}; + Cnds.prototype.IsEnabled = function () + { + return this.inst.extra["shadowcasterEnabled"]; + }; + Cnds.prototype.CompareHeight = function (cmp, x) + { + var h = this.inst.extra["shadowcasterHeight"]; + return cr.do_cmp(h, cmp, x); + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetEnabled = function (e) + { + this.inst.extra["shadowcasterEnabled"] = !!e; + }; + Acts.prototype.SetHeight = function (h) + { + if (this.inst.extra["shadowcasterHeight"] !== h) + { + this.inst.extra["shadowcasterHeight"] = h; + this.runtime.redraw = true; + } + }; + Acts.prototype.SetTag = function (tag) + { + if (this.inst.extra["shadowcasterTag"] !== tag) + { + this.inst.extra["shadowcasterTag"] = tag; + this.runtime.redraw = true; + } + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.Height = function (ret) + { + ret.set_float(this.inst.extra["shadowcasterHeight"]); + }; + Exps.prototype.Tag = function (ret) + { + ret.set_string(this.inst.extra["shadowcasterTag"]); + }; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.solid = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.solid.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.inst.extra["solidEnabled"] = (this.properties[0] !== 0); + }; + behinstProto.tick = function () + { + }; + function Cnds() {}; + Cnds.prototype.IsEnabled = function () + { + return this.inst.extra["solidEnabled"]; + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetEnabled = function (e) + { + this.inst.extra["solidEnabled"] = !!e; + }; + behaviorProto.acts = new Acts(); +}()); +cr.getObjectRefTable = function () { return [ + cr.plugins_.NinePatch, + cr.plugins_.AJAX, + cr.plugins_.Audio, + cr.plugins_.Arr, + cr.plugins_.Function, + cr.plugins_.Browser, + cr.plugins_.Button, + cr.plugins_.filechooser, + cr.plugins_.Keyboard, + cr.plugins_.gamepad, + cr.plugins_.NodeWebkit, + cr.plugins_.Mouse, + cr.plugins_.LocalStorage, + cr.plugins_.Touch, + cr.plugins_.TextBox, + cr.plugins_.Particles, + cr.plugins_.aekiro_model, + cr.plugins_.aekiro_proui2, + cr.plugins_.TiledBg, + cr.plugins_.Sprite, + cr.plugins_.Text, + cr.plugins_.c2canvas, + cr.plugins_.GameAnalytics, + cr.plugins_.Globals, + cr.plugins_.CSS_import, + cr.plugins_.hmmg_layoutTransition_v2, + cr.plugins_.jcw_trace, + cr.plugins_.JSON, + cr.plugins_.HTML_Div_Pode, + cr.plugins_.MagiCam, + cr.plugins_.rojoPaster, + cr.plugins_.sirg_notifications, + cr.plugins_.TR_ClockParser, + cr.plugins_.skymen_minifunctioncallback, + cr.plugins_.skymen_siteLock, + cr.plugins_.SkymenSFPlusPLus, + cr.plugins_.skymen_skinsCore, + cr.plugins_.TextModded, + cr.plugins_.SyncStorage, + cr.plugins_.TR_AdBlockDetector, + cr.plugins_.ValerypopoffJSPlugin, + cr.plugins_.skymenhowlerjs, + cr.behaviors.Platform, + cr.behaviors.Timer, + cr.behaviors.Rex_pushOutSolid, + cr.behaviors.LOS, + cr.behaviors.jumpthru, + cr.behaviors.solid, + cr.behaviors.Persist, + cr.behaviors.Rex_Zigzag, + cr.behaviors.SkymenPolarCoordinates, + cr.behaviors.shadowcaster, + cr.behaviors.Bullet, + cr.behaviors.Turret, + cr.behaviors.Fade, + cr.behaviors.Anchor, + cr.behaviors.aekiro_button, + cr.behaviors.aekiro_tag, + cr.behaviors.aekiro_gameobject2, + cr.behaviors.Sin, + cr.behaviors.aekiro_bind, + cr.behaviors.aekiro_gridView, + cr.behaviors.aekiro_modelB, + cr.behaviors.aekiro_scrollView, + cr.behaviors.aekiro_dialog, + cr.behaviors.aekiro_checkbox, + cr.behaviors.aekiro_sliderbar, + cr.behaviors.lunarray_Tween, + cr.behaviors.scrollto, + cr.behaviors.lunarray_LiteTween, + cr.behaviors.SkymenSkin, + cr.behaviors.SkymenPin, + cr.system_object.prototype.cnds.IsGroupActive, + cr.plugins_.Sprite.prototype.cnds.CompareInstanceVar, + cr.behaviors.solid.prototype.acts.SetEnabled, + cr.system_object.prototype.cnds.Else, + cr.plugins_.Sprite.prototype.cnds.IsOverlapping, + cr.plugins_.Sprite.prototype.cnds.IsBoolInstanceVarSet, + cr.plugins_.Sprite.prototype.acts.AddInstanceVar, + cr.system_object.prototype.exps.dt, + cr.plugins_.Function.prototype.acts.CallFunction, + cr.plugins_.Sprite.prototype.acts.Destroy, + cr.plugins_.Sprite.prototype.acts.SetInstanceVar, + cr.plugins_.Sprite.prototype.cnds.OnCollision, + cr.behaviors.Platform.prototype.acts.SetVectorY, + cr.behaviors.Platform.prototype.exps.Gravity, + cr.system_object.prototype.exps.sin, + cr.plugins_.Sprite.prototype.exps.Angle, + cr.behaviors.Platform.prototype.acts.SetMaxSpeed, + cr.system_object.prototype.exps.max, + cr.system_object.prototype.exps.cos, + cr.behaviors.Platform.prototype.acts.SetVectorX, + cr.behaviors.Platform.prototype.exps.VectorX, + cr.plugins_.skymenhowlerjs.prototype.acts.Play, + cr.behaviors.Platform.prototype.acts.SetDeceleration, + cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, + cr.behaviors.Bullet.prototype.acts.SetSpeed, + cr.behaviors.Bullet.prototype.exps.Gravity, + cr.system_object.prototype.cnds.OnLayoutStart, + cr.system_object.prototype.acts.Wait, + cr.system_object.prototype.cnds.CompareVar, + cr.system_object.prototype.acts.SetVar, + cr.system_object.prototype.cnds.TriggerOnce, + cr.plugins_.GameAnalytics.prototype.acts.addProgressionEvent, + cr.system_object.prototype.exps.layoutname, + cr.system_object.prototype.exps["int"], + cr.system_object.prototype.exps.tokenat, + cr.plugins_.Globals.prototype.cnds.IsBoolInstanceVarSet, + cr.plugins_.Globals.prototype.cnds.CompareInstanceVar, + cr.system_object.prototype.cnds.IsPreview, + cr.system_object.prototype.cnds.IsOnPlatform, + cr.plugins_.SyncStorage.prototype.acts.SetData, + cr.plugins_.SyncStorage.prototype.exps.Get, + cr.plugins_.SyncStorage.prototype.acts.SaveData, + cr.plugins_.Sprite.prototype.acts.SetBoolInstanceVar, + cr.plugins_.Sprite.prototype.acts.SetAnimFrame, + cr.plugins_.Sprite.prototype.cnds.IsVisible, + cr.system_object.prototype.cnds.ForEach, + cr.behaviors.SkymenPin.prototype.acts.Pin, + cr.behaviors.Rex_Zigzag.prototype.acts.Start, + cr.plugins_.Sprite.prototype.acts.SetPos, + cr.plugins_.Sprite.prototype.exps.X, + cr.plugins_.Sprite.prototype.exps.Y, + cr.plugins_.Sprite.prototype.acts.SetAngle, + cr.plugins_.Sprite.prototype.exps.UID, + cr.system_object.prototype.cnds.PickAll, + cr.plugins_.Sprite.prototype.cnds.PickByUID, + cr.system_object.prototype.cnds.Compare, + cr.behaviors.Rex_Zigzag.prototype.acts.SetAbsolute, + cr.behaviors.SkymenPolarCoordinates.prototype.acts.SetEnabled, + cr.plugins_.Sprite.prototype.cnds.PickInstVarHiLow, + cr.behaviors.SkymenPolarCoordinates.prototype.acts.SetOriginPos, + cr.system_object.prototype.exps.distance, + cr.system_object.prototype.exps.angle, + cr.behaviors.SkymenPolarCoordinates.prototype.acts.SetDeltaPos, + cr.behaviors.Rex_Zigzag.prototype.exps.OffX, + cr.behaviors.Rex_Zigzag.prototype.exps.OffY, + cr.behaviors.Rex_Zigzag.prototype.exps.OffAngle, + cr.behaviors.jumpthru.prototype.acts.SetEnabled, + cr.behaviors.Turret.prototype.acts.AddTarget, + cr.behaviors.Turret.prototype.cnds.OnShoot, + cr.plugins_.Sprite.prototype.acts.Spawn, + cr.plugins_.Sprite.prototype.exps.LayerName, + cr.behaviors.Bullet.prototype.exps.Speed, + cr.behaviors.LOS.prototype.cnds.HasLOSToObject, + cr.behaviors.Turret.prototype.acts.SetEnabled, + cr.system_object.prototype.cnds.EveryTick, + cr.plugins_.Sprite.prototype.acts.RotateTowardPosition, + cr.plugins_.Sprite.prototype.cnds.OnDestroyed, + cr.plugins_.SyncStorage.prototype.cnds.HasData, + cr.plugins_.Sprite.prototype.acts.SetOpacity, + cr.behaviors.Bullet.prototype.cnds.CompareTravelled, + cr.behaviors.Bullet.prototype.acts.SetEnabled, + cr.behaviors.Fade.prototype.acts.StartFade, + cr.system_object.prototype.cnds.PickByComparison, + cr.plugins_.SkymenSFPlusPLus.prototype.acts.SetText, + cr.plugins_.Sprite.prototype.acts.SetMirrored, + cr.plugins_.Sprite.prototype.cnds.IsOverlappingOffset, + cr.behaviors.Platform.prototype.exps.VectorY, + cr.plugins_.Sprite.prototype.cnds.PickDistance, + cr.plugins_.Function.prototype.exps.Call, + cr.plugins_.Sprite.prototype.acts.SetCollisions, + cr.behaviors.Platform.prototype.exps.Speed, + cr.behaviors.Platform.prototype.exps.MovingAngle, + cr.plugins_.Sprite.prototype.exps.ImagePointX, + cr.plugins_.Sprite.prototype.exps.ImagePointY, + cr.plugins_.Sprite.prototype.acts.SetY, + cr.behaviors.Bullet.prototype.exps.AngleOfMotion, + cr.plugins_.Sprite.prototype.cnds.IsCollisionEnabled, + cr.plugins_.Function.prototype.cnds.OnFunction, + cr.plugins_.Function.prototype.exps.Param, + cr.plugins_.Function.prototype.acts.SetReturnValue, + cr.behaviors.Timer.prototype.cnds.OnTimer, + cr.behaviors.Platform.prototype.exps.GravityAngle, + cr.behaviors.Platform.prototype.acts.SetGravityAngle, + cr.plugins_.TiledBg.prototype.exps.Angle, + cr.system_object.prototype.exps.anglediff, + cr.behaviors.Timer.prototype.acts.StartTimer, + cr.plugins_.Sprite.prototype.acts.SetSize, + cr.plugins_.Sprite.prototype.acts.SetTowardPosition, + cr.system_object.prototype.cnds.ForEachOrdered, + cr.plugins_.Sprite.prototype.acts.ZMoveToObject, + cr.behaviors.SkymenSkin.prototype.acts.UseDefault, + cr.behaviors.SkymenSkin.prototype.acts.SetSkin, + cr.behaviors.SkymenSkin.prototype.acts.HideDefault, + cr.plugins_.Sprite.prototype.exps.Width, + cr.plugins_.Sprite.prototype.exps.ImageWidth, + cr.plugins_.Sprite.prototype.exps.Height, + cr.plugins_.Sprite.prototype.exps.ImageHeight, + cr.system_object.prototype.exps.find, + cr.plugins_.MagiCam.prototype.acts.CreateLocalCamera, + cr.plugins_.MagiCam.prototype.acts.FollowObject, + cr.plugins_.MagiCam.prototype.acts.EnableFollowing, + cr.plugins_.MagiCam.prototype.acts.SetFollowLag, + cr.system_object.prototype.acts.Scroll, + cr.system_object.prototype.exps.windowwidth, + cr.system_object.prototype.exps.windowheight, + cr.plugins_.Globals.prototype.acts.SetBoolInstanceVar, + cr.plugins_.Browser.prototype.acts.ExecJs, + cr.plugins_.Sprite.prototype.cnds.IsOutsideLayout, + cr.behaviors.Bullet.prototype.acts.SetAcceleration, + cr.behaviors.Fade.prototype.exps.FadeOutTime, + cr.behaviors.Platform.prototype.acts.SetEnabled, + cr.system_object.prototype.acts.RestartLayout, + cr.behaviors.Platform.prototype.cnds.IsFalling, + cr.behaviors.Platform.prototype.cnds.IsByWall, + cr.behaviors.Platform.prototype.cnds.OnJump, + cr.behaviors.Platform.prototype.exps.MaxSpeed, + cr.behaviors.Platform.prototype.exps.JumpStrength, + cr.behaviors.Platform.prototype.cnds.IsOnFloor, + cr.behaviors.Platform.prototype.acts.SetIgnoreInput, + cr.behaviors.Platform.prototype.cnds.IsMoving, + cr.system_object.prototype.exps.time, + cr.system_object.prototype.acts.AddVar, + cr.behaviors.Platform.prototype.cnds.IsJumping, + cr.behaviors.solid.prototype.cnds.IsEnabled, + cr.behaviors.Rex_pushOutSolid.prototype.acts.SetEnabled, + cr.behaviors.Rex_pushOutSolid.prototype.acts.PushOutNearest, + cr.plugins_.jcw_trace.prototype.acts.TraceLine, + cr.plugins_.jcw_trace.prototype.cnds.Hit, + cr.plugins_.jcw_trace.prototype.exps.NormalAngle, + cr.system_object.prototype.cnds.CompareBetween, + cr.plugins_.Text.prototype.acts.SetText, + cr.behaviors.Platform.prototype.cnds.CompareSpeed, + cr.system_object.prototype.exps.abs, + cr.system_object.prototype.exps.anglelerp, + cr.system_object.prototype.exps.timescale, + cr.plugins_.Keyboard.prototype.cnds.OnKeyCode, + cr.plugins_.Touch.prototype.cnds.OnTouchObject, + cr.plugins_.gamepad.prototype.cnds.OnButtonDown, + cr.system_object.prototype.cnds.IsMobile, + cr.plugins_.Browser.prototype.acts.Vibrate, + cr.plugins_.Touch.prototype.cnds.IsTouchingObject, + cr.plugins_.gamepad.prototype.cnds.CompareAxis, + cr.plugins_.Keyboard.prototype.cnds.OnKeyCodeReleased, + cr.plugins_.gamepad.prototype.cnds.OnButtonUp, + cr.plugins_.Arr.prototype.cnds.CompareSize, + cr.system_object.prototype.cnds.Repeat, + cr.plugins_.Arr.prototype.acts.Push, + cr.plugins_.Arr.prototype.acts.SetSize, + cr.behaviors.Platform.prototype.acts.SimulateControl, + cr.system_object.prototype.cnds.Every, + cr.plugins_.Arr.prototype.exps.At, + cr.plugins_.Arr.prototype.acts.Pop, + cr.behaviors.Timer.prototype.acts.StopTimer, + cr.plugins_.Sprite.prototype.acts.SetAnim, + cr.plugins_.Sprite.prototype.cnds.IsAnimPlaying, + cr.behaviors.Platform.prototype.acts.SetMaxFallSpeed, + cr.plugins_.MagiCam.prototype.acts.ShakeCamera, + cr.plugins_.Sprite.prototype.cnds.IsBetweenAngles, + cr.behaviors.Platform.prototype.cnds.OnLand, + cr.plugins_.Arr.prototype.exps.Width, + cr.system_object.prototype.cnds.While, + cr.system_object.prototype.acts.SubVar, + cr.plugins_.Sprite.prototype.cnds.CompareX, + cr.plugins_.Sprite.prototype.cnds.CompareY, + cr.plugins_.Sprite.prototype.cnds.OnCreated, + cr.plugins_.Arr.prototype.acts.JSONLoad, + cr.plugins_.Arr.prototype.cnds.CompareXY, + cr.plugins_.Sprite.prototype.acts.SetPosToObject, + cr.system_object.prototype.exps.lerp, + cr.plugins_.Sprite.prototype.acts.SetHeight, + cr.plugins_.SkymenSFPlusPLus.prototype.acts.MoveToBottom, + cr.plugins_.SkymenSFPlusPLus.prototype.acts.SetOpacity, + cr.behaviors.Platform.prototype.acts.SetDoubleJumpEnabled, + cr.plugins_.SkymenSFPlusPLus.prototype.exps.Count, + cr.system_object.prototype.acts.CreateObject, + cr.plugins_.SkymenSFPlusPLus.prototype.exps.LayerName, + cr.plugins_.SkymenSFPlusPLus.prototype.exps.X, + cr.plugins_.SkymenSFPlusPLus.prototype.exps.BBoxBottom, + cr.plugins_.SkymenSFPlusPLus.prototype.acts.SetSize, + cr.plugins_.SkymenSFPlusPLus.prototype.exps.Width, + cr.plugins_.SkymenSFPlusPLus.prototype.acts.SetPos, + cr.plugins_.SkymenSFPlusPLus.prototype.acts.MoveToLayer, + cr.system_object.prototype.acts.SetGroupActive, + cr.plugins_.TiledBg.prototype.acts.SetSize, + cr.system_object.prototype.exps.layoutwidth, + cr.plugins_.TiledBg.prototype.acts.MoveToBottom, + cr.plugins_.TiledBg.prototype.acts.SetOpacity, + cr.system_object.prototype.exps.layoutheight, + cr.plugins_.TiledBg.prototype.acts.SetAngle, + cr.plugins_.Browser.prototype.exps.Domain, + cr.plugins_.ValerypopoffJSPlugin.prototype.exps.JSCodeValue, + cr.behaviors.aekiro_dialog.prototype.acts.Open, + cr.plugins_.Keyboard.prototype.cnds.OnKey, + cr.plugins_.Browser.prototype.acts.ConsoleLog, + cr.plugins_.SkymenSFPlusPLus.prototype.cnds.OnCreated, + cr.plugins_.Browser.prototype.cnds.OnPageHidden, + cr.plugins_.ValerypopoffJSPlugin.prototype.acts.ExecuteJSWithParams, + cr.plugins_.Browser.prototype.cnds.OnPageVisible, + cr.plugins_.skymenhowlerjs.prototype.cnds.IsPlaying, + cr.plugins_.skymenhowlerjs.prototype.acts.PlayByName, + cr.plugins_.skymenhowlerjs.prototype.acts.Mute, + cr.plugins_.SyncStorage.prototype.cnds.IsLoaded, + cr.plugins_.skymenhowlerjs.prototype.acts.LinearVolume, + cr.plugins_.SyncStorage.prototype.cnds.CompareData, + cr.plugins_.skymenhowlerjs.prototype.acts.Unmute, + cr.system_object.prototype.exps.choose, + cr.system_object.prototype.exps.str, + cr.system_object.prototype.exps.floor, + cr.system_object.prototype.exps.random, + cr.plugins_.skymenhowlerjs.prototype.acts.Stop, + cr.plugins_.Sprite.prototype.cnds.AngleWithin, + cr.plugins_.JSON.prototype.cnds.IsEmpty, + cr.plugins_.AJAX.prototype.acts.RequestFile, + cr.plugins_.AJAX.prototype.cnds.OnComplete, + cr.plugins_.JSON.prototype.acts.LoadJSON, + cr.plugins_.AJAX.prototype.exps.LastData, + cr.plugins_.aekiro_model.prototype.acts.SetJSONByKeyString, + cr.plugins_.skymen_minifunctioncallback.prototype.acts.Callback, + cr.plugins_.JSON.prototype.exps.Value, + cr.plugins_.ValerypopoffJSPlugin.prototype.acts.Call, + cr.plugins_.ValerypopoffJSPlugin.prototype.exps.StoredReturnValue, + cr.plugins_.SyncStorage.prototype.acts.LoadData, + cr.plugins_.skymenhowlerjs.prototype.acts.Load, + cr.system_object.prototype.acts.WaitForSignal, + cr.plugins_.Globals.prototype.acts.SetInstanceVar, + cr.plugins_.Globals.prototype.exps.GetVariablesAsJSON, + cr.plugins_.ValerypopoffJSPlugin.prototype.acts.SetValue, + cr.plugins_.AJAX.prototype.cnds.OnError, + cr.plugins_.SyncStorage.prototype.cnds.OnDataMissing, + cr.plugins_.SyncStorage.prototype.cnds.OnLoaded, + cr.plugins_.Globals.prototype.acts.LoadVariables, + cr.plugins_.skymenhowlerjs.prototype.acts.Volume, + cr.plugins_.skymenhowlerjs.prototype.exps.LinearVolume, + cr.plugins_.Browser.prototype.acts.RequestFullScreen, + cr.plugins_.SyncStorage.prototype.cnds.OnLoadError, + cr.plugins_.SyncStorage.prototype.exps.ErrorMsg, + cr.system_object.prototype.cnds.OnLayoutEnd, + cr.plugins_.SyncStorage.prototype.acts.ClearData, + cr.system_object.prototype.cnds.For, + cr.plugins_.SyncStorage.prototype.acts.RemoveData, + cr.system_object.prototype.exps.loopindex, + cr.plugins_.SyncStorage.prototype.acts.AddValue, + cr.plugins_.Browser.prototype.cnds.OnOfflineReady, + cr.plugins_.Browser.prototype.cnds.OnUpdateFound, + cr.plugins_.Browser.prototype.cnds.OnUpdateReady, + cr.plugins_.sirg_notifications.prototype.cnds.OnNotificationClicked, + cr.plugins_.Browser.prototype.acts.Reload, + cr.plugins_.Browser.prototype.acts.GoToURLWindow, + cr.plugins_.hmmg_layoutTransition_v2.prototype.cnds.didTransitionStart, + cr.plugins_.sirg_notifications.prototype.acts.AddSimpleNotification, + cr.plugins_.sirg_notifications.prototype.acts.AddNotification, + cr.plugins_.sirg_notifications.prototype.acts.AddNotificationClickable, + cr.plugins_.sirg_notifications.prototype.acts.DeleteAllNotifications, + cr.plugins_.skymen_skinsCore.prototype.acts.AddSkin, + cr.plugins_.skymen_skinsCore.prototype.acts.Init, + cr.system_object.prototype.exps.clamp, + cr.plugins_.Keyboard.prototype.cnds.OnAnyKey, + cr.plugins_.Keyboard.prototype.exps.LastKeyCode, + cr.plugins_.Sprite.prototype.exps.Count, + cr.plugins_.NodeWebkit.prototype.acts.SetWindowTitle, + cr.plugins_.Arr.prototype.acts.SetXY, + cr.plugins_.Sprite.prototype.exps.AnimationFrame, + cr.plugins_.NodeWebkit.prototype.acts.SetClipboardText, + cr.plugins_.Arr.prototype.exps.AsJSON, + cr.plugins_.Sprite.prototype.acts.SetVisible, + cr.plugins_.skymen_skinsCore.prototype.exps.RandomSkin, + cr.plugins_.Globals.prototype.acts.ToggleBoolInstanceVar, + cr.plugins_.SyncStorage.prototype.exps.AsString, + cr.plugins_.TextModded.prototype.cnds.OnCreated, + cr.plugins_.TextModded.prototype.acts.SetInstanceVar, + cr.plugins_.TextModded.prototype.exps.FaceSize, + cr.plugins_.TextModded.prototype.exps.Width, + cr.plugins_.TextModded.prototype.exps.Height, + cr.plugins_.SkymenSFPlusPLus.prototype.acts.SetInstanceVar, + cr.plugins_.SkymenSFPlusPLus.prototype.exps.CharacterScale, + cr.plugins_.TextModded.prototype.acts.SetWebFont, + cr.plugins_.SkymenSFPlusPLus.prototype.cnds.IsBoolInstanceVarSet, + cr.plugins_.SkymenSFPlusPLus.prototype.cnds.IsVisible, + cr.plugins_.SkymenSFPlusPLus.prototype.acts.SetVisible, + cr.plugins_.ValerypopoffJSPlugin.prototype.cnds.CompareStoredReturnValue, + cr.plugins_.SkymenSFPlusPLus.prototype.exps.Text, + cr.plugins_.SkymenSFPlusPLus.prototype.exps.LayerNumber, + cr.behaviors.aekiro_gameobject2.prototype.exps.global, + cr.plugins_.TextModded.prototype.acts.SetSize, + cr.plugins_.SkymenSFPlusPLus.prototype.exps.Height, + cr.plugins_.TextModded.prototype.acts.SetText, + cr.plugins_.TextModded.prototype.acts.SetFontSize, + cr.plugins_.TextModded.prototype.acts.SetHorAl, + cr.plugins_.TextModded.prototype.acts.SetVerAl, + cr.plugins_.TextModded.prototype.acts.SetHeight, + cr.plugins_.TextModded.prototype.acts.SetY, + cr.plugins_.TextModded.prototype.exps.Y, + cr.plugins_.TextModded.prototype.acts.SetWidth, + cr.plugins_.TextModded.prototype.acts.SetX, + cr.plugins_.TextModded.prototype.exps.X, + cr.plugins_.TextModded.prototype.acts.SetAngle, + cr.plugins_.SkymenSFPlusPLus.prototype.exps.Angle, + cr.plugins_.TextModded.prototype.acts.SetOpacity, + cr.plugins_.SkymenSFPlusPLus.prototype.exps.Opacity, + cr.plugins_.TextModded.prototype.acts.ZMoveToObject, + cr.plugins_.SkymenSFPlusPLus.prototype.cnds.CompareInstanceVar, + cr.plugins_.TextModded.prototype.acts.SetFontColor, + cr.system_object.prototype.exps.rgb, + cr.plugins_.TextModded.prototype.acts.SetBoolInstanceVar, + cr.plugins_.SkymenSFPlusPLus.prototype.exps.UID, + cr.plugins_.SkymenSFPlusPLus.prototype.acts.Destroy, + cr.system_object.prototype.acts.Signal, + cr.system_object.prototype.exps.lowercase, + cr.plugins_.Sprite.prototype.exps.AnimationName, + cr.plugins_.Sprite.prototype.exps.LayerNumber, + cr.plugins_.TextModded.prototype.acts.SetPos, + cr.plugins_.Sprite.prototype.exps.Opacity, + cr.plugins_.TextModded.prototype.exps.UID, + cr.behaviors.aekiro_gameobject2.prototype.acts.AddChildrenFromType, + cr.plugins_.TextModded.prototype.cnds.IsBoolInstanceVarSet, + cr.plugins_.SkymenSFPlusPLus.prototype.acts.SetScale, + cr.plugins_.SkymenSFPlusPLus.prototype.cnds.PickByUID, + cr.plugins_.TextModded.prototype.cnds.PickByUID, + cr.plugins_.aekiro_model.prototype.acts.StringToHashTable, + cr.plugins_.TR_ClockParser.prototype.exps.MMSS, + cr.system_object.prototype.exps.round, + cr.system_object.prototype.exps.zeropad, + cr.behaviors.aekiro_button.prototype.acts.setEnabled, + cr.plugins_.aekiro_model.prototype.cnds.IsEmpty, + cr.plugins_.Sprite.prototype.acts.SetX, + cr.plugins_.Sprite.prototype.acts.SetWidth, + cr.behaviors.aekiro_gameobject2.prototype.exps.parent, + cr.plugins_.Sprite.prototype.exps.BBoxRight, + cr.system_object.prototype.exps.replace, + cr.plugins_.AJAX.prototype.acts.Request, + cr.plugins_.Text.prototype.cnds.OnCreated, + cr.plugins_.Text.prototype.acts.SetWebFont, + cr.behaviors.aekiro_dialog.prototype.cnds.onDialogOpened, + cr.system_object.prototype.acts.SetObjectTimescale, + cr.behaviors.aekiro_dialog.prototype.acts.Close, + cr.behaviors.aekiro_button.prototype.cnds.OnClicked, + cr.behaviors.aekiro_bind.prototype.exps.index, + cr.plugins_.TR_AdBlockDetector.prototype.cnds.IsBlocking, + cr.plugins_.GameAnalytics.prototype.acts.addDesignEvent, + cr.plugins_.Function.prototype.exps.ParamCount, + cr.system_object.prototype.acts.GoToLayoutByName, + cr.system_object.prototype.acts.SetTimescale, + cr.plugins_.hmmg_layoutTransition_v2.prototype.acts.prepareTransition, + cr.plugins_.hmmg_layoutTransition_v2.prototype.cnds.isTransitionReady, + cr.plugins_.hmmg_layoutTransition_v2.prototype.acts.startTransition, + cr.system_object.prototype.acts.SetLayerVisible, + cr.behaviors.lunarray_LiteTween.prototype.cnds.OnEnd, + cr.behaviors.aekiro_button.prototype.cnds.IsEnabled, + cr.plugins_.Sprite.prototype.cnds.CompareFrame, + cr.plugins_.Sprite.prototype.cnds.CompareWidth, + cr.plugins_.JSON.prototype.exps.Size, + cr.behaviors.lunarray_LiteTween.prototype.acts.SetParameter, + cr.behaviors.lunarray_LiteTween.prototype.acts.Start, + cr.plugins_.SkymenSFPlusPLus.prototype.acts.SetPosToObject, + cr.plugins_.Sprite.prototype.exps.BBoxLeft, + cr.plugins_.Sprite.prototype.exps.BBoxTop, + cr.system_object.prototype.exps.viewportright, + cr.system_object.prototype.exps.viewportleft, + cr.system_object.prototype.exps.viewportbottom, + cr.system_object.prototype.exps.viewporttop, + cr.system_object.prototype.acts.SetLayerOpacity, + cr.system_object.prototype.exps.unlerp, + cr.plugins_.Sprite.prototype.exps.BBoxBottom, + cr.plugins_.Particles.prototype.acts.SetRate, + cr.system_object.prototype.exps.canvastolayerx, + cr.plugins_.Touch.prototype.exps.AbsoluteX, + cr.plugins_.Touch.prototype.exps.AbsoluteY, + cr.system_object.prototype.exps.canvastolayery, + cr.plugins_.Mouse.prototype.cnds.OnObjectClicked, + cr.plugins_.Mouse.prototype.exps.AbsoluteX, + cr.plugins_.Mouse.prototype.exps.AbsoluteY, + cr.plugins_.Mouse.prototype.cnds.IsOverObject, + cr.behaviors.Sin.prototype.acts.SetMagnitude, + cr.behaviors.Sin.prototype.exps.Magnitude, + cr.behaviors.Sin.prototype.acts.SetPeriod, + cr.behaviors.Sin.prototype.exps.Period, + cr.behaviors.aekiro_dialog.prototype.cnds.onDialogClosed, + cr.plugins_.TextModded.prototype.cnds.CompareInstanceVar, + cr.plugins_.Keyboard.prototype.exps.StringFromKeyCode, + cr.behaviors.aekiro_sliderbar.prototype.acts.setValue, + cr.behaviors.aekiro_checkbox.prototype.acts.setValue, + cr.plugins_.Browser.prototype.cnds.IsFullscreen, + cr.behaviors.aekiro_checkbox.prototype.cnds.OnClicked, + cr.behaviors.aekiro_checkbox.prototype.cnds.IsChecked, + cr.plugins_.Browser.prototype.acts.CancelFullScreen, + cr.behaviors.aekiro_sliderbar.prototype.cnds.IsSliding, + cr.behaviors.aekiro_sliderbar.prototype.exps.value, + cr.plugins_.rojoPaster.prototype.cnds.OnCreated, + cr.plugins_.rojoPaster.prototype.acts.LoadImage, + cr.plugins_.SkymenSFPlusPLus.prototype.exps.Y, + cr.plugins_.TextModded.prototype.acts.Destroy, + cr.plugins_.SkymenSFPlusPLus.prototype.acts.SetBoolInstanceVar, + cr.plugins_.SyncStorage.prototype.acts.SubtractValue, + cr.plugins_.Touch.prototype.cnds.OnDoubleTapGestureObject, + cr.plugins_.Arr.prototype.acts.SetXYZ, + cr.plugins_.Keyboard.prototype.cnds.IsKeyDown, + cr.system_object.prototype.acts.GoToLayout, + cr.system_object.prototype.acts.ResetPersisted, + cr.behaviors.aekiro_dialog.prototype.cnds.isOpened, + cr.plugins_.Function.prototype.cnds.CompareParam, + cr.plugins_.HTML_Div_Pode.prototype.acts.MoveToLayer, + cr.plugins_.Browser.prototype.cnds.IsPortraitLandscape, + cr.plugins_.HTML_Div_Pode.prototype.acts.SetPos, + cr.system_object.prototype.exps.originalwindowwidth, + cr.plugins_.HTML_Div_Pode.prototype.acts.SetWidth, + cr.plugins_.HTML_Div_Pode.prototype.acts.SetVisible, + cr.plugins_.filechooser.prototype.acts.ReleaseFile, + cr.plugins_.filechooser.prototype.exps.FileURLAt, + cr.plugins_.Browser.prototype.acts.InvokeDownloadString, + cr.plugins_.filechooser.prototype.cnds.OnChanged, + cr.plugins_.TextBox.prototype.cnds.OnClicked, + cr.plugins_.TextBox.prototype.acts.SetBlur, + cr.plugins_.Button.prototype.cnds.OnClicked, + cr.plugins_.Button.prototype.cnds.CompareInstanceVar, + cr.plugins_.TextBox.prototype.cnds.CompareInstanceVar, + cr.plugins_.TextBox.prototype.exps.Text, + cr.plugins_.Button.prototype.cnds.IsChecked, + cr.plugins_.SyncStorage.prototype.acts.AppendValue, + cr.behaviors.Fade.prototype.acts.RestartFade, + cr.plugins_.hmmg_layoutTransition_v2.prototype.cnds.didTransitionFinish, + cr.behaviors.lunarray_Tween.prototype.cnds.OnEnd, + cr.behaviors.lunarray_Tween.prototype.acts.SetParameter, + cr.behaviors.lunarray_Tween.prototype.acts.Start, + cr.behaviors.lunarray_Tween.prototype.exps.isPaused, + cr.behaviors.lunarray_Tween.prototype.exps.Target, + cr.behaviors.lunarray_Tween.prototype.exps.Value, + cr.plugins_.SkymenSFPlusPLus.prototype.acts.SetCharPos, + cr.plugins_.SkymenSFPlusPLus.prototype.acts.Redraw, + cr.system_object.prototype.exps.loadingprogress, + cr.plugins_.TiledBg.prototype.exps.Opacity, + cr.plugins_.HTML_Div_Pode.prototype.acts.Destroy, + cr.plugins_.sirg_notifications.prototype.acts.SetPosition, + cr.plugins_.GameAnalytics.prototype.acts.initialize, + cr.plugins_.skymen_siteLock.prototype.cnds.SiteLock, + cr.plugins_.Browser.prototype.acts.GoToURL +];}; diff --git a/games/ovo/1.4.4/check.png b/games/ovo/1.4.4/check.png new file mode 100644 index 00000000..a47125cf Binary files /dev/null and b/games/ovo/1.4.4/check.png differ diff --git a/games/ovo/1.4.4/cmg.png b/games/ovo/1.4.4/cmg.png new file mode 100644 index 00000000..098fa83a Binary files /dev/null and b/games/ovo/1.4.4/cmg.png differ diff --git a/games/ovo/1.4.4/coin.png b/games/ovo/1.4.4/coin.png new file mode 100644 index 00000000..c8e171a0 Binary files /dev/null and b/games/ovo/1.4.4/coin.png differ diff --git a/games/ovo/1.4.4/coin10.png b/games/ovo/1.4.4/coin10.png new file mode 100644 index 00000000..6b70f04e Binary files /dev/null and b/games/ovo/1.4.4/coin10.png differ diff --git a/games/ovo/1.4.4/coin30.png b/games/ovo/1.4.4/coin30.png new file mode 100644 index 00000000..c9237ed7 Binary files /dev/null and b/games/ovo/1.4.4/coin30.png differ diff --git a/games/ovo/1.4.4/coin40.png b/games/ovo/1.4.4/coin40.png new file mode 100644 index 00000000..99b5054a Binary files /dev/null and b/games/ovo/1.4.4/coin40.png differ diff --git a/games/ovo/1.4.4/coin5.png b/games/ovo/1.4.4/coin5.png new file mode 100644 index 00000000..e1e6cb8c Binary files /dev/null and b/games/ovo/1.4.4/coin5.png differ diff --git a/games/ovo/1.4.4/coinsecret.png b/games/ovo/1.4.4/coinsecret.png new file mode 100644 index 00000000..5d07fe8c Binary files /dev/null and b/games/ovo/1.4.4/coinsecret.png differ diff --git a/games/ovo/1.4.4/community.png b/games/ovo/1.4.4/community.png new file mode 100644 index 00000000..a39e53bc Binary files /dev/null and b/games/ovo/1.4.4/community.png differ diff --git a/games/ovo/1.4.4/data.js b/games/ovo/1.4.4/data.js new file mode 100644 index 00000000..0242c0a5 --- /dev/null +++ b/games/ovo/1.4.4/data.js @@ -0,0 +1 @@ +{"project":[null,"LoaderLayout",[[0,false,true,true,true,false,true,true,true,true],[1,true,false,false,false,false,false,false,false,false],[2,true,false,false,false,false,false,false,false,false],[3,false,false,false,false,false,false,false,false,false],[4,true,false,false,false,false,false,false,false,false],[5,true,false,false,false,false,false,false,false,false],[6,false,true,true,true,false,false,false,false,false],[7,false,true,true,true,false,false,false,false,false],[8,true,false,false,false,false,false,false,false,false],[9,true,false,false,false,false,false,false,false,false],[10,true,false,false,false,false,false,false,false,false],[11,true,false,false,false,false,false,false,false,false],[12,true,false,false,false,false,false,false,false,false],[13,true,false,false,false,false,false,false,false,false],[14,false,true,true,true,false,false,false,false,false],[15,false,true,true,false,true,true,true,true,true],[16,false,false,false,false,false,false,false,false,false],[17,true,false,false,false,false,false,false,false,false],[18,false,true,true,true,true,true,true,true,true],[19,false,true,true,true,true,true,true,true,false],[20,false,true,true,true,true,true,true,true,false],[21,false,true,true,true,true,true,true,false,false],[22,true,false,false,false,false,false,false,false,false],[23,false,false,false,false,false,false,false,false,false],[24,false,false,false,false,false,false,false,false,false],[25,true,false,false,false,false,false,false,false,false],[26,false,false,false,false,false,false,false,false,false],[27,false,false,false,false,false,false,false,false,false],[28,false,true,true,true,true,false,true,false,false],[29,true,false,false,false,false,false,false,false,false],[30,false,true,true,true,true,true,true,true,true],[31,true,false,false,false,false,false,false,false,false],[32,true,false,false,false,false,false,false,false,false],[33,true,false,false,false,false,false,false,false,false],[34,true,false,false,false,false,false,false,false,false],[35,false,true,true,true,true,true,true,true,true],[36,false,false,false,false,false,false,false,false,false],[37,false,true,true,true,true,true,true,true,false],[38,true,false,false,false,false,false,false,false,false],[39,true,false,false,false,false,false,false,false,false],[40,true,false,false,false,false,false,false,false,false],[41,true,false,false,false,false,false,false,false,false]],[["t0",4,false,[],0,0,null,null,[],false,false,273531128924705,[],null,[]],["t1",23,false,[133877115910598,870428769630176,680844827905013,119861293303980,764988120178749,275777020702190,735275992362800,243159837440127,187274219200853,439020954481414,429060834882406,763267191436511,477511832838842,672163712802491,505132606345697,103042904045584,474761451305821,452916720123893,258727859434245,499687181670782,576616233442667,451174993162494,720578798982314,905944630760862],0,0,null,null,[],true,false,515033443117952,[],null],["t2",8,false,[],0,0,null,null,[],false,false,925902959099919,[],null,[]],["t3",13,false,[],0,0,null,null,[],false,false,357769062887890,[],null,[1]],["t4",5,false,[],0,0,null,null,[],false,false,414097256597231,[],null,[]],["t5",17,false,[],0,0,null,null,[],false,false,220986962710981,[],null,["","","sounds",0]],["t6",25,false,[],0,0,null,null,[],false,false,139489197023203,[],null,[0.7,16777215]],["t7",16,false,[],0,0,null,null,[],true,false,596640076803676,[],null],["t8",1,false,[],0,0,null,null,[],false,false,614316230504694,[],null,[]],["t9",2,false,[],0,0,null,null,[],false,false,398937627619450,[],null,[0,3,0,1,1,600,600,10000,1]],["t10",11,false,[],0,0,null,null,[],false,false,804715427322248,[],null,[]],["t11",31,false,[],0,0,null,null,[],false,false,599241411212868,[],null,[3,2,2,4000,0,1,1]],["t12",38,false,[],0,0,null,null,[],false,false,612921591774343,[],null,["","DedraOvO","",0,5,8]],["t13",12,false,[],0,0,null,null,[],false,false,342789472927660,[],null,[]],["t14",27,false,[],0,0,null,null,[],true,false,633629814046735,[],null],["t15",33,false,[],0,0,null,null,[],false,false,561258994883058,[],null,[]],["t16",23,false,[654480239520701,460684017557954,948787547911857,399335419630241,491126987205847,751935295868204],0,0,null,null,[],true,false,357146569931084,[],null],["t17",36,false,[],0,0,null,null,[],true,false,765401267426925,[],null],["t18",3,false,[],0,0,null,null,[],true,false,229044035855895,[],null],["t19",24,false,[],0,0,null,null,[],true,false,654869711968354,[],null],["t20",26,false,[],0,0,null,null,[],true,false,658037363086442,[],null],["t21",26,false,[],0,0,null,null,[],true,false,380420909735584,[],null],["t22",3,false,[],0,0,null,null,[],true,false,326089728410809,[],null],["t23",10,false,[],0,0,null,null,[],false,false,844752959443825,[],null,[]],["t24",27,false,[],0,0,null,null,[],true,false,821755585081430,[],null],["t25",29,false,[],0,0,null,null,[],false,false,764816129209275,[],null,[]],["t26",34,false,[],0,0,null,null,[],false,false,888954727894438,[],null,["f8e2608e89aac06b6cbb4521f5e1c955 fbc3ba78d351a32ddca2dae6f09d2b7c 00e1f6e8c4889f3789ec7f86922b233b 775b7c9d6ba3ff45cfc8d71c7b6c2855 205af8475efda4dd3b191b4c9fc4dfbf d8432200fe4cfc0397888f15840a50e3 697297b0c269a4d7b459588fd68cb428 d0cfa58d42faa472b19741a8893be5bb 1e03685c305699c1c46a4b2607f34187 537c75e5fe9c82bc3b35c9ac80d9db82 ba7fcd511d452e3c675cb17df5b8c88b 0833f8443e4f00c7ab33bac251568009 dc6de264d6084f9eb61f608fcefcdf70 3f56f8854b63c15c507e637af1131b50 8cae4451e3e5536df44f76b86e2cdb13 2d7d5773d83790ff6c86afd9bf893fc7 609f1096d43a9c52f16d34e33c0c3ad7",0,"meraihi",0]],["t27",3,false,[],0,0,null,null,[],true,false,360018221898094,[],null],["t28",27,false,[],0,0,null,null,[],true,false,289794641812541,[],null],["t29",39,false,[],0,0,null,null,[],false,false,953863787324806,[],null,[]],["t30",23,false,[186081230743002,182193094458423,283013160608045,668753281762467],0,0,null,null,[],true,false,654882806789288,[],null],["t31",16,false,[],0,0,null,null,[],true,false,506518707241328,[],null],["t32",19,false,[262704971509323,199058042510295,193849943661847,993466495623759,162248679823403],0,0,null,[["Default",5,false,1,0,false,124653844530838,[["images/body-sheet0.png",98,0,0,8,16,1,0.5,0.5,[["Head",0.5,0],["RightA",1,0.25],["LeftA",0,0.25],["LeftL",0,1],["RightL",0.5,1]],[],4]]]],[],false,false,370474469864310,[],null],["t33",19,false,[262704971509323,199058042510295,193849943661847,993466495623759,162248679823403],0,0,null,[["Default",5,false,1,0,false,606236016027047,[["images/head-sheet0.png",209,0,0,32,32,1,0.5,1,[],[-0.25,-0.75,0.25,-0.75,0.25,-0.25,-0.25,-0.25],3]]]],[],false,false,657289988106883,[],null],["t34",19,false,[262704971509323,199058042510295,193849943661847,993466495623759,162248679823403],0,0,null,[["Default",5,false,1,0,false,392742530391259,[["images/leftarm-sheet0.png",98,0,0,4,8,1,1,0,[["Imagepoint 1",1,1]],[],4]]]],[],false,false,694286574068717,[],null],["t35",19,false,[262704971509323,199058042510295,193849943661847,993466495623759,162248679823403],0,0,null,[["Default",5,false,1,0,false,250392094328566,[["images/leftarm-sheet0.png",98,0,0,4,8,1,0,0,[],[],4]]]],[],false,false,874995994633167,[],null],["t36",19,false,[262704971509323,199058042510295,193849943661847,993466495623759,162248679823403],0,0,null,[["Default",5,false,1,0,false,139580154073969,[["images/leftarm-sheet0.png",98,0,0,4,8,1,1,0,[],[],4]]]],[],false,false,961246189792673,[],null],["t37",19,false,[262704971509323,199058042510295,193849943661847,993466495623759,162248679823403],0,0,null,[["Default",5,false,1,0,false,335974442939608,[["images/leftarm-sheet0.png",98,0,0,4,8,1,0,0,[["Imagepoint 1",0,1]],[],4]]]],[],false,false,437376146047230,[],null],["t38",19,false,[262704971509323,199058042510295,193849943661847,993466495623759,162248679823403],0,0,null,[["Default",5,false,1,0,false,369268879553443,[["images/leftarm-sheet0.png",98,0,0,4,8,1,1,0,[["Imagepoint 1",1,1]],[],4]]]],[],false,false,488719721118304,[],null],["t39",19,false,[262704971509323,199058042510295,193849943661847,993466495623759,162248679823403],0,0,null,[["Default",5,false,1,0,false,875221134495159,[["images/leftarm-sheet0.png",98,0,0,4,8,1,0,0,[],[],4]]]],[],false,false,994642941606460,[],null],["t40",19,false,[262704971509323,199058042510295,193849943661847,993466495623759,162248679823403],0,0,null,[["Default",5,false,1,0,false,329108067790917,[["images/leftarm-sheet0.png",98,0,0,4,8,1,1,0,[],[],4]]]],[],false,false,495662826184147,[],null],["t41",19,false,[262704971509323,199058042510295,193849943661847,993466495623759,162248679823403],0,0,null,[["Default",5,false,1,0,false,565397434422435,[["images/leftarm-sheet0.png",98,0,0,4,8,1,0,0,[["Imagepoint 1",0,1]],[],4]]]],[],false,false,385635332581677,[],null],["t42",19,false,[965130243788707,391966578155599,418443004403309,205559354748660,184882366923246,571975540706805,973396186379932,905144766452725,438417421015097,391183442401305,203317764441037,401137709982100,241811251667048,526458096151416,656396053117641,604548696251246,323552313622811,328291593224048,698329618803408,900838029209634,138810329896709,446613829071068,706010803083758,717094015404639,502747126357153,391635589758416,608763460834035],4,0,null,[["Default",0,false,1,0,false,383507738196736,[["images/collider-sheet0.png",223,1,1,32,64,1,0.5,0.5,[["Bottom",0.5,1.25],["BodyPos",0.5,0.625],["Right",1.8125,0.953125],["Left",-0.8125,0.984375]],[0.25,-0.375,-0.25,-0.375,-0.25,0.5,0.25,0.5],0],["images/collider-sheet0.png",223,35,1,64,32,1,0.5,0,[["Bottom",0.5,2],["BodyPos",0.5,0.875],["Right",1.4375,0.875],["Left",-0.40625,0.96875]],[-0.1875,0.25,0.3125,0.25,0.3125,1,-0.1875,1],0],["images/collider-sheet0.png",223,35,35,32,64,1,0.5,0.5,[["Bottom",0.5,1.25],["BodyPos",0.5,0.625],["Right",1.8125,0.953125],["Left",-0.8125,0.984375]],[0.25,0,-0.25,0,-0.25,0.5,0.25,0.5],0]]],["Dive",3,true,1,1,false,950454803327767,[["images/collider-sheet1.png",140,0,0,64,32,1,0.5,0,[["Bottom",0.5,2],["BodyPos",0.5,0.875],["Right",1.4375,0.875],["Left",-0.40625,0.96875]],[-0.1875,0.25,0.5,0.25,0.5,1,-0.1875,1],0],["images/collider-sheet0.png",223,35,1,64,32,1,0.5,0,[["Bottom",0.5,2],["BodyPos",0.5,0.875],["Right",1.4375,0.875],["Left",-0.40625,0.96875]],[-0.1875,0.25,0.3125,0.25,0.3125,1,-0.1875,1],0]]]],[["Platform",42,106912818427955],["Timer",43,642338123210994],["PushOutSolid",44,547400551567431],["LineOfSight",45,215019182712805]],false,false,980093774729797,[],null],["t43",19,false,[915774954646669,520137848053553],0,0,null,[["Default",5,false,1,0,false,368770065383007,[["images/jumpboost-sheet0.png",147,0,0,32,32,1,0.5,0.5,[],[],3]]]],[],false,false,194253787145472,[],null],["t44",19,false,[],0,0,null,[["Default",5,false,1,0,false,668247446411146,[["images/endflag-sheet0.png",291,0,0,97,199,1,0.5257731676101685,0.4974874258041382,[],[],3]]]],[],false,false,794649530836660,[],null],["t45",18,false,[],1,0,["images/jumpthrough.png",118,3],null,[["Jumpthru",46,220799760448140]],false,false,536093583644218,[],null],["t46",35,false,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471],0,0,["images/spritefontdeluxe.png",1469,3],null,[],false,false,471915674765411,[],null],["t47",19,false,[497212342413462,221638416360845],1,0,null,[["Default",5,false,1,0,false,944480272403490,[["images/spike-sheet0.png",157,0,0,32,32,1,0.5,0.5,[],[0,-0.3125,0.40625,0.5,-0.40625,0.5],3]]]],[["Solid",47,291557814136714]],false,false,575349377753015,[],null],["t48",18,false,[],1,0,["images/solidmove.png",92,4],null,[["Solid",47,591205329772151]],false,false,822356300844382,[],null],["t49",19,false,[623098384470575,130266275676608,720839639861735,322342722461352,283978579575932,930540344157587,785612762004331],1,0,null,[["Default",0,false,1,0,false,481186809587176,[["images/buttontrigger-sheet0.png",121,0,0,32,32,1,0.5,0.5,[],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],4],["images/buttontrigger-sheet1.png",125,0,0,32,32,1,0.5,0.5,[],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],1]]]],[["Persist",48,513140042939745]],false,false,587395727077769,[],null],["t50",19,false,[440031906351753,952965123956453,238992560328463,689824488000075,860001807351402,243492761471736,448930816542163],2,0,null,[["Default",0,false,1,0,false,672507774301297,[["images/movearea-sheet0.png",182,0,0,32,32,1,0.5,0.5,[],[],0],["images/movearea-sheet1.png",182,0,0,32,32,1,0.5,0.5,[],[],0]]]],[["Zigzag",49,364916888746254],["PolarCoordinates",50,317780725754714]],false,false,633068639303610,[],null],["t51",18,false,[],2,0,["images/solid.png",106,1],null,[["Solid",47,839014338215174],["ShadowCaster",51,754529838465882]],false,false,947143641558759,[],null],["t52",18,false,[],1,0,["images/groundpoundsolid.png",118,0],null,[["Solid",47,355775501915793]],false,false,536663820533239,[],null],["t53",19,false,[809651306908247,219185254304743,213830926514419],0,0,null,[["Default",5,false,1,0,false,215265510930338,[["images/layoutnameholder-sheet0.png",92,0,0,16,16,1,0.5,0.5,[],[],1]]]],[],false,false,361845584556439,[],null],["t54",19,false,[497212342413462,653836336582490],1,0,null,[["Default",5,false,1,0,false,626893682707303,[["images/rocket-sheet0.png",149,0,0,32,16,1,0,0.5,[],[],3]]]],[["Bullet",52,762724820346008]],false,false,310947953387915,[],null],["t55",19,false,[538268536119827,737236424564987],2,0,null,[["Default",5,false,1,0,false,486312829178062,[["images/rocketlauncher-sheet0.png",179,0,0,64,32,1,0.125,0.5,[["Imagepoint 1",0.90625,0.5]],[],3]]]],[["Turret",53,611015121460512],["LineOfSight",45,843654116025483]],false,false,980398000624383,[],null],["t56",18,false,[],1,0,["images/solid2.png",92,4],null,[["Solid",47,494571790855143]],false,true,188134854455016,[],null],["t57",35,false,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471],0,0,["images/spritefontdeluxew.png",1566,3],null,[],false,false,882981310188564,[],null],["t58",19,false,[497212342413462],1,0,null,[["Default",5,false,1,0,false,676168668127819,[["images/spike2-sheet0.png",159,0,0,32,32,1,0.5,0.5,[],[0,-0.5,0.5,0.5,-0.5,0.5],3]]]],[["Solid",47,808816368020377]],false,false,422393596641127,[],null],["t59",18,false,[],1,0,["images/solid3.png",105,3],null,[["Solid",47,949978091938653]],false,false,263819500978949,[],null],["t60",19,false,[123984824623404],2,0,null,[["Default",15,true,1,0,false,163219438528587,[["images/coin-sheet0.png",2052,1,1,64,64,20,0.5,0.5,[],[],0],["images/coin-sheet0.png",2052,67,1,64,64,2,0.5,0.5,[],[],0],["images/coin-sheet0.png",2052,133,1,64,64,1,0.5,0.5,[],[],0],["images/coin-sheet0.png",2052,1,67,64,64,1,0.5,0.5,[],[],0],["images/coin-sheet0.png",2052,67,67,64,64,1,0.5,0.5,[],[],0],["images/coin-sheet0.png",2052,133,67,64,64,1,0.5,0.5,[],[],0],["images/coin-sheet0.png",2052,1,133,64,64,2,0.5,0.5,[],[],0]]]],[["Bullet",52,103306927455664],["Fade",54,561351622411365]],false,false,805093291112452,[],null],["t61",35,false,[],0,1,["images/layoutnumber.png",2921,3],null,[],false,false,472908043947012,[["difference","Difference"]],null],["t62",19,false,[409310316789030,270871931452201,282826763839191,364287935467571,206489992520925,974203441916957,700014547035786],0,1,null,[["Default",5,false,1,0,false,489610483249487,[["images/portal-sheet0.png",112,0,0,8,64,1,0.5,0.5,[["Sortie",3,0.5]],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],4]]]],[],false,false,524765780411763,[["replacecolor","ReplaceColor"]],null],["t63",19,false,[624158734960115,129805782484247,760936835300304,364642784298408,597110937293322,347357058477259],1,0,null,[["Default",0,false,1,0,false,827244585747431,[["images/triggerarea-sheet0.png",106,0,0,32,32,1,0.5,0.5,[],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],3],["images/triggerarea-sheet0.png",106,0,0,32,32,1,0.5,0.5,[],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],3]]]],[["Persist",48,272307223957476]],false,false,727998011305228,[],null],["t64",18,false,[],0,0,["images/tiledbackground.png",175,0],null,[],false,false,596413871533967,[],null],["t65",35,false,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471],0,1,["images/layoutsubtitle.png",2563,3],null,[],false,false,559683679456801,[["difference","Difference"]],null],["t66",19,false,[987569335984970],2,0,null,[["Default",15,true,1,0,false,178569602330166,[["images/coin-sheet0.png",2052,1,1,64,64,20,0.75,0.75,[],[],0],["images/coin-sheet0.png",2052,67,1,64,64,2,0.75,0.75,[],[],0],["images/coin-sheet0.png",2052,133,1,64,64,1,0.75,0.75,[],[],0],["images/coin-sheet0.png",2052,1,67,64,64,1,0.75,0.75,[],[],0],["images/coin-sheet0.png",2052,67,67,64,64,1,0.75,0.75,[],[],0],["images/coin-sheet0.png",2052,133,67,64,64,1,0.75,0.75,[],[],0],["images/coin-sheet0.png",2052,1,133,64,64,2,0.75,0.75,[],[],0]]]],[["Bullet",52,613445057935133],["Fade",54,762709295679968]],false,false,894030707981383,[],null],["t67",18,false,[],1,0,["images/solid.png",106,1],null,[["Solid",47,411427981380259]],false,false,628885230276165,[],null],["t68",18,false,[],1,0,["images/jumpthrough.png",118,3],null,[["Jumpthru",46,106595504161356]],false,false,876073376960068,[],null],["t69",19,false,[790039848453840],1,0,null,[["Default",0,false,1,0,false,877289776453565,[["images/uidirectionbtn-sheet0.png",1829,1,1,160,640,1,0.5,1,[],[-0.5,-0.53125,0.5,-0.53125,0.5,0,-0.5,0],3],["images/uidirectionbtn-sheet0.png",1829,163,1,160,640,1,0.5,1,[],[-0.5,-0.53125,0.5,-0.53125,0.5,0,-0.5,0],3],["images/uidirectionbtn-sheet0.png",1829,325,1,160,640,1,0.5,1,[],[-0.5,-0.53125,0.5,-0.53125,0.5,0,-0.5,0],3],["images/uidirectionbtn-sheet0.png",1829,487,1,160,640,1,0.5,1,[],[-0.5,-0.53125,0.5,-0.53125,0.5,0,-0.5,0],3],["images/uidirectionbtn-sheet0.png",1829,649,1,160,640,1,0.5,0.5,[],[-0.5,0.5,0.5,0.5,0.5,0.5,-0.5,0.5],3]]]],[["Anchor",55,817786228546890]],false,false,773190814482478,[],null],["t70",19,false,[833326627125313,852633912590874,833764059808737,616664986852724,450163888755740,516056762554634,164252510379460,343821699287631,260272918043277,471614009004684],4,0,null,[["Play",0,false,1,0,false,962838230279748,[["images/menubutton-sheet1.png",2974,1,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,131,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,261,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,1,265,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0]]],["Levels",0,false,1,0,false,696592364987785,[["images/menubutton-sheet1.png",2974,1,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,131,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,261,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0]]],["Credits",0,false,1,0,false,757312139855112,[["images/menubutton-sheet1.png",2974,1,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,131,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,261,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0]]],["Back",0,false,1,0,false,212726423616819,[["images/menubutton-sheet1.png",2974,1,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,131,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,261,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0]]],["Next",0,false,1,0,false,718184098979829,[["images/menubutton-sheet1.png",2974,1,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,131,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,261,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0]]],["Replay",0,false,1,0,false,661800133316195,[["images/menubutton-sheet1.png",2974,1,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,131,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,261,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0]]],["Pause",0,false,1,0,false,309693113908650,[["images/menubutton-sheet1.png",2974,425,133,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,391,199,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,261,265,64,64,1,0.5,0.5,[["topLeft",0,0]],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["Quit",0,false,1,0,false,419735788479691,[["images/menubutton-sheet1.png",2974,1,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,131,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,261,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0]]],["Training",0,false,1,0,false,154524941062248,[["images/menubutton-sheet1.png",2974,327,265,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,393,265,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,1,331,64,64,1,0.5,0.5,[["topLeft",0,0]],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["Options",0,false,1,0,false,521423074410578,[["images/menubutton-sheet1.png",2974,67,331,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,133,331,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,199,331,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0]]],["Achievements",0,false,1,0,false,961597565981694,[["images/menubutton-sheet1.png",2974,265,331,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,331,331,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,397,331,64,64,1,0.5,0.5,[["topLeft",0,0]],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["Skins",0,false,1,0,false,140434261630757,[["images/menubutton-sheet1.png",2974,1,397,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,67,397,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,133,397,64,64,1,0.5,0.5,[["topLeft",0,0]],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["Inputs",0,false,1,0,false,213588918714415,[["images/menubutton-sheet1.png",2974,1,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,131,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,261,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0]]],["Close",0,false,1,0,false,542281682425315,[["images/menubutton-sheet0.png",3655,493,246,16,16,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet0.png",3655,493,264,16,16,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet0.png",3655,493,282,16,16,1,0.5,0.5,[["topLeft",0,0]],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["Edit",0,false,1,0,false,643235031531346,[["images/menubutton-sheet0.png",3655,459,246,32,32,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet0.png",3655,459,280,32,32,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet0.png",3655,459,314,32,32,1,0.5,0.5,[["topLeft",0,0]],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["Reload",0,false,1,0,false,591056553932640,[["images/menubutton-sheet1.png",2974,199,397,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,265,397,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,331,397,64,64,1,0.5,0.5,[["topLeft",0,0]],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["Authenticate",0,false,1,0,false,216309916722664,[["images/menubutton-sheet1.png",2974,397,397,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet2.png",1675,1,1,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet2.png",1675,67,1,64,64,1,0.5,0.5,[["topLeft",0,0]],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["Info",0,false,1,0,false,842488651087870,[["images/menubutton-sheet2.png",1675,133,1,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet2.png",1675,199,1,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet2.png",1675,265,1,64,64,1,0.5,0.5,[["topLeft",0,0]],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["Resume",0,false,1,0,false,282666850536775,[["images/menubutton-sheet1.png",2974,1,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,131,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,261,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,131,265,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0]]],["DownloadReplay",0,false,1,0,false,851859117973782,[["images/menubutton-sheet0.png",3655,1,1,256,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet0.png",3655,1,67,256,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet0.png",3655,1,133,256,64,1,0.5,0.5,[["topLeft",0,0]],[],0]]],["LoadReplay",0,false,1,0,false,567532834862750,[["images/menubutton-sheet0.png",3655,1,199,227,64,1,0.5022026300430298,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet0.png",3655,230,199,227,64,1,0.5022026300430298,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet0.png",3655,1,265,227,64,1,0.5022026300430298,0.5,[["topLeft",0,0]],[],0]]],["ToggleDebug",0,false,1,0,false,810913034713976,[["images/menubutton-sheet0.png",3655,230,265,227,64,1,0.5022026300430298,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet0.png",3655,1,331,227,64,1,0.5022026300430298,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet0.png",3655,230,331,227,64,1,0.5022026300430298,0.5,[["topLeft",0,0]],[],0]]],["Save",0,false,1,0,false,446180432961922,[["images/menubutton-sheet1.png",2974,1,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,131,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,261,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0]]],["ClearSave",0,false,1,0,false,464364714618000,[["images/menubutton-sheet0.png",3655,1,397,227,64,1,0.5022026300430298,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet0.png",3655,230,397,227,64,1,0.5022026300430298,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,1,1,227,64,1,0.5022026300430298,0.5,[["topLeft",0,0]],[],0]]],["Confirm",0,false,1,0,false,579470599704574,[["images/menubutton-sheet0.png",3655,459,348,32,32,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet0.png",3655,459,382,32,32,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet0.png",3655,459,416,32,32,1,0.5,0.5,[["topLeft",0,0]],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0],["images/menubutton-sheet0.png",3655,459,450,32,32,1,0.5,0.5,[["topLeft",0,0]],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["Cancel",0,false,1,0,false,742950516694063,[["images/menubutton-sheet0.png",3655,1,463,32,32,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet0.png",3655,35,463,32,32,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet0.png",3655,69,463,32,32,1,0.5,0.5,[["topLeft",0,0]],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0],["images/menubutton-sheet0.png",3655,103,463,32,32,1,0.5,0.5,[["topLeft",0,0]],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["ClearCoins",0,false,1,0,false,966550647742281,[["images/menubutton-sheet1.png",2974,230,1,227,64,1,0.5022026300430298,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,1,67,227,64,1,0.5022026300430298,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,230,67,227,64,1,0.5022026300430298,0.5,[["topLeft",0,0]],[],0]]],["ArrowRight",0,false,1,0,false,614997109473195,[["images/menubutton-sheet2.png",1675,331,1,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet2.png",1675,397,1,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet2.png",1675,1,67,64,64,1,0.5,0.5,[["topLeft",0,0]],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0],["images/menubutton-sheet2.png",1675,67,67,64,64,1,0.5,0.5,[["topLeft",0,0]],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["ArrowLeft",0,false,1,0,false,721178374660766,[["images/menubutton-sheet2.png",1675,133,67,64,64,1,0.5,0.5,[["topLeft",0,0]],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0],["images/menubutton-sheet2.png",1675,199,67,64,64,1,0.5,0.5,[["topLeft",0,0]],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0],["images/menubutton-sheet2.png",1675,265,67,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet2.png",1675,331,67,64,64,1,0.5,0.5,[["topLeft",0,0]],[],0]]],["Discord",0,false,1,0,false,869766903139515,[["images/menubutton-sheet0.png",3655,459,199,40,45,1,0.5,0.5111111402511597,[["topLeft",0,0]],[],0]]],["RandomSkin",0,false,1,0,false,858132809397273,[["images/menubutton-sheet1.png",2974,1,133,210,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,213,133,210,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,1,133,210,64,1,0.5,0.5,[["topLeft",0,0]],[],0]]],["RemoveMidrollAds",0,false,1,0,false,533043914935058,[["images/menubutton-sheet0.png",3655,259,1,250,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet0.png",3655,259,67,250,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet0.png",3655,259,1,250,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet0.png",3655,259,133,250,64,1,0.5,0.5,[["topLeft",0,0]],[],0]]],["MobileMode",0,false,1,0,false,816480965437860,[["images/menubutton-sheet1.png",2974,1,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,131,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0],["images/menubutton-sheet1.png",2974,261,199,128,64,1,0.5,0.5,[["topLeft",0,0]],[],0]]]],[["Button",56,192590927567796],["Tag",57,504981886149227],["Anchor",55,912720542346137],["GameObject",58,851537989156808]],false,false,871307910208735,[],null],["t71",19,false,[],4,0,null,[["Default",5,false,1,0,false,658412924655736,[["images/titlelogo-sheet0.png",3831,0,0,429,151,1,0.501165509223938,0.503311276435852,[],[-0.501165509223938,-0.503311276435852,-0.1480185091495514,-0.503311276435852,-0.0005825161933898926,0.08609169721603394,0.1477274894714356,-0.503311276435852,0.498834490776062,-0.503311276435852,0.498834490776062,0.496688723564148,-0.501165509223938,0.496688723564148],0]]]],[["Sine",59,687562273804991],["Sine2",59,254174200087253],["Sine3",59,559113761082110],["Sine4",59,397755608956234]],false,false,943341695504625,[],null],["t72",19,false,[],0,0,null,[["Default",5,false,1,0,false,843383714887302,[["images/credits-sheet0.png",1012,0,0,303,283,1,0.5016501545906067,0.5017668008804321,[],[-0.4950495064258575,-0.4946996569633484,0.4917488694190979,-0.4946996569633484,0.4917488694190979,0.4911661744117737,-0.4950495064258575,0.4911661744117737],0]]]],[],false,false,923192069896660,[],null],["t73",35,false,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471],0,0,["images/spritefontdeluxe.png",1469,3],null,[],false,false,469255364948708,[],null],["t74",19,false,[],3,0,null,[["Default",0,false,1,0,false,406099199651648,[["images/listsubitembtn-sheet0.png",260,1,1,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet0.png",260,35,1,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet0.png",260,69,1,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet0.png",260,1,35,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet0.png",260,35,35,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet0.png",260,69,35,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet0.png",260,1,69,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet0.png",260,35,69,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet0.png",260,69,69,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet1.png",256,1,1,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet1.png",256,35,1,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet1.png",256,69,1,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet1.png",256,1,35,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet1.png",256,35,35,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet1.png",256,69,35,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet1.png",256,1,69,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet1.png",256,35,69,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet1.png",256,69,69,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet2.png",221,1,1,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet2.png",221,35,1,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet2.png",221,69,1,32,32,1,0.5,0.5,[],[],0],["images/listsubitembtn-sheet2.png",221,1,35,32,32,1,0.5,0.5,[],[],0]]]],[["Button",56,870307188457327],["Fade",54,105323355133909],["GridViewDataBind",60,267322014361716]],false,false,916751472233462,[],null],["t75",19,false,[],3,0,null,[["Default",5,false,1,0,false,971954146164993,[["images/listparent-sheet0.png",93,0,0,32,32,1,0.5,0.5,[],[],4]]]],[["GridView",61,437028893016126],["Tag",57,349920604131476],["Model",62,540348529384128]],false,false,855218897776641,[],null],["t76",19,false,[],1,0,null,[["Default",5,false,1,0,false,306312591791818,[["images/listparent-sheet0.png",93,0,0,32,32,1,0.5,0.5,[],[],4]]]],[["ScrollView",63,920705789609230]],false,false,794854963730303,[],null],["t77",35,false,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471],1,0,["images/spritefontdeluxe.png",1469,3],null,[["GridViewDataBind",60,567270783348622]],false,false,717419481555108,[],null],["t78",19,false,[],1,0,null,[["Default",5,false,1,0,false,980813485972786,[["images/endcarddialog-sheet0.png",155,0,0,250,250,1,0.5,0.5,[],[],4]]]],[["Dialog",64,552690435112294]],false,false,997446117152924,[],null],["t79",35,false,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471],0,0,["images/spritefontdeluxe.png",1469,3],null,[],false,false,138943318199388,[],null],["t80",35,false,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471],0,0,["images/spritefontdeluxe.png",1469,3],null,[],false,false,483674724368637,[],null],["t81",15,false,[],0,0,["images/particlesbg.png",92,4],null,[],false,false,766106440353982,[],null],["t82",19,false,[],1,0,null,[["Default",5,false,1,0,false,797348745925872,[["images/endcarddialog-sheet0.png",155,0,0,250,250,1,0.5,0.5,[],[],4]]]],[["Dialog",64,627460496247420]],false,false,913035267880290,[],null],["t83",35,false,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471],0,0,["images/spritefontdeluxe.png",1469,3],null,[],false,false,394279432846411,[],null],["t84",35,false,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471],1,0,["images/spritefontdeluxe.png",1469,3],null,[["Anchor",55,287373255718523]],false,false,523768684818219,[],null],["t85",19,false,[],1,0,null,[["Default",5,false,1,0,false,881948234199591,[["images/endcarddialog-sheet0.png",155,0,0,250,250,1,0.5,0.5,[],[],4]]]],[["Dialog",64,671948621080307]],false,false,231927457641681,[],null],["t86",35,false,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471,691779161713694],0,0,["images/spritefontdeluxe.png",1469,3],null,[],false,false,685814704192994,[],null],["t87",35,false,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471],0,0,["images/spritefontdeluxe.png",1469,3],null,[],false,false,179156666000401,[],null],["t88",19,false,[],0,0,null,[["Default",0,false,1,0,false,613442593755762,[["images/sprite-sheet0.png",134,0,0,16,16,1,0.5,0.5,[],[],3],["images/sprite-sheet1.png",92,0,0,16,16,1,0.5,0.5,[],[],4]]]],[],false,false,130458472221869,[],null],["t89",15,false,[],0,0,["images/particles.png",117,3],null,[],false,false,362520618954819,[],null],["t90",35,false,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471],1,0,["images/spritefontdeluxe.png",1469,3],null,[["GridViewDataBind",60,521046110774143]],false,false,661062742647909,[],null],["t91",19,false,[],2,0,null,[["Default",0,false,1,0,false,741604365944040,[["images/listitem-sheet0.png",115,0,0,32,32,1,0.5,0.5,[],[],3]]]],[["Tag",57,854874059014333],["Fade",54,155319899051405]],false,false,805214314072590,[],null],["t92",0,false,[],1,0,["images/inputsdialog.png",104,4],null,[["Dialog",64,636786932072904]],false,false,353280313453311,[],null],["t93",37,false,[700545480860342],1,0,null,null,[["GameObject",58,583163345308791]],false,false,672178643629070,[],null],["t94",35,false,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471,465784063491532],0,0,["images/spritefontdeluxe.png",1469,3],null,[],false,false,328245429381537,[],null],["t95",30,false,[],2,0,null,null,[["GridViewDataBind",60,185633130855603],["Fade",54,553954237101114]],false,false,770502290910924,[],null],["t96",19,false,[384412574880714],1,0,null,[["Default",5,false,1,0,false,361223792566157,[["images/checkbox-sheet0.png",273,1,1,16,16,1,0.5,0.5,[],[],3],["images/checkbox-sheet0.png",273,19,1,16,16,1,0.5,0.5,[],[],3],["images/checkbox-sheet0.png",273,37,1,16,16,1,0.5,0.5,[],[],3],["images/checkbox-sheet0.png",273,1,19,16,16,1,0.5,0.5,[],[],3]]],["Audio",5,false,1,0,false,791412658252835,[["images/checkbox-sheet0.png",273,19,19,16,16,1,0.5,0.5,[],[],3],["images/checkbox-sheet0.png",273,37,19,16,16,1,0.5,0.5,[],[],3],["images/checkbox-sheet0.png",273,1,37,16,16,1,0.5,0.5,[],[],3],["images/checkbox-sheet0.png",273,19,37,16,16,1,0.5,0.5,[],[],3]]]],[["Checkbox",65,280353987761101]],false,false,904214012717681,[],null],["t97",30,false,[],2,0,null,null,[["GridViewDataBind",60,720196456593230],["Fade",54,451068625969125]],false,false,534283640513831,[],null],["t98",19,false,[718361519322223],1,0,null,[["Default",5,false,1,0,false,655162510356474,[["images/sliderbar-sheet0.png",92,0,0,8,4,1,0.5,0.5,[],[],4]]]],[["SliderBar",66,532906647179358]],false,false,742425440309907,[],null],["t99",19,false,[],1,0,null,[["Default",5,false,1,0,false,146605329170220,[["images/body-sheet0.png",98,0,0,8,16,1,0.5,0.5,[],[],4]]]],[["Tag",57,691316610327205]],false,false,115809270478405,[],null],["t100",6,false,[232837318186110],0,0,null,null,[],false,false,146416935242498,[],null],["t101",14,false,[995288370071815,818656319250812],0,0,null,null,[],false,false,329577255107656,[],null],["t102",37,false,[609050978827825],1,0,null,null,[["Fade",54,545888261773666]],false,false,234900585934994,[],null],["t103",19,false,[],0,0,null,[["Default",60,true,1,0,false,970472814107247,[["images/loadinganim-sheet0.png",7420,1,1,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,203,1,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,405,1,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,607,1,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,809,1,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,1,203,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,203,203,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,405,203,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,607,203,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,809,203,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,1,405,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,203,405,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,405,405,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,607,405,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,809,405,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,1,607,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,203,607,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,405,607,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,607,607,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,809,607,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,1,809,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,203,809,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,405,809,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,607,809,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,809,809,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet1.png",1589,1,1,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet1.png",1589,203,1,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet1.png",1589,1,203,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet1.png",1589,203,203,200,200,1,0.5,0.5,[],[],0],["images/loadinganim-sheet0.png",7420,1,1,200,200,1,0.5,0.5,[],[],0]]]],[],false,false,253550382642003,[],null],["t104",19,false,[],0,0,null,[["Default",5,false,1,0,false,912086023242790,[["images/fakeparseimage-sheet0.png",3327,0,0,641,641,1,0,0,[],[],0]]]],[],false,false,883979689512348,[],null],["t105",0,false,[],0,0,["images/inputsdialog.png",104,4],null,[],false,false,871390226154046,[],null],["t106",19,false,[],3,0,null,[["Default",5,false,1,0,false,374418277437220,[["images/menubutton2-sheet0.png",404,1,1,128,55,1,0.5,0.5090909004211426,[],[],3],["images/menubutton2-sheet0.png",404,1,58,128,55,1,0.5,0.5090909004211426,[],[],3],["images/menubutton2-sheet0.png",404,1,115,128,55,1,0.5,0.5090909004211426,[],[],3],["images/menubutton2-sheet0.png",404,1,172,128,55,1,0.5,0.5090909004211426,[],[],3]]]],[["Button",56,321059891411264],["Tag",57,138706539873709],["Anchor",55,439479988061095]],false,false,326986403255231,[],null],["t107",0,false,[],1,0,["images/inputsdialog.png",104,4],null,[["Anchor",55,567303206816233]],false,false,394569376315989,[],null],["t108",19,false,[],0,0,null,[["Default",5,false,1,0,false,506066228568740,[["images/adblocksign-sheet0.png",280,0,0,64,64,1,0.5,0.5,[],[],3]]]],[],false,false,956962616457867,[],null],["t109",19,false,[],1,0,null,[["Default",5,false,1,0,false,575506251700772,[["images/dialogoverlay-sheet0.png",155,0,0,250,250,1,0.5,0.5,[],[],4]]]],[["Tag",57,625921212032829]],false,false,181039768889194,[],null],["t110",3,false,[],0,0,null,null,[],true,false,370922250869393,[],null],["t111",35,false,[938838768440296,964209421649512,170788093613809,233968749852366],2,0,["images/spritefontdeluxe.png",1469,3],null,[["EaseTween",67,125771647312254],["Sine",59,735194056152753]],false,true,528654813414501,[],null],["t112",19,false,[],0,0,null,[["Default",60,true,1,0,false,691579894398459,[["images/dedraloader-sheet0.png",450722,1,1,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,363,1,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,725,1,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1087,1,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1449,1,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1,291,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,363,291,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,725,291,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1087,291,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1449,291,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1,581,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,363,581,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,725,581,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1087,581,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1449,581,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1,871,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,363,871,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,725,871,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1087,871,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1449,871,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1,1161,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,363,1161,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,725,1161,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1087,1161,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1449,1161,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,363,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,725,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1087,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1449,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1,1741,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,363,1741,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,725,1741,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1087,1741,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet0.png",450722,1449,1741,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1,1,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,363,1,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,725,1,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1087,1,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1449,1,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1,291,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,363,291,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,725,291,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1087,291,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1449,291,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1,581,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,363,581,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,725,581,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1087,581,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1449,581,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1,871,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,363,871,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,725,871,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1087,871,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1449,871,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1,1161,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,363,1161,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,725,1161,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1087,1161,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1449,1161,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,363,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,363,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,363,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,363,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,725,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,725,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,725,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,725,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1087,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1087,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1087,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1087,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1449,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1449,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1449,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1449,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1449,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1449,1451,360,288,1,0.5,0.5,[],[],0],["images/dedraloader-sheet1.png",329477,1449,1451,360,288,1,0.5,0.5,[],[],0]]]],[],false,true,762684343615583,[],null],["t113",19,false,[],1,0,null,[["Default",5,false,1,0,false,165008020883225,[["images/sliderbar-sheet0.png",92,0,0,8,4,1,0.5,0.5,[],[],4]]]],[["Tag",57,741812261596438]],false,false,737200207141361,[],null],["t114",19,false,[],3,0,null,[["Play",5,false,1,0,false,333780014235581,[["images/menubutton3-sheet0.png",1853,1,1,128,64,1,0.5,0.5,[],[],3],["images/menubutton3-sheet0.png",1853,131,1,128,64,1,0.5,0.5,[],[],3],["images/menubutton3-sheet0.png",1853,261,1,128,64,1,0.5,0.5,[],[],3]]],["Levels",5,false,1,0,false,509344484078616,[["images/menubutton3-sheet0.png",1853,1,67,128,64,1,0.5,0.5,[],[],3],["images/menubutton3-sheet0.png",1853,131,67,128,64,1,0.5,0.5,[],[],3],["images/menubutton3-sheet0.png",1853,261,67,128,64,1,0.5,0.5,[],[],3]]],["Credits",5,false,1,0,false,279425333133862,[["images/menubutton3-sheet0.png",1853,1,133,128,64,1,0.5,0.5,[],[],3],["images/menubutton3-sheet0.png",1853,131,133,128,64,1,0.5,0.5,[],[],3],["images/menubutton3-sheet0.png",1853,261,133,128,64,1,0.5,0.5,[],[],3]]],["Back",5,false,1,0,false,246206964373389,[["images/menubutton3-sheet0.png",1853,1,199,128,64,1,0.5,0.5,[],[],3],["images/menubutton3-sheet0.png",1853,131,199,128,64,1,0.5,0.5,[],[],3],["images/menubutton3-sheet0.png",1853,261,199,128,64,1,0.5,0.5,[],[],3]]],["Next",5,false,1,0,false,721866488237406,[["images/menubutton3-sheet0.png",1853,1,265,128,64,1,0.5,0.5,[],[],3],["images/menubutton3-sheet0.png",1853,131,265,128,64,1,0.5,0.5,[],[],3],["images/menubutton3-sheet0.png",1853,261,265,128,64,1,0.5,0.5,[],[],3]]],["Replay",5,false,1,0,false,733110140192318,[["images/menubutton3-sheet0.png",1853,1,331,128,64,1,0.5,0.5,[],[],3],["images/menubutton3-sheet0.png",1853,131,331,128,64,1,0.5,0.5,[],[],3],["images/menubutton3-sheet0.png",1853,261,331,128,64,1,0.5,0.5,[],[],3]]],["Pause",5,false,1,0,false,465698565034744,[["images/menubutton-sheet1.png",2974,425,133,64,64,1,0.5,0.5,[],[],0],["images/menubutton-sheet1.png",2974,391,199,64,64,1,0.5,0.5,[],[],0],["images/menubutton-sheet1.png",2974,261,265,64,64,1,0.5,0.5,[],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["Quit",5,false,1,0,false,738362971715732,[["images/menubutton3-sheet0.png",1853,1,397,128,64,1,0.5,0.5,[],[],3],["images/menubutton3-sheet0.png",1853,131,397,128,64,1,0.5,0.5,[],[],3],["images/menubutton3-sheet0.png",1853,261,397,128,64,1,0.5,0.5,[],[],3]]],["Training",5,false,1,0,false,939977853862783,[["images/menubutton-sheet1.png",2974,327,265,64,64,1,0.5,0.5,[],[],0],["images/menubutton-sheet1.png",2974,393,265,64,64,1,0.5,0.5,[],[],0],["images/menubutton-sheet1.png",2974,1,331,64,64,1,0.5,0.5,[],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["Options",5,false,1,0,false,615105494757856,[["images/menubutton-sheet1.png",2974,67,331,64,64,1,0.5,0.5,[],[],0],["images/menubutton-sheet1.png",2974,133,331,64,64,1,0.5,0.5,[],[],0],["images/menubutton-sheet1.png",2974,199,331,64,64,1,0.5,0.5,[],[],0]]],["Achievements",5,false,1,0,false,703234058797336,[["images/menubutton-sheet1.png",2974,265,331,64,64,1,0.5,0.5,[],[],0],["images/menubutton-sheet1.png",2974,331,331,64,64,1,0.5,0.5,[],[],0],["images/menubutton-sheet1.png",2974,397,331,64,64,1,0.5,0.5,[],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["Skins",5,false,1,0,false,691726449977578,[["images/menubutton-sheet1.png",2974,1,397,64,64,1,0.5,0.5,[],[],0],["images/menubutton-sheet1.png",2974,67,397,64,64,1,0.5,0.5,[],[],0],["images/menubutton-sheet1.png",2974,133,397,64,64,1,0.5,0.5,[],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["Inputs",5,false,1,0,false,367536688697425,[["images/menubutton3-sheet1.png",1014,1,1,128,64,1,0.5,0.5,[],[],0],["images/menubutton3-sheet1.png",1014,131,1,128,64,1,0.5,0.5,[],[],0],["images/menubutton3-sheet1.png",1014,261,1,128,64,1,0.5,0.5,[],[],0]]],["Close",5,false,1,0,false,146038606699374,[["images/menubutton-sheet0.png",3655,493,246,16,16,1,0.5,0.5,[],[],0],["images/menubutton-sheet0.png",3655,493,264,16,16,1,0.5,0.5,[],[],0],["images/menubutton-sheet0.png",3655,493,282,16,16,1,0.5,0.5,[],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["Edit",5,false,1,0,false,505224075998332,[["images/menubutton-sheet0.png",3655,459,246,32,32,1,0.5,0.5,[],[],0],["images/menubutton-sheet0.png",3655,459,280,32,32,1,0.5,0.5,[],[],0],["images/menubutton-sheet0.png",3655,459,314,32,32,1,0.5,0.5,[],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["Reload",5,false,1,0,false,501855928966961,[["images/menubutton-sheet1.png",2974,199,397,64,64,1,0.5,0.5,[],[],0],["images/menubutton-sheet1.png",2974,265,397,64,64,1,0.5,0.5,[],[],0],["images/menubutton-sheet1.png",2974,331,397,64,64,1,0.5,0.5,[],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["Authenticate",5,false,1,0,false,169430374091798,[["images/menubutton-sheet1.png",2974,397,397,64,64,1,0.5,0.5,[],[],0],["images/menubutton-sheet2.png",1675,1,1,64,64,1,0.5,0.5,[],[],0],["images/menubutton-sheet2.png",1675,67,1,64,64,1,0.5,0.5,[],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["Info",5,false,1,0,false,629867085817814,[["images/menubutton-sheet2.png",1675,133,1,64,64,1,0.5,0.5,[],[],0],["images/menubutton-sheet2.png",1675,199,1,64,64,1,0.5,0.5,[],[],0],["images/menubutton-sheet2.png",1675,265,1,64,64,1,0.5,0.5,[],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]],["Resume",5,false,1,0,false,251837439270519,[["images/menubutton3-sheet1.png",1014,1,67,128,64,1,0.5,0.5,[],[],0],["images/menubutton3-sheet1.png",1014,131,67,128,64,1,0.5,0.5,[],[],0],["images/menubutton3-sheet1.png",1014,261,67,128,64,1,0.5,0.5,[],[],0],["images/menubutton3-sheet1.png",1014,1,133,128,64,1,0.5,0.5,[],[],0]]]],[["Button",56,626764854028722],["Tag",57,777212514580551],["Anchor",55,237564865277888]],false,false,500608885969508,[],null],["t115",19,false,[],1,0,null,[["Default",5,false,1,0,false,716646111566444,[["images/endcarddialog-sheet0.png",155,0,0,250,250,1,0.5,0.5,[],[],4]]]],[["Dialog",64,839393412176090]],false,false,685888929229272,[],null],["t116",0,false,[],1,0,["images/inputsdialog.png",104,4],null,[["GridView",61,530618519902577]],false,false,698740825060626,[],null],["t117",0,false,[],1,0,["images/inputsdialog.png",104,4],null,[["Dialog",64,181823755769196]],false,false,949626824085312,[],null],["t118",35,false,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471],0,0,["images/spritefontdeluxe.png",1469,3],null,[],false,false,211369145944098,[],null],["t119",19,false,[320220296090686],4,0,null,[["Default",0,false,1,0,false,942960222315004,[["images/levelbutton-sheet0.png",207,1,1,32,32,1,0.5,0.5,[],[],0],["images/levelbutton-sheet0.png",207,35,1,32,32,1,0.5,0.5,[],[],0],["images/levelbutton-sheet0.png",207,69,1,32,32,1,0.5,0.5,[],[],0],["images/levelbutton-sheet0.png",207,1,35,32,32,1,0.5,0.5,[],[],0]]]],[["Button",56,377737504087157],["Fade",54,266961703028516],["GridViewDataBind",60,188355250862660],["GameObject",58,724374395100818]],false,false,923735123705857,[],null],["t120",35,false,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471],1,0,["images/spritefontdeluxe.png",1469,3],null,[["GridViewDataBind",60,512325915159345]],false,false,657833063297561,[],null],["t121",35,false,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471],1,0,["images/spritefontdeluxe.png",1469,3],null,[["GridViewDataBind",60,444010086690192]],false,false,945624918494170,[],null],["t122",35,false,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471],1,0,["images/spritefontdeluxe.png",1469,3],null,[["GridViewDataBind",60,194977158738795]],false,false,295275278612708,[],null],["t123",35,false,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471],1,0,["images/spritefontdeluxe.png",1469,3],null,[["GridViewDataBind",60,466374552991123]],false,false,551413038289806,[],null],["t124",35,false,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471],1,0,["images/spritefontdeluxe.png",1469,3],null,[["GridViewDataBind",60,591756357361620]],false,false,810701524457933,[],null],["t125",19,false,[],2,0,null,[["Default",5,false,1,0,false,412795243691263,[["images/endcarddialog-sheet0.png",155,0,0,250,250,1,0.5,0.5,[],[],4]]]],[["Dialog",64,741898110610088],["Timer",43,148527827725193]],false,false,611323432718754,[],null],["t126",19,false,[],1,0,null,[["Default",5,false,1,0,false,976334471003911,[["images/endcarddialog-sheet0.png",155,0,0,250,250,1,0.5,0.5,[],[],4]]]],[["Dialog",64,141547365943778]],false,false,688564396454624,[],null],["t127",19,false,[],1,0,null,[["Default",5,false,1,0,false,908039882906396,[["images/endcarddialog-sheet0.png",155,0,0,250,250,1,0.5,0.5,[],[],4]]]],[["Dialog",64,435650113838940]],false,false,452621990911121,[],null],["t128",0,false,[],1,0,["images/inputsdialog.png",104,4],null,[["Dialog",64,204385127188126]],false,false,744977740637763,[],null],["t129",19,false,[],2,0,null,[["Default",5,false,1,0,false,365569720149582,[["images/endcarddialog-sheet0.png",155,0,0,250,250,1,0.5,0.5,[],[],4]]]],[["Dialog",64,503550370379173],["Tag",57,804754454909664]],false,false,881506757670642,[],null],["t130",37,false,[],1,0,null,null,[["GridViewDataBind",60,640954074975440]],false,false,373617037479652,[],null],["t131",19,false,[738125659224488],0,0,null,[["head",5,false,1,0,false,586528364646854,[["images/skin1-sheet0.png",302,1,1,32,32,1,0.5,1,[],[],0]]],["body",5,false,1,0,false,501405573101640,[["images/skin1-sheet0.png",302,35,1,8,16,1,0.5,0.5,[],[],0]]],["leftarm",5,false,1,0,false,590766387206457,[["images/skin1-sheet0.png",302,45,1,4,8,1,1,0,[],[],0]]],["leftfoot",5,false,1,0,false,311902843576176,[["images/skin1-sheet0.png",302,45,1,4,8,1,0,0,[],[],0]]],["lefthand",5,false,1,0,false,799218930109450,[["images/skin1-sheet0.png",302,45,1,4,8,1,1,0,[],[],0]]],["leftleg",5,false,1,0,false,171712081635501,[["images/skin1-sheet0.png",302,45,1,4,8,1,0,0,[],[],0]]],["rightarm",5,false,1,0,false,946401635859955,[["images/skin1-sheet0.png",302,45,1,4,8,1,1,0,[],[],0]]],["rightfoot",5,false,1,0,false,435447741590181,[["images/skin1-sheet0.png",302,45,1,4,8,1,0,0,[],[],0]]],["righthand",5,false,1,0,false,178021687844035,[["images/skin1-sheet0.png",302,45,1,4,8,1,1,0,[],[],0]]],["rightleg",5,false,1,0,false,190596195474302,[["images/skin1-sheet0.png",302,45,1,4,8,1,0,0,[],[],0]]]],[],false,false,609307711269423,[],null],["t132",19,false,[738125659224488],0,0,null,[["head",10,true,1,0,false,297291882454321,[["images/skin3-sheet0.png",344,1,1,32,32,1,0.5,1,[],[],0],["images/skin3-sheet1.png",273,0,0,32,32,1,0.5,1,[],[],0],["images/skin3-sheet2.png",259,0,0,32,32,1,0.5,1,[],[],0]]],["body",5,false,1,0,false,664644973898743,[["images/skin3-sheet0.png",344,35,1,8,16,1,0.5,0.5,[],[],0]]],["leftarm",5,false,1,0,false,713742973837430,[["images/skin3-sheet0.png",344,45,1,4,8,1,1,0,[],[],0]]],["leftfoot",5,false,1,0,false,617093358824485,[["images/skin3-sheet0.png",344,51,1,4,8,1,0,0,[],[],0]]],["lefthand",5,false,1,0,false,785004279422429,[["images/skin3-sheet0.png",344,57,1,4,8,1,1,0,[],[],0]]],["leftleg",5,false,1,0,false,618602163765438,[["images/skin3-sheet0.png",344,45,11,4,8,1,0,0,[],[],0]]],["rightarm",5,false,1,0,false,506223034350716,[["images/skin3-sheet0.png",344,45,1,4,8,1,1,0,[],[],0]]],["rightfoot",5,false,1,0,false,172987515514585,[["images/skin3-sheet0.png",344,51,1,4,8,1,0,0,[],[],0]]],["righthand",5,false,1,0,false,828698984635711,[["images/skin3-sheet0.png",344,57,1,4,8,1,1,0,[],[],0]]],["rightleg",5,false,1,0,false,728975509932883,[["images/skin3-sheet0.png",344,45,11,4,8,1,0,0,[],[],0]]]],[],false,false,276128244783084,[],null],["t133",19,false,[738125659224488],0,0,null,[["head",5,true,1,0,false,334443364144159,[["images/skin2-sheet0.png",1179,1,1,64,64,1,0.5,1,[],[],0],["images/skin2-sheet0.png",1179,67,1,64,64,1,0.5,1,[],[0.5,-1,0.5,0,-0.5,0,-0.5,-1],0],["images/skin2-sheet0.png",1179,133,1,64,64,1,0.5,1,[],[0.5,0,-0.5,0,-0.5,-1,0.5,-1],0],["images/skin2-sheet0.png",1179,1,67,64,64,1,0.5,1,[],[-0.5,0,-0.5,-1,0.5,-1,0.5,0],0]]],["body",5,false,1,0,false,758947595186202,[["images/skin2-sheet0.png",1179,199,1,16,32,1,0.5,0.5,[],[],0]]],["leftarm",5,false,1,0,false,495736901887677,[["images/skin2-sheet0.png",1179,217,1,8,16,1,1,0,[],[],0]]],["leftfoot",5,false,1,0,false,448939023603913,[["images/skin2-sheet0.png",1179,217,1,8,16,1,0,0,[],[],0]]],["lefthand",5,false,1,0,false,900474251252969,[["images/skin2-sheet0.png",1179,217,1,8,16,1,1,0,[],[],0]]],["leftleg",5,false,1,0,false,705158360586566,[["images/skin2-sheet0.png",1179,217,1,8,16,1,0,0,[],[],0]]],["rightarm",5,false,1,0,false,130588840300645,[["images/skin2-sheet0.png",1179,227,1,8,16,1,1,0,[],[],0]]],["rightfoot",5,false,1,0,false,973435076297212,[["images/skin2-sheet0.png",1179,227,1,8,16,1,0,0,[],[],0]]],["righthand",5,false,1,0,false,512268473277995,[["images/skin2-sheet0.png",1179,227,1,8,16,1,1,0,[],[],0]]],["rightleg",5,false,1,0,false,291662644020972,[["images/skin2-sheet0.png",1179,227,1,8,16,1,0,0,[],[],0]]]],[],false,false,343777229745406,[],null],["t134",19,false,[738125659224488],0,0,null,[["head",10,true,1,0,false,464773679927210,[["images/skin4-sheet0.png",253,0,0,64,64,1,0.5,1,[],[],0],["images/skin4-sheet1.png",231,0,0,64,64,1,0.5,1,[],[],0],["images/skin4-sheet2.png",243,0,0,64,64,1,0.5,1,[],[],0]]],["body",5,false,1,0,false,408968364278574,[["images/skin2-sheet0.png",1179,199,1,16,32,1,0.5,0.5,[],[],0]]],["leftarm",5,false,1,0,false,985102610002960,[["images/skin2-sheet0.png",1179,217,1,8,16,1,1,0,[],[],0]]],["leftfoot",5,false,1,0,false,914075526427074,[["images/skin2-sheet0.png",1179,217,1,8,16,1,0,0,[],[],0]]],["lefthand",5,false,1,0,false,415628585289795,[["images/skin2-sheet0.png",1179,217,1,8,16,1,1,0,[],[],0]]],["leftleg",5,false,1,0,false,898279410974090,[["images/skin2-sheet0.png",1179,217,1,8,16,1,0,0,[],[],0]]],["rightarm",5,false,1,0,false,209440463873510,[["images/skin2-sheet0.png",1179,227,1,8,16,1,1,0,[],[],0]]],["rightfoot",5,false,1,0,false,666155140732014,[["images/skin2-sheet0.png",1179,227,1,8,16,1,0,0,[],[],0]]],["righthand",5,false,1,0,false,905192247070826,[["images/skin2-sheet0.png",1179,227,1,8,16,1,1,0,[],[],0]]],["rightleg",5,false,1,0,false,819610866112132,[["images/skin2-sheet0.png",1179,227,1,8,16,1,0,0,[],[],0]]]],[],false,false,749715780337674,[],null],["t135",19,false,[738125659224488],0,0,null,[["head",10,true,1,0,false,924479293630781,[["images/skin5-sheet0.png",392,1,1,35,36,1,0.5142857432365417,0.9722222089767456,[],[-0.4571428298950195,-0.8888888955116272,0.457143247127533,-0.8888888955116272,0.457143247127533,-2.384185791015625e-7,-0.4571428298950195,-2.384185791015625e-7],0]]],["body",5,false,1,0,false,528274967503134,[["images/skin5-sheet0.png",392,38,1,14,24,1,0.5714285969734192,0.5416666865348816,[],[-0.2857145965099335,-0.3333336710929871,0.2857143878936768,-0.3333336710929871,0.2857143878936768,0.3333333134651184,-0.2857145965099335,0.3333333134651184],0]]],["leftarm",5,false,1,0,false,903763803684180,[["images/skin5-sheet0.png",392,54,15,4,8,1,1,0,[],[],0]]],["leftfoot",5,false,1,0,false,954573489767469,[["images/skin5-sheet0.png",392,54,1,7,12,1,0.1428571492433548,0.25,[],[-1.490116119384766e-7,0,0.5714288949966431,0,0.5714288949966431,0.6666669845581055,-1.490116119384766e-7,0.6666669845581055],0]]],["lefthand",5,false,1,0,false,924824772261561,[["images/skin5-sheet0.png",392,54,15,4,8,1,1,0,[],[],0]]],["leftleg",5,false,1,0,false,427657216442209,[["images/skin5-sheet0.png",392,54,15,4,8,1,0,0,[],[],0]]],["rightarm",5,false,1,0,false,628673134242238,[["images/skin5-sheet0.png",392,54,15,4,8,1,1,0,[],[],0]]],["rightfoot",5,false,1,0,false,228845687991178,[["images/skin5-sheet0.png",392,54,1,7,12,1,0.1428571492433548,0.25,[],[-1.490116119384766e-7,0,0.5714288949966431,0,0.5714288949966431,0.6666669845581055,-1.490116119384766e-7,0.6666669845581055],0]]],["righthand",5,false,1,0,false,149374930037293,[["images/skin5-sheet0.png",392,54,15,4,8,1,1,0,[],[],0]]],["rightleg",5,false,1,0,false,948439677313010,[["images/skin5-sheet0.png",392,54,15,4,8,1,0,0,[],[],0]]]],[],false,false,273803826237967,[],null],["t136",19,false,[738125659224488],0,0,null,[["head",5,true,1,0,false,562398620568247,[["images/skin6-sheet0.png",1007,1,1,39,33,1,0.3333333432674408,0.9090909361839294,[],[-0.3333333432674408,-0.8787879347801208,0.4743586480617523,-0.8787879347801208,0.4743586480617523,0.09090906381607056,-0.3333333432674408,0.09090906381607056],0]]],["body",5,false,1,0,false,339601533170442,[["images/skin6-sheet0.png",1007,42,1,16,32,1,0.5,0.5,[],[],0]]],["leftarm",5,false,1,0,false,498829552733148,[["images/skin6-sheet1.png",178,28,1,10,18,1,0.8999999761581421,0.0555555559694767,[],[],3]]],["leftfoot",5,false,1,0,false,856435698740357,[["images/skin6-sheet1.png",178,1,1,13,18,1,0.07692307978868484,0.0555555559694767,[],[],3]]],["lefthand",5,false,1,0,false,405856394676708,[["images/skin6-sheet0.png",1007,1,36,38,22,1,0.289473682641983,0.04545454680919647,[],[-0.2631578743457794,-0.04545454680919647,0.3947373330593109,-0.04545454680919647,0.3947373330593109,0.9090904593467712,-0.2631578743457794,0.9090904593467712],0]]],["leftleg",5,false,1,0,false,109306734302204,[["images/skin6-sheet0.png",1007,42,35,13,20,1,0.1538461595773697,0.05000000074505806,[],[],0]]],["rightarm",5,false,1,0,false,912165208716697,[["images/skin6-sheet1.png",178,28,1,10,18,1,0.8999999761581421,0.0555555559694767,[],[],3]]],["rightfoot",5,false,1,0,false,619978000092552,[["images/skin6-sheet1.png",178,1,1,13,18,1,0.07692307978868484,0.0555555559694767,[],[],3]]],["righthand",5,false,1,0,false,880994010234643,[["images/skin6-sheet1.png",178,16,1,10,20,1,0.8999999761581421,0.05000000074505806,[],[],3]]],["rightleg",5,false,1,0,false,219147220087789,[["images/skin6-sheet0.png",1007,42,35,13,20,1,0.1538461595773697,0.05000000074505806,[],[],0]]]],[],false,false,769497141627751,[],null],["t137",19,false,[738125659224488],0,0,null,[["head",5,false,1,0,false,932170991951091,[["images/skin7-sheet0.png",395,1,1,32,32,1,0.5,1,[],[],0]]],["body",5,false,1,0,false,150705902285545,[["images/skin7-sheet0.png",395,35,1,8,16,1,0.5,0.5,[],[],0]]],["leftarm",5,false,1,0,false,716756778454680,[["images/skin7-sheet0.png",395,45,1,4,8,1,1,0,[],[],0]]],["leftfoot",5,false,1,0,false,658619312765516,[["images/skin7-sheet0.png",395,51,1,4,8,1,0,0,[],[],0]]],["lefthand",5,false,1,0,false,112422052682118,[["images/skin7-sheet0.png",395,45,1,4,8,1,1,0,[],[],0]]],["leftleg",5,false,1,0,false,920888228742045,[["images/skin7-sheet0.png",395,57,1,4,8,1,0,0,[],[],0]]],["rightarm",5,false,1,0,false,440320143440439,[["images/skin7-sheet0.png",395,45,1,4,8,1,1,0,[],[],0]]],["rightfoot",5,false,1,0,false,204825843453662,[["images/skin7-sheet0.png",395,51,1,4,8,1,0,0,[],[],0]]],["righthand",5,false,1,0,false,407975104216960,[["images/skin7-sheet0.png",395,45,1,4,8,1,1,0,[],[],0]]],["rightleg",5,false,1,0,false,743817963804189,[["images/skin7-sheet0.png",395,57,1,4,8,1,0,0,[],[],0]]]],[],false,false,636513047909207,[],null],["t138",19,false,[738125659224488],0,0,null,[["head",10,true,1,0,false,552827855344850,[["images/skin8-sheet0.png",412,1,1,35,36,1,0.5142857432365417,0.9722222089767456,[],[-0.4571428298950195,-0.8888888955116272,0.457143247127533,-0.8888888955116272,0.457143247127533,-2.384185791015625e-7,-0.4571428298950195,-2.384185791015625e-7],0]]],["body",5,false,1,0,false,252743028965124,[["images/skin8-sheet0.png",412,38,1,14,24,1,0.5714285969734192,0.5416666865348816,[],[-0.2857145965099335,-0.3333336710929871,0.2857143878936768,-0.3333336710929871,0.2857143878936768,0.3333333134651184,-0.2857145965099335,0.3333333134651184],0]]],["leftarm",5,false,1,0,false,299145190691253,[["images/skin8-sheet0.png",412,54,15,4,8,1,1,0,[],[],0]]],["leftfoot",5,false,1,0,false,460519003385809,[["images/skin8-sheet0.png",412,54,1,7,12,1,0.1428571492433548,0.25,[],[-1.490116119384766e-7,0,0.5714288949966431,0,0.5714288949966431,0.6666669845581055,-1.490116119384766e-7,0.6666669845581055],0]]],["lefthand",5,false,1,0,false,397427208353495,[["images/skin8-sheet0.png",412,54,15,4,8,1,1,0,[],[],0]]],["leftleg",5,false,1,0,false,143213205499755,[["images/skin8-sheet0.png",412,54,15,4,8,1,0,0,[],[],0]]],["rightarm",5,false,1,0,false,409110416848735,[["images/skin8-sheet0.png",412,54,15,4,8,1,1,0,[],[],0]]],["rightfoot",5,false,1,0,false,238496009792005,[["images/skin8-sheet0.png",412,54,1,7,12,1,0.1428571492433548,0.25,[],[-1.490116119384766e-7,0,0.5714288949966431,0,0.5714288949966431,0.6666669845581055,-1.490116119384766e-7,0.6666669845581055],0]]],["righthand",5,false,1,0,false,882054892698895,[["images/skin8-sheet0.png",412,54,15,4,8,1,1,0,[],[],0]]],["rightleg",5,false,1,0,false,357868412112939,[["images/skin8-sheet0.png",412,54,15,4,8,1,0,0,[],[],0]]]],[],false,false,685369559089722,[],null],["t139",19,false,[738125659224488],0,0,null,[["head",10,true,1,0,false,376329279893349,[["images/skin9-sheet0.png",404,1,1,35,36,1,0.5142857432365417,0.9722222089767456,[],[-0.4571428298950195,-0.8888888955116272,0.457143247127533,-0.8888888955116272,0.457143247127533,-2.384185791015625e-7,-0.4571428298950195,-2.384185791015625e-7],0]]],["body",5,false,1,0,false,426917501551058,[["images/skin9-sheet0.png",404,38,1,14,24,1,0.5714285969734192,0.5416666865348816,[],[-0.2857145965099335,-0.3333336710929871,0.2857143878936768,-0.3333336710929871,0.2857143878936768,0.3333333134651184,-0.2857145965099335,0.3333333134651184],0]]],["leftarm",5,false,1,0,false,436471237207458,[["images/skin9-sheet0.png",404,54,15,4,8,1,1,0,[],[],0]]],["leftfoot",5,false,1,0,false,480417508185555,[["images/skin9-sheet0.png",404,54,1,7,12,1,0.1428571492433548,0.25,[],[-1.490116119384766e-7,0,0.5714288949966431,0,0.5714288949966431,0.6666669845581055,-1.490116119384766e-7,0.6666669845581055],0]]],["lefthand",5,false,1,0,false,713360059785046,[["images/skin9-sheet0.png",404,54,15,4,8,1,1,0,[],[],0]]],["leftleg",5,false,1,0,false,781983332145779,[["images/skin9-sheet0.png",404,54,15,4,8,1,0,0,[],[],0]]],["rightarm",5,false,1,0,false,584647259700945,[["images/skin9-sheet0.png",404,54,15,4,8,1,1,0,[],[],0]]],["rightfoot",5,false,1,0,false,199397123718853,[["images/skin9-sheet0.png",404,54,1,7,12,1,0.1428571492433548,0.25,[],[-1.490116119384766e-7,0,0.5714288949966431,0,0.5714288949966431,0.6666669845581055,-1.490116119384766e-7,0.6666669845581055],0]]],["righthand",5,false,1,0,false,768767322331106,[["images/skin9-sheet0.png",404,54,15,4,8,1,1,0,[],[],0]]],["rightleg",5,false,1,0,false,219324897915342,[["images/skin9-sheet0.png",404,54,15,4,8,1,0,0,[],[],0]]]],[],false,false,638968655346095,[],null],["t140",19,false,[738125659224488],0,0,null,[["head",2,true,1,0,false,292481362996197,[["images/skin10-sheet0.png",425,1,1,32,32,1,0.5,1,[],[],0],["images/skin10-sheet1.png",307,0,0,32,32,1,0.5,1,[],[],0]]],["body",5,false,1,0,false,125074057582852,[["images/skin10-sheet0.png",425,35,1,12,19,1,0.5,0.5263158082962036,[],[],0]]],["leftarm",5,false,1,0,false,387661835580695,[["images/skin10-sheet0.png",425,49,14,6,10,1,0.8333333134651184,0.1000000014901161,[],[],0]]],["leftfoot",5,false,1,0,false,403707367082950,[["images/skin10-sheet0.png",425,49,1,10,11,1,0.1000000014901161,0.1818181872367859,[],[],0]]],["lefthand",5,false,1,0,false,580333082554609,[["images/skin10-sheet0.png",425,57,14,6,10,1,0.8333333134651184,0.1000000014901161,[],[],0]]],["leftleg",5,false,1,0,false,473028884649302,[["images/skin10-sheet0.png",425,49,14,6,10,1,0.1666666716337204,0.1000000014901161,[],[],0]]],["rightarm",5,false,1,0,false,700047659957294,[["images/skin10-sheet0.png",425,49,14,6,10,1,0.8333333134651184,0.1000000014901161,[],[],0]]],["rightfoot",5,false,1,0,false,390540653476733,[["images/skin10-sheet0.png",425,49,1,10,11,1,0.2000000029802322,0.09090909361839294,[],[],0]]],["righthand",5,false,1,0,false,705407542059382,[["images/skin10-sheet0.png",425,57,14,6,10,1,0.8333333134651184,0.1000000014901161,[],[],0]]],["rightleg",5,false,1,0,false,955453701449809,[["images/skin10-sheet0.png",425,49,14,6,10,1,0.1666666716337204,0.1000000014901161,[],[],0]]]],[],false,false,364102596219366,[],null],["t141",19,false,[738125659224488],0,0,null,[["head",20,true,1,0,false,351384106443255,[["images/skin11-sheet0.png",655,1,1,32,32,1,0.5,1,[],[],0]]],["body",20,true,1,0,true,769041691143763,[["images/skin11-sheet0.png",655,35,1,20,22,1,0.6499999761581421,0.5909090638160706,[],[],0],["images/skin11-sheet0.png",655,35,25,20,22,1,0.6499999761581421,0.5909090638160706,[],[],0],["images/skin11-sheet0.png",655,1,35,20,22,1,0.6499999761581421,0.5909090638160706,[],[],0]]],["leftarm",5,false,1,0,false,440111551193805,[["images/skin11-sheet0.png",655,57,25,4,8,1,1,0,[],[],0]]],["leftfoot",5,false,1,0,false,972782717409259,[["images/skin11-sheet0.png",655,23,49,11,11,1,0.09090909361839294,0.1818181872367859,[],[],0]]],["lefthand",5,false,1,0,false,511960549591417,[["images/skin11-sheet0.png",655,57,1,6,10,1,0.6666666865348816,0.2000000029802322,[],[],0]]],["leftleg",5,false,1,0,false,594084523305602,[["images/skin11-sheet0.png",655,57,13,6,10,1,0.1666666716337204,0.1000000014901161,[],[],0]]],["rightarm",5,false,1,0,false,541433386931787,[["images/skin11-sheet0.png",655,57,25,4,8,1,1,0,[],[],0]]],["rightfoot",5,false,1,0,false,698732172921263,[["images/skin11-sheet0.png",655,36,49,11,11,1,0.1818181872367859,0.09090909361839294,[],[],0]]],["righthand",5,false,1,0,false,519775266421073,[["images/skin11-sheet0.png",655,57,1,6,10,1,0.6666666865348816,0.2000000029802322,[],[],0]]],["rightleg",5,false,1,0,false,160890903690502,[["images/skin11-sheet0.png",655,57,13,6,10,1,0.1666666716337204,0.1000000014901161,[],[],0]]]],[],false,false,358854174928549,[],null],["t142",19,false,[738125659224488],0,0,null,[["head",20,true,1,0,false,267429438687956,[["images/skin12-sheet0.png",547,1,1,32,32,30,0.5,1,[],[],3],["images/skin12-sheet0.png",547,35,1,32,32,5,0.5,1,[],[],3],["images/skin12-sheet0.png",547,1,1,32,32,15,0.5,1,[],[],3],["images/skin12-sheet0.png",547,69,1,32,32,5,0.5,1,[],[],3],["images/skin12-sheet0.png",547,1,1,32,32,15,0.5,1,[],[],3],["images/skin12-sheet0.png",547,1,35,32,32,1,0.5,1,[],[],3],["images/skin12-sheet0.png",547,35,35,32,32,1,0.5,1,[],[],3],["images/skin12-sheet0.png",547,69,35,32,32,1,0.5,1,[],[],3]]],["body",5,false,1,0,false,245659075907620,[["images/skin12-sheet0.png",547,103,1,8,16,1,0.5,0.5,[],[],3]]],["leftarm",5,false,1,0,false,443866854860010,[["images/skin12-sheet0.png",547,113,1,4,8,1,1,0,[],[],3]]],["leftfoot",5,false,1,0,false,434400064915869,[["images/skin12-sheet0.png",547,119,1,4,8,1,0,0,[],[],3]]],["lefthand",5,false,1,0,false,903649206406083,[["images/skin12-sheet0.png",547,113,11,4,8,1,1,0,[],[],3]]],["leftleg",5,false,1,0,false,359947523490470,[["images/leftarm-sheet0.png",98,0,0,4,8,1,0,0,[],[],4]]],["rightarm",5,false,1,0,false,983930214931091,[["images/skin12-sheet0.png",547,113,1,4,8,1,1,0,[],[],3]]],["rightfoot",5,false,1,0,false,935755059307597,[["images/skin12-sheet0.png",547,119,1,4,8,1,0,0,[],[],3]]],["righthand",5,false,1,0,false,552828446374398,[["images/skin12-sheet0.png",547,113,11,4,8,1,1,0,[],[],3]]],["rightleg",5,false,1,0,false,986680620526232,[["images/leftarm-sheet0.png",98,0,0,4,8,1,0,0,[],[],4]]]],[],false,false,940654328399812,[],null],["t143",19,false,[738125659224488],0,0,null,[["head",20,true,1,0,false,940378381697285,[["images/skin13-sheet0.png",481,1,1,32,32,30,0.5,1,[],[],0]]],["body",5,false,1,0,false,326575768750521,[["images/skin13-sheet0.png",481,35,1,8,16,1,0.5,0.5,[],[],0]]],["leftarm",5,false,1,0,false,994630352444915,[["images/skin13-sheet0.png",481,45,1,4,8,1,1,0,[],[],0]]],["leftfoot",5,false,1,0,false,145739985623385,[["images/skin13-sheet0.png",481,51,1,4,8,1,0,0,[],[],0]]],["lefthand",5,false,1,0,false,818400516751454,[["images/skin13-sheet0.png",481,57,1,4,8,1,1,0,[],[],0]]],["leftleg",5,false,1,0,false,450158348833093,[["images/skin13-sheet0.png",481,45,11,4,8,1,0,0,[],[],0]]],["rightarm",5,false,1,0,false,706072658919547,[["images/skin13-sheet0.png",481,45,1,4,8,1,1,0,[],[],0]]],["rightfoot",5,false,1,0,false,767408654982267,[["images/skin13-sheet0.png",481,51,11,4,8,1,0,0,[],[],0]]],["righthand",5,false,1,0,false,312731550542322,[["images/skin13-sheet0.png",481,57,1,4,8,1,1,0,[],[],0]]],["rightleg",5,false,1,0,false,379457506396337,[["images/skin13-sheet0.png",481,45,11,4,8,1,0,0,[],[],0]]]],[],false,false,410493214869395,[],null],["t144",19,false,[738125659224488],0,0,null,[["head",5,true,1,0,false,195416156953393,[["images/skin14-sheet0.png",831,1,1,64,66,1,0.5,0.9696969985961914,[],[],0]]],["body",5,false,1,0,false,413869035564537,[["images/skin14-sheet0.png",831,67,1,27,40,1,0.6666666865348816,0.5,[],[],0]]],["leftarm",5,false,1,0,false,181770821964509,[["images/skin14-sheet0.png",831,108,1,13,20,1,0.8461538553237915,0.1500000059604645,[],[-0.8461538553237915,-0.1500000059604645,0.1538461446762085,-0.1500000059604645,0.1538461446762085,0.7999999523162842,-0.8461538553237915,0.7999999523162842],0]]],["leftfoot",5,false,1,0,false,903371391723384,[["images/skin14-sheet0.png",831,96,37,10,18,1,0.1000000014901161,0.0555555559694767,[],[0,4.470348358154297e-8,0.7999999523162842,4.470348358154297e-8,0.7999999523162842,0.888888418674469,0,0.888888418674469],0]]],["lefthand",5,false,1,0,false,282546756452911,[["images/skin14-sheet0.png",831,79,43,8,16,1,1,0,[],[],0]]],["leftleg",5,false,1,0,false,746355951524082,[["images/skin14-sheet0.png",831,67,43,10,18,1,0.1000000014901161,0.0555555559694767,[],[],0]]],["rightarm",5,false,1,0,false,731332587317094,[["images/skin14-sheet0.png",831,108,23,13,20,1,0.8461538553237915,0.1500000059604645,[],[-0.8461538553237915,-0.1500000059604645,0.1538461446762085,-0.1500000059604645,0.1538461446762085,0.7999999523162842,-0.8461538553237915,0.7999999523162842],0]]],["rightfoot",5,false,1,0,false,334253827234981,[["images/skin14-sheet0.png",831,79,43,8,16,1,0,0,[],[],0]]],["righthand",5,false,1,0,false,748560160332068,[["images/skin14-sheet0.png",831,96,37,10,18,1,0.8999999761581421,0.0555555559694767,[],[],0]]],["rightleg",5,false,1,0,false,947956501503171,[["images/skin14-sheet0.png",831,96,1,10,34,1,0.1000000014901161,0.02941176481544972,[],[0,3.539025783538818e-8,0.7999999523162842,3.539025783538818e-8,0.7999999523162842,0.4705882370471954,0,0.4705882370471954],0]]]],[],false,false,728864176616224,[],null],["t145",19,false,[738125659224488],0,0,null,[["head",5,true,1,0,false,727236204598692,[["images/skin15-sheet0.png",655,1,1,64,66,1,0.5,0.9696969985961914,[],[],0]]],["body",5,false,1,0,false,836608104763543,[["images/skin15-sheet0.png",655,67,1,27,40,1,0.6666666865348816,0.5,[],[],0]]],["leftarm",5,false,1,0,false,913629532892307,[["images/skin15-sheet0.png",655,106,1,13,19,1,0.8461538553237915,0.1578947305679321,[],[],0]]],["leftfoot",5,false,1,0,false,342132682021319,[["images/skin15-sheet0.png",655,106,22,8,16,1,0,0,[],[],0]]],["lefthand",5,false,1,0,false,435669605762689,[["images/skin14-sheet0.png",831,79,43,8,16,1,1,0,[],[],0]]],["leftleg",5,false,1,0,false,774653325687621,[["images/skin15-sheet0.png",655,116,22,8,16,1,0,0,[],[],0]]],["rightarm",5,false,1,0,false,546055695541782,[["images/skin15-sheet0.png",655,106,1,13,19,1,0.8461538553237915,0.1578947305679321,[],[],0]]],["rightfoot",5,false,1,0,false,544493686337452,[["images/skin14-sheet0.png",831,79,43,8,16,1,0,0,[],[],0]]],["righthand",5,false,1,0,false,104829166323496,[["images/skin15-sheet0.png",655,106,22,8,16,1,1,0,[],[],0]]],["rightleg",5,false,1,0,false,359900140532704,[["images/skin15-sheet0.png",655,96,1,8,32,1,0,0,[],[0,0,1,0,1,0.5,0,0.5],0]]]],[],false,false,728540355245830,[],null],["t146",19,false,[738125659224488],0,0,null,[["head",12,true,1,0,false,791708716381825,[["images/pulse-sheet0.png",685,1,1,64,64,10,0.5,1,[],[],0],["images/pulse-sheet1.png",468,0,0,64,64,1,0.5,1,[],[],0],["images/pulse-sheet2.png",467,0,0,64,64,1,0.5,1,[],[],0]]],["body",5,false,1,0,false,514467720470438,[["images/pulse-sheet0.png",685,67,1,32,39,1,0.75,0.5641025900840759,[],[],0]]],["leftarm",5,false,1,0,false,608995714897647,[["images/pulse-sheet0.png",685,101,1,8,16,1,1,0,[],[],0]]],["leftfoot",5,false,1,0,false,293932378936584,[["images/pulse-sheet0.png",685,111,1,8,16,1,0,0,[],[0.125,0.06250009685754776,1,0.06250009685754776,1,1,0.125,1],0]]],["lefthand",5,false,1,0,false,858496119844265,[["images/pulse-sheet0.png",685,101,19,8,16,1,0.875,0,[],[],0]]],["leftleg",5,false,1,0,false,465471113938985,[["images/pulse-sheet0.png",685,111,19,8,16,1,0,0,[],[],0]]],["rightarm",5,false,1,0,false,348171073292074,[["images/pulse-sheet0.png",685,101,1,8,16,1,1,0,[],[],0]]],["rightfoot",5,false,1,0,false,987751822360879,[["images/pulse-sheet0.png",685,111,1,8,16,1,0,0,[],[],0]]],["righthand",5,false,1,0,false,382118316338397,[["images/pulse-sheet0.png",685,101,19,8,16,1,0.875,0,[],[],0]]],["rightleg",5,false,1,0,false,300665224789012,[["images/pulse-sheet0.png",685,111,19,8,16,1,0,0,[],[0.125,0.06250009685754776,1,0.06250009685754776,1,1,0.125,1],0]]]],[],false,false,922253138393706,[],null],["t147",19,false,[738125659224488],0,0,null,[["head",20,true,1,0,false,184824919670176,[["images/skin16-sheet0.png",417,1,1,32,32,30,0.5,1,[],[],0]]],["body",5,false,1,0,false,738499574926719,[["images/skin16-sheet0.png",417,35,1,8,16,1,0.5,0.5,[],[],0]]],["leftarm",5,false,1,0,false,174779992741858,[["images/skin16-sheet0.png",417,45,1,4,8,1,1,0,[],[],0]]],["leftfoot",5,false,1,0,false,955560354201024,[["images/skin16-sheet0.png",417,51,1,4,8,1,0,0,[],[],0]]],["lefthand",5,false,1,0,false,357119410134894,[["images/skin16-sheet0.png",417,57,1,4,8,1,1,0,[],[],0]]],["leftleg",5,false,1,0,false,565098588453748,[["images/skin16-sheet0.png",417,57,1,4,8,1,0,0,[],[],0]]],["rightarm",5,false,1,0,false,384877029705096,[["images/skin16-sheet0.png",417,57,1,4,8,1,1,0,[],[],0]]],["rightfoot",5,false,1,0,false,126142599003240,[["images/skin16-sheet0.png",417,57,1,4,8,1,0,0,[],[],0]]],["righthand",5,false,1,0,false,974803536402491,[["images/skin16-sheet0.png",417,45,11,4,8,1,1,0,[],[],0]]],["rightleg",5,false,1,0,false,149669472061123,[["images/skin16-sheet0.png",417,57,1,4,8,1,0,0,[],[],0]]]],[],false,false,138469785104112,[],null],["t148",19,false,[738125659224488],0,0,null,[["head",5,true,1,0,false,297342737279265,[["images/skin17-sheet0.png",934,1,1,64,64,1,0.53125,1,[],[-0.515625,-0.984375,0.46875,-0.984375,0.46875,0,-0.515625,0],0]]],["body",5,false,1,0,false,721595337313380,[["images/skin17-sheet0.png",934,67,1,32,38,1,0.75,0.5789473652839661,[],[],0]]],["leftarm",5,false,1,0,false,630311631107770,[["images/skin17-sheet0.png",934,101,19,8,16,1,1,0,[],[],0]]],["leftfoot",5,false,1,0,false,990866477622335,[["images/skin17-sheet0.png",934,101,1,12,16,1,0,0,[],[0.1000000014901161,0.06250009685754776,0.8999999761581421,0.06250009685754776,0.8999999761581421,1,0.1000000014901161,1],0]]],["lefthand",5,false,1,0,false,484012373152263,[["images/skin17-sheet0.png",934,111,19,8,16,1,1,0,[],[],0]]],["leftleg",5,false,1,0,false,656665552277265,[["images/skin17-sheet0.png",934,101,37,8,16,1,0,0,[],[],0]]],["rightarm",5,false,1,0,false,124331087030271,[["images/skin17-sheet0.png",934,111,37,8,16,1,1,0,[],[],0]]],["rightfoot",5,false,1,0,false,739683887970615,[["images/skin17-sheet0.png",934,115,1,12,16,1,0,0,[],[],0]]],["righthand",5,false,1,0,false,898282621446138,[["images/skin17-sheet0.png",934,67,41,8,16,1,1,0,[],[],0]]],["rightleg",5,false,1,0,false,233539527540801,[["images/skin17-sheet0.png",934,77,41,8,16,1,0,0,[],[0.125,0.06250009685754776,1,0.06250009685754776,1,1,0.125,1],0]]]],[],false,false,307146504697078,[],null],["t149",19,false,[738125659224488],0,0,null,[["head",5,true,1,0,false,201863066998365,[["images/skin18-sheet0.png",1129,1,1,64,64,1,0.53125,1,[],[-0.515625,-0.984375,0.46875,-0.984375,0.46875,0,-0.515625,0],0]]],["body",5,false,1,0,false,621598758518289,[["images/skin18-sheet0.png",1129,67,1,25,44,1,0.5600000023841858,0.3636363744735718,[],[],0]]],["leftarm",5,false,1,0,false,262694455036771,[["images/skin18-sheet0.png",1129,110,22,8,18,1,0.75,0.0555555559694767,[],[-0.75,-0.0555555559694767,0.25,-0.0555555559694767,0.25,0.833333432674408,-0.75,0.833333432674408],0]]],["leftfoot",5,false,1,0,false,914347000202120,[["images/skin18-sheet0.png",1129,94,1,14,20,1,0.1428571492433548,0.1500000059604645,[],[0.01428584754467011,0.04999999701976776,0.6999998688697815,0.04999999701976776,0.6999998688697815,0.7999999523162842,0.01428584754467011,0.7999999523162842],0]]],["lefthand",5,false,1,0,false,733495021994575,[["images/skin18-sheet0.png",1129,110,1,8,19,1,0.75,0.1578947305679321,[],[],0]]],["leftleg",5,false,1,0,false,887651622582088,[["images/skin18-sheet0.png",1129,94,23,8,18,1,0.25,0.0555555559694767,[],[],0]]],["rightarm",5,false,1,0,false,709300176979119,[["images/skin18-sheet0.png",1129,94,23,8,18,1,0.75,0.0555555559694767,[],[0.25,0.9444444179534912,-0.75,0.9444444179534912,-0.75,-0.0555555559694767,0.25,-0.0555555559694767],0]]],["rightfoot",5,false,1,0,false,317590968537117,[["images/skin18-sheet0.png",1129,94,1,14,20,1,0.1428571492433548,0.1500000059604645,[],[],0]]],["righthand",5,false,1,0,false,343570511100839,[["images/skin18-sheet0.png",1129,110,1,8,19,1,0.75,0.1578947305679321,[],[0.25,0.8421052694320679,-0.75,0.8421052694320679,-0.75,-0.09907123446464539,0.25,-0.09907123446464539],0]]],["rightleg",5,false,1,0,false,563499651252204,[["images/skin18-sheet0.png",1129,94,23,8,18,1,0.25,0.0555555559694767,[],[-0.125,0.00694454088807106,0.75,0.00694454088807106,0.75,0.9444444179534912,-0.125,0.9444444179534912],0]]]],[],false,false,665771625362299,[],null],["t150",19,false,[738125659224488],0,0,null,[["head",5,true,1,0,false,624457034228015,[["images/skin19-sheet1.png",2880,1,1,57,47,1,0.4035087823867798,1.297872304916382,[],[-0.4035087823867798,-1.297872304916382,0.5964912176132202,-1.297872304916382,0.5964912176132202,-0.3174803256988525,-0.4035087823867798,-0.3174803256988525],0]]],["body",5,false,1,0,false,368235633245239,[["images/skin19-sheet0.png",1242,1,1,86,86,1,0.4418604671955109,0.4186046421527863,[],[-0.3720930814743042,-0.4186046421527863,0.4999995529651642,-0.4186046421527863,0.4999995529651642,0.5232553482055664,-0.3720930814743042,0.5232553482055664],0]]],["leftarm",5,false,1,0,false,974936093757080,[["images/skin14-sheet0.png",831,79,43,8,16,1,1,0,[],[],0]]],["leftfoot",5,false,1,0,false,859420650496401,[["images/skin19-sheet1.png",2880,60,1,39,58,1,0.5641025900840759,0.4482758641242981,[],[-0.4641025960445404,-0.3857757747173309,0.3358973860740662,-0.3857757747173309,0.3358973860740662,0.5517241358757019,-0.4641025960445404,0.5517241358757019],0]]],["lefthand",5,false,1,0,false,838100520447079,[["images/skin14-sheet0.png",831,79,43,8,16,1,1,0,[],[],0]]],["leftleg",5,false,1,0,false,874786012641319,[["images/skin19-sheet0.png",1242,89,1,31,48,1,0.3548386991024017,0.1666666716337204,[],[],0]]],["rightarm",5,false,1,0,false,757261308102783,[["images/skin14-sheet0.png",831,79,43,8,16,1,1,0,[],[],0]]],["rightfoot",5,false,1,0,false,724742830741691,[["images/skin19-sheet1.png",2880,60,1,39,58,1,0.5641025900840759,0.4482758641242981,[],[],0]]],["righthand",5,false,1,0,false,124519994066300,[["images/skin14-sheet0.png",831,79,43,8,16,1,1,0,[],[],0]]],["rightleg",5,false,1,0,false,207134801291023,[["images/skin19-sheet0.png",1242,89,1,31,48,1,0.3548386991024017,0.1666666716337204,[],[-0.2298386991024017,-0.1041665747761726,0.6451612710952759,-0.1041665747761726,0.6451612710952759,0.8333333134651184,-0.2298386991024017,0.8333333134651184],0]]]],[],false,false,175878507706496,[],null],["t151",19,false,[738125659224488],0,0,null,[["head",20,true,1,0,false,469064190770253,[["images/skin16-sheet0.png",417,1,1,32,32,30,0.5,1,[],[],0]]],["body",5,false,1,0,false,385718770508892,[["images/skin16-sheet0.png",417,35,1,8,16,1,0.5,0.5,[],[],0]]],["leftarm",5,false,1,0,false,527186652370655,[["images/skin16-sheet0.png",417,45,1,4,8,1,1,0,[],[],0]]],["leftfoot",5,false,1,0,false,322559041259279,[["images/skin16-sheet0.png",417,51,1,4,8,1,0,0,[],[],0]]],["lefthand",5,false,1,0,false,939935836168341,[["images/skin16-sheet0.png",417,57,1,4,8,1,1,0,[],[],0]]],["leftleg",5,false,1,0,false,328076085545915,[["images/skin16-sheet0.png",417,57,1,4,8,1,0,0,[],[],0]]],["rightarm",5,false,1,0,false,928275389373613,[["images/skin16-sheet0.png",417,57,1,4,8,1,1,0,[],[],0]]],["rightfoot",5,false,1,0,false,973954636237735,[["images/skin16-sheet0.png",417,57,1,4,8,1,0,0,[],[],0]]],["righthand",5,false,1,0,false,180454158635081,[["images/skin16-sheet0.png",417,45,11,4,8,1,1,0,[],[],0]]],["rightleg",5,false,1,0,false,731894550246147,[["images/skin16-sheet0.png",417,57,1,4,8,1,0,0,[],[],0]]]],[],false,false,814729708934448,[],null],["t152",19,false,[738125659224488],0,0,null,[["head",12,true,1,0,false,962579310888810,[["images/cmgskin-sheet0.png",533,1,1,44,32,10,0.5227272510528564,1,[],[],0]]],["body",5,false,1,0,false,940475601526103,[["images/cmgskin-sheet0.png",533,47,1,10,16,1,0.5,0.5,[],[],0]]],["leftarm",5,false,1,0,false,809658071502656,[["images/cmgskin-sheet0.png",533,59,1,4,8,1,1,0,[],[],0]]],["leftfoot",5,false,1,0,false,211497396477718,[["images/cmgskin-sheet0.png",533,47,19,9,8,1,0,0,[],[0.125,0.125,1,0.125,1,1,0.125,1],0]]],["lefthand",5,false,1,0,false,867729915987285,[["images/cmgskin-sheet0.png",533,1,35,7,9,1,0.8571428656578064,0,[],[-0.8571428656578064,1,-0.8571428656578064,0,0.1428571343421936,0,0.1428571343421936,1],0]]],["leftleg",5,false,1,0,false,993545187127789,[["images/cmgskin-sheet0.png",533,59,11,4,8,1,0,0,[],[],0]]],["rightarm",5,false,1,0,false,513642894334456,[["images/cmgskin-sheet0.png",533,59,1,4,8,1,1,0,[],[],0]]],["rightfoot",5,false,1,0,false,113876484125647,[["images/cmgskin-sheet0.png",533,47,29,9,8,1,0,0,[],[],0]]],["righthand",5,false,1,0,false,475484922853518,[["images/cmgskin-sheet0.png",533,10,35,7,9,1,0.8571428656578064,0,[],[0.1428571343421936,0,0.1428571343421936,1,-0.8571428656578064,1,-0.8571428656578064,0],0]]],["rightleg",5,false,1,0,false,588079563860988,[["images/cmgskin-sheet0.png",533,58,21,4,8,1,0,0,[],[0.25,0.125,1,0.125,1,1,0.25,1],0]]]],[],false,false,979205171312083,[],null],["t153",19,false,[738125659224488],0,0,null,[["head",12,true,1,0,false,525496546412025,[["images/skin20-sheet0.png",573,1,1,31,36,10,0.4838709533214569,0.9722222089767456,[],[],0]]],["body",5,false,1,0,false,436291975625888,[["images/skin20-sheet0.png",573,34,1,12,19,1,0.5833333134651184,0.5789473652839661,[],[],0]]],["leftarm",5,false,1,0,false,235502860412254,[["images/skin20-sheet0.png",573,55,1,5,8,1,1,0,[],[-1,1,-1,0,0,0,0,1],0]]],["leftfoot",5,false,1,0,false,566184774353762,[["images/skin20-sheet0.png",573,55,11,5,8,1,0,0,[],[0.2249999940395355,0.125,1,0.125,1,1,0.2249999940395355,1],0]]],["lefthand",5,false,1,0,false,173810143590131,[["images/skin20-sheet0.png",573,48,1,5,9,1,1,0,[],[0,1,-1,1,-1,0,0,0],0]]],["leftleg",5,false,1,0,false,684069620178685,[["images/skin20-sheet0.png",573,48,12,5,8,1,0.2000000029802322,0,[],[],0]]],["rightarm",5,false,1,0,false,374237454628823,[["images/skin20-sheet0.png",573,55,21,5,8,1,1,0,[],[0,0,0,1,-1,1,-1,0],0]]],["rightfoot",5,false,1,0,false,738151147959290,[["images/skin20-sheet0.png",573,55,11,5,8,1,0,0,[],[],0]]],["righthand",5,false,1,0,false,363713617480886,[["images/skin20-sheet0.png",573,1,39,56,9,1,0.375,0,[],[0.625,1,-0.375,1,-0.375,0,0.625,0],0]]],["rightleg",5,false,1,0,false,728332442622457,[["images/skin20-sheet0.png",573,34,22,5,8,1,0,0,[],[0.75,1,0,1,0,0.125,0.75,0.125],0]]]],[],false,false,983753164838987,[],null],["t154",19,false,[738125659224488],0,0,null,[["head",12,true,1,0,false,576351024980243,[["images/skin21-sheet0.png",651,1,1,35,40,10,0.5142857432365417,1,[],[],0]]],["body",5,false,1,0,false,409546093172865,[["images/skin21-sheet0.png",651,38,17,9,18,1,0.4444444477558136,0.5555555820465088,[],[],0]]],["leftarm",5,false,1,0,false,116511284208310,[["images/skin21-sheet0.png",651,38,37,5,8,1,1,0,[],[-1,1,-1,0,0,0,0,1],0]]],["leftfoot",5,false,1,0,false,467450169639009,[["images/skin21-sheet0.png",651,49,17,9,8,1,0,0,[],[0.125,0.125,1,0.125,1,1,0.125,1],0]]],["lefthand",5,false,1,0,false,781077736277882,[["images/skin21-sheet0.png",651,45,37,5,8,1,1,0,[],[0,1,-1,1,-1,0,0,0],0]]],["leftleg",5,false,1,0,false,405736926630055,[["images/skin21-sheet0.png",651,52,37,5,8,1,0,0,[],[],0]]],["rightarm",5,false,1,0,false,506853586117776,[["images/skin21-sheet0.png",651,1,43,5,8,1,1,0,[],[0,0,0,1,-1,1,-1,0],0]]],["rightfoot",5,false,1,0,false,704523755012734,[["images/skin21-sheet0.png",651,49,27,9,8,1,0,0,[],[],0]]],["righthand",5,false,1,0,false,236915149210705,[["images/skin21-sheet0.png",651,38,1,21,14,1,0.2857142984867096,0.2142857164144516,[],[0.3582766950130463,0.7142852544784546,-0.2312926054000855,0.7142852544784546,-0.2312926054000855,0.1571432799100876,0.3582766950130463,0.1571432799100876],0]]],["rightleg",5,false,1,0,false,803812926843647,[["images/skin21-sheet0.png",651,8,43,5,8,1,0,0,[],[0.25,0.125,1,0.125,1,1,0.25,1],0]]]],[],false,false,361491194957403,[],null],["t155",19,false,[738125659224488],0,0,null,[["head",12,true,1,0,false,794519693940334,[["images/skin22-sheet0.png",811,1,1,68,40,10,0.5,0.925000011920929,[],[],0]]],["body",5,false,1,0,false,572656099429162,[["images/skin22-sheet0.png",811,71,1,11,25,1,0.4545454680919647,0.3199999928474426,[],[],0]]],["leftarm",5,false,1,0,false,272566842228831,[["images/skin22-sheet0.png",811,98,1,4,8,1,1,0,[],[-1,1,-1,0,0,0,0,1],0]]],["leftfoot",5,false,1,0,false,490165602105607,[["images/skin22-sheet0.png",811,84,1,5,8,1,0,0,[],[0.2249999940395355,0.125,1,0.125,1,1,0.2249999940395355,1],0]]],["lefthand",5,false,1,0,false,321877182216401,[["images/skin22-sheet0.png",811,98,1,4,8,1,1,0,[],[-1,1,-1,0,0,0,0,1],0]]],["leftleg",5,false,1,0,false,863595943607817,[["images/skin22-sheet0.png",811,104,1,4,8,1,0,0,[],[],0]]],["rightarm",5,false,1,0,false,538287683564141,[["images/skin22-sheet0.png",811,110,1,4,8,1,1,0,[],[0,0,0,1,-1,1,-1,0],0]]],["rightfoot",5,false,1,0,false,370127481096773,[["images/skin22-sheet0.png",811,91,1,5,8,1,0,0,[],[],0]]],["righthand",5,false,1,0,false,160866628904457,[["images/skin22-sheet0.png",811,110,1,4,8,1,1,0,[],[0,0,0,1,-1,1,-1,0],0]]],["rightleg",5,false,1,0,false,818713108765869,[["images/skin22-sheet0.png",811,116,1,4,8,1,0,0,[],[0.25,0.125,1,0.125,1,1,0.25,1],0]]]],[],false,false,478265688805318,[],null],["t156",19,false,[738125659224488],0,0,null,[["head",12,true,1,0,false,242369349234570,[["images/skin23-sheet0.png",483,1,1,29,32,10,0.5517241358757019,1,[],[],0]]],["body",5,false,1,0,false,703633145089310,[["images/skin23-sheet0.png",483,32,1,8,16,1,0.5,0.5,[],[],0]]],["leftarm",5,false,1,0,false,469356250488715,[["images/skin23-sheet0.png",483,42,1,5,8,1,1,0,[],[-1,1,-1,0,0,0,0,1],0]]],["leftfoot",5,false,1,0,false,114363280256871,[["images/skin23-sheet0.png",483,49,1,5,8,1,0,0,[],[0.2249999940395355,0.125,1,0.125,1,1,0.2249999940395355,1],0]]],["lefthand",5,false,1,0,false,477638977061478,[["images/skin22-sheet0.png",811,110,1,4,8,1,1,0,[],[0,1,-1,1,-1,0,0,0],0]]],["leftleg",5,false,1,0,false,697802566508833,[["images/skin23-sheet0.png",483,56,1,5,8,1,0,0,[],[],0]]],["rightarm",5,false,1,0,false,167346213158047,[["images/skin23-sheet0.png",483,42,11,5,8,1,1,0,[],[0,0,0,1,-1,1,-1,0],0]]],["rightfoot",5,false,1,0,false,780376574408467,[["images/skin23-sheet0.png",483,49,11,5,8,1,0,0,[],[],0]]],["righthand",5,false,1,0,false,379805314208159,[["images/skin23-sheet0.png",483,32,19,4,8,1,1,0,[],[0,1,-1,1,-1,0,0,0],0]]],["rightleg",5,false,1,0,false,397522833440620,[["images/skin23-sheet0.png",483,56,11,5,8,1,0,0,[],[0.25,0.125,1,0.125,1,1,0.25,1],0]]]],[],false,false,176165291860431,[],null],["t157",19,false,[738125659224488],0,0,null,[["head",12,true,1,0,false,250934140759814,[["images/skin24-sheet0.png",452,1,1,33,32,10,0.4848484992980957,1,[],[],0]]],["body",5,false,1,0,false,613705200028984,[["images/skin24-sheet0.png",452,36,1,8,16,1,0.5,0.5,[],[],0]]],["leftarm",5,false,1,0,false,169440926742849,[["images/skin24-sheet0.png",452,46,1,5,8,1,1,0,[],[-1,1,-1,0,0,0,0,1],0]]],["leftfoot",5,false,1,0,false,334072917905066,[["images/skin24-sheet0.png",452,53,1,5,8,1,0,0,[],[0.2249999940395355,0.125,1,0.125,1,1,0.2249999940395355,1],0]]],["lefthand",5,false,1,0,false,149426031618315,[["images/skin24-sheet0.png",452,46,11,5,8,1,1,0,[],[0,1,-1,1,-1,0,0,0],0]]],["leftleg",5,false,1,0,false,326356673502448,[["images/skin24-sheet0.png",452,53,11,5,8,1,0,0,[],[],0]]],["rightarm",5,false,1,0,false,515531965544081,[["images/skin23-sheet0.png",483,42,11,5,8,1,1,0,[],[0,0,0,1,-1,1,-1,0],0]]],["rightfoot",5,false,1,0,false,542119682497398,[["images/skin24-sheet0.png",452,36,19,5,8,1,0,0,[],[],0]]],["righthand",5,false,1,0,false,139645270322162,[["images/skin24-sheet0.png",452,43,21,5,8,1,1,0,[],[0,1,-1,1,-1,0,0,0],0]]],["rightleg",5,false,1,0,false,626945854861569,[["images/skin24-sheet0.png",452,50,21,5,8,1,0,0,[],[0.25,0.125,1,0.125,1,1,0.25,1],0]]]],[],false,false,530094794668721,[],null],["t158",32,false,[],0,0,null,null,[],false,false,609347935899338,[],null,[""]],["t159",19,false,[],0,0,null,[["Default",5,false,1,0,false,107667209002138,[["images/dialogoverlay-sheet0.png",155,0,0,250,250,1,-2.380000114440918,0.6399999856948853,[],[],4]]]],[],false,false,576695842718201,[],null],["t160",19,false,[],0,0,null,[["Default",5,false,1,0,false,172709924189429,[["images/sprite5-sheet0.png",91,0,0,8,2,1,0.5,0.5,[],[],4]]]],[],false,false,377445790996751,[],null],["t161",20,false,[],1,0,null,null,[["GridViewDataBind",60,846581066773910]],false,false,845296839830002,[],null],["t162",18,false,[],0,0,["images/border.png",536,0],null,[],false,false,141610347164560,[],null],["t163",19,false,[],0,0,null,[["Default",5,true,1,0,true,517509842036801,[["images/decor-sheet0.png",181,0,0,32,32,1,0.5,0.5,[],[],3]]],["coin",5,true,1,0,true,536228802011968,[["images/decor-sheet1.png",233,0,0,32,32,1,0.5,0.5,[],[],3]]]],[],false,false,190863947988864,[],null],["t164",19,false,[],0,0,null,[["Default",5,false,1,0,false,787267650977841,[["images/sprite2-sheet0.png",155,0,0,250,250,1,0.5,0.5,[],[],1]]]],[],false,false,391002310959594,[],null],["t165",19,false,[],0,0,null,[["Default",5,false,1,0,false,285156995241420,[["images/vector-sheet0.png",151,0,0,25,25,1,0,0.5199999809265137,[],[],0]]]],[],false,false,425919155164426,[],null],["t166",19,false,[],0,0,null,[["Default",5,false,1,0,false,694049161744789,[["images/coolmathgames800x-sheet0.png",34682,0,0,800,600,1,0.5,0.5,[],[],1]]]],[],false,false,704600268878493,[],null],["t167",40,false,[],0,0,null,null,[],false,false,422867680881162,[],null,["lzma.js;unlockalllevels.js;websdkwrapper.js;ovo-level-editor.js"]],["t168",7,false,[],0,0,null,null,[],false,false,598280077419959,[],null],["t169",9,false,[],0,0,null,null,[],false,false,121214953520369,[],null,[25]],["t170",19,false,[],2,0,null,[["Default",5,false,1,0,false,518385529986323,[["images/camera-sheet0.png",155,0,0,250,250,1,0.5,0.5,[],[],1]]]],[["ScrollTo",68,629454157504401],["LiteTween",69,810524953118095]],false,false,634097375191476,[],null],["t171",19,false,[],1,0,null,[["Default",0,false,1,0,false,865844350177381,[["images/background-sheet0.png",47871,1,1,640,640,1,0.5,0.5,[],[],0],["images/background-sheet0.png",47871,643,1,640,640,1,0.5,0.5,[],[],0],["images/background-sheet0.png",47871,1285,1,640,640,1,0.5,0.5,[],[],0],["images/background-sheet0.png",47871,1,643,640,640,1,0.5,0.5,[],[],0],["images/background-sheet0.png",47871,643,643,640,640,1,0.5,0.5,[],[],0],["images/background-sheet0.png",47871,1285,643,640,640,1,0.5,0.5,[],[],0],["images/background-sheet0.png",47871,1,1285,640,640,1,0.5,0.5,[],[],0]]]],[["Fade",54,761612305447562]],false,false,338704364442861,[],null],["t172",19,false,[],0,0,null,[["Default",5,false,1,0,false,332512937706842,[["images/dialogoverlay-sheet0.png",155,0,0,250,250,1,0.5,0.5,[],[],4]]]],[],false,false,735720556600850,[],null],["t173",19,false,[],0,0,null,[["Default",5,false,1,0,false,914559096167921,[["images/sprite4-sheet0.png",2860,0,0,342,466,1,0.5,0.5,[],[],0]]]],[],false,false,211823931688081,[],null],["t174",36,false,[],0,0,null,null,[],true,false,734682482115351,[],null],["t175",19,false,[],0,0,null,[["Default",5,false,1,0,false,117482678483296,[["images/sprite6-sheet0.png",3511,0,0,937,733,1,0.5005336403846741,0.5006821155548096,[],[],3]]]],[],false,false,417746400327462,[],null],["t176",18,false,[],0,0,["images/tiledbackground2.png",180625,0],null,[],false,false,699251066693732,[],null],["t177",19,false,[],0,0,null,[["Default",5,false,1,0,false,440151107251068,[["images/endcarddialog-sheet0.png",155,0,0,250,250,1,0,0,[],[],4]]]],[],false,false,357329769549431,[],null],["t178",18,false,[],0,0,["images/tiledbackground3.png",20986,0],null,[],false,false,737313328296348,[],null],["t179",19,false,[],0,0,null,[["Default",5,false,1,0,false,306369477425391,[["images/sprite7-sheet0.png",168,0,0,250,250,1,0.5,0.5,[],[],3]]]],[],false,false,881165139545174,[],null],["t180",19,false,[],0,0,null,[["Default",5,true,1,0,true,812959213818569,[["images/mark-sheet0.png",627,0,0,241,243,1,0.5020747184753418,0.5020576119422913,[],[],0]]]],[],false,false,542929226901125,[],null],["t181",19,false,[],0,0,null,[["Default",5,false,1,0,false,183317851014394,[["images/pumpkin-sheet0.png",2164,0,0,32,32,1,0.5,0.5,[],[-0.3967210054397583,-0.2810630202293396,-0.01259499788284302,-0.4217813909053803,0.3723859786987305,-0.2810630202293396,0.5,-0.001870989799499512,0.4348379969596863,0.3319609761238098,-0.01259499788284302,0.4360029697418213,-0.4480513036251068,0.3222309947013855,-0.5,-0.001870989799499512],0]]]],[],false,false,632919620414100,[],null],["t182",19,false,[],0,0,null,[["Default",5,false,1,0,false,528596388521817,[["images/fakenine-sheet0.png",244,0,0,151,172,1,0.8278145790100098,0.7267441749572754,[],[],0]]]],[],false,false,789863733405582,[],null],["t183",19,false,[],0,0,null,[["Default",5,false,1,0,false,534125977553266,[["images/bfakenine-sheet0.png",244,0,0,151,172,1,0.8278145790100098,0.7267441749572754,[],[],0]]]],[],false,false,758460878500982,[],null],["t184",19,false,[],0,0,null,[["Default",5,false,1,0,false,183984920346942,[["images/sprite8-sheet0.png",168,0,0,250,250,1,0.5,0.5,[],[],3]]]],[],false,false,700004251621802,[],null],["t185",19,false,[],0,0,null,[["Default",5,false,1,0,false,775113481535384,[["images/ablue-sheet0.png",176,0,0,93,97,1,1.344086050987244,1.288659811019898,[],[],0]]]],[],false,false,540875143856330,[],null],["t186",19,false,[],0,0,null,[["Default",5,false,1,0,false,540393032786240,[["images/agreen-sheet0.png",176,0,0,93,97,1,1.344086050987244,1.288659811019898,[],[],0]]]],[],false,false,190382172509121,[],null],["t187",19,false,[],0,0,null,[["Default",5,false,1,0,false,122547983464391,[["images/ared-sheet0.png",164,0,0,90,96,1,1.388888835906982,1.302083373069763,[],[],0]]]],[],false,false,425542782608990,[],null],["t188",19,false,[],0,0,null,[["Default",5,false,1,0,false,843156597495427,[["images/frank_1-sheet0.png",250525,0,0,650,635,1,0.5,0.5007873773574829,[],[],0]]]],[],false,false,993750884364612,[],null],["t189",6,false,[888850175166869],0,0,null,null,[],false,false,597662614600632,[],null],["t190",6,false,[],0,0,null,null,[],false,false,862258040033253,[],null],["t191",19,false,[],0,0,null,[["Default",5,true,1,0,true,611838537739735,[["images/decor2-sheet0.png",393,0,0,224,224,1,0.5,0.5,[],[],3]]]],[],false,false,780948200889483,[],null],["t192",28,false,[161007206053699,311633333626769],1,0,null,null,[["Timer",43,577465353931609]],true,true,347769334737410,[],null],["t193",19,false,[],0,0,null,[["Default",5,false,1,0,false,758642348595996,[["images/bannercontainer-sheet0.png",105,0,0,8,8,1,0,0,[],[],3]]]],[],false,false,432173547533703,[],null],["t194",22,false,[],0,0,null,null,[],false,false,588624700562001,[],null,["1.4.4","",0,1,0,"b2cf0437817948371c6ca28e0b642beb","6beac3bc3a9f5ae66f0be2b4045e8f5176e7652d","","","",""]],["t195",21,false,[],3,0,["images/runningcanvas.png",168,3],null,[["Fade",54,633480717868471],["Sine2",59,301080865184726],["Sine",59,114609354143004]],false,false,520530509322114,[],null],["t196",37,false,[652403475450522,626853564312960,694258955769425,594402942119031,496906001396689,470565060895900,444210199119393,962950781184294],0,0,null,null,[],false,true,707415154989440,[],null],["t197",19,false,[],1,0,null,[["enus",5,false,1,0,false,271831173935763,[["images/languageflag-sheet0.png",510,1,1,55,45,1,0,0,[],[],0]]],["frfr",5,false,1,0,false,652719406116502,[["images/languageflag-sheet0.png",510,58,1,55,45,1,0,0,[],[],0]]],["eses",5,false,1,0,false,687890100495405,[["images/languageflag-sheet0.png",510,1,48,55,45,1,0,0,[],[],0]]],["ptbr",5,false,1,0,false,117981749125038,[["images/languageflag-sheet0.png",510,58,48,55,45,1,0,0,[],[0.03636360168457031,0.06666669994592667,0.9636359810829163,0.06666669994592667,0.9636359810829163,0.9333329796791077,0.03636360168457031,0.9333329796791077],0]]]],[["GameObject",58,502756917995407]],false,false,963337548452675,[],null],["t198",19,false,[130653457797761,739507600795253],2,0,null,[["Default",5,false,1,0,false,807368187887454,[["images/languagebutton-sheet0.png",126,0,0,145,30,1,0.5034482479095459,0.5,[],[],4]]]],[["Button",56,513155303701181],["GameObject",58,673924634823110]],false,false,630158081691108,[],null],["t199",19,false,[],1,0,null,[["enus",5,false,1,0,false,514223143958607,[["images/languageflag-sheet0.png",510,1,1,55,45,1,0,0,[],[],0]]],["frfr",5,false,1,0,false,851108805495385,[["images/languageflag-sheet0.png",510,58,1,55,45,1,0,0,[],[],0]]],["eses",5,false,1,0,false,868651494402553,[["images/languageflag-sheet0.png",510,1,48,55,45,1,0,0,[],[],0]]],["ptbr",5,false,1,0,false,689836018243618,[["images/languageflag-sheet0.png",510,58,48,55,45,1,0,0,[],[0.03636360168457031,0.06666669994592667,0.9636359810829163,0.06666669994592667,0.9636359810829163,0.9333329796791077,0.03636360168457031,0.9333329796791077],0]]]],[["GridViewDataBind",60,978046172881575]],false,false,383302309727297,[],null],["t200",19,false,[],2,0,null,[["Default",5,false,1,0,false,908792354405304,[["images/languagebutton2-sheet0.png",144,0,0,164,60,1,0.5,0.5,[],[-0.5,-0.25,0.384145975112915,-0.25,0.384145975112915,0.25,-0.5,0.25],4]]]],[["Button",56,313633363488376],["GridViewDataBind",60,589341175902544]],false,false,232533490442612,[],null],["t201",41,false,[],0,0,null,null,[],false,false,930410094373469,[],null,[]],["t202",19,false,[],0,0,null,[["Default",5,false,1,0,false,391584670858240,[["images/sprite9-sheet0.png",749,0,0,27,22,1,0.7407407164573669,0.6818181872367859,[],[],0]]]],[],false,false,984070898645752,[],null],["t203",19,true,[262704971509323,199058042510295,193849943661847,993466495623759,162248679823403],4,0,null,null,[["Bullet",52,794056050906070],["Fade",54,117347565246895],["ScrollTo",68,155942162778745],["Skin",70,261165837698273]],false,false,299731548947860,[],null],["t204",19,true,[497212342413462],0,0,null,null,[],false,false,873675107375722,[],null],["t205",19,true,[],1,0,null,null,[["SkymenPin",71,796199303464956]],false,false,206054607957546,[],null],["t206",18,true,[],1,0,null,null,[["SkymenPin",71,138908180026964]],false,false,598898940920014,[],null],["t207",19,true,[440031906351753,952965123956453,238992560328463,689824488000075,860001807351402],1,0,null,null,[["SkymenPin",71,355565111643921]],false,false,509448117307828,[],null],["t208",18,true,[],0,0,null,null,[],false,false,211009381652717,[],null],["t209",35,true,[],1,0,null,null,[["SkymenPin",71,281395732264137]],false,false,115159909921455,[],null],["t210",19,true,[738125659224488],0,0,null,null,[],false,false,790364388382042,[],null],["t211",37,true,[652403475450522,626853564312960,694258955769425,594402942119031,496906001396689,470565060895900,444210199119393,962950781184294],1,0,null,null,[["GameObject",58,755905474898721]],false,false,920532809310815,[],null],["t212",35,true,[923581378846400,941836366546089,579965770275365,665145682518176,209428091582797,870289313099113,331397106793861,257200944302405,329765002652278,648691422126005,488960249811661,549107127422705,499348393459471],1,0,null,null,[["GameObject",58,216266219916726]],false,false,587761493907010,[],null],["t213",37,true,[],0,0,null,null,[],false,false,631733458020613,[],null],["t214",20,true,[],0,0,null,null,[],false,false,632533404603087,[],null]],[[203,32,33,34,35,36,37,38,39,40,41],[204,54,47,58],[205,49,60,163,191,44,43,66,180,62,55,47,58,159,63],[206,52,45,51,56,59,48],[207,50],[208,52,45,51,56,59,48,68,67],[209,61,65,46,57],[210,152,151,146,131,140,141,142,143,144,145,147,148,149,150,133,153,154,155,156,157,132,134,135,136,137,138,139],[211,196],[212,94,73,79,80,87,86,65,121,120,90,77,118,83,122,124,123,46,57,84],[213,93,130],[214,161]],[["Level 1",1700,640,true,"Levels",793322217032622,[["Background",0,526200868109867,true,[255,255,255],false,0.1000000014901161,0.1000000014901161,1,false,false,0,0,0,[],[]],["BG Image",1,708705796561252,false,[255,255,255],true,1,1,1,false,false,0,0,0,[],[]],["Mask",2,132494189666672,false,[255,255,255],true,1,1,1,true,false,1,0,0,[[[-894,-736,0,896,2265,0,0,1,0,0,0,0,[]],177,1785,[],[],[0,"Default",0,1]],[[1698,-736,0,896,2265,0,0,1,0,0,0,0,[]],177,8928,[],[],[0,"Default",0,1]],[[-288,639,0,2240,1024,0,0,1,0,0,0,0,[]],177,8929,[],[],[0,"Default",0,1]],[[-352,-1022,0,2240,1024,0,0,1,0,0,0,0,[]],177,8930,[],[],[0,"Default",0,1]],[[-160,-128,0,50,50,0,0,1,0,0,0,0,[]],195,10085,[],[[0,0,0,0.2,1],[1,1,0,0.5,0,0.15,0,3,0],[1,0,0,0.75,0,0,0,37,0]],[0,0,0]]],[]],["Layer 0",3,809202608845450,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[1,384,0,1104,9,0,0,1,0,0,0,0,[]],51,73,[],[[0],[1],[1,100,""]],[0,0]],[[175,-42,0,4,8,0,0,1,1,0,0,0,[]],38,74,[[0],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","rightarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[175,-34,0,4,8,0,0,1,1,0,0,0,[]],40,75,[[1],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","righthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[167,-21,0,4,8,0,0,1,0,0,0,0,[]],39,77,[[4],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","rightfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[167,-29,0,4,8,0,0,1,0,0,0,0,[]],41,78,[[3],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","rightleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[167,-37,0,8,16,0,0,1,0.5,0.5,0,0,[]],32,76,[[2],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","body",3,1,0,0,1,2]],[0,"Default",0,1]],[[163,-21,0,4,8,0,0,1,0,0,0,0,[]],35,79,[[6],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","leftfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[163,-29,0,4,8,0,0,1,0,0,0,0,[]],37,80,[[5],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","leftleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[167,-45,0,32,32,0,0,1,0.5,1,0,0,[]],33,81,[[7],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","head",3,1,0,0,1,2]],[0,"Default",0,1]],[[163,-42,0,4,8,0,0,1,1,0,0,0,[]],34,82,[[8],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","leftarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[163,-34,0,4,8,0,0,1,1,0,0,0,[]],36,83,[[9],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","lefthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[474,275,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,91,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[0,"Default",0,1]],[[-192,-192,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1271,[["Start"],["{\"c2array\":true,\"size\":[362,6,1],\"data\":[[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[20.167013658501006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[20.995288014500915],[351.99275975366527],[0],[\"run\"],[0],[1]],[[22.241889314000858],[351.99275975366527],[0],[\"run\"],[0],[1]],[[23.90777027900094],[351.99275975366527],[0],[\"run\"],[0],[1]],[[25.97451411500095],[351.99275975366527],[0],[\"run\"],[0],[1]],[[28.475381403501036],[351.99275975366527],[0],[\"run\"],[0],[1]],[[31.374562743500714],[351.99275975366527],[0],[\"run\"],[0],[1]],[[34.695790389501276],[351.99275975366527],[0],[\"run\"],[0],[1]],[[38.438242209501375],[351.99275975366527],[0],[\"run\"],[0],[1]],[[42.590263433001084],[351.99275975366527],[0],[\"run\"],[0],[1]],[[47.1538758080011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[52.13758898000105],[351.99275975366527],[0],[\"run\"],[0],[1]],[[57.53813399000128],[351.99275975366527],[0],[\"run\"],[0],[1]],[[63.0392339900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[68.52812399000123],[351.99275975366527],[0],[\"run\"],[0],[1]],[[74.01008399000156],[351.99275975366527],[0],[\"run\"],[0],[1]],[[79.51316399000139],[351.99275975366527],[0],[\"run\"],[0],[1]],[[85.01195399000154],[351.99275975366527],[0],[\"run\"],[0],[1]],[[90.48995399000107],[351.99275975366527],[0],[\"run\"],[0],[1]],[[96.00689399000132],[351.99275975366527],[0],[\"run\"],[0],[1]],[[101.49050399000078],[351.99275975366527],[0],[\"run\"],[0],[1]],[[106.97477399000157],[351.99275975366527],[0],[\"run\"],[0],[1]],[[112.44683399000108],[351.99275975366527],[0],[\"run\"],[0],[1]],[[117.97334399000088],[351.99275975366527],[0],[\"run\"],[0],[1]],[[123.44507399000153],[351.99275975366527],[0],[\"run\"],[0],[1]],[[128.94551399000082],[351.99275975366527],[0],[\"run\"],[0],[1]],[[134.4228539900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[139.90184399000114],[351.99275975366527],[0],[\"run\"],[0],[1]],[[145.40030399000122],[351.99275975366527],[0],[\"run\"],[0],[1]],[[150.89645399000085],[351.99275975366527],[0],[\"run\"],[0],[1]],[[156.4015139900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[161.88809399000115],[351.99275975366527],[0],[\"run\"],[0],[1]],[[167.38127399000138],[351.99275975366527],[0],[\"run\"],[0],[1]],[[172.85135399000168],[351.99275975366527],[0],[\"run\"],[0],[1]],[[178.34783399000136],[351.99275975366527],[0],[\"run\"],[0],[1]],[[183.86147399000095],[351.99275975366527],[0],[\"run\"],[0],[1]],[[189.31769399000083],[351.99275975366527],[0],[\"run\"],[0],[1]],[[194.84915399000164],[351.99275975366527],[0],[\"run\"],[0],[1]],[[200.32220399000136],[351.99275975366527],[0],[\"run\"],[0],[1]],[[205.79723399000147],[351.99275975366527],[0],[\"run\"],[0],[1]],[[211.28975399000154],[351.99275975366527],[0],[\"run\"],[0],[1]],[[216.78392399000074],[351.99275975366527],[0],[\"run\"],[0],[1]],[[222.271493990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[227.76896399000088],[351.99275975366527],[0],[\"run\"],[0],[1]],[[233.2552139900009],[351.99275975366527],[0],[\"run\"],[0],[1]],[[238.74641399000072],[351.99275975366527],[0],[\"run\"],[0],[1]],[[244.24520399000087],[351.99275975366527],[0],[\"run\"],[0],[1]],[[249.7354139900017],[351.99275975366527],[0],[\"run\"],[0],[1]],[[255.22265399000068],[351.99275975366527],[0],[\"run\"],[0],[1]],[[260.72210399000096],[351.99275975366527],[0],[\"run\"],[0],[1]],[[266.2030739900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[271.72694399000153],[351.99275975366527],[0],[\"run\"],[0],[1]],[[277.18349399000147],[351.99275975366527],[0],[\"run\"],[0],[1]],[[282.68162399000147],[351.99275975366527],[0],[\"run\"],[0],[1]],[[288.1767839900009],[351.99275975366527],[0],[\"run\"],[0],[1]],[[293.6564339900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[299.1479639900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[304.6639139900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[310.13267399000074],[351.99275975366527],[0],[\"run\"],[0],[1]],[[315.61991399000095],[351.99275975366527],[0],[\"run\"],[0],[1]],[[321.1144139900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[326.61023399000095],[351.99275975366527],[0],[\"run\"],[0],[1]],[[332.11760399000167],[351.99275975366527],[0],[\"run\"],[0],[1]],[[337.5863639900017],[351.99275975366527],[0],[\"run\"],[0],[1]],[[343.0858139900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[348.5677739900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[354.07976399000154],[351.99275975366527],[0],[\"run\"],[0],[1]],[[359.56568399000145],[351.99275975366527],[0],[\"run\"],[0],[1]],[[365.0601839900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[370.5401639900006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[376.0448939900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[381.5182739900006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[387.00782399000127],[351.99275975366527],[0],[\"run\"],[0],[1]],[[392.504633990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[397.9931939900015],[351.99275975366527],[0],[\"run\"],[0],[1]],[[403.4906639900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[408.98318399000146],[351.99275975366527],[0],[\"run\"],[0],[1]],[[414.4661339900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[419.96294399000175],[351.99275975366527],[0],[\"run\"],[0],[1]],[[425.45909399000135],[351.99275975366527],[0],[\"run\"],[0],[1]],[[430.94072399000163],[351.99275975366527],[0],[\"run\"],[0],[1]],[[436.4263139900015],[351.99275975366527],[0],[\"run\"],[0],[1]],[[441.92213399000104],[351.99275975366527],[0],[\"run\"],[0],[1]],[[447.4430339900009],[351.99275975366527],[0],[\"run\"],[0],[1]],[[452.90585399000094],[351.99275975366527],[0],[\"run\"],[0],[1]],[[458.3944139900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[463.89320399000155],[351.99275975366527],[0],[\"run\"],[0],[1]],[[469.37714399000106],[351.99275975366527],[0],[\"run\"],[0],[1]],[[474.874943990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[480.36317399000137],[351.99275975366527],[0],[\"run\"],[0],[1]],[[485.85272399000087],[351.99275975366527],[0],[\"run\"],[0],[1]],[[491.339633990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[496.8328139900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[502.32830399000073],[351.99275975366527],[0],[\"run\"],[0],[1]],[[507.83765399000066],[351.99275975366527],[0],[\"run\"],[0],[1]],[[513.3156539900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[518.8009139900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[524.2931039900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[529.7810039900015],[351.99275975366527],[0],[\"run\"],[0],[1]],[[535.2801239900017],[351.99275975366527],[0],[\"run\"],[0],[1]],[[540.7756139900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[546.2536139900006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[551.7458039900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[557.257133990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[562.7285339900016],[351.99275975366527],[0],[\"run\"],[0],[1]],[[568.2253439900013],[351.99275975366527],[0],[\"run\"],[0],[1]],[[573.7132439900016],[351.99275975366527],[0],[\"run\"],[0],[1]],[[579.2021339900009],[351.99275975366527],[0],[\"run\"],[0],[1]],[[584.6982839900005],[351.99275975366527],[0],[\"run\"],[0],[1]],[[590.1838739900015],[351.99275975366527],[0],[\"run\"],[0],[1]],[[595.6780439900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[601.165283990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[606.6594539900013],[351.99275975366527],[0],[\"run\"],[0],[1]],[[612.1473539900005],[351.99275975366527],[0],[\"run\"],[0],[1]],[[617.6408639900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[623.1399839900009],[351.99275975366527],[0],[\"run\"],[0],[1]],[[628.6252439900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[634.1147939900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[639.6119339900013],[351.99275975366527],[0],[\"run\"],[0],[1]],[[645.1176539900005],[351.99275975366527],[0],[\"run\"],[0],[1]],[[650.589053990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[656.086523990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[661.572773990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[667.0570439900006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[672.5561639900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[678.0457139900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[683.5398839900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[689.0304239900016],[351.99275975366527],[0],[\"run\"],[0],[1]],[[694.5183239900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[705.5183239900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[716.4868639900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[721.977733990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[727.4669539900003],[351.99275975366527],[0],[\"run\"],[0],[1]],[[732.9634339900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[738.454303990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[743.9544139900003],[351.99275975366527],[0],[\"run\"],[0],[1]],[[749.443963990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[754.9265839900003],[351.99275975366527],[0],[\"run\"],[0],[1]],[[760.4174539900013],[351.99275975366527],[0],[\"run\"],[0],[1]],[[765.9099739900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[771.4008439900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[776.8828039900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[782.3954539900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[787.8836839900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[793.3745539900009],[351.99275975366527],[0],[\"run\"],[0],[1]],[[798.849913990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[804.3407839900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[809.8415539900013],[351.99275975366527],[0],[\"run\"],[0],[1]],[[815.3377039900009],[351.99275975366527],[0],[\"run\"],[0],[1]],[[820.8285739900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[826.3075639900004],[351.99275975366527],[0],[\"run\"],[0],[1]],[[831.8109739900003],[351.99275975366527],[0],[\"run\"],[0],[1]],[[837.2869939900006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[842.7778639900004],[351.99275975366527],[0],[\"run\"],[0],[1]],[[848.2750039900013],[351.99275975366527],[0],[\"run\"],[0],[1]],[[853.7658739900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[859.2673039900005],[351.99275975366527],[0],[\"run\"],[0],[1]],[[864.7581739900003],[351.99275975366527],[0],[\"run\"],[0],[1]],[[870.236173990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[875.7402439900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[881.2271539900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[886.7153839900004],[351.99275975366527],[0],[\"run\"],[0],[1]],[[892.2016339900005],[351.99275975366527],[0],[\"run\"],[0],[1]],[[897.6915139900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[903.1810639900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[908.6725939900006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[914.1634639900003],[351.99275975366527],[0],[\"run\"],[0],[1]],[[919.6609339900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[925.1518039900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[930.6426739900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[936.1276039900006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[941.6204539900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[947.1212239900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[952.612093990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[958.0940539900013],[351.99275975366527],[0],[\"run\"],[0],[1]],[[963.5971339900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[969.0744739900005],[351.99275975366527],[0],[\"run\"],[0],[1]],[[974.5679839900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[980.0588539900004],[351.99275975366527],[0],[\"run\"],[0],[1]],[[985.5497239900002],[351.99275975366527],[0],[\"run\"],[0],[1]],[[991.0415839900002],[351.99275975366527],[0],[\"run\"],[0],[1]],[[996.5324539900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1002.0193639900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1007.5188139900004],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1013.0110039900004],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1018.5018739900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1023.9983539900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1029.496153990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1034.9870239900006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1040.4623839900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1045.9657939900005],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1051.4454439900003],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1056.9399439900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1062.4298239900004],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1067.9292739900006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1073.4201439900003],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1078.9007839900003],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1084.39165399],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1089.8808739900005],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1095.3770239900002],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1100.87482399],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1106.3656939899997],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1111.8572239899995],[341.1761097536655],[0],[\"jump\"],[0],[1]],[[1117.3431439899994],[330.78504581766566],[0],[\"jump\"],[0],[1]],[[1122.8317039899998],[320.80391650566486],[0],[\"jump\"],[0],[1]],[[1128.3225739899995],[311.2338708631653],[0],[\"jump\"],[0],[1]],[[1133.8137739899992],[302.0785844631656],[0],[\"jump\"],[0],[1]],[[1139.3046439900002],[293.33913274216417],[0],[\"jump\"],[0],[1]],[[1144.7955139899998],[285.0149655026646],[0],[\"jump\"],[0],[1]],[[1150.2966139899993],[277.09212291766545],[0],[\"jump\"],[0],[1]],[[1155.7874839900003],[269.59929835466426],[0],[\"jump\"],[0],[1]],[[1161.27868399],[262.52135787466455],[0],[\"jump\"],[0],[1]],[[1166.7560239899994],[255.8745227946653],[0],[\"jump\"],[0],[1]],[[1172.2676839899998],[249.6044750806649],[0],[\"jump\"],[0],[1]],[[1177.7506339900003],[243.78117511316444],[0],[\"jump\"],[0],[1]],[[1183.2395239899997],[238.36655145816513],[0],[\"jump\"],[0],[1]],[[1188.73270399],[233.36332982216499],[0],[\"jump\"],[0],[1]],[[1194.2235739899995],[228.77749662966522],[0],[\"jump\"],[0],[1]],[[1199.7160939899995],[224.6058195036652],[0],[\"jump\"],[0],[1]],[[1205.2039939899998],[220.85248670866503],[0],[\"jump\"],[0],[1]],[[1210.6948639899995],[217.51240712666524],[0],[\"jump\"],[0],[1]],[[1216.1827639899998],[214.58896953666513],[0],[\"jump\"],[0],[1]],[[1221.68782399],[212.07382439666512],[0],[\"jump\"],[0],[1]],[[1227.1786939899996],[209.9804468481653],[0],[\"jump\"],[0],[1]],[[1232.6586739899994],[208.30485993316537],[0],[\"jump\"],[0],[1]],[[1238.1548239899992],[207.0404123331655],[0],[\"jump\"],[0],[1]],[[1243.6361239899993],[206.19321928316552],[0],[\"jump\"],[0],[1]],[[1249.126003989999],[205.75983484716556],[0],[\"jump\"],[0],[1]],[[1254.6277639899997],[205.74244595116562],[0],[\"jump\"],[0],[1]],[[1260.1166539899991],[206.1400827656656],[0],[\"fall\"],[0],[1]],[[1265.6038939899993],[206.95233562366565],[0],[\"fall\"],[0],[1]],[[1271.0974039899995],[208.18120051666577],[0],[\"fall\"],[0],[1]],[[1276.5882739899992],[209.82475933916572],[0],[\"fall\"],[0],[1]],[[1282.0791439899988],[211.88360264316563],[0],[\"fall\"],[0],[1]],[[1287.5733139899992],[214.35946710866585],[0],[\"fall\"],[0],[1]],[[1293.0641839899988],[217.24912896066573],[0],[\"fall\"],[0],[1]],[[1298.5603339899985],[220.55765303816548],[0],[\"fall\"],[0],[1]],[[1304.054833989999],[224.28101761316583],[0],[\"fall\"],[0],[1]],[[1309.5338239899986],[228.40736120316564],[0],[\"fall\"],[0],[1]],[[1315.0246939899996],[232.9579363546665],[0],[\"fall\"],[0],[1]],[[1320.5363539899988],[237.94417648766577],[0],[\"fall\"],[0],[1]],[[1326.0278839899986],[243.32758991066567],[0],[\"fall\"],[0],[1]],[[1331.5187539899996],[249.12564080916675],[0],[\"fall\"],[0],[1]],[[1337.0043439899994],[255.33260251716666],[0],[\"fall\"],[0],[1]],[[1342.5021439899992],[261.96971327716665],[0],[\"fall\"],[0],[1]],[[1347.9930139899989],[269.0137424126664],[0],[\"fall\"],[0],[1]],[[1353.479923989999],[276.4673771076666],[0],[\"fall\"],[0],[1]],[[1358.9523139899986],[284.31378109616605],[0],[\"fall\"],[0],[1]],[[1364.4438439899984],[292.6030126571659],[0],[\"fall\"],[0],[1]],[[1369.934713989998],[301.30653245766547],[0],[\"fall\"],[0],[1]],[[1375.425583989999],[310.4253367396671],[0],[\"fall\"],[0],[1]],[[1380.506770568499],[319.97138520316696],[0],[\"fall\"],[0],[1]],[[1385.1665724354987],[329.9212576181665],[0],[\"fall\"],[0],[1]],[[1389.4108596834985],[340.28576661416594],[0],[\"fall\"],[0],[1]],[[1393.2401175459984],[351.0661830336654],[0],[\"fall\"],[0],[1]],[[1396.6519280649986],[351.9411830336654],[0],[\"run\"],[0],[1]],[[1399.6596074424986],[351.9411830336654],[0],[\"run\"],[0],[1]],[[1402.241913686499],[351.9411830336654],[0],[\"run\"],[0],[1]],[[1404.405143460999],[351.9411830336654],[0],[\"run\"],[0],[1]],[[1406.157136155999],[351.9411830336654],[0],[\"run\"],[0],[1]],[[1407.494687129499],[351.9411830336654],[0],[\"run\"],[0],[1]],[[1408.4166792744988],[351.9411830336654],[0],[\"run\"],[0],[1]],[[1408.924142249499],[351.9411830336654],[0],[\"run\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"run\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]]]}"],[0]],[],[1,"Default",0,1]],[[170,288,0,249,52,0,0,1,0,0,0,0,[]],46,99,[[1],[1],["lvltxt1-1"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Hello, and Welcome to OvO!",1,0,50,0,0,0,0,0,"",-1,0]],[[542,287,0,249,52,0,0,1,0,0,0,0,[]],46,100,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Use arrow keys to move",1,0,50,0,0,0,0,0,"",-1,0]],[[8.000009536743164,0,0,392,9,0,1.570796370506287,1,0,0,0,0,[]],51,2700,[],[[0],[1],[1,100,""]],[0,0]],[[1352,128,0,249,52,0,0,1,0,0,0,0,[]],46,2701,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","This is the end of the Level",1,0,50,0,0,0,0,0,"",-1,0]],[[329.9974365234375,136,0,300,117,0,0,1,0,0,0,0,[[]]],61,5442,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]],[[1512,288,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,3147,[],[[0]],[0,"Default",0,1]],[[1112,288,0,176,96,0,0,1,0,0,0,0,[]],46,3152,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Press \"Up\" to jump",1,0,50,0,0,0,0,0,"",-1,0]],[[1296,384,0,337,9,0,0,1,0,0,0,0,[]],51,3153,[],[[0],[1],[1,100,""]],[0,0]],[[1104,448,0,200,9,0,0,1,0,0,0,0,[]],51,3162,[],[[0],[1],[1,100,""]],[0,0]],[[1304,384,0,71,9,0,1.570796370506287,1,0,0,0,0,[]],51,3166,[],[[0],[1],[1,100,""]],[0,0]],[[1112,384,0,71,9,0,1.570796370506287,1,0,0,0,0,[]],51,3168,[],[[0],[1],[1,100,""]],[0,0]],[[1201,215,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,3246,[["level1"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[426.8966979980469,269.1820068359375,0,112,112,0,0,1,0,0,0,0,[[]]],65,48,[[1],[1],[""],["en-us"],[1],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","1",1,0,50,0,0,0,0,0,"",-1,0]]],[]],["UI",4,339750249863734,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",5,659235480422105,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",6,666340553478949,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",7,513203797983555,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",8,185681525019619,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",9,277872880887797,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",10,841537139153822,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[[null,30,4433,[[""],[""],[0],[""]],[],[]]],[]],["Level 2",2400,640,true,"Levels",511516739107697,[["Layer 0",0,180136532280282,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[32,384,0,288,9,0,0,1,0,0,0,0,[]],51,117,[],[[0],[1],[1,100,""]],[0,0]],[[144,304,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,128,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[736,384,0,312,9,0,0,1,0,0,0,0,[]],51,131,[],[[0],[1],[1,100,""]],[0,0]],[[448,384,0,160,9,0,0,1,0,0,0,0,[]],51,132,[],[[0],[1],[1,100,""]],[0,0]],[[-109,41,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1405,[["Hard"],["{\"c2array\":true,\"size\":[344,6,1],\"data\":[[[919.500470005622],[351.94589405067757],[0],[\"idle\"],[0],[1]],[[919.500470005622],[351.94589405067757],[0],[\"idle\"],[0],[1]],[[919.500470005622],[351.94589405067757],[0],[\"idle\"],[0],[1]],[[919.500470005622],[351.94589405067757],[0],[\"idle\"],[0],[1]],[[919.500470005622],[351.94589405067757],[0],[\"idle\"],[0],[1]],[[919.500470005622],[351.94589405067757],[0],[\"idle\"],[0],[1]],[[919.500470005622],[351.94589405067757],[0],[\"idle\"],[0],[1]],[[919.500470005622],[351.94589405067757],[0],[\"idle\"],[0],[1]],[[919.500470005622],[351.94589405067757],[0],[\"idle\"],[0],[1]],[[919.500470005622],[351.94589405067757],[0],[\"idle\"],[0],[1]],[[919.9066205431257],[351.94589405067757],[0],[\"run\"],[0],[1]],[[920.7356582431227],[351.94589405067757],[0],[\"run\"],[0],[1]],[[922.0071594121329],[351.94589405067757],[0],[\"run\"],[0],[1]],[[923.6720161546314],[351.94589405067757],[0],[\"run\"],[0],[1]],[[925.708045438622],[351.94589405067757],[0],[\"run\"],[0],[1]],[[928.2090288976403],[351.94589405067757],[0],[\"run\"],[0],[1]],[[931.1142232561363],[351.94589405067757],[0],[\"run\"],[0],[1]],[[934.412041029125],[351.94589405067757],[0],[\"run\"],[0],[1]],[[942.715080468146],[351.94589405067757],[0],[\"run\"],[0],[1]],[[947.279391114138],[351.94589405067757],[0],[\"run\"],[0],[1]],[[952.2589862416283],[351.94589405067757],[0],[\"run\"],[0],[1]],[[957.6629457916417],[351.94589405067757],[0],[\"run\"],[0],[1]],[[963.1881357916473],[351.94589405067757],[0],[\"run\"],[0],[1]],[[968.6790057916362],[351.94589405067757],[0],[\"run\"],[0],[1]],[[974.267225791639],[351.94589405067757],[0],[\"run\"],[0],[1]],[[985.1407257916237],[351.94589405067757],[0],[\"run\"],[0],[1]],[[990.6315957916511],[351.94589405067757],[0],[\"run\"],[0],[1]],[[996.0703257916606],[351.94589405067757],[0],[\"run\"],[0],[1]],[[1007.0703257916606],[351.94589405067757],[0],[\"run\"],[0],[1]],[[1012.5664757916699],[351.94589405067757],[0],[\"run\"],[0],[1]],[[1023.5664757916699],[351.94589405067757],[0],[\"run\"],[0],[1]],[[1029.0573457916971],[351.94589405067757],[0],[\"run\"],[0],[1]],[[1034.5706557916762],[351.94589405067757],[0],[\"run\"],[0],[1]],[[1040.0615257917036],[351.94589405067757],[0],[\"run\"],[0],[1]],[[1045.5464557916794],[351.94589405067757],[0],[\"run\"],[0],[1]],[[1056.53050579169],[351.94589405067757],[0],[\"run\"],[0],[1]],[[1062.021375791679],[351.94589405067757],[0],[\"run\"],[0],[1]],[[1070.9786957916879],[351.94589405067757],[0],[\"wall\"],[0],[1]],[[1070.9568297656854],[351.94589405067757],[0],[\"wall\"],[0],[1]],[[1070.9971142471895],[351.94589405067757],[0],[\"wall\"],[0],[1]],[[1070.9787010846878],[351.94589405067757],[0],[\"wall\"],[0],[1]],[[1070.9590853061875],[351.94589405067757],[0],[\"wall\"],[0],[1]],[[1070.9971265601896],[351.94589405067757],[0],[\"wall\"],[0],[1]],[[1070.9749110416878],[351.94589405067757],[0],[\"wall\"],[0],[1]],[[1070.9475507776917],[351.94589405067757],[0],[\"wall\"],[0],[1]],[[1070.9475507776917],[351.94589405067757],[0],[\"wall\"],[0],[1]],[[1070.9475507776917],[351.94589405067757],[0],[\"wall\"],[0],[1]],[[1070.9475507776917],[351.94589405067757],[0],[\"wall\"],[0],[1]],[[1070.9475507776917],[351.94589405067757],[0],[\"wall\"],[0],[1]],[[1070.9475507776917],[351.94589405067757],[0],[\"wall\"],[0],[1]],[[1065.8366986151877],[341.0486440506685],[0],[\"jump\"],[0],[-1]],[[1061.1543184361851],[328.41324501665963],[0],[\"jump\"],[0],[-1]],[[1056.9149175431667],[316.2678648711015],[0],[\"jump\"],[0],[-1]],[[1050.1267489031738],[293.75801575111325],[0],[\"jump\"],[0],[-1]],[[1047.115584919184],[282.8014352721465],[0],[\"jump\"],[0],[-1]],[[1044.5291875286873],[272.28910243415805],[0],[\"jump\"],[0],[-1]],[[1042.3645867406794],[262.2185223936104],[0],[\"jump\"],[0],[-1]],[[1040.6155109726872],[252.56489281564598],[0],[\"jump\"],[0],[-1]],[[1038.77763089219],[234.89367259266007],[0],[\"jump\"],[0],[-1]],[[1038.2755142351907],[226.51218494316805],[0],[\"jump\"],[0],[-1]],[[1038.2185433351913],[217.8616963581634],[0],[\"jump\"],[0],[-1]],[[1038.2185433351913],[203.6060500791452],[0],[\"jump\"],[0],[-1]],[[1038.2185433351913],[197.47607192617008],[0],[\"jump\"],[0],[-1]],[[1038.6338278166954],[191.14063124464053],[0],[\"jump\"],[0],[1]],[[1039.4713731746945],[185.18971975865577],[0],[\"jump\"],[0],[1]],[[1042.8063897687045],[175.0013773086442],[0],[\"jump\"],[0],[1]],[[1044.8744929556908],[170.35121269267418],[0],[\"jump\"],[0],[1]],[[1047.3673476477004],[166.09455937266068],[0],[\"jump\"],[0],[1]],[[1050.275936362195],[162.25242292416863],[0],[\"jump\"],[0],[1]],[[1057.769453028862],[156.22203959083572],[0],[\"jump\"],[0],[1]],[[1061.8843758738597],[153.64668910583714],[0],[\"jump\"],[0],[1]],[[1071.869059207193],[150.10747243917044],[0],[\"jump\"],[0],[1]],[[1077.1316412242245],[148.77837035716522],[0],[\"jump\"],[0],[1]],[[1082.6225112242134],[147.83248480466852],[0],[\"jump\"],[0],[1]],[[1088.0840112241904],[147.3025124296704],[0],[\"jump\"],[0],[1]],[[1093.5653112242242],[147.18445685467188],[0],[\"jump\"],[0],[1]],[[1099.056181224213],[147.48147964367266],[0],[\"fall\"],[0],[1]],[[1104.551671224191],[148.19473596016948],[0],[\"fall\"],[0],[1]],[[1110.0425412242184],[149.32267713117687],[0],[\"fall\"],[0],[1]],[[1115.4799512242037],[150.84687377767338],[0],[\"fall\"],[0],[1]],[[1126.4799512242037],[155.59702377767468],[0],[\"fall\"],[0],[1]],[[1131.9708212241926],[158.3834406346689],[0],[\"fall\"],[0],[1]],[[1137.4395812242071],[161.5705842466782],[0],[\"fall\"],[0],[1]],[[1142.930451224196],[165.185897847171],[0],[\"fall\"],[0],[1]],[[1153.930451224196],[174.0952145138378],[0],[\"fall\"],[0],[1]],[[1159.4213212242234],[178.95776259586415],[0],[\"fall\"],[0],[1]],[[1170.392171224222],[190.3310599433666],[0],[\"fall\"],[0],[1]],[[1175.9031712242067],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1181.3623612241893],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1186.8651112242046],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1192.3856812242211],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1197.8488312241996],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1208.8305712242159],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1214.2950412242187],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1219.8301312241952],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1225.3332112241878],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1236.3149512242042],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1241.7391612242154],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1247.26897122421],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1252.8050512241948],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1258.2959212242222],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1263.7458712241885],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1269.202091224222],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1274.6929612242109],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1280.2075912242142],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1285.67272122421],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1291.193291224188],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1302.1697512242224],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1307.6606212242114],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1318.6509412242126],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1324.1418112242015],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1329.6346612242078],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1335.1255312241967],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1340.6718412242064],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1346.1627112241954],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1351.5882412241926],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1357.0900012241993],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1362.5808712241883],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1373.5808712241883],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1384.5292812241967],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1389.9990312241814],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1395.5463312241998],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1401.0372012241887],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1406.498701224204],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1411.989571224193],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1422.947881224172],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1428.5318112242016],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1434.0226812241906],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1439.436001224184],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1444.926871224173],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1455.8855112241679],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1460.9865718741953],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1465.632358807667],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1473.2996421410005],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1476.685128146995],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1479.6696432219976],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1482.2740992860033],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1485.7795225835005],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1487.1188340445053],[191.96255679335036],[0],[\"run\"],[0],[1]],[[1488.0470953295041],[181.06530679334128],[0],[\"jump\"],[0],[1]],[[1488.553095639002],[170.6652412748614],[0],[\"jump\"],[0],[1]],[[1488.6443370490017],[160.69598969288091],[0],[\"jump\"],[0],[1]],[[1488.6443370490017],[151.172047187851],[0],[\"jump\"],[0],[1]],[[1488.6443370490017],[142.01506472036817],[0],[\"jump\"],[0],[1]],[[1488.6443370490017],[125.40324549635008],[0],[\"jump\"],[0],[1]],[[1488.6443370490017],[117.41868236584044],[0],[\"jump\"],[0],[1]],[[1488.6443370490017],[109.9245100438548],[0],[\"jump\"],[0],[1]],[[1488.6443370490017],[102.89009407588094],[0],[\"jump\"],[0],[1]],[[1488.6443370490017],[90.37521270736336],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[85.79979754486104],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[81.59741802585144],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[77.85603904185946],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[72.06853595986851],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[69.57563739586577],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[67.47108113836077],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[65.7938333383653],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[64.54189001985998],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[63.704044244861215],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[63.28385393086181],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[81.58399185689142],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[91.04142378141161],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[101.0919085963601],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[111.56688937738299],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[122.37966865186114],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[145.65437063885193],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[157.5971926488411],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[170.19468093684324],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[196.8034036788839],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[210.34896383889162],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[224.66416638041363],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[239.2208520133698],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[269.98311840841825],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[285.7581017843897],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[301.96425867035214],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[318.55370232085465],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[353.4656687599084],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[371.2666054848582],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[389.55156032345116],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[408.44254816837815],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[447.3912933208832],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[467.2607403208266],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[487.62219244242925],[0],[\"pound\"],[0],[1]],[[1488.6443370490017],[503.9544757757651],[0],[\"poundFloor\"],[0],[1]],[[1488.6443370490017],[503.9544757757651],[0],[\"poundFloor\"],[0],[1]],[[1488.6443370490017],[503.9544757757651],[0],[\"poundFloor\"],[0],[1]],[[1488.6443370490017],[503.9544757757651],[0],[\"poundFloor\"],[0],[1]],[[1488.6443370490017],[503.9544757757651],[0],[\"poundFloor\"],[0],[1]],[[1488.6443370490017],[503.9544757757651],[0],[\"poundFloor\"],[0],[1]],[[1488.6443370490017],[503.9544757757651],[0],[\"poundFloor\"],[0],[1]],[[1488.6443370490017],[503.9544757757651],[0],[\"poundFloor\"],[0],[1]],[[1488.6443370490017],[503.9544757757651],[0],[\"poundFloor\"],[0],[1]],[[1488.6443370490017],[503.9544757757651],[0],[\"poundFloor\"],[0],[1]],[[1488.6443370490017],[503.9544757757651],[0],[\"poundFloor\"],[0],[1]],[[1488.6443370490017],[503.9544757757651],[0],[\"idle\"],[0],[1]],[[1489.0575774550016],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1489.8871231195078],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1493.211844409506],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1495.2879922735021],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1497.809165779004],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1500.7201255509976],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1504.046369804516],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1507.752453848511],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1516.9075205151798],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1521.8421433646834],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1527.238753429673],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1532.6966234296694],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1538.2300634296826],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1543.7209334296715],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1549.5220034296804],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1554.664393429675],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1565.664393429675],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1571.1552634297025],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1576.58442342968],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1582.1264434296781],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1587.6107134296994],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1593.088383429676],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1604.088383429676],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1615.048343429695],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1620.4982934296997],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1626.0274434297012],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1631.5183134296901],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1642.4459334297098],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1648.0047834297006],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1658.9485734296816],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1664.4612234297063],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1675.4525334296777],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1680.9503334296885],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1686.4412034296774],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1691.939663429681],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1697.4318534296942],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1702.9227234296832],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1713.9227234296832],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1724.904463429661],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1730.3266934296553],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1735.8845534296759],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1740.9601389481666],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1745.5954233781592],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1749.84288586668],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1756.6852692000125],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1759.6854972070068],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1762.2504550310116],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1764.425728631007],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1766.1903447670018],[503.9544757757651],[0],[\"run\"],[0],[1]],[[1767.535367295504],[493.08452577576634],[0],[\"jump\"],[0],[1]],[[1768.458349264509],[482.6844602572166],[0],[\"jump\"],[0],[1]],[[1768.966046752009],[472.69967922023795],[0],[\"jump\"],[0],[1]],[[1769.0620924630098],[463.23476835472684],[0],[\"jump\"],[0],[1]],[[1769.0620924630098],[454.07581416574624],[0],[\"jump\"],[0],[1]],[[1769.0620924630098],[437.39411416574814],[0],[\"jump\"],[0],[1]],[[1769.0620924630098],[429.49591182822434],[0],[\"jump\"],[0],[1]],[[1769.0620924630098],[421.98681164926944],[0],[\"jump\"],[0],[1]],[[1769.0620924630098],[414.928451201248],[0],[\"jump\"],[0],[1]],[[1769.0620924630098],[408.26111238676174],[0],[\"jump\"],[0],[1]],[[1769.0620924630098],[402.0181795687578],[0],[\"jump\"],[0],[1]],[[1769.0620924630098],[396.12540641625566],[0],[\"jump\"],[0],[1]],[[1769.0620924630098],[386.1492985372545],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[381.57288301876287],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[377.4043245067574],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[370.73839181475734],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[367.825011068262],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[365.3325507832556],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[361.99246744992183],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[360.7404825339233],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[359.90607367942226],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[359.4823911104212],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[359.47518642341896],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[377.7723252169458],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[387.33755386892676],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[397.265595646459],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[407.7216738514515],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[430.0533093314438],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[441.6910668649204],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[466.6719501982538],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[479.55694221322705],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[492.8283699772677],[0],[\"pound\"],[0],[1]],[[1769.0620924630098],[503.9952452852217],[0],[\"poundFloor\"],[0],[1]],[[1769.0620924630098],[492.0983602852457],[0],[\"gpjump\"],[0],[1]],[[1769.0620924630098],[470.048802958721],[0],[\"gpjump\"],[0],[1]],[[1769.0620924630098],[459.3944020057426],[0],[\"gpjump\"],[0],[1]],[[1769.0620924630098],[449.0761975282164],[0],[\"gpjump\"],[0],[1]],[[1769.0620924630098],[439.2557099772367],[0],[\"gpjump\"],[0],[1]],[[1769.0620924630098],[429.8342994977401],[0],[\"gpjump\"],[0],[1]],[[1769.0620924630098],[412.777799232716],[0],[\"gpjump\"],[0],[1]],[[1769.0620924630098],[404.61430649673326],[0],[\"gpjump\"],[0],[1]],[[1769.0620924630098],[396.8506753347345],[0],[\"gpjump\"],[0],[1]],[[1769.0620924630098],[389.47083990675304],[0],[\"gpjump\"],[0],[1]],[[1769.0620924630098],[382.55694439022034],[0],[\"gpjump\"],[0],[1]],[[1769.0620924630098],[376.08100672424695],[0],[\"gpjump\"],[0],[1]],[[1769.477376944514],[369.99613274371876],[0],[\"gpjump\"],[0],[1]],[[1771.9759936111848],[359.4728160770564],[0],[\"gpjump\"],[0],[1]],[[1773.628906054191],[354.65565072404934],[0],[\"gpjump\"],[0],[1]],[[1775.717524604201],[350.21090488204135],[0],[\"gpjump\"],[0],[1]],[[1778.2113366252036],[346.2033864670471],[0],[\"gpjump\"],[0],[1]],[[1781.1199835762006],[342.6118749560574],[0],[\"gpjump\"],[0],[1]],[[1788.61361690954],[337.08357495606367],[0],[\"gpjump\"],[0],[1]],[[1792.726403333532],[334.75753622407143],[0],[\"gpjump\"],[0],[1]],[[1797.2936507630588],[332.824625191566],[0],[\"gpjump\"],[0],[1]],[[1802.2946787750618],[331.30322723557043],[0],[\"gpjump\"],[0],[1]],[[1807.693917802054],[330.2023078005759],[0],[\"gpjump\"],[0],[1]],[[1818.6858878020569],[329.6626520370827],[0],[\"gpjump\"],[0],[1]],[[1824.1767578020458],[329.808359760085],[0],[\"fall\"],[0],[1]],[[1829.7191078020596],[330.37854161259014],[0],[\"fall\"],[0],[1]],[[1835.1433178020325],[331.34183199758695],[0],[\"fall\"],[0],[1]],[[1840.6341878020598],[332.7322450740976],[0],[\"fall\"],[0],[1]],[[1846.110207802035],[334.5319390470912],[0],[\"fall\"],[0],[1]],[[1855.4435411353682],[335.9387557137615],[0],[\"run\"],[0],[1]],[[1859.6809633193868],[335.9387557137615],[0],[\"run\"],[0],[1]],[[1863.5186025198811],[335.9387557137615],[0],[\"run\"],[0],[1]],[[1866.9312946978735],[335.9387557137615],[0],[\"run\"],[0],[1]],[[1872.093540494368],[335.9387557137615],[0],[\"run\"],[0],[1]],[[1875.600657161035],[335.9387557137615],[0],[\"run\"],[0],[1]],[[1876.9326414380341],[335.9387557137615],[0],[\"run\"],[0],[1]],[[1877.8543032230368],[335.9387557137615],[0],[\"run\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"run\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]],[[1878.0356892365367],[335.9387557137615],[0],[\"idle\"],[0],[1]]]}"],[0]],[],[1,"Default",0,1]],[[40,0,0,392,9,0,1.570796370506287,1,0,0,0,0,[]],51,118,[],[[0],[1],[1,100,""]],[0,0]],[[256,304,0,249,52,0,0,1,0,0,0,0,[]],46,119,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Jump",1,0,50,0,0,0,0,0,"",-1,0]],[[552,304,0,249,52,0,0,1,0,0,0,0,[]],46,120,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Jump",1,0,50,0,0,0,0,0,"",-1,0]],[[84,183,0,300,117,0,0,1,0,0,0,0,[[]]],61,5511,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]],[[768,384,0,320,9,0,0,1,0,0,0,0,[]],51,2584,[],[[0],[1],[1,100,""]],[0,0]],[[784,280,0,288,64,0,0,1,0,0,0,0,[]],46,2993,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Go next to the wall",1,0,50,0,0,0,0,0,"",-1,0]],[[1088,224,0,160,9,0,1.570796370506287,1,0,0,0,0,[]],51,2995,[],[[0],[1],[1,100,""]],[0,0]],[[1096,312,0,152,64,0,0,1,0,0,0,0,[]],46,2998,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","And jump higher",1,0,50,0,0,0,0,0,"",-1,0]],[[1424,536,0,374,9,0,0,1,0,0,0,0,[]],51,2859,[],[[0],[1],[1,100,""]],[0,0]],[[2264,440,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,2990,[],[[0]],[0,"Default",0,1]],[[2040,536,0,320,9,0,0,1,0,0,0,0,[]],51,2996,[],[[0],[1],[1,100,""]],[0,0]],[[1808,368,0,203,9,0,0,1,0,0,0,0,[]],51,3124,[],[[0],[1],[1,100,""]],[0,0]],[[1216,24,0,294.1115112304688,64,0,0,1,0,0,0,0,[]],46,3131,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Jump on place and press down to smash the ground!",1,0,50,0,0,0,0,0,"",-1,0]],[[1520,360,0,256,64,0,0,1,0,0,0,0,[]],46,3132,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Jump after a Smash",1,0,50,0,0,0,0,0,"",-1,0]],[[1432,224,0,96,8,0,0,1,0,0,0,0,[]],45,3133,[],[[0],[1]],[0,0]],[[1080,224,0,352,9,0,0,1,0,0,0,0,[]],51,3134,[],[[0],[1],[1,100,""]],[0,0]],[[1432,224,0,320,9,0,1.570796370506287,1,0,0,0,0,[]],51,3135,[],[[0],[1],[1,100,""]],[0,0]],[[1536,-6,0,238,9,0,1.570796370506287,1,0,0,0,0,[]],51,3143,[],[[0],[1],[1,100,""]],[0,0]],[[1800,448,0,256,64,0,0,1,0,0,0,0,[]],46,3149,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","To jump higher!",1,0,50,0,0,0,0,0,"",-1,0]],[[1392,184,0,137,39.66987609863281,0,0,1,0,0,0,0,[]],46,3150,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","(You can smash this)",0.7,0,50,0,0,0,0,0,"",-1,0]],[[2360,120,0,416,9,0,1.570796370506287,1,0,0,0,0,[]],51,3151,[],[[0],[1],[1,100,""]],[0,0]],[[1431,-9,0,105,9,0,0,1,0,0,0,0,[]],51,3245,[],[[0],[1],[1,100,""]],[0,0]],[[1574,193,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,3247,[["level2"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]]],[]],["UI",1,172414048555365,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",2,345522667736064,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",3,779036946589126,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",4,675014630919668,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",5,223101367766163,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",6,154411690991124,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",7,709842045150745,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 3",1280,640,true,"Levels",167329134242466,[["Layer 0",0,286157970918551,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[32,384,0,320,9,0,0,1,0,0,0,0,[]],51,184,[],[[0],[1],[1,100,""]],[0,0]],[[112,296,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,195,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[1184,288,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,196,[],[[0]],[0,"Default",0,1]],[[701,384,0,547,8.731283187866211,0,0,1,0,0,0,0,[]],51,197,[],[[0],[1],[1,100,""]],[0,0]],[[343,627,0,453,9,0,0,1,0,0,0,0,[]],51,198,[],[[0],[1],[1,100,""]],[0,0]],[[160,272,0,231,64,0,0,1,0,0,0,0,[]],46,199,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","You can slide down walls",1,0,50,0,0,0,0,0,"",-1,0]],[[415.9999694824219,232,0,317,9,0,1.570796370506287,1,0,0,0,0,[]],51,200,[],[[0],[1],[1,100,""]],[0,0]],[[352,387,0,247,9,0,1.570796370506287,1,0,0,0,0,[]],51,201,[],[[0],[1],[1,100,""]],[0,0]],[[704,384,0,169,9,0,1.570796370506287,1,0,0,0,0,[]],51,167,[],[[0],[1],[1,100,""]],[0,0]],[[580,320,0,312,9,0,1.570796370506287,1,0,0,0,0,[]],51,168,[],[[0],[1],[1,100,""]],[0,0]],[[368,560,0,208,64,0,0,1,0,0,0,0,[]],46,169,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Jump while sliding to wall jump",1,0,50,0,0,0,0,0,"",-1,0]],[[-121,63,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1408,[["Harder"],["{\"c2array\":true,\"size\":[352,6,1],\"data\":[[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[337.80951294481576],[351.97610141344853],[4.6431098887747086e-7],[\"idle\"],[0],[1]],[[338.23181520620346],[351.97610141344853],[4.6431098887747086e-7],[\"run\"],[0],[1]],[[339.06340217040804],[351.97610141344853],[4.6431098887747086e-7],[\"run\"],[0],[1]],[[340.3067305181119],[351.97610141344853],[4.6431098887747086e-7],[\"run\"],[0],[1]],[[341.97123954392424],[351.97610141344853],[4.6431098887747086e-7],[\"run\"],[0],[1]],[[344.0563306251862],[351.97610141344853],[4.6431098887747086e-7],[\"run\"],[0],[1]],[[346.54099408410457],[351.97610141344853],[4.6431098887747086e-7],[\"run\"],[0],[1]],[[349.4387004071871],[351.97610141344853],[4.6431098887747086e-7],[\"run\"],[0],[1]],[[352.7739351082802],[351.97610141344853],[4.6431098887747086e-7],[\"run\"],[0],[1]],[[356.51132014753244],[351.97610141344853],[4.6431098887747086e-7],[\"run\"],[0],[1]],[[360.6738028069089],[351.97610141344853],[4.6431098887747086e-7],[\"run\"],[0],[1]],[[365.24557673176713],[352.39163551832485],[0.0000010908506718896975],[\"fall\"],[0],[1]],[[370.2358063849051],[353.223377930171],[0.0000016026948029688557],[\"fall\"],[0],[1]],[[375.6318819806797],[354.4682079876539],[0.0000019639929868896945],[\"fall\"],[0],[1]],[[381.10361197222977],[356.12221247813676],[0.000002218808561409145],[\"fall\"],[0],[1]],[[386.610321980424],[358.2044747463941],[0.0000024752531368207513],[\"fall\"],[0],[1]],[[392.10779197588585],[360.6995264926486],[0.0000024752531368207513],[\"fall\"],[0],[1]],[[397.5933819769302],[363.60367264309383],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9500119766339],[365.9522604057059],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9907458321245],[367.93720699372807],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.97243296664936],[369.68517645136916],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9499179997501],[371.259618960469],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.98741183273387],[372.7185858740607],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9648968672868],[374.10914817528203],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9413845200506],[375.44906265865717],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.982817886505],[376.76140706482073],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.96420416819814],[378.0577625324654],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9383030056028],[379.32604771675125],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9823898419044],[380.59831442336116],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9542058847011],[381.84586254472293],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.99449036517666],[383.09888753139774],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9743239652083],[384.3536295014961],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9508614603021],[385.6008517734867],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.99119585965775],[386.8489689087843],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.97142987582504],[388.1011812412246],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.94986353138313],[389.35012223716876],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9883031382738],[390.59368909395994],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9667367938319],[391.84116414075527],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9430251145283],[393.08445494536204],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9856089525089],[394.33469204791584],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.96459230538915],[395.58356780164974],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9422270501299],[396.82993730096086],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.98186286397544],[398.0749866466331],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9586496055657],[399.318956819068],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9991837089888],[400.56505190824544],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.97427704673026],[401.8054305169314],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.95301049311695],[403.0522227761828],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.99579457516546],[404.30274852464356],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9726311741843],[405.547322122131],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.95216458884227],[406.7967670973766],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.99254891007797],[408.04346619251356],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.96893689153325],[409.2869885579116],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.95077449224425],[410.54078099650945],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9883180761068],[411.78238733079525],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.96665182490426],[413.02925281457465],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9429401470509],[414.2722378881213],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.983474250474],[415.51817492704464],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.96225767274126],[416.76583162356326],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9428922970443],[418.017584760119],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9807842181626],[419.25973064511976],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.95762081863256],[420.50361196380885],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9388065922578],[421.7558928109463],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.97590252910715],[422.9962465647512],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9551358649357],[424.24452203755254],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9951707989164],[425.49004310137747],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.97130965242485],[426.7326316071672],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.94919397511353],[427.9781542480027],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9918278685185],[429.2283819655143],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9682158499738],[430.47200875512243],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9451521757519],[431.7160786366748],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.98249677554713],[432.955707503768],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.96438453814017],[434.20854256506715],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[435.4523589293407],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[437.11452960167065],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[439.1964794513463],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[441.68345318582107],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[444.58426535838754],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[447.9126906657263],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[451.65315584977765],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[455.8138488105847],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[460.3738004669879],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[465.3880625077933],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[470.74367145649654],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[476.58739612377576],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[482.838070215009],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[489.45899136508257],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[496.5428793434479],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[503.9895786005455],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[511.8702839397663],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[520.2276130548058],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[528.9468981637833],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[538.0144847333463],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[547.5804133293692],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[557.582221939131],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[567.9670640044637],[0.0000024752531368207513],[\"wallslide\"],[0],[1]],[[398.9408721909039],[578.7504419734507],[0.0000024752531368207513],[\"fall\"],[0],[1]],[[398.9408721909039],[589.9235001364202],[0.0000024752531368207513],[\"fall\"],[0],[1]],[[398.9408721909039],[594.9840833720455],[0.0000017522655662760393],[\"idle\"],[0],[1]],[[399.3598086074788],[594.9840833720455],[0.0000012386080195819695],[\"run\"],[0],[1]],[[400.1964034051484],[594.9840833720455],[8.757667553806941e-7],[\"run\"],[0],[1]],[[401.43798287044297],[594.9840833720455],[6.212124353499917e-7],[\"run\"],[0],[1]],[[403.1050909283621],[594.9840833720455],[3.6493690751302116e-7],[\"run\"],[0],[1]],[[405.18198612603044],[594.9840833720455],[3.6493690751302116e-7],[\"run\"],[0],[1]],[[407.66238646964],[594.9840833720455],[3.6493690751302116e-7],[\"run\"],[0],[1]],[[410.57105019357033],[594.9840833720455],[3.6493690751302116e-7],[\"run\"],[0],[1]],[[413.89629652386884],[594.9840833720455],[3.6493690751302116e-7],[\"run\"],[0],[1]],[[417.6659067687636],[594.9840833720455],[3.6493690751302116e-7],[\"run\"],[0],[1]],[[421.82082185779757],[594.9840833720455],[3.6493690751302116e-7],[\"run\"],[0],[1]],[[426.3715474148903],[594.9840833720455],[3.6493690751302116e-7],[\"run\"],[0],[1]],[[431.3561340274814],[594.9840833720455],[3.6493690751302116e-7],[\"run\"],[0],[1]],[[436.73948118722444],[594.9840833720455],[3.6493690751302116e-7],[\"run\"],[0],[1]],[[442.28381119374797],[594.9840833720455],[3.6493690751302116e-7],[\"run\"],[0],[1]],[[447.7482811876424],[594.9840833720455],[3.6493690751302116e-7],[\"run\"],[0],[1]],[[453.2097811877346],[594.9840833720455],[3.6493690751302116e-7],[\"run\"],[0],[1]],[[458.72573118945263],[594.9840833720455],[3.6493690751302116e-7],[\"run\"],[0],[1]],[[464.2360711868704],[594.9840833720455],[3.6493690751302116e-7],[\"run\"],[0],[1]],[[469.7015311883032],[594.9840833720455],[3.6493690751302116e-7],[\"run\"],[0],[1]],[[475.19372119158186],[594.9840833720455],[3.6493690751302116e-7],[\"run\"],[0],[1]],[[480.6997711947505],[594.9840833720455],[3.6493690751302116e-7],[\"run\"],[0],[1]],[[486.161931190264],[584.2252833808825],[3.6493690751302116e-7],[\"jump\"],[0],[1]],[[491.66765119091986],[573.7982171636902],[3.6493690751302116e-7],[\"jump\"],[0],[1]],[[497.15951119168574],[563.8128341004052],[3.6493690751302116e-7],[\"jump\"],[0],[1]],[[502.6322311907742],[554.2747952620324],[3.6493690751302116e-7],[\"jump\"],[0],[1]],[[508.1481811924922],[545.080500571838],[3.6493690751302116e-7],[\"jump\"],[0],[1]],[[513.6156211897932],[536.3788130120981],[3.6493690751302116e-7],[\"jump\"],[0],[1]],[[519.1325611894453],[528.0175811595632],[3.6493690751302116e-7],[\"jump\"],[0],[1]],[[524.6442211873099],[520.082786651413],[3.6493690751302116e-7],[\"jump\"],[0],[1]],[[530.1314611913139],[512.5978836680307],[9.90874293102073e-7],[\"jump\"],[0],[1]],[[535.6220011916329],[505.5237138707232],[0.0000014337450430330635],[\"jump\"],[0],[1]],[[541.0706311897692],[498.91246180794747],[0.0000017925873378362709],[\"jump\"],[0],[1]],[[546.5915311907619],[492.6333582068563],[0.000002049692733714705],[\"jump\"],[0],[1]],[[552.0932911900771],[486.79295654356906],[0.0000023059067898283353],[\"jump\"],[0],[1]],[[557.5633711882718],[481.39833049719937],[0.0000023059067898283353],[\"jump\"],[0],[1]],[[562.9716111914921],[476.4152986763587],[0.0000023059067898283353],[\"jump\"],[0],[1]],[[562.953649454811],[471.80792029985133],[0.0000023059067898283353],[\"jump\"],[0],[1]],[[562.9899998557161],[467.65707349549297],[0.0000023059067898283353],[\"jump\"],[0],[1]],[[562.9899998557161],[463.87684098573567],[0.0000023059067898283353],[\"jump\"],[0],[1]],[[562.9899998557161],[460.5419635949599],[0.0000023059067898283353],[\"jump\"],[0],[1]],[[562.9899998557161],[457.63640284606976],[0.0000023059067898283353],[\"jump\"],[0],[1]],[[562.9899998557161],[455.11678244425764],[0.0000023059067898283353],[\"jump\"],[0],[1]],[[562.9899998557161],[453.02717320930145],[0.0000023059067898283353],[\"jump\"],[0],[1]],[[562.9899998557161],[451.35410885667875],[0.0000023059067898283353],[\"jump\"],[0],[1]],[[562.9899998557161],[450.08732130662617],[0.0000023059067898283353],[\"jump\"],[0],[1]],[[557.4915398527158],[441.839514668353],[0.0000023059067898283353],[\"jump\"],[0],[-1]],[[552.0069398496056],[434.02683492438416],[0.0000023059067898283353],[\"jump\"],[0],[-1]],[[546.5071598557628],[426.6091649846849],[0.0000023059067898283353],[\"jump\"],[0],[-1]],[[541.0222298501398],[419.62591000144715],[0.0000023059067898283353],[\"jump\"],[0],[-1]],[[535.5330098502676],[413.0522280550122],[0.0000023059067898283353],[\"jump\"],[0],[-1]],[[530.0454398533551],[406.89530755065476],[0.0000023059067898283353],[\"jump\"],[0],[-1]],[[524.5430198490143],[401.1387591126214],[0.0000023059067898283353],[\"jump\"],[0],[-1]],[[519.061059856402],[395.81755344374074],[0.0000023059067898283353],[\"jump\"],[0],[-1]],[[513.5856998564199],[390.9156959237036],[0.0000023059067898283353],[\"jump\"],[0],[-1]],[[508.0806398511853],[386.4046829357578],[0.0000023059067898283353],[\"jump\"],[0],[-1]],[[502.59735984852193],[382.32565432631986],[0.0000023059067898283353],[\"jump\"],[0],[-1]],[[497.0893298494851],[378.646098340936],[0.0000023059067898283353],[\"jump\"],[0],[-1]],[[491.5951598503383],[375.3915851198484],[0.0000023059067898283353],[\"jump\"],[0],[-1]],[[486.1320098568907],[372.5665488706483],[0.0000016327853016741853],[\"jump\"],[0],[-1]],[[480.59724985600803],[370.1264325202369],[0.000001117283604174432],[\"jump\"],[0],[-1]],[[475.1215598535131],[368.1253499054913],[7.566591597180525e-7],[\"jump\"],[0],[-1]],[[469.6075898572675],[366.5290639459604],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[464.1437798491901],[365.358500601721],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[458.6608298490395],[364.5979240547043],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[453.1386098572042],[364.2519402381027],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[447.677109857112],[364.32061446299883],[4.99876490498972e-7],[\"fall\"],[0],[-1]],[[442.17996985455864],[364.8059702803119],[4.99876490498972e-7],[\"fall\"],[0],[-1]],[[436.6983398548549],[365.70384466332837],[4.99876490498972e-7],[\"fall\"],[0],[-1]],[[431.19327984962035],[367.02299049704493],[4.99876490498972e-7],[\"fall\"],[0],[-1]],[[425.7030698518141],[368.75376256214844],[4.99876490498972e-7],[\"wallslide\"],[0],[-1]],[[424.02238985060137],[370.90110488600953],[4.99876490498972e-7],[\"wallslide\"],[0],[-1]],[[424.02238985060137],[373.4583566861156],[4.99876490498972e-7],[\"wallslide\"],[0],[-1]],[[424.02238985060137],[376.45330273193895],[4.99876490498972e-7],[\"wallslide\"],[0],[-1]],[[429.51094984544795],[368.2195978752803],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[434.96485984537173],[360.447586064496],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[440.4705798460276],[353.0192769812643],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[445.9644198522659],[346.02273022544557],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[451.473109846724],[339.4252559997886],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[456.92338984782],[333.3069037983495],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[462.4297698535014],[327.5432089866225],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[467.91997985130763],[322.21162446530633],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[473.4138198479417],[317.29224868011903],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[478.90765985418],[312.7886067432759],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[484.378399847796],[308.7161464468168],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[489.9167898475065],[305.01583060677416],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[495.3842298544117],[301.7746658989676],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[500.8727898492583],[298.9359161415315],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[506.3686098513648],[296.50944499465925],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[511.85287985196226],[294.50236005504337],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[517.3397898534535],[292.9089946448259],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[522.8326398521534],[291.7294883327225],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[528.3274698467216],[290.96544054718413],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[533.8143798482128],[290.617179718409],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[539.3121798461874],[290.6845610880499],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[544.8050298544916],[291.16746582907433],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[550.3051398508472],[292.06769216599645],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[555.81217985195],[293.3867867823629],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[561.2542098478519],[295.098239251868],[4.99876490498972e-7],[\"wallslide\"],[0],[1]],[[562.9540298507421],[297.25033250100705],[4.99876490498972e-7],[\"wallslide\"],[0],[1]],[[562.9540298507421],[299.80683356160364],[4.99876490498972e-7],[\"wallslide\"],[0],[1]],[[562.9540298507421],[302.78036456999297],[4.99876490498972e-7],[\"wallslide\"],[0],[1]],[[557.454249847295],[294.53067789908346],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[551.9600798481482],[286.70519005299496],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[546.4784498484445],[279.31145123256806],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[540.9888998460596],[272.3221145823856],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[535.4841698433378],[265.730834282688],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[530.0068298474874],[259.5855907675892],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[524.5070498440404],[253.83180425849062],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[518.9973698420439],[248.4857951452136],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[513.5196998436808],[243.5841353457111],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[508.0407098448708],[239.09478376512928],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[502.5217898493505],[234.99225277656512],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[497.07513984708237],[231.3520667728238],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[491.5667798455328],[228.08857212230097],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[486.07557984979246],[225.2505785245743],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[480.5764598417667],[222.82502500571414],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[475.07832984127924],[220.8162915412527],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[469.5930698427477],[219.22669643828226],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[464.11077984762267],[218.05194967706242],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[458.61990984479087],[217.2906488711199],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[453.1194698459225],[216.94475453555623],[4.99876490498972e-7],[\"jump\"],[0],[-1]],[[447.59625984654883],[217.01761906536697],[4.99876490498972e-7],[\"fall\"],[0],[-1]],[[442.13442984394385],[217.50057724610878],[4.99876490498972e-7],[\"fall\"],[0],[-1]],[[436.6372898413905],[218.40289113323598],[4.99876490498972e-7],[\"fall\"],[0],[-1]],[[431.1543398412399],[219.7169631764897],[4.99876490498972e-7],[\"fall\"],[0],[-1]],[[425.6783198458364],[221.4424155924114],[4.99876490498972e-7],[\"wallslide\"],[0],[-1]],[[424.05188984903396],[223.59275786829105],[4.99876490498972e-7],[\"wallslide\"],[0],[-1]],[[424.05188984903396],[226.16571304312555],[4.99876490498972e-7],[\"wallslide\"],[0],[-1]],[[424.05188984903396],[229.12819440561583],[4.99876490498972e-7],[\"wallslide\"],[0],[-1]],[[429.5440798523126],[220.8893185744455],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[435.0610198519647],[213.03255237216368],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[440.5106398480351],[205.68072600238995],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[446.0345098524343],[198.64902361604862],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[451.51316984873154],[192.0883116684599],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[456.99611984888213],[185.9365497657795],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[462.49820985071017],[180.18029655199405],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[467.99369985030387],[174.84693183398448],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[473.4677398498392],[169.94712692446114],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[478.9661998528394],[165.4418970732911],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[484.46696985422057],[161.35155783865704],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[489.92945985224685],[157.7006860957179],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[495.4394698567561],[154.43623892663246],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[500.93297985087736],[151.59725122631002],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[506.42384985370916],[149.17491232741435],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[511.9160398569878],[147.16747527431767],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[517.4366098554677],[145.5694542792469],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[522.9192298531055],[144.39645603805977],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[528.3942598505749],[143.63797358702655],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[533.8758898502787],[143.2924647871392],[4.99876490498972e-7],[\"jump\"],[0],[1]],[[539.3766598516598],[143.36253292885576],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[544.8698398528726],[143.8481383642534],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[550.3590598527447],[144.748428663513],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[555.8410198549612],[146.06146606249146],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[561.3328798557271],[147.79230895223915],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[566.8310098562146],[149.9415113089735],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[572.3251798553614],[152.50494951455428],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[577.8384898561857],[155.49600372554457],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[583.2943798519776],[158.8659168466666],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[588.7921798499523],[162.67804971533178],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[594.2945998542931],[166.91041947606925],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[599.7821698512056],[171.54615231962518],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[605.249279855598],[176.57629941566086],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[610.7652298573161],[182.07046977300132],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[616.2531298567413],[187.95153623296804],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[621.7436698570604],[194.25066639594104],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[627.2342098573794],[200.9650311249623],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[632.7131998561894],[208.07876080545725],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[638.2086898557831],[215.62989712540985],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[643.7206798561605],[223.62219075999815],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[649.1950498486043],[231.97272839043964],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[654.6826198551211],[240.75818662483292],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[660.1738198508614],[249.9647907778293],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[665.6933998514072],[259.6386157619664],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[671.1803098528984],[269.6698677619847],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[676.6738198566239],[280.128869900152],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[682.1481898490678],[290.96422407019867],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[687.6298198487715],[302.22783586607005],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[693.1470898509364],[313.9839679108275],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[698.6330098544935],[326.0878358230883],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[704.0869198544173],[338.5307910088188],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[709.6223398507212],[351.5817597652333],[4.99876490498972e-7],[\"fall\"],[0],[1]],[[715.1056198533846],[351.9567597652333],[4.99876490498972e-7],[\"run\"],[0],[1]],[[720.1635541878513],[351.9567597652333],[4.99876490498972e-7],[\"run\"],[0],[1]],[[724.8458355321612],[351.9567597652333],[4.99876490498972e-7],[\"run\"],[0],[1]],[[729.0927290475391],[351.9567597652333],[4.99876490498972e-7],[\"run\"],[0],[1]],[[732.9074182019604],[351.9567597652333],[4.99876490498972e-7],[\"run\"],[0],[1]],[[736.321676744444],[351.9567597652333],[4.99876490498972e-7],[\"run\"],[0],[1]],[[739.3233306053913],[351.9567597652333],[4.99876490498972e-7],[\"run\"],[0],[1]],[[741.9111254562434],[351.9567597652333],[4.99876490498972e-7],[\"run\"],[0],[1]],[[744.0768443261281],[351.9567597652333],[4.99876490498972e-7],[\"run\"],[0],[1]],[[745.8381224203318],[351.9567597652333],[4.99876490498972e-7],[\"run\"],[0],[1]],[[747.1720438929683],[351.9567597652333],[4.99876490498972e-7],[\"run\"],[0],[1]],[[748.0953250894615],[351.9567597652333],[4.99876490498972e-7],[\"run\"],[0],[1]],[[748.6037660988228],[351.9567597652333],[4.99876490498972e-7],[\"run\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"run\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]],[[748.6967768690942],[351.9567597652333],[4.99876490498972e-7],[\"idle\"],[0],[1]]]}"],[0]],[],[1,"Default",0,1]],[[40,0,0,391,9,0,1.570796370506287,1,0,0,0,0,[]],51,126,[],[[0],[1],[1,100,""]],[0,0]],[[-108.2000122070313,-95.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],38,2634,[[0],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-108.2000122070313,-87.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],40,2635,[[1],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","righthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[-112.2000122070313,-90.5999984741211,0,8,16,0,0,1,0.5,0.5,0,0,[]],32,2636,[[2],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","body",3,1,0,0,1,2]],[0,"Default",0,1]],[[-112.2000122070313,-74.5999984741211,0,4,8,0,0,1,0,0,0,0,[]],39,2637,[[4],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-112.2000122070313,-82.5999984741211,0,4,8,0,0,1,0,0,0,0,[]],41,2638,[[3],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-116.2000122070313,-74.5999984741211,0,4,8,0,0,1,0,0,0,0,[]],35,2639,[[6],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-116.2000122070313,-82.5999984741211,0,4,8,0,0,1,0,0,0,0,[]],37,2640,[[5],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-112.2000122070313,-98.5999984741211,0,32,32,0,0,1,0.5,1,0,0,[]],33,2641,[[7],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","head",3,1,0,0,1,2]],[0,"Default",0,1]],[[-116.2000122070313,-95.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],34,2642,[[8],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-116.2000122070313,-87.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],36,2643,[[9],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","lefthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[759,591,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,5499,[["level3"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[68,106,0,300,117,0,0,1,0,0,0,0,[[]]],61,5597,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]]],[]],["UI",1,266359591770657,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",2,284496166058282,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",3,901310333764802,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",4,321452844889850,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",5,346444620114684,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",6,382437274986641,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",7,602302944493983,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 4",1600,640,true,"Levels",367892594987182,[["Layer 0",0,260720997695780,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[96,256,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,215,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[151,199,0,231,64,0,0,1,0,0,0,0,[]],46,217,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","You can even Slide!",1,0,50,0,0,0,0,0,"",-1,0]],[[398,67,0,270,9,0,1.570796370506287,1,0,0,0,0,[]],51,218,[],[[0],[1],[1,100,""]],[0,0]],[[-101,26,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1409,[["Hardest"],["{\"c2array\":true,\"size\":[296,6,1],\"data\":[[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[256.78176339999743],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[260.76366999999664],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[269.12517153849626],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[277.5172677009986],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[285.9303905394983],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[294.2746772019979],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[302.6227897284983],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[311.0253999549958],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[319.38833589099744],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[327.7426650369973],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[336.1070353434975],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[344.4996094494982],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[352.8658922079988],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[361.21209182649875],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[369.63285928899654],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[377.9972295954967],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[386.27931905799755],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[394.75166764449887],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[403.1074313229973],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[411.44023924149803],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[419.8538398914961],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[428.22490356999765],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[436.5390548439963],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[444.9798857904982],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[453.27106877649913],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[461.67941333499783],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[470.06911973499797],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[478.38279257349825],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[486.7490753319988],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[495.2018463159979],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[503.5341759159968],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[511.8784625784964],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[520.2834621624962],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[528.671256698496],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[537.032758236999],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[545.4090805809965],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[553.7438017434976],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[562.1115188094967],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[570.5017031679987],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[578.8498156944991],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[587.2256599929981],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[595.6124985789976],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[603.9280851414983],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[612.3187474554986],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[620.7070199619967],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[629.0761713084979],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[637.453449734499],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[645.7924755204958],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[654.1434573189968],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[662.5317298254984],[351.9668821539994],[0],[\"run\"],[0],[1]],[[668.0216098254979],[351.9668821539994],[0],[\"run\"],[0],[1]],[[673.1134351119979],[351.9668821539994],[0],[\"run\"],[0],[1]],[[677.7982867749984],[351.9668821539994],[0],[\"run\"],[0],[1]],[[682.0050176949978],[351.9668821539994],[0],[\"run\"],[0],[1]],[[685.847191301498],[351.9668821539994],[0],[\"run\"],[0],[1]],[[689.2574748564974],[351.9668821539994],[0],[\"run\"],[0],[1]],[[692.257778432498],[351.9668821539994],[0],[\"run\"],[0],[1]],[[694.8412976394977],[351.9668821539994],[0],[\"run\"],[0],[1]],[[697.0125083469983],[351.9668821539994],[0],[\"run\"],[0],[1]],[[698.7580323909979],[351.9668821539994],[0],[\"run\"],[0],[1]],[[700.0925657169979],[351.9668821539994],[0],[\"run\"],[0],[1]],[[701.0174318349979],[351.9668821539994],[0],[\"run\"],[0],[1]],[[701.520231827498],[351.9668821539994],[0],[\"run\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"run\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"idle\"],[0],[1]],[[701.610129656498],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[705.584543718998],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[714.0387473814991],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[722.3796862554997],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[730.6890530394974],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[739.0840168179968],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[747.5219818764981],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[755.8160362764996],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[764.2396702749979],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[772.5767829249978],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[780.9502369509981],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[789.3375535134995],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[797.6751444519978],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[806.060071101997],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[814.4311347804985],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[822.8404350189974],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[831.1942859814989],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[839.510350967498],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[847.9530924459967],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[856.3088561244987],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[864.6622289004983],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[873.0199052469972],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[881.4502274094968],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[889.7796870354987],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[898.0924029939988],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[906.516514737999],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[914.8603231539968],[351.9668821539994],[0],[\"slide\"],[1],[1]],[[923.6610271539995],[343.29952215399675],[0],[\"jump\"],[0],[1]],[[932.4569791539993],[335.0531255754969],[0],[\"jump\"],[0],[1]],[[941.2856671539981],[327.19542604549787],[0],[\"jump\"],[0],[1]],[[950.0515231539976],[319.80708779149825],[0],[\"jump\"],[0],[1]],[[958.7967871539986],[312.8476050439974],[0],[\"jump\"],[0],[1]],[[967.5568351539988],[306.28924910799725],[0],[\"jump\"],[0],[1]],[[976.3512031540002],[300.1213324359963],[0],[\"jump\"],[0],[1]],[[985.1772511539966],[294.35033402799854],[0],[\"jump\"],[0],[1]],[[993.9441631540001],[289.0315414999964],[0],[\"jump\"],[0],[1]],[[1002.6999871539994],[284.1319697774968],[0],[\"jump\"],[0],[1]],[[1011.5207551539985],[279.6146924364972],[0],[\"plunge\"],[1],[1]],[[1019.2005811539983],[275.53434436449726],[0],[\"plunge\"],[1],[1]],[[1026.8499151539986],[271.88139828999704],[0],[\"plunge\"],[1],[1]],[[1034.5833331539993],[268.60858900999676],[0],[\"plunge\"],[1],[1]],[[1042.2673171539982],[265.7716355059971],[0],[\"plunge\"],[1],[1]],[[1049.9443711539975],[263.35142761549724],[0],[\"plunge\"],[1],[1]],[[1057.702275153998],[261.328688483497],[0],[\"plunge\"],[1],[1]],[[1065.330819153999],[259.74864694749675],[0],[\"plunge\"],[1],[1]],[[1073.0254291539986],[258.5710052074968],[0],[\"plunge\"],[1],[1]],[[1080.7181911539976],[257.8095300009968],[0],[\"plunge\"],[1],[1]],[[1088.392935153998],[257.4637761389967],[0],[\"plunge\"],[1],[1]],[[1096.0662931539964],[257.53187303899654],[0],[\"plunge\"],[1],[1]],[[1103.7475051539982],[258.0146754529966],[0],[\"plunge\"],[1],[1]],[[1111.4476591539988],[258.91535179949665],[0],[\"plunge\"],[1],[1]],[[1119.1473511539975],[260.23260744049634],[0],[\"plunge\"],[1],[1]],[[1126.833183153997],[261.9626266704961],[0],[\"plunge\"],[1],[1]],[[1134.4977631539987],[264.10070439549656],[0],[\"plunge\"],[1],[1]],[[1142.2265611539983],[266.6764852544964],[0],[\"plunge\"],[1],[1]],[[1149.9225571539964],[269.65756761849553],[0],[\"plunge\"],[1],[1]],[[1157.5991491539974],[273.0452709304958],[0],[\"plunge\"],[1],[1]],[[1165.3131631539975],[276.86767339799576],[0],[\"plunge\"],[1],[1]],[[1172.9869831539977],[281.0839973229958],[0],[\"plunge\"],[1],[1]],[[1180.648791153999],[285.7062649269965],[0],[\"plunge\"],[1],[1]],[[1188.366963153998],[290.7811718419959],[0],[\"plunge\"],[1],[1]],[[1196.026923153999],[296.23014739199647],[0],[\"plunge\"],[1],[1]],[[1203.7039771539983],[302.10546993299585],[0],[\"plunge\"],[1],[1]],[[1206.9378571539974],[308.444623352995],[0],[\"plunge\"],[0],[1]],[[1202.333010753997],[315.1492431649953],[0],[\"stun\"],[0],[-1]],[[1197.7619827539977],[322.2125038049943],[0],[\"stun\"],[0],[-1]],[[1193.115833553996],[329.813240182497],[0],[\"stun\"],[0],[-1]],[[1188.4860391539967],[337.80565659349577],[0],[\"stun\"],[0],[-1]],[[1183.888954353996],[346.15414998949706],[0],[\"stun\"],[0],[-1]],[[1179.289651953997],[351.98211233349537],[0],[\"stun\"],[0],[-1]],[[1175.0619497679975],[351.98211233349537],[0],[\"stun\"],[0],[-1]],[[1171.295892351997],[351.98211233349537],[0],[\"stun\"],[0],[-1]],[[1167.9477596139966],[351.98211233349537],[0],[\"stun\"],[0],[-1]],[[1164.9747808884963],[351.98211233349537],[0],[\"stun\"],[0],[-1]],[[1162.4473677504966],[351.98211233349537],[0],[\"stun\"],[0],[-1]],[[1160.3316606954966],[351.98211233349537],[0],[\"stun\"],[0],[-1]],[[1158.622129487497],[351.98211233349537],[0],[\"stun\"],[0],[-1]],[[1157.3355162774967],[351.98211233349537],[0],[\"stun\"],[0],[-1]],[[1156.4667790374967],[351.98211233349537],[0],[\"stun\"],[0],[-1]],[[1156.0067240259966],[351.98211233349537],[0],[\"stun\"],[0],[-1]],[[1155.9646262199967],[351.98211233349537],[0],[\"stun\"],[0],[-1]],[[1155.9646262199967],[351.98211233349537],[0],[\"stun\"],[0],[-1]],[[1155.9646262199967],[351.98211233349537],[0],[\"stun\"],[0],[-1]],[[1155.9646262199967],[351.98211233349537],[0],[\"stun\"],[0],[-1]],[[1155.9646262199967],[351.98211233349537],[0],[\"stun\"],[0],[-1]],[[1155.9646262199967],[351.98211233349537],[0],[\"stun\"],[0],[-1]],[[1155.9646262199967],[351.98211233349537],[0],[\"stun\"],[0],[-1]],[[1155.9646262199967],[351.98211233349537],[0],[\"stun\"],[0],[-1]],[[1157.2144928759965],[351.98211233349537],[0],[\"run\"],[0],[1]],[[1158.0463452584966],[351.98211233349537],[0],[\"run\"],[0],[1]],[[1158.4646109304965],[351.98211233349537],[0],[\"run\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"run\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]],[[1158.4662656304965],[351.98211233349537],[0],[\"idle\"],[0],[1]]]}"],[0]],[],[1,"Default",0,1]],[[153,341,0,231,64,0,0,1,0,0,0,0,[]],46,127,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Press the Down key",1,0,50,0,0,0,0,0,"",-1,0]],[[41,1,0,392,9,0,1.570796370506287,1,0,0,0,0,[]],51,133,[],[[0],[1],[1,100,""]],[0,0]],[[-79.19999694824219,-74.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],38,2644,[[0],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-79.19999694824219,-66.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],40,2645,[[1],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","righthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[-83.19999694824219,-69.5999984741211,0,8,16,0,0,1,0.5,0.5,0,0,[]],32,2646,[[2],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","body",3,1,0,0,1,2]],[0,"Default",0,1]],[[-83.19999694824219,-53.59999847412109,0,4,8,0,0,1,0,0,0,0,[]],39,2647,[[4],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-83.19999694824219,-61.59999847412109,0,4,8,0,0,1,0,0,0,0,[]],41,2648,[[3],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-87.19999694824219,-53.59999847412109,0,4,8,0,0,1,0,0,0,0,[]],35,2649,[[6],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-87.19999694824219,-61.59999847412109,0,4,8,0,0,1,0,0,0,0,[]],37,2650,[[5],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-83.19999694824219,-77.5999984741211,0,32,32,0,0,1,0.5,1,0,0,[]],33,2651,[[7],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","head",3,1,0,0,1,2]],[0,"Default",0,1]],[[-87.19999694824219,-74.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],34,2652,[[8],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-87.19999694824219,-66.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],36,2653,[[9],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","lefthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[-251,177,0,288,117,0,0,1,0,0,0,0,[[]]],61,5598,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]],[[448,384,0,475,9,0,0,1,0,0,0,0,[]],51,129,[],[[0],[1],[1,100,""]],[0,0]],[[1504,288,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,2999,[],[[0]],[0,"Default",0,1]],[[544,224,0,231,64,0,0,1,0,0,0,0,[]],46,3000,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Jump while sliding to dive",1,0,50,0,0,0,0,0,"",-1,0]],[[800,64,0,270,9,0,1.570796370506287,1,0,0,0,0,[]],51,3001,[],[[0],[1],[1,100,""]],[0,0]],[[1152,384,0,367,9,0,0,1,0,0,0,0,[]],51,3002,[],[[0],[1],[1,100,""]],[0,0]],[[1248,288,0,99,9,0,1.570796370506287,1,0,0,0,0,[]],51,3003,[],[[0],[1],[1,100,""]],[0,0]],[[1152,224,0,231,64,0,0,1,0,0,0,0,[]],46,3004,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Be careful not to hit your head...",1,0,50,0,0,0,0,0,"",-1,0]],[[598,102,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,3248,[["level4"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[1152,365,0,28,9,0,1.570796370506287,1,0,0,0,0,[]],51,2432,[],[[0],[1],[1,100,""]],[0,0]],[[32,384,0,571,9,0,0,1,0,0,0,0,[]],51,33,[],[[0],[1],[1,100,""]],[0,0]]],[]],["UI",1,799960469775113,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",2,550168669659235,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",3,374293232141493,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",4,425037070484153,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",5,772264246373391,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",6,818740155024148,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",7,691281971857714,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 5",1900,640,true,"Levels",113382846026359,[["Layer 0",0,633840411295104,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[32,384,0,1184,9,0,0,1,0,0,0,0,[]],51,236,[],[[0],[1],[1,100,""]],[0,0]],[[116,299,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,247,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[296,368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,249,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[-97,30,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1411,[["Hellish"],["{\"c2array\":true,\"size\":[170,6,1],\"data\":[[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.48118870298],[310.9782033155937],[0],[\"idle\"],[0],[1]],[[1032.8998243569804],[310.9782033155937],[0],[\"run\"],[0],[1]],[[1033.7348417049811],[310.9782033155937],[0],[\"run\"],[0],[1]],[[1034.9875931769816],[300.13490331559325],[0],[\"jump\"],[0],[1]],[[1036.6465277049824],[289.76304501159075],[0],[\"jump\"],[0],[1]],[[1038.7431551664804],[279.70923880110047],[0],[\"jump\"],[0],[1]],[[1041.2273585214807],[270.1822269160989],[0],[\"jump\"],[0],[1]],[[1044.1145780214802],[261.0894103041001],[0],[\"jump\"],[0],[1]],[[1047.4530369174831],[252.31296523209315],[0],[\"jump\"],[0],[1]],[[1051.1954907069846],[243.98329571759083],[0],[\"jump\"],[0],[1]],[[1055.3680184439854],[236.04599515859056],[0],[\"jump\"],[0],[1]],[[1059.897805946478],[228.61387394910182],[0],[\"plunge\"],[1],[1]],[[1063.7790679464838],[221.46780692809125],[0],[\"plunge\"],[1],[1]],[[1071.413617946481],[214.84916435309356],[0],[\"plunge\"],[1],[1]],[[1079.13086594648],[208.57736358509428],[0],[\"plunge\"],[1],[1]],[[1086.822241946474],[202.7423228250986],[0],[\"plunge\"],[1],[1]],[[1094.451709946472],[197.36331668909952],[0],[\"plunge\"],[1],[1]],[[1102.1675719464724],[192.34178526659875],[0],[\"plunge\"],[1],[1]],[[1109.9166979464796],[187.72060571759434],[0],[\"plunge\"],[1],[1]],[[1117.572961946473],[183.5667510575975],[0],[\"plunge\"],[1],[1]],[[1125.2292259464798],[179.82484317359408],[0],[\"plunge\"],[1],[1]],[[1132.9478599464774],[176.47113846809486],[0],[\"plunge\"],[1],[1]],[[1140.6438559464755],[173.54350329709527],[0],[\"plunge\"],[1],[1]],[[1148.2853359464793],[171.04696396709392],[0],[\"plunge\"],[1],[1]],[[1156.0520179464734],[168.9334346140951],[0],[\"plunge\"],[1],[1]],[[1163.7087439464751],[167.26182382859434],[0],[\"plunge\"],[1],[1]],[[1171.3543819464746],[166.00343786859403],[0],[\"plunge\"],[1],[1]],[[1179.0882619464837],[165.15086966859315],[0],[\"plunge\"],[1],[1]],[[1186.7768659464803],[164.71872685459326],[0],[\"plunge\"],[1],[1]],[[1194.416959946472],[164.69951912909275],[0],[\"plunge\"],[1],[1]],[[1202.1388279464752],[165.09914251209258],[0],[\"plunge\"],[1],[1]],[[1209.865315946483],[165.91854325409346],[0],[\"plunge\"],[1],[1]],[[1217.4920119464837],[167.1361320640937],[0],[\"plunge\"],[1],[1]],[[1225.1773819464745],[168.77817291409136],[0],[\"plunge\"],[1],[1]],[[1232.923273946476],[170.85479290809147],[0],[\"plunge\"],[1],[1]],[[1240.5712219464776],[173.3162071680918],[0],[\"plunge\"],[1],[1]],[[1248.2431939464775],[176.19899216209157],[0],[\"plunge\"],[1],[1]],[[1255.9876999464805],[179.53052945259276],[0],[\"plunge\"],[1],[1]],[[1263.6518179464838],[183.2402777555945],[0],[\"plunge\"],[1],[1]],[[1271.290987946472],[187.34805953808763],[0],[\"plunge\"],[1],[1]],[[1279.010083946478],[191.91755552009107],[0],[\"plunge\"],[1],[1]],[[1286.6852899464836],[196.8750574630948],[0],[\"plunge\"],[1],[1]],[[1294.3567999464751],[202.24376115558843],[0],[\"plunge\"],[1],[1]],[[1302.1054639464737],[208.08840901358704],[0],[\"plunge\"],[1],[1]],[[1309.7492539464797],[214.26455824359172],[0],[\"plunge\"],[1],[1]],[[1317.4660399464838],[220.91817323909527],[0],[\"plunge\"],[1],[1]],[[1325.1255379464828],[227.93468788209444],[0],[\"plunge\"],[1],[1]],[[1332.7993579464764],[235.3781604020879],[0],[\"plunge\"],[1],[1]],[[1340.511523946476],[243.27681225158727],[0],[\"plunge\"],[1],[1]],[[1348.2121399464784],[251.58036814958965],[0],[\"plunge\"],[1],[1]],[[1355.8734859464846],[260.25407313359676],[0],[\"plunge\"],[1],[1]],[[1363.58980994648],[269.4084560355913],[0],[\"plunge\"],[1],[1]],[[1371.2021839464728],[278.84675350608194],[0],[\"plunge\"],[1],[1]],[[1378.9309819464827],[288.8491898960947],[0],[\"plunge\"],[1],[1]],[[1386.6218959464813],[299.21828157959294],[0],[\"plunge\"],[1],[1]],[[1394.2670719464725],[309.9364625495799],[0],[\"plunge\"],[1],[1]],[[1401.9894019464843],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1407.4703719464833],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1412.6793410624841],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1417.6372232544838],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1422.2889534144801],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1426.698589237481],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1430.7916574474802],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1434.618464431483],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1438.1727808334813],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1441.45319689748],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1444.4489555584794],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1447.1704737064836],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1449.6127859494827],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1451.7680491954816],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1453.671988523483],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1455.280568928482],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1456.6172652124822],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1457.6796158224824],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1458.4597689034824],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1458.9635234194827],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"plunge\"],[1],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"plunge\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]],[[1459.194178787483],[311.9943966745973],[0],[\"idle\"],[0],[1]]]}"],[0]],[],[1,"Default",0,1]],[[40.00001907348633,-47,0,440,9,0,1.570796370506287,1,0,0,0,0,[]],51,137,[],[[0],[1],[1,100,""]],[0,0]],[[328,368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,138,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[360,368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,139,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[208,296,0,249,52,0,0,1,0,0,0,0,[]],46,140,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Those are bad guys",1,0,50,0,0,0,0,0,"",-1,0]],[[728,320,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,141,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[760,320,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,142,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[792,320,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,155,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[712,296,0,96,9,0,0,1,0,0,0,0,[]],51,156,[],[[0],[1],[1,100,""]],[0,0]],[[728,280,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,171,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[760,280,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,172,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[792,280,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,173,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[640,342,0,249,41.27047729492188,0,0,1,0,0,0,0,[]],46,174,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","----->",1,0,50,0,0,0,0,0,"",-1,0]],[[-75.19999694824219,-79.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],38,2664,[[0],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-75.19999694824219,-71.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],40,2665,[[1],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","righthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[-79.19999694824219,-74.5999984741211,0,8,16,0,0,1,0.5,0.5,0,0,[]],32,2666,[[2],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","body",3,1,0,0,1,2]],[0,"Default",0,1]],[[-79.19999694824219,-58.59999847412109,0,4,8,0,0,1,0,0,0,0,[]],39,2667,[[4],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-79.19999694824219,-66.5999984741211,0,4,8,0,0,1,0,0,0,0,[]],41,2668,[[3],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-83.19999694824219,-58.59999847412109,0,4,8,0,0,1,0,0,0,0,[]],35,2669,[[6],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-83.19999694824219,-66.5999984741211,0,4,8,0,0,1,0,0,0,0,[]],37,2670,[[5],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-79.19999694824219,-82.5999984741211,0,32,32,0,0,1,0.5,1,0,0,[]],33,2671,[[7],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","head",3,1,0,0,1,2]],[0,"Default",0,1]],[[-83.19999694824219,-79.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],34,2672,[[8],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-83.19999694824219,-71.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],36,2673,[[9],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","lefthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[197,156,0,300,117,0,0,1,0,0,0,0,[[]]],61,5600,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,55,0,0,0,0,0,"",-1,0]],[[992,384,0,848,9,0,0,1,0,0,0,0,[]],51,216,[],[[0],[1],[1,100,""]],[0,0]],[[1736,288,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,3005,[],[[0]],[0,"Default",0,1]],[[1120,214.669921875,0,231,117.1815795898438,0,0,1,0,0,0,0,[]],46,3006,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try to do a smash while going right to dive",1,0,50,0,0,0,0,0,"",-1,0]],[[1072,344,0,46,9,0,1.570796370506287,1,0,0,0,0,[]],51,3007,[],[[0],[1],[1,100,""]],[0,0]],[[1152,368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3009,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1184,368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3010,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1216,368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3011,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1248,368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3012,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1280,368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3013,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1312,368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3046,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1344,368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3050,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1376,368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3110,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1408,368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3111,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1432,344,0,46,9,0,1.570796370506287,1,0,0,0,0,[]],51,3112,[],[[0],[1],[1,100,""]],[0,0]],[[1120,368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3113,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1088,368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3114,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1072,352,0,45.73793029785156,9,0,3.141592741012573,1,0,0,0,0,[]],51,3115,[],[[0],[1],[1,100,""]],[0,0]],[[1424,344,0,46.490234375,9,0,0,1,0,0,0,0,[]],51,3116,[],[[0],[1],[1,100,""]],[0,0]],[[1229,172,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,3257,[["level5"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]]],[]],["UI",1,557340416707531,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",2,632390358990500,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",3,431828593408160,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",4,897047461427650,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",5,678290129773593,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",6,984551397979165,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",7,349435689059483,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 6",3600,640,true,"Levels",110385768031900,[["Layer 0",0,464281797429263,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[24,512,0,307,9,0,0,1,0,0,0,0,[]],51,280,[],[[0],[1],[1,100,""]],[0,0]],[[-37,166,0,4,8,0,0,1,1,0,0,0,[]],38,281,[[0],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-37,174,0,4,8,0,0,1,1,0,0,0,[]],40,282,[[1],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","righthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,171,0,8,16,0,0,1,0.5,0.5,0,0,[]],32,283,[[2],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","body",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,187,0,4,8,0,0,1,0,0,0,0,[]],39,284,[[4],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,179,0,4,8,0,0,1,0,0,0,0,[]],41,285,[[3],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,187,0,4,8,0,0,1,0,0,0,0,[]],35,286,[[6],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,179,0,4,8,0,0,1,0,0,0,0,[]],37,287,[[5],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,163,0,32,32,0,0,1,0.5,1,0,0,[]],33,288,[[7],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","head",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,166,0,4,8,0,0,1,1,0,0,0,[]],34,289,[[8],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,174,0,4,8,0,0,1,1,0,0,0,[]],36,290,[[9],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","lefthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[88,384,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,291,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[160,408,0,293,64,0,0,1,0,0,0,0,[]],46,293,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Now dive again",1,0,50,0,0,0,0,0,"",-1,0]],[[992,512,0,352,9,0,0,1,0,0,0,0,[]],51,294,[],[[0],[1],[1,100,""]],[0,0]],[[596,512,0,135,9,0,0,1,0,0,0,0,[]],51,295,[],[[0],[1],[1,100,""]],[0,0]],[[-133,29,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1413,[["Impossible"],["{\"c2array\":true,\"size\":[253,6,1],\"data\":[[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[241.74607820350303],[479.9430528635005],[0],[\"idle\"],[0],[1]],[[242.16381221950348],[479.9430528635005],[0],[\"run\"],[0],[1]],[[242.99575405300396],[479.9430528635005],[0],[\"run\"],[0],[1]],[[244.24347989800322],[479.9430528635005],[0],[\"run\"],[0],[1]],[[245.9021706820042],[479.9430528635005],[0],[\"run\"],[0],[1]],[[247.98014080450506],[479.9430528635005],[0],[\"run\"],[0],[1]],[[250.4702000545054],[479.9430528635005],[0],[\"run\"],[0],[1]],[[253.38183493450353],[479.9430528635005],[0],[\"run\"],[0],[1]],[[256.70530885450347],[479.9430528635005],[0],[\"run\"],[0],[1]],[[260.4453654520045],[479.9430528635005],[0],[\"run\"],[0],[1]],[[264.60677398900395],[479.9430528635005],[0],[\"run\"],[0],[1]],[[269.1803208100034],[479.9430528635005],[0],[\"run\"],[0],[1]],[[274.15384835800313],[479.9430528635005],[0],[\"run\"],[0],[1]],[[279.54920149600446],[479.9430528635005],[0],[\"run\"],[0],[1]],[[285.0489814960036],[479.9430528635005],[0],[\"run\"],[0],[1]],[[296.0234614960064],[479.9430528635005],[0],[\"run\"],[0],[1]],[[301.51433149600496],[479.9430528635005],[0],[\"run\"],[0],[1]],[[307.0124614960074],[479.9430528635005],[0],[\"run\"],[0],[1]],[[312.5138914960033],[479.9430528635005],[0],[\"run\"],[0],[1]],[[317.98925149600467],[469.15825286349775],[0],[\"jump\"],[0],[1]],[[323.4801214960032],[458.7581873450004],[0],[\"jump\"],[0],[1]],[[328.9680214960048],[448.7785825499976],[0],[\"jump\"],[0],[1]],[[334.4912314960075],[439.1549581829931],[0],[\"jump\"],[0],[1]],[[339.9517414960047],[430.05128691949784],[0],[\"jump\"],[0],[1]],[[345.4406314960052],[421.315286026497],[0],[\"plunge\"],[1],[1]],[[349.3034134960039],[412.95197839049973],[0],[\"plunge\"],[1],[1]],[[356.9920174960072],[405.0441160404964],[0],[\"plunge\"],[1],[1]],[[364.6547494960052],[397.5755065844983],[0],[\"plunge\"],[1],[1]],[[372.3687634960053],[390.4750989859983],[0],[\"plunge\"],[1],[1]],[[380.0444314960059],[383.8240246729977],[0],[\"plunge\"],[1],[1]],[[387.7330354960092],[377.57717537999525],[0],[\"plunge\"],[1],[1]],[[395.3851414960067],[371.77147949399716],[0],[\"plunge\"],[1],[1]],[[403.1014654960089],[366.3354962559958],[0],[\"plunge\"],[1],[1]],[[410.7738994960039],[361.34412124649896],[0],[\"plunge\"],[1],[1]],[[418.45834549600465],[356.7599167494984],[0],[\"plunge\"],[1],[1]],[[426.1538794960077],[352.58528110999686],[0],[\"plunge\"],[1],[1]],[[433.85264749600964],[348.8254244499961],[0],[\"plunge\"],[1],[1]],[[441.51999949600525],[345.494051283998],[0],[\"plunge\"],[1],[1]],[[449.22846949600415],[342.5623966739983],[0],[\"plunge\"],[1],[1]],[[456.8981314960086],[340.058891169497],[0],[\"plunge\"],[1],[1]],[[464.5835014960062],[337.96534314949764],[0],[\"plunge\"],[1],[1]],[[472.28226949600815],[336.28467876549735],[0],[\"plunge\"],[1],[1]],[[480.0406354960038],[335.01401123099794],[0],[\"plunge\"],[1],[1]],[[487.65439549600865],[334.17441291099755],[0],[\"plunge\"],[1],[1]],[[495.3494674960099],[333.7419815109977],[0],[\"plunge\"],[1],[1]],[[503.0828854960038],[333.7276864049976],[0],[\"plunge\"],[1],[1]],[[510.71420149600885],[334.122846518998],[0],[\"plunge\"],[1],[1]],[[518.3880214960092],[334.9340456989982],[0],[\"plunge\"],[1],[1]],[[526.1071174960085],[336.16876689899823],[0],[\"plunge\"],[1],[1]],[[533.7721594960087],[337.8077337204984],[0],[\"plunge\"],[1],[1]],[[541.4695414960054],[339.86999897849745],[0],[\"plunge\"],[1],[1]],[[549.1539874960062],[342.34378348599773],[0],[\"plunge\"],[1],[1]],[[556.8416674960059],[345.23394348599766],[0],[\"plunge\"],[1],[1]],[[564.5201074960038],[348.5349663359966],[0],[\"plunge\"],[1],[1]],[[572.248443496005],[352.2771788519972],[0],[\"plunge\"],[1],[1]],[[579.8945434960063],[356.3904248269979],[0],[\"plunge\"],[1],[1]],[[587.6141014960075],[360.96197380899866],[0],[\"plunge\"],[1],[1]],[[595.3073254960084],[365.93386136099934],[0],[\"plunge\"],[1],[1]],[[602.9788354960065],[371.3053048784981],[0],[\"plunge\"],[1],[1]],[[610.6692874960034],[377.10564519349566],[0],[\"plunge\"],[1],[1]],[[618.366207496005],[383.3271972434969],[0],[\"plunge\"],[1],[1]],[[626.0460334960081],[389.9494181144998],[0],[\"plunge\"],[1],[1]],[[633.7364854960051],[396.99643563049693],[0],[\"plunge\"],[1],[1]],[[641.3909014960047],[404.4221800944966],[0],[\"plunge\"],[1],[1]],[[649.0998334960054],[412.3184458164973],[0],[\"plunge\"],[1],[1]],[[656.7759634960079],[420.595199759],[0],[\"plunge\"],[1],[1]],[[664.4950594960072],[429.3370175009994],[0],[\"plunge\"],[1],[1]],[[672.1513234960073],[438.4196252549996],[0],[\"plunge\"],[1],[1]],[[679.8588694960094],[447.9805524570024],[0],[\"plunge\"],[1],[1]],[[687.5220634960092],[457.8991554885023],[0],[\"plunge\"],[1],[1]],[[695.2268374960074],[468.28875971849993],[0],[\"plunge\"],[1],[1]],[[702.8978854960037],[479.04642490249466],[0],[\"plunge\"],[1],[1]],[[710.5911094960046],[479.98392490249466],[0],[\"plunge\"],[1],[1]],[[716.0935294960043],[472.3972549024951],[0],[\"jump\"],[0],[1]],[[727.0713094960054],[465.24422493599445],[0],[\"jump\"],[0],[1]],[[738.0504094960115],[458.50541970599096],[0],[\"jump\"],[0],[1]],[[749.0592094960069],[452.1657186659937],[0],[\"jump\"],[0],[1]],[[760.0475494960101],[446.2535838454922],[0],[\"jump\"],[0],[1]],[[770.9962894960053],[440.7755476764946],[0],[\"jump\"],[0],[1]],[[781.9529494960117],[435.70693865699195],[0],[\"jump\"],[0],[1]],[[792.9762694960052],[431.02592757399475],[0],[\"jump\"],[0],[1]],[[803.9388694960056],[426.7845391589947],[0],[\"jump\"],[0],[1]],[[814.9318294960074],[422.94753807899417],[0],[\"jump\"],[0],[1]],[[825.9016894960068],[419.5329863229944],[0],[\"jump\"],[0],[1]],[[836.8814494960059],[416.53048777099474],[0],[\"jump\"],[0],[1]],[[847.8810094960041],[413.93920809299516],[0],[\"jump\"],[0],[1]],[[858.8541694960066],[411.76878354899475],[0],[\"jump\"],[0],[1]],[[869.8253494960112],[410.0132368304943],[0],[\"jump\"],[0],[1]],[[880.8321694960085],[408.6691706924948],[0],[\"jump\"],[0],[1]],[[891.798069496012],[407.7441887199948],[0],[\"jump\"],[0],[1]],[[902.7837694960051],[407.23312063999515],[0],[\"jump\"],[0],[1]],[[913.7879494960116],[407.1381762414954],[0],[\"jump\"],[0],[1]],[[924.7479094960114],[407.45725222849563],[0],[\"fall\"],[0],[1]],[[935.7250294960099],[408.19176292849573],[0],[\"fall\"],[0],[1]],[[946.7061094960045],[409.3417731694952],[0],[\"fall\"],[0],[1]],[[957.6805894960121],[410.90582779149656],[0],[\"fall\"],[0],[1]],[[968.6788294960053],[412.8898019714954],[0],[\"fall\"],[0],[1]],[[979.6506694960027],[415.2835499154948],[0],[\"fall\"],[0],[1]],[[990.6561694960046],[418.1017249654953],[0],[\"fall\"],[0],[1]],[[1001.6095294960079],[421.3196893654964],[0],[\"fall\"],[0],[1]],[[1012.5985294960041],[424.96395811549513],[0],[\"fall\"],[0],[1]],[[1023.5809294960037],[429.021372515495],[0],[\"fall\"],[0],[1]],[[1034.576529496006],[433.499997015496],[0],[\"fall\"],[0],[1]],[[1045.5602494960108],[438.3892169114983],[0],[\"fall\"],[0],[1]],[[1056.5479294960114],[443.6959333914989],[0],[\"fall\"],[0],[1]],[[1067.5144894960079],[449.40658673549717],[0],[\"fall\"],[0],[1]],[[1078.5160294960042],[455.5522386729951],[0],[\"fall\"],[0],[1]],[[1089.468729496005],[462.0836987729956],[0],[\"fall\"],[0],[1]],[[1100.4597094960086],[469.05397012649814],[0],[\"fall\"],[0],[1]],[[1111.4421094960082],[476.43413460649805],[0],[\"fall\"],[0],[1]],[[1122.4251694960103],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1133.3904094960112],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1138.908339496008],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1143.9685159120088],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1148.641926014508],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1152.8733510265076],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1156.7146567090088],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1160.1287269900097],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1163.1276069910098],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1165.7126754190085],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1167.8827312090077],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1169.6344167730085],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1170.9764930530084],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1171.8992448235083],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1172.406275222508],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1172.4984141625077],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1172.4984141625077],[479.98012692749984],[0],[\"idle\"],[0],[1]],[[1172.4984141625077],[479.98012692749984],[0],[\"idle\"],[0],[1]],[[1172.4984141625077],[479.98012692749984],[0],[\"idle\"],[0],[1]],[[1172.4984141625077],[479.98012692749984],[0],[\"idle\"],[0],[1]],[[1172.4984141625077],[479.98012692749984],[0],[\"idle\"],[0],[1]],[[1172.915547626508],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1173.7487642605079],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1174.9897262230077],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1176.655258573008],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1178.7350266690084],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1181.220443629007],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1184.1309796930075],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1187.459896531007],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1191.187972183008],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1195.341540821509],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1199.9320671055057],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1204.891270895507],[479.98012692749984],[0],[\"run\"],[0],[1]],[[1210.2847780795055],[462.5249269275039],[0],[\"jump\"],[0],[1]],[[1215.801388079507],[445.3912640609997],[0],[\"jump\"],[0],[1]],[[1221.2787280795064],[428.7928076160016],[0],[\"jump\"],[0],[1]],[[1226.7801580795071],[412.53823252499967],[0],[\"jump\"],[0],[1]],[[1232.2558480795099],[396.77270054549234],[0],[\"jump\"],[0],[1]],[[1237.7579380795082],[381.34814143949694],[0],[\"jump\"],[0],[1]],[[1243.2412180795063],[366.39045147150193],[0],[\"jump\"],[0],[1]],[[1248.7446280795098],[351.795032918993],[0],[\"jump\"],[0],[1]],[[1254.2358280795095],[337.6473305189938],[0],[\"jump\"],[0],[1]],[[1259.7184480795052],[323.9357713980046],[0],[\"jump\"],[0],[1]],[[1265.207668079507],[310.6227411810003],[0],[\"jump\"],[0],[1]],[[1270.706458079507],[297.7029841530001],[0],[\"jump\"],[0],[1]],[[1276.183468079505],[285.24759123450434],[0],[\"jump\"],[0],[1]],[[1281.7020580795092],[273.11712838649544],[0],[\"jump\"],[0],[1]],[[1287.172468079506],[261.50476582800235],[0],[\"jump\"],[0],[1]],[[1292.656738079508],[250.27726856999845],[0],[\"jump\"],[0],[1]],[[1298.1472780795052],[239.45216982000383],[0],[\"jump\"],[0],[1]],[[1303.649698079505],[229.0206819840044],[0],[\"jump\"],[0],[1]],[[1309.142218079505],[219.02349667200423],[0],[\"jump\"],[0],[1]],[[1314.6261580795058],[209.45616509400298],[0],[\"jump\"],[0],[1]],[[1320.125938079505],[200.27783224200437],[0],[\"jump\"],[0],[1]],[[1325.6187880795064],[191.5266485895023],[0],[\"jump\"],[0],[1]],[[1331.0981080795086],[183.2105600954992],[0],[\"jump\"],[0],[1]],[[1336.6054780795082],[175.26968356050014],[0],[\"jump\"],[0],[1]],[[1342.101628079508],[167.76106827300083],[0],[\"jump\"],[0],[1]],[[1347.570388079508],[160.70181885900095],[0],[\"jump\"],[0],[1]],[[1353.0757780795093],[154.0127700089994],[0],[\"jump\"],[0],[1]],[[1358.581168079506],[147.74120489250322],[0],[\"jump\"],[0],[1]],[[1364.0433280795094],[141.92983907249982],[0],[\"jump\"],[0],[1]],[[1369.5473980795057],[136.49116743150338],[0],[\"jump\"],[0],[1]],[[1375.0432180795087],[131.47668133950077],[0],[\"jump\"],[0],[1]],[[1380.5377180795067],[126.8792333895025],[0],[\"jump\"],[0],[1]],[[1386.005818079509],[122.71572262950104],[0],[\"jump\"],[0],[1]],[[1391.5092280795077],[118.94250968700214],[0],[\"jump\"],[0],[1]],[[1396.9928380795072],[115.59705892800264],[0],[\"jump\"],[0],[1]],[[1402.497238079505],[112.65625816800386],[0],[\"jump\"],[0],[1]],[[1407.9778780795075],[110.1418900080029],[0],[\"jump\"],[0],[1]],[[1413.4822780795052],[108.03395500800379],[0],[\"jump\"],[0],[1]],[[1418.954668079505],[106.35077221650388],[0],[\"jump\"],[0],[1]],[[1424.454448079509],[105.07579821750323],[0],[\"jump\"],[0],[1]],[[1429.9496080795095],[104.21782889550346],[0],[\"jump\"],[0],[1]],[[1435.4285980795057],[103.7758736385038],[0],[\"jump\"],[0],[1]],[[1440.9455380795084],[103.75009448250401],[0],[\"jump\"],[0],[1]],[[1446.0059947420061],[104.13711375000383],[0],[\"fall\"],[0],[1]],[[1450.6701954430075],[104.9414102910042],[0],[\"fall\"],[0],[1]],[[1454.9275879390063],[106.16532489900382],[0],[\"fall\"],[0],[1]],[[1458.7590418990067],[107.80203972300396],[0],[\"fall\"],[0],[1]],[[1462.156546400508],[109.83952974750487],[0],[\"fall\"],[0],[1]],[[1465.1671305505076],[112.31419419750455],[0],[\"fall\"],[0],[1]],[[1467.7469995855072],[115.18837025250384],[0],[\"fall\"],[0],[1]],[[1469.9161283935086],[118.4821549005066],[0],[\"fall\"],[0],[1]],[[1471.6720123870077],[122.19608198100472],[0],[\"fall\"],[0],[1]],[[1473.0117463120084],[126.3251737560072],[0],[\"fall\"],[0],[1]],[[1473.9347603050082],[130.86146018100726],[0],[\"fall\"],[0],[1]],[[1474.4434048330081],[135.8131014450063],[0],[\"fall\"],[0],[1]],[[1474.536545797008],[141.19666917300617],[0],[\"fall\"],[0],[1]],[[1474.536545797008],[146.97900211050634],[0],[\"fall\"],[0],[1]],[[1474.536545797008],[153.17751174750683],[0],[\"fall\"],[0],[1]],[[1474.536545797008],[159.81151980750698],[0],[\"fall\"],[0],[1]],[[1474.536545797008],[166.83724143900682],[0],[\"fall\"],[0],[1]],[[1474.536545797008],[174.28113014400736],[0],[\"fall\"],[0],[1]],[[1474.536545797008],[182.14975555050998],[0],[\"fall\"],[0],[1]],[[1474.536545797008],[190.4472298335098],[0],[\"fall\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]],[[1474.536545797008],[191.9858189145052],[0],[\"idle\"],[0],[1]]]}"],[0]],[],[1,"Default",0,1]],[[592,528,0,152,64,0,0,1,0,0,0,0,[]],46,178,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","And Jump!",1,0,50,0,0,0,0,0,"",-1,0]],[[-42,226,0,300,117,0,0,1,0,0,0,0,[[]]],61,5602,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,55,0,0,0,0,0,"",-1,0]],[[1432,224,0,215,9,0,0,1,0,0,0,0,[]],51,3117,[],[[0],[1],[1,100,""]],[0,0]],[[1224,496,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3118,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1096,440,0,249,52,0,0,1,0,0,0,0,[]],46,3119,[[1],[0],["lvltxt6-3"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Those are Good guys",1,0,50,0,0,0,0,0,"",-1,0]],[[1640,544,0,307,9,0,0,1,0,0,0,0,[]],51,248,[],[[0],[1],[1,100,""]],[0,0]],[[2440,336,0,232,9,0,0,1,0,0,0,0,[]],51,3008,[],[[0],[1],[1,100,""]],[0,0]],[[1928,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3120,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1864,288,0,202,9,0,1.570796370506287,1,0,0,0,0,[]],51,3121,[],[[0],[1],[1,100,""]],[0,0]],[[1648,227,0,320,9,0,1.570796370506287,1,0,0,0,0,[]],51,3122,[],[[0],[1],[1,100,""]],[0,0]],[[1912,288,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,3123,[["level6"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[2664,552,0,307,9,0,0,1,0,0,0,0,[]],51,292,[],[[0],[1],[1,100,""]],[0,0]],[[3560,248,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,3125,[],[[0]],[0,"Default",0,1]],[[3291.480224609375,344,0,291.519775390625,9,0,0,1,0,0,0,0,[]],51,3126,[],[[0],[1],[1,100,""]],[0,0]],[[2952,536,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3127,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[2888,48,0,453.0845642089844,9,0,1.570796370506287,1,0,0,0,0,[]],51,3128,[],[[0],[1],[1,100,""]],[0,0]],[[3136,160,0,172,9,0,1.570796370506287,1,0,0,0,0,[]],51,3129,[],[[0],[1],[1,100,""]],[0,0]],[[2672,344,0,216,9,0,1.570796370506287,1,0,0,0,0,[]],51,3130,[],[[0],[1],[1,100,""]],[0,0]],[[2880.3828125,-0.843902587890625,0,671.5006103515625,9,0,0,1,0,0,0,0,[]],51,2445,[],[[0],[1],[1,100,""]],[0,0]],[[340,501,0,20,9,0,1.570796370506287,1,0,0,0,0,[]],51,10058,[],[[0],[1],[1,100,""]],[0,0]],[[992,501,0,20,9,0,1.570796370506287,1,0,0,0,0,[]],51,10069,[],[[0],[1],[1,100,""]],[0,0]]],[]],["UI",1,148719711589301,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",2,129302139324865,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",3,778292008094265,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",4,173593751727407,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",5,796778414036311,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",6,455109579727925,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",7,365038848570753,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 7",1050,640,true,"Levels",448184370710049,[["Layer 0",0,648243568419140,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[500,451,0,71,8,0,0,1,0,0,0,0,[]],45,157,[],[[0],[1]],[0,0]],[[32,612,0,469,9,0,0,1,0,0,0,0,[]],51,328,[],[[0],[1],[1,100,""]],[0,0]],[[-37,249,0,4,8,0,0,1,1,0,0,0,[]],38,329,[[0],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-37,257,0,4,8,0,0,1,1,0,0,0,[]],40,330,[[1],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","righthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,254,0,8,16,0,0,1,0.5,0.5,0,0,[]],32,331,[[2],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","body",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,270,0,4,8,0,0,1,0,0,0,0,[]],39,332,[[4],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,262,0,4,8,0,0,1,0,0,0,0,[]],41,333,[[3],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,270,0,4,8,0,0,1,0,0,0,0,[]],35,334,[[6],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,262,0,4,8,0,0,1,0,0,0,0,[]],37,335,[[5],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,246,0,32,32,0,0,1,0.5,1,0,0,[]],33,336,[[7],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","head",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,249,0,4,8,0,0,1,1,0,0,0,[]],34,337,[[8],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,257,0,4,8,0,0,1,1,0,0,0,[]],36,338,[[9],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","lefthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[96,484,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,339,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[969,447,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,340,[],[[0]],[0,"Default",0,1]],[[492,542,0,502,9,0,0,1,0,0,0,0,[]],51,341,[],[[0],[1],[1,100,""]],[0,0]],[[378.0000305175781,-17,0,539,9,0,1.570796370506287,1,0,0,0,0,[]],51,343,[],[[0],[1],[1,100,""]],[0,0]],[[501,290,0,330,9,0,1.570796370506287,1,0,0,0,0,[]],51,344,[],[[0],[1],[1,100,""]],[0,0]],[[577,-17,0,482,9,0,1.570796370506287,1,0,0,0,0,[]],51,347,[],[[0],[1],[1,100,""]],[0,0]],[[533,526,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,348,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[673,209,0,336,9,0,1.570796370506287,1,0,0,0,0,[]],51,158,[],[[0],[1],[1,100,""]],[0,0]],[[763,-14,0,492,9,0,1.570796370506287,1,0,0,0,0,[]],51,159,[],[[0],[1],[1,100,""]],[0,0]],[[722,527,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,368,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[-95,41,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1417,[["Godlike"],["{\"c2array\":true,\"size\":[121,6,1],\"data\":[[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[418.95510724101365],[0.0000021760845081332306],[\"idle\"],[0],[1]],[[539.6916922305035],[408.12870724588316],[0.0000021760845081332306],[\"jump\"],[0],[1]],[[539.6916922305035],[397.70884062312814],[0.0000021760845081332306],[\"jump\"],[0],[1]],[[539.6916922305035],[387.7248832116415],[0.0000021760845081332306],[\"jump\"],[0],[1]],[[539.6916922305035],[378.15951104420594],[0.0000021760845081332306],[\"jump\"],[0],[1]],[[539.6916922305035],[369.0217292028524],[0.0000021760845081332306],[\"jump\"],[0],[1]],[[539.6916922305035],[360.31725137917476],[0.0000021760845081332306],[\"jump\"],[0],[1]],[[539.6916922305035],[351.96186709315447],[0.0000021760845081332306],[\"jump\"],[0],[1]],[[539.6916922305035],[344.02896956201664],[0.0000021760845081332306],[\"jump\"],[0],[1]],[[539.6916922305035],[336.52468593535644],[0.0000021760845081332306],[\"jump\"],[0],[1]],[[539.6916922305035],[329.4451405755858],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[324.88448624095497],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[320.7251614449465],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[316.97776869335496],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[313.64363211510954],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[310.72477841692074],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[308.2240650834517],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[306.136328432403],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[304.47144994387247],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[303.2107316540355],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[302.3702518320595],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[301.94525733308836],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[301.93606211717093],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[310.6538006001174],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[319.8467915200159],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[329.3712823412168],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[339.35192107085845],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[349.7550412595909],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[360.5855159587928],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[371.76835690275766],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[383.44739040708976],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[395.44391805774325],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[407.95004301966554],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[420.84896572049473],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[434.12352576347007],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[447.9356968356943],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[462.00172770605997],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[476.56183684971563],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[491.51939362957256],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[506.9203634919302],[0.0000021760845081332306],[\"pound\"],[0],[1]],[[539.6916922305035],[509.99765870075703],[0.0000015508999954187194],[\"idle\"],[0],[1]],[[539.6916922305035],[509.99765870075703],[0.0000011076299751261965],[\"idle\"],[0],[1]],[[539.6916922305035],[509.99765870075703],[7.444627074073347e-7],[\"idle\"],[0],[1]],[[539.6916922305035],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[539.6916922305035],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[539.6916922305035],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[539.6916922305035],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[539.6916922305035],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[539.6916922305035],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[539.6916922305035],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[539.6916922305035],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[539.6916922305035],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[539.6916922305035],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[539.6916922305035],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[540.1043353251238],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[540.9384495639104],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[542.1842031269354],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[543.8460399641592],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[545.9340029860307],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[548.4285806504396],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[551.3366444702604],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[554.6462145651567],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[558.382252299862],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[562.5562468841805],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[567.114265155929],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[572.0929859762165],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[576.6787818112402],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[580.8137773654792],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[584.551612067981],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[587.8879353922656],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[590.7878632635089],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[593.2844101600921],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[595.3522917944349],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[597.0163006329852],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[598.2618787674526],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[599.094816317476],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"run\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]],[[599.5094266221315],[509.99765870075703],[4.888326324418064e-7],[\"idle\"],[0],[1]]]}"],[0]],[],[1,"Default",0,1]],[[125,523,0,249,52,0,0,1,0,0,0,0,[]],46,185,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Smashing the jumpers won't activate them",1,0,50,0,0,0,0,0,"",-1,0]],[[43,354,0,288,117,0,0,1,0,0,0,0,[[]]],61,5606,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,55,0,0,0,0,0,"",-1,0]],[[470,42,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,3261,[["level7"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]]],[]],["UI",1,602442565043611,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",2,724943242703442,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",3,613766074632621,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",4,745986236154767,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",5,335383862143896,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",6,486367928120056,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",7,504090424327239,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 8",3000,4000,true,"Levels",115816564683916,[["Background",0,140354695092720,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[-141,-358,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,52,[["Jump & Dive"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,111933353877229,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[136,312,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,1882,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[1,0],[0,10000,360,1]],[1,"Default",0,1]],[[1984,224,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,2828,[],[[0]],[0,"Default",0,1]],[[-672,440,0,976,568,0,0,1,0,0,0,0,[]],51,2848,[],[[0],[1],[1,100,""]],[0,0]],[[528,440,0,88,640,0,0,1,0,0,0,0,[]],51,1883,[],[[0],[1],[1,100,""]],[0,0]],[[936,448,0,88,632,0,0,1,0,0,0,0,[]],51,1884,[],[[0],[1],[1,100,""]],[0,0]],[[1368,440,0,56,640,0,0,1,0,0,0,0,[]],51,1885,[],[[0],[1],[1,100,""]],[0,0]],[[376,288,0,80,24,0,0,1,0,0,0,0,[]],46,1886,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Jump",1,0,50,0,0,0,0,0,"",-1,0]],[[736,280,0,80,24,0,0,1,0,0,0,0,[]],46,1887,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Dive",1,0,50,0,0,0,0,0,"",-1,0]],[[1144,352,0,144,24,0,0,1,0,0,0,0,[]],46,1888,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Re-jump!",1,0,50,0,0,0,0,0,"",-1,0]],[[316,448,0,24,32,0,0,1,0.5,0.5,0,0,[]],47,1889,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[340,424,0,24,32,0,0,1,0.5,0.5,0,0,[]],47,1890,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[364,400,0,24,32,0,0,1,0.5,0.5,0,0,[]],47,1891,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[388,376,0,24,32,0,0,1,0.5,0.5,0,0,[]],47,1892,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[416,352,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1893,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[444,376,0,24,32,0,0,1,0.5,0.5,0,0,[]],47,1894,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[468,400,0,24,32,0,0,1,0.5,0.5,0,0,[]],47,1895,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[492,424,0,24,32,0,0,1,0.5,0.5,0,0,[]],47,1896,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[516,448,0,24,32,0,0,1,0.5,0.5,0,0,[]],47,1897,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[628,448,0,24,32,0,0,1,0.5,0.5,0,0,[]],47,1898,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[656,424,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1899,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[688,408,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1900,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1901,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[776,536,0,32,40,0,0,1,0.5,0.5,0,0,[]],47,1902,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[752,384,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1903,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[784,384,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1904,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[816,384,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1905,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[924,464,0,24,32,0,0,1,0.5,0.5,0,0,[]],47,1906,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[876,416,0,24,32,0,0,1,0.5,0.5,0,0,[]],47,1907,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[900,440,0,24,32,0,0,1,0.5,0.5,0,0,[]],47,1908,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[848,392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1909,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1040,464,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1910,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1072,448,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1911,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,432,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1912,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,416,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1913,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1168,416,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1914,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,416,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1915,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1328,440,0,24,32,0,0,1,0.5,0.5,0,0,[]],47,1917,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1264,416,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1918,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1296,424,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1919,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1232,416,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1920,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1352,456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1921,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1408,424,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,2752,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[336,464,0,544,40,0,1.570796370506287,1,0,0,0,0,[]],51,1922,[],[[0],[1],[1,100,""]],[0,0]],[[368,440,0,640,40,0,1.570796370506287,1,0,0,0,0,[]],51,1923,[],[[0],[1],[1,100,""]],[0,0]],[[392,416,0,664,40,0,1.570796370506287,1,0,0,0,0,[]],51,1924,[],[[0],[1],[1,100,""]],[0,0]],[[416,392,0,688,40,0,1.570796370506287,1,0,0,0,0,[]],51,1925,[],[[0],[1],[1,100,""]],[0,0]],[[432,368,0,400,32,0,1.570796370506287,1,0,0,0,0,[]],51,1926,[],[[0],[1],[1,100,""]],[0,0]],[[456,392,0,688,40,0,1.570796370506287,1,0,0,0,0,[]],51,2743,[],[[0],[1],[1,100,""]],[0,0]],[[480,416,0,664,40,0,1.570796370506287,1,0,0,0,0,[]],51,2744,[],[[0],[1],[1,100,""]],[0,0]],[[504,440,0,640,40,0,1.570796370506287,1,0,0,0,0,[]],51,2745,[],[[0],[1],[1,100,""]],[0,0]],[[528,464,0,616,40,0,1.570796370506287,1,0,0,0,0,[]],51,2746,[],[[0],[1],[1,100,""]],[0,0]],[[648,464,0,616,40,0,1.570796370506287,1,0,0,0,0,[]],51,2747,[],[[0],[1],[1,100,""]],[0,0]],[[680,440,0,640,40,0,1.570796370506287,1,0,0,0,0,[]],51,2748,[],[[0],[1],[1,100,""]],[0,0]],[[712,424,0,656,40,0,1.570796370506287,1,0,0,0,0,[]],51,2749,[],[[0],[1],[1,100,""]],[0,0]],[[744,408,0,672,40,0,1.570796370506287,1,0,0,0,0,[]],51,2750,[],[[0],[1],[1,100,""]],[0,0]],[[832,400,0,216,96,0,1.570796370506287,1,0,0,0,0,[]],51,2751,[],[[0],[1],[1,100,""]],[0,0]],[[864,408,0,672,40,0,1.570796370506287,1,0,0,0,0,[]],51,2753,[],[[0],[1],[1,100,""]],[0,0]],[[888,432,0,648,40,0,1.570796370506287,1,0,0,0,0,[]],51,2754,[],[[0],[1],[1,100,""]],[0,0]],[[912,456,0,624,40,0,1.570796370506287,1,0,0,0,0,[]],51,2772,[],[[0],[1],[1,100,""]],[0,0]],[[936,480,0,600,40,0,1.570796370506287,1,0,0,0,0,[]],51,2773,[],[[0],[1],[1,100,""]],[0,0]],[[1056,480,0,600,40,0,1.570796370506287,1,0,0,0,0,[]],51,2774,[],[[0],[1],[1,100,""]],[0,0]],[[1096,464,0,616,40,0,1.570796370506287,1,0,0,0,0,[]],51,2775,[],[[0],[1],[1,100,""]],[0,0]],[[1128,448,0,632,40,0,1.570796370506287,1,0,0,0,0,[]],51,2776,[],[[0],[1],[1,100,""]],[0,0]],[[1280,432,0,648,160,0,1.570796370506287,1,0,0,0,0,[]],51,2777,[],[[0],[1],[1,100,""]],[0,0]],[[1312,440,0,640,32,0,1.570796370506287,1,0,0,0,0,[]],51,2778,[],[[0],[1],[1,100,""]],[0,0]],[[1336,456,0,624,40,0,1.570796370506287,1,0,0,0,0,[]],51,2779,[],[[0],[1],[1,100,""]],[0,0]],[[1368,472,0,608,40,0,1.570796370506287,1,0,0,0,0,[]],51,2780,[],[[0],[1],[1,100,""]],[0,0]],[[832,400,0,680,96,0,1.570796370506287,1,0,0,0,0,[]],51,2781,[],[[0],[1],[1,100,""]],[0,0]],[[-560,-296,0,3552,296,0,0,1,0,0,0,0,[]],51,2782,[],[[0],[1],[1,100,""]],[0,0]],[[1624,168,0,88,912,0,0,1,0,0,0,0,[]],51,2783,[],[[0],[1],[1,100,""]],[0,0]],[[1424,536,0,200,544,0,0,1,0,0,0,0,[]],51,2784,[],[[0],[1],[1,100,""]],[0,0]],[[1472,520,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2786,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1504,520,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2787,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1536,520,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2788,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1568,520,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2789,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,520,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2791,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1712,320,0,1256,760,0,0,1,0,0,0,0,[]],51,2785,[],[[0],[1],[1,100,""]],[0,0]],[[-976,-96,0,976,568,0,0,1,0,0,0,0,[]],51,2790,[],[[0],[1],[1,100,""]],[0,0]],[[2112,-96,0,1352,1176,0,0,1,0,0,0,0,[]],51,2797,[],[[0],[1],[1,100,""]],[0,0]],[[1440,520,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2798,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[48,144,0,288,117,0,0,1,0,0,0,0,[[]]],61,71,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,55,0,0,0,0,0,"",-1,0]],[[1584,336,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,3264,[["level8"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[1624,-8,0,88,48,0,0,1,0,0,0,0,[]],51,1916,[],[[0],[1],[1,100,""]],[0,0]],[[1536,96,0,144,24,0,0,1,0,0,0,0,[]],46,10017,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","--->",1,0,50,0,0,0,0,0,"",-1,0]]],[]],["UI",2,172776555409490,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,777495558417993,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,271018307286453,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,888133780543541,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,980770429390438,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,632641491127063,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,970233644764796,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 9",1800,1280,true,"Levels",791093287015615,[["Layer 0",0,355777283387186,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[336,1184,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,360,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[-120,-184,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1418,[["A wise decision"],[""],[0]],[],[1,"Default",0,1]],[[96,1176,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,186,[],[[0]],[0,"Default",0,1]],[[-664,1272,0,1344,528,0,0,1,0,0,0,0,[]],51,187,[],[[0],[1],[1,100,""]],[0,0]],[[264,-112,0,224,32,0,0,1,0,0,0,0,[]],46,188,[[1],[1],[""],["en-us"],[0],[1],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Hey... This is",1,0,50,0,0,0,0,0,"",-1,0]],[[8,1016,0,152,8,0,0,1,0,0,0,0,[]],45,189,[],[[0],[1]],[0,0]],[[8,-424,0,1704,736,0,1.570796370506287,1,0,0,0,0,[]],51,190,[],[[0],[1],[1,100,""]],[0,0]],[[680,1272,0,432,624,0,0,1,0,0,0,0,[]],51,192,[],[[0],[1],[1,100,""]],[0,0]],[[888,1256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,193,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[856,1256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,194,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[824,1256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,205,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[792,1256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,206,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[760,1256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,207,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[728,1256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,208,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[696,1256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,209,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[952,1256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,210,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[920,1256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,211,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1352,1272,0,216,752,0,0,1,0,0,0,0,[]],51,212,[],[[0],[1],[1,100,""]],[0,0]],[[2231,1024,0,992,672,0,1.570796370506287,1,0,0,0,0,[]],51,213,[],[[0],[1],[1,100,""]],[0,0]],[[1560,1024,0,144,9,0,0,1,0,0,0,0,[]],51,214,[],[[0],[1],[1,100,""]],[0,0]],[[1568,744,0,176,9,0,1.570796370506287,1,0,0,0,0,[]],51,237,[],[[0],[1],[1,100,""]],[0,0]],[[2711,296,0,728,1016,0,1.570796370506287,1,0,0,0,0,[]],51,238,[],[[0],[1],[1,100,""]],[0,0]],[[1064,744,0,496,9,0,0,1,0,0,0,0,[]],51,239,[],[[0],[1],[1,100,""]],[0,0]],[[752,744,0,104,9,0,0,1,0,0,0,0,[]],51,240,[],[[0],[1],[1,100,""]],[0,0]],[[376,744,0,104,9,0,0,1,0,0,0,0,[]],51,241,[],[[0],[1],[1,100,""]],[0,0]],[[424,728,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,242,[[0.6],[0]],[[0]],[0,"Default",0,1]],[[1224,648,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,243,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1256,648,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,244,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1288,648,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,245,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1320,648,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,246,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1352,648,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,342,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1384,648,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,349,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1416,648,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,350,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1224,688,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,351,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1256,688,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,352,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1288,688,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,353,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1320,688,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,354,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1352,688,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,355,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1384,688,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,356,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1416,688,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,357,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1208,664,0,224,9,0,0,1,0,0,0,0,[]],51,358,[],[[0],[1],[1,100,""]],[0,0]],[[1080,728,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,359,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[24,640,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,361,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[24,608,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,362,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[24,576,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,363,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[24,544,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,364,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[24,512,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,365,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[24,480,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,366,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[24,448,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2705,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[24,416,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2706,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[24,384,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2707,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[24,352,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2708,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[-24,440,0,249,52,0,0,1,0,0,0,0,[]],46,2709,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","SMASH!",1,0,50,0,0,0,0,0,"",-1,0]],[[712,1072,0,288,117,0,0,1,0,0,0,0,[[]]],61,5607,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,55,0,0,0,0,0,"",-1,0]],[[640,384,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,3263,[["level9"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[168,776,0,248,8,0,1.570796370506287,1,0,0,0,0,[]],51,10123,[],[[0],[1],[1,100,""]],[0,0]],[[168,1000,0,16,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,10124,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,0,1,1,"F 248",1000,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[272,1144,0,32,256,0,0,1,0.5,0.5,0,0,[]],49,10125,[[1],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[160,584,0,8,440,0,0,1,0,0,0,0,[]],67,10126,[],[[1]],[0,0]],[[240,-88,0,280,24,0,0,1,0,0,0,0,[]],46,191,[[1],[1],[""],["en-us"],[0],[1],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","\"Getting SERIOUS\"",1,0,50,0,0,0,0,0,"",-1,0]],[[351.598388671875,-88,0,56,191.19677734375,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,10128,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,0,1,1,"F 1208",4000,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1528,1080,0,32,8,0,0,1,0,0,0,0,[]],45,10127,[],[[0],[1]],[0,0]],[[629,-368,0,2728,688,0,0,1,0,0,0,0,[]],67,7213,[],[[1]],[0,0]],[[2688,1024,0,992,1128,0,1.570796370506287,1,0,0,0,0,[]],51,7214,[],[[0],[1],[1,100,""]],[0,0]]],[]],["UI",1,891241875722709,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",2,350829626299810,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",3,212459658277293,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",4,744199227563282,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",5,407192141310827,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",6,327063105647373,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",7,376322219529072,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 10",3000,4000,true,"Levels",846970745293055,[["Background",0,257622040673604,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,844485161018850,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[840,592,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,1055,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[1,0],[0,10000,360,1]],[1,"Default",0,1]],[[802,462,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1056,[["A matter of strengh"],[""],[0]],[],[1,"Default",0,1]],[[320,1664,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1057,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[744,232,0,1024,752,0,1.570796370506287,1,0,0,0,0,[]],51,1067,[],[[0],[1],[1,100,""]],[0,0]],[[735,720,0,441,552,0,0,1,0,0,0,0,[]],51,1069,[],[[0],[1],[1,100,""]],[0,0]],[[1179,699,0,32,32,0,-0.5235991477966309,1,0.5,0.5,0,0,[]],47,1171,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[264,696,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,1178,[],[[0]],[0,"Default",0,1]],[[1768,483,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1058,[[0.42],[0]],[[0]],[0,"Default",0,1]],[[1360,609,0,88,680,0,0,1,0,0,0,0,[]],51,1060,[],[[0],[1],[1,100,""]],[0,0]],[[1656.715454101563,1114.964599609375,0,504,584,0,2.617993831634522,1,0,0,0,0,[]],51,1059,[],[[0],[1],[1,100,""]],[0,0]],[[1206,683,0,32,32,0,-0.5235991477966309,1,0.5,0.5,0,0,[]],47,1061,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1233,667,0,32,32,0,-0.5235991477966309,1,0.5,0.5,0,0,[]],47,1062,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1260,652,0,32,32,0,-0.5235991477966309,1,0.5,0.5,0,0,[]],47,1063,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1286,637,0,32,32,0,-0.5235991477966309,1,0.5,0.5,0,0,[]],47,1064,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1314,621,0,32,32,0,-0.5235991477966309,1,0.5,0.5,0,0,[]],47,1065,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1410,609,0,90,424,0,0,1,0,0,0,0,[]],51,1068,[],[[0],[1],[1,100,""]],[0,0]],[[1503,588,0,32,32,0,-0.5235991477966309,1,0.5,0.5,0,0,[]],47,1070,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1468,593,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1071,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1684,498,0,88,424,0,0,1,0,0,0,0,[]],51,1072,[],[[0],[1],[1,100,""]],[0,0]],[[1864.5,803.0468139648438,0,376,352,0,2.617993831634522,1,0,0,0,0,[]],51,1073,[],[[0],[1],[1,100,""]],[0,0]],[[1530,572,0,32,32,0,-0.5235991477966309,1,0.5,0.5,0,0,[]],47,1074,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1557,556,0,32,32,0,-0.5235991477966309,1,0.5,0.5,0,0,[]],47,1080,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1584,541,0,32,32,0,-0.5235991477966309,1,0.5,0.5,0,0,[]],47,1081,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1610,526,0,32,32,0,-0.5235991477966309,1,0.5,0.5,0,0,[]],47,1082,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1638,510,0,32,32,0,-0.5235991477966309,1,0.5,0.5,0,0,[]],47,1083,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1715,498,0,90,424,0,0,1,0,0,0,0,[]],51,1085,[],[[0],[1],[1,100,""]],[0,0]],[[1808,477,0,32,32,0,-0.5235991477966309,1,0.5,0.5,0,0,[]],47,1086,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,704,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1168,[[0.68],[0]],[[0]],[0,"Default",0,1]],[[1991,388,0,184,424,0,0,1,0,0,0,0,[]],51,1169,[],[[0],[1],[1,100,""]],[0,0]],[[2169.5,692.0468139648438,0,376,352,0,2.617993831634522,1,0,0,0,0,[]],51,1170,[],[[0],[1],[1,100,""]],[0,0]],[[1835,461,0,32,32,0,-0.5235991477966309,1,0.5,0.5,0,0,[]],47,1172,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1862,445,0,32,32,0,-0.5235991477966309,1,0.5,0.5,0,0,[]],47,1173,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1889,430,0,32,32,0,-0.5235991477966309,1,0.5,0.5,0,0,[]],47,1174,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1915,415,0,32,32,0,-0.5235991477966309,1,0.5,0.5,0,0,[]],47,1175,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1943,399,0,32,32,0,-0.5235991477966309,1,0.5,0.5,0,0,[]],47,1176,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1720,435,0,74,20,0,0,1,0,0,0,0,[]],46,1066,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Weak",1,0,50,0,0,0,0,0,"",-1,0]],[[1072,656,0,101,20,0,0,1,0,0,0,0,[]],46,1084,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Strong",1,0,50,0,0,0,0,0,"",-1,0]],[[1391,552,0,103,20,0,0,1,0,0,0,0,[]],46,1177,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Normal",1,0,50,0,0,0,0,0,"",-1,0]],[[738,232,0,1571.99365234375,9,0,0,1,0,0,0,0,[]],51,1179,[],[[0],[1],[1,100,""]],[0,0]],[[776,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1180,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[808,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1181,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[840,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1182,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[872,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1395,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[904,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1396,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[936,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1397,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[968,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1398,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1000,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1399,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[872,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1400,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[840,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1401,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1032,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1403,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1064,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1428,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1096,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1511,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1608,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1609,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1192,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1610,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1224,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1611,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1256,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1612,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1613,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1096,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1614,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1288,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1615,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1320,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1616,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1352,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1617,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1384,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1618,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1416,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1619,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1448,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1620,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1480,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1621,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1512,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1639,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1384,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1640,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1352,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1642,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1643,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1576,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1644,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1608,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1645,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1640,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1647,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1649,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1704,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1650,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1736,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1651,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1768,256,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1652,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1768,344,0,168,48,0,0,1,0,0,0,0,[]],46,1656,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","(Sliding increases velocity)",1,0,50,0,0,0,0,0,"",-1,0]],[[797.8233032226562,310.3528442382813,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,1657,[["level10"]],[[0],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[2310.059326171875,234.0652465820313,0,408,9,0,1.570796370506287,1,0,0,0,0,[]],51,1658,[],[[0],[1],[1,100,""]],[0,0]],[[2175,392,0,592,176,0,1.570796370506287,1,0,0,0,0,[]],51,1659,[],[[0],[1],[1,100,""]],[0,0]],[[2312,752,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,1661,[],[[0],[1],[1,100,""]],[0,0]],[[2024,976,0,288,384,0,0,1,0,0,0,0,[]],51,1662,[],[[0],[1],[1,100,""]],[0,0]],[[2192,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1663,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2224,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1664,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2256,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1665,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2191,688,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],43,1667,[[0.45],[0]],[[0]],[0,"Default",0,1]],[[2432,1040,0,16,16,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1668,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2288,768,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1670,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2288,800,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1671,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2288,832,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1672,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2288,864,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1673,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2288,896,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1674,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2288,928,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1666,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2288,960,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1675,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2288,584,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1676,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2288,616,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1677,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2288,520,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1678,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2288,552,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1679,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2288,456,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1680,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2288,488,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1681,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2288,392,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1682,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2288,424,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1683,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2268,328,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1684,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2268,360,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1685,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2268,264,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1686,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2268,296,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1687,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,752,0,560,608,0,0,1,0,0,0,0,[]],51,1688,[],[[0],[1],[1,100,""]],[0,0]],[[2304,634,0,448,9,0,0,1,0,0,0,0,[]],51,1689,[],[[0],[1],[1,100,""]],[0,0]],[[2752,232,0,408,9,0,1.570796370506287,1,0,0,0,0,[]],51,1669,[],[[0],[1],[1,100,""]],[0,0]],[[3415,0,0,1336,560,0,1.570796370506287,1,0,0,0,0,[]],51,1690,[],[[0],[1],[1,100,""]],[0,0]],[[2304,232,0,448,408,0,0,1,0,0,0,0,[]],51,1691,[],[[0],[1],[1,100,""]],[0,0]],[[2048,784,0,592,704,0,1.570796370506287,1,0,0,0,0,[]],51,1692,[],[[0],[1],[1,100,""]],[0,0]],[[728,136,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,1693,[],[[0]],[0,"Default",0,1]],[[2808,736,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1697,[[0.4],[0]],[[0]],[0,"Default",0,1]],[[2776,616,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1698,[[0.4],[0]],[[0]],[0,"Default",0,1]],[[2832,496,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1699,[[0.4],[0]],[[0]],[0,"Default",0,1]],[[2800,288,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1700,[[0.4],[0]],[[0]],[0,"Default",0,1]],[[2400,736,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1694,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2696,736,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1695,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2544,736,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1696,[[0.1],[0]],[[0]],[0,"Default",0,1]],[[2544,658,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1701,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[-8,-568,0,3432,568,0,0,1,0,0,0,0,[]],51,1702,[],[[0],[1],[1,100,""]],[0,0]],[[640,-648,0,2040,1392,0,1.570796370506287,1,0,0,0,0,[]],51,1703,[],[[0],[1],[1,100,""]],[0,0]],[[3432,1088.000244140625,0,1024,4184,0,1.570796370506287,1,0,0,0,0,[]],51,1655,[],[[0],[1],[1,100,""]],[0,0]],[[2632,192,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],43,1704,[[0.6],[0]],[[0]],[0,"Default",0,1]],[[2360,80,0,32,32,0,-1.08128023147583,1,0.5,0.5,0,0,[]],43,1705,[[1],[0]],[[0]],[0,"Default",0,1]],[[2592,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1706,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2560,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1707,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2528,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1708,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2496,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1709,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2464,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1710,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2432,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1711,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2304,104,0,128,8,0,1.570796370506287,1,0,0,0,0,[]],51,1712,[],[[0],[1],[1,100,""]],[0,0]],[[2280,120,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1714,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2280,152,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1713,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2280,184,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1715,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2280,216,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1716,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2320,120,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1717,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2320,152,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1718,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2320,184,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1719,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2320,216,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1720,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2592,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1721,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2560,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1722,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2528,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1723,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2496,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1724,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2464,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1725,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2432,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1726,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2032,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1727,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[2000,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1729,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1968,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1731,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1936,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1733,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1904,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1734,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1872,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1735,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1840,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1736,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1808,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1737,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1776,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1738,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1752,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1739,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1720,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1740,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1688,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1741,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1656,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1742,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1624,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1743,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1592,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1744,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1560,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1745,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1528,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1746,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1496,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1747,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[2032,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,1748,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[2000,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,1749,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1968,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,1750,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1936,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,1751,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1904,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,1752,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1872,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,1753,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1840,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,1754,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1808,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,1755,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1776,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,1756,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1752,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,1757,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1720,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,1758,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1688,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,1759,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1656,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,1760,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1624,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,1761,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1592,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,1762,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1560,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,1763,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1528,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,1764,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1496,16,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,1765,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1448,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1728,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1416,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1730,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1384,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1732,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1352,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1766,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1320,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1767,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1288,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1768,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1256,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1769,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1224,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1770,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1192,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1771,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[872,456,0,288,117,0,0,1,0,0,0,0,[[]]],61,1772,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,55,0,0,0,0,0,"",-1,0]],[[2176,392,0,104,48,0,0,1,0,0,0,0,[]],46,1053,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Trust",1,0,50,0,0,0,0,0,"",-1,0]],[[2280,240,0,80,136,0,0,1,0,0,0,0,[]],51,1402,[],[[0],[1],[1,100,""]],[0,0]],[[1509,106,0,120,48,0,0,1,0,0,0,0,[]],46,2604,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Smash !",1,0,50,0,0,0,0,0,"",-1,0]]],[]],["UI",2,700674017445967,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,889716494040923,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,650004376554499,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,192896149637831,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,232879213286124,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,373746071383182,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,122991153239243,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 11",3000,4000,true,"Levels",480542536020384,[["Background",0,233015736697820,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[78,52,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,5512,[["Reactivity"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,152401859229350,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[296,352,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,2804,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[1,0],[0,10000,360,1]],[1,"Default",0,1]],[[928,294,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,2805,[],[[0]],[0,"Default",0,1]],[[336,192,0,288,117,0,0,1,0,0,0,0,[[]]],61,2806,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,55,0,0,0,0,0,"",-1,0]],[[664,416.0000305175781,0,8,472,0,1.570796370506287,1,0,0,0,0,[]],51,7171,[],[[0],[1],[1,100,""]],[0,0]],[[488,400,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7172,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[520,400,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7173,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[552,384,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7174,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[584,368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7175,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[616,384,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7176,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[648,400,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7177,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[600,384,0,32,32,0,1.570796370506287,1,0,0,0,0,[]],51,7179,[],[[0],[1],[1,100,""]],[0,0]],[[632,400,0,24,32,0,1.570796370506287,1,0,0,0,0,[]],51,7180,[],[[0],[1],[1,100,""]],[0,0]],[[568,400,0,24,32,0,1.570796370506287,1,0,0,0,0,[]],51,7181,[],[[0],[1],[1,100,""]],[0,0]],[[824,152,0,8,712,0,0,1,0,0,0,0,[]],51,7183,[],[[0],[1],[1,100,""]],[0,0]],[[832,696,0,8,368,0,1.570796370506287,1,0,0,0,0,[]],51,7184,[],[[0],[1],[1,100,""]],[0,0]],[[328,696,0,784,136,0,1.570796370506287,1,0,0,0,0,[]],51,7185,[],[[0],[1],[1,100,""]],[0,0]],[[-682,-511,0,882,1999,0,0,1,0,0,0,0,[]],51,7186,[],[[0],[1],[1,100,""]],[0,0]],[[656,416,0,8,240,0,0,1,0,0,0,0,[]],51,7187,[],[[0],[1],[1,100,""]],[0,0]],[[544,680,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7188,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[512,680,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7189,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[480,680,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7190,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[312,680,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7191,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[280,680,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7192,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[248,680,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7193,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[216,680,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7194,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[408,584,0,88,24,0,1.570796370506287,1,0,0,0,0,[]],46,7195,[[0],[1],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","---->",1,0,50,0,0,0,0,0,"",-1,0]],[[456,400,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7196,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[320,696,0,8,312,0,0,1,0,0,0,0,[]],51,7199,[],[[0],[1],[1,100,""]],[0,0]],[[464,696,0,8,104,0,0,1,0,0,0,0,[]],51,7200,[],[[0],[1],[1,100,""]],[0,0]],[[1016,1008,0,472,696,0,1.570796370506287,1,0,0,0,0,[]],51,7201,[],[[0],[1],[1,100,""]],[0,0]],[[528,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7202,[[0.55],[0]],[[0]],[0,"Default",0,1]],[[808,784,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7203,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[808,816,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7204,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[808,848,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7205,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[808,752,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7209,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[808,720,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7210,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[464,792,0,8,176,0,0,1,0,0,0,0,[]],51,7208,[],[[0],[1],[1,100,""]],[0,0]],[[1016,152,0,704,1328,0,0,1,0,0,0,0,[]],51,7207,[],[[0],[1],[1,100,""]],[0,0]],[[400,464,0,48,48,0,0,1,0.5,0.5,0,0,[]],60,3265,[["level11"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[1664,-623.9999389648438,0,776,1976,0,1.570796370506287,1,0,0,0,0,[]],51,10018,[],[[0],[1],[1,100,""]],[0,0]],[[424,400,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7197,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[832,392,0,184,8,0,0,1,0,0,0,0,[]],45,7198,[],[[0],[1]],[0,0]],[[688,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7206,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[656,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7211,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[624,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7212,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[968,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7178,[[0.45],[0]],[[0]],[0,"Default",0,1]],[[872,856,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7216,[[0.4],[0]],[[0]],[0,"Default",0,1]],[[968,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7217,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[872,632,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7218,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[888,608,0,8,32,0,1.570796370506287,1,0,0,0,0,[]],51,7219,[],[[0],[1],[1,100,""]],[0,0]],[[960,464,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7220,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[976,440,0,8,32,0,1.570796370506287,1,0,0,0,0,[]],51,7221,[],[[0],[1],[1,100,""]],[0,0]],[[968,808,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7222,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[984,784,0,8,32,0,1.570796370506287,1,0,0,0,0,[]],51,7223,[],[[0],[1],[1,100,""]],[0,0]],[[872,592,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7224,[[0.4],[0]],[[0]],[0,"Default",0,1]],[[872,896,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10131,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[888,872,0,8,32,0,1.570796370506287,1,0,0,0,0,[]],51,10132,[],[[0],[1],[1,100,""]],[0,0]]],[]],["UI",2,771787376005090,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,380094672736044,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,939870968870902,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,436790901652721,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,590534977849416,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,582071967407001,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,210382089210610,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 12",3000,4000,true,"Levels",867437975508354,[["Background",0,650173989809824,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,484220660090308,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[1032,856,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,5899,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[1,0],[0,10000,360,1]],[1,"Default",0,1]],[[288,-96,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,5915,[["A little Wall maze"],[""],[0]],[],[1,"Default",0,1]],[[320,1664,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5916,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3143,-407.9999389648438,0,1968,1232,0,1.570796370506287,1,0,0,0,0,[]],51,5918,[],[[0],[1],[1,100,""]],[0,0]],[[976,-383,0,944,640,0,0,1,0,0,0,0,[]],51,5919,[],[[0],[1],[1,100,""]],[0,0]],[[984.0000610351562,-400,0,1936,752,0,1.570796370506287,1,0,0,0,0,[]],51,5920,[],[[0],[1],[1,100,""]],[0,0]],[[976,976,0,944,552,0,0,1,0,0,0,0,[]],51,5921,[],[[0],[1],[1,100,""]],[0,0]],[[976,496,0,832,11,0,0,1,0,0,0,0,[]],51,5922,[],[[0],[1],[1,100,""]],[0,0]],[[1096,664,0,320,9,0,1.570796370506287,1,0,0,0,0,[]],51,5917,[],[[0],[1],[1,100,""]],[0,0]],[[1272,688,0,288,9,0,1.570796370506287,1,0,0,0,0,[]],51,5923,[],[[0],[1],[1,100,""]],[0,0]],[[1192,504,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,5924,[],[[0],[1],[1,100,""]],[0,0]],[[1360,584,0,192,9,0,1.570796370506287,1,0,0,0,0,[]],51,5925,[],[[0],[1],[1,100,""]],[0,0]],[[1440,728,0,160,9,0,1.570796370506287,1,0,0,0,0,[]],51,5926,[],[[0],[1],[1,100,""]],[0,0]],[[1568,608,0,120,9,0,1.570796370506287,1,0,0,0,0,[]],51,5927,[],[[0],[1],[1,100,""]],[0,0]],[[1632,888,0,72,9,0,0,1,0,0,0,0,[]],51,5929,[],[[0],[1],[1,100,""]],[0,0]],[[1911,808,0,168,128,0,1.570796370506287,1,0,0,0,0,[]],51,5930,[],[[0],[1],[1,100,""]],[0,0]],[[1816,496,0,192,9,0,1.570796370506287,1,0,0,0,0,[]],51,5931,[],[[0],[1],[1,100,""]],[0,0]],[[1768,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5937,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1736,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5938,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1704,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5939,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5940,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1640,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5941,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1608,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5942,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1576,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5943,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5944,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1512,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5945,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1480,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5947,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1448,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5948,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1416,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5949,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1384,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5950,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1352,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5951,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1320,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5952,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1288,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5953,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1064,384,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,5954,[],[[0]],[0,"Default",0,1]],[[1544,728,0,80,9,0,0,1,0,0,0,0,[]],51,5896,[],[[0],[1],[1,100,""]],[0,0]],[[1312,880,0,48,16,0,-0.6553501486778259,1,0,0,0,0,[]],46,5897,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","-->",1,0,50,0,0,0,0,0,"",-1,0]],[[1336,720,0,48,16,0,2.451996088027954,1,0,0,0,0,[]],46,5898,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","-->",1,0,50,0,0,0,0,0,"",-1,0]],[[1536,720,0,48,16,0,-1.570796489715576,1,0,0,0,0,[]],46,5900,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","-->",1,0,50,0,0,0,0,0,"",-1,0]],[[1696,792,0,48,16,0,-0.6103586554527283,1,0,0,0,0,[]],46,5901,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","-->",1,0,50,0,0,0,0,0,"",-1,0]],[[1092,648,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5902,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1744,808,0,64,9,0,0,1,0,0,0,0,[]],51,5904,[],[[0],[1],[1,100,""]],[0,0]],[[1344,416,0,168,9,0,0,1,0,0,0,0,[]],51,5906,[],[[0],[1],[1,100,""]],[0,0]],[[1032,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,2799,[[0.6],[0]],[[0]],[0,"Default",0,1]],[[1292,264,0,288,117,0,0,1,0,0,0,0,[[]]],61,5565,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]],[[1312,480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2800,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1280,480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5905,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1248,480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5907,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1216,480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5908,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1184,480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5909,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1152,480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5936,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1704,480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10019,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1672,480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10020,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1640,480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10021,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1608,480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10022,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1576,480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10023,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10024,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1496,400,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10025,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1360,400,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10026,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1424,464,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,10027,[[1],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[1428,464,0,48,48,0,0,1,0.5,0.5,0,0,[]],60,5903,[["level12"]],[[0],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[1296,481,0,16,55,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,10028,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,0,1,1,"F 2000",400,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1029.013549804688,480.813232421875,0,24,11.00958251953125,0,1.570796370506287,1,0,0,0,0,[]],51,7228,[],[[0],[1],[1,100,""]],[0,0]]],[]],["UI",2,457942914449975,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,454597936890999,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,109714894604325,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,380289720753309,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,844638552885228,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,943643813057777,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,266023054861357,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 13",3000,4000,true,"Levels",495210295417890,[["Background",0,407493986037314,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[-168,-160,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,5566,[["A matter of speed"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,108911000382824,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[320,776,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,2808,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[1,0],[0,10000,360,1]],[1,"Default",0,1]],[[336,672,0,272,117,0,0,1,0,0,0,0,[[]]],61,2810,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","13",7,0,100,0,0,0,0,0,"",-1,0]],[[312,480,0,80,152,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,7261,[],[[0]],[0,"Default",0,1]],[[472,272,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7267,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[928,600,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,3267,[["level13"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[248,856,0,1792,688,0,0,1,0,0,0,0,[]],67,7225,[],[[1]],[0,0]],[[256.0000305175781,-448,0,1984,640,0,1.570796370506287,1,0,0,0,0,[]],67,7227,[],[[1]],[0,0]],[[2688,-448,0,1976,656,0,1.570796370506287,1,0,0,0,0,[]],67,7229,[],[[1]],[0,0]],[[456,288,0,32,336,0,0,1,0,0,0,0,[]],51,7230,[],[[0],[1],[1,100,""]],[0,0]],[[472,640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7231,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[696,472,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7232,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[680,488,0,32,336,0,0,1,0,0,0,0,[]],51,7233,[],[[0],[1],[1,100,""]],[0,0]],[[696,840,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7234,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1168,472,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7235,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1152,488,0,32,336,0,0,1,0,0,0,0,[]],51,7236,[],[[0],[1],[1,100,""]],[0,0]],[[1168,840,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7237,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[256,552,0,1176,8,0,0,1,0,0,0,0,[]],67,7226,[],[[1]],[0,0]],[[928,672,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7238,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,688,0,32,136,0,0,1,0,0,0,0,[]],51,7239,[],[[0],[1],[1,100,""]],[0,0]],[[1636,376,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7242,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1620,392,0,32,336,0,0,1,0,0,0,0,[]],51,7243,[],[[0],[1],[1,100,""]],[0,0]],[[1636,744,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7244,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1816,556,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7245,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1800,540,0,32,336,0,1.570796370506287,1,0,0,0,0,[]],51,7246,[],[[0],[1],[1,100,""]],[0,0]],[[1448,556,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7247,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1632,560,0,360,360,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7248,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,1,1,0,"L 90 ; W 1; L 90 ; W 1; L 90 ; W 1; L 90 ; W 1;",400,0,100,60,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[472,456,0,344,48,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7249,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"F 200 ; W 1; B 200 ; W 1",312,0,46,60,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[696,656,0,344,48,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,7250,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"F 200 ; W 1; B 200 ; W 1",312,0,46,60,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1168,656,0,344,48,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,7251,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"F 200 ; W 1; B 200 ; W 1",312,0,46,60,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[928,756,0,152,48,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,7252,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"F 96 ; W 1; B 96; W 1",416,0,46,60,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[928,840,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7253,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[928,272,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7240,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,288,0,32,136,0,0,1,0,0,0,0,[]],51,7241,[],[[0],[1],[1,100,""]],[0,0]],[[928,352,0,152,48,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7254,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"F 96 ; W 1; B 96; W 1",416,0,46,60,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[928,440,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7255,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1936,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7258,[[0.6],[0]],[[0]],[0,"Default",0,1]],[[2000,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7264,[[0.6],[0]],[[0]],[0,"Default",0,1]],[[1968,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7263,[[0.6],[0]],[[0]],[0,"Default",0,1]],[[728,808,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7259,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[664,808,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7260,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[504,608,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7262,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[440,608,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7265,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[960,808,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7266,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[896,808,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10054,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,808,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10087,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,808,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10088,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,504,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10089,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,504,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10090,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[960,304,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10091,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[896,304,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10092,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[728,504,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10093,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[664,504,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10094,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[504,304,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10095,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[440,304,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10096,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1450,788,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10097,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1450,964,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10099,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1534,876,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10100,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1518,860,0,32,144,0,1.570796370506287,1,0,0,0,0,[]],51,10101,[],[[0],[1],[1,100,""]],[0,0]],[[1358,876,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10102,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1446,876,0,160,160,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,10103,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,1,1,0,"R 90 ; W 1;",400,0,100,60,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1434,804,0,32,144,0,0,1,0,0,0,0,[]],51,10098,[],[[0],[1],[1,100,""]],[0,0]],[[1811,788,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10104,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1811,964,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10105,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1895,876,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10106,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1879,860,0,32,144,0,1.570796370506287,1,0,0,0,0,[]],51,10107,[],[[0],[1],[1,100,""]],[0,0]],[[1719,876,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10108,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1807,876,0,160,160,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,10109,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,1,1,0,"R 90 ; W 1;",400,0,100,60,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1795,804,0,32,144,0,0,1,0,0,0,0,[]],51,10110,[],[[0],[1],[1,100,""]],[0,0]],[[1449,152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7256,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1449,328,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7257,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1536,240,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10111,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1520,224,0,32,144,0,1.570796370506287,1,0,0,0,0,[]],51,10112,[],[[0],[1],[1,100,""]],[0,0]],[[1360,240,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10113,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1448,240,0,160,160,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,10114,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,1,1,0,"R 90 ; W 1;",400,0,100,60,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1433,168,0,32,144,0,0,1,0,0,0,0,[]],51,10115,[],[[0],[1],[1,100,""]],[0,0]],[[1810,152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10116,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1810,328,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10117,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1896,240,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10118,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1880,224,0,32,144,0,1.570796370506287,1,0,0,0,0,[]],51,10119,[],[[0],[1],[1,100,""]],[0,0]],[[1720,240,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10120,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1808,240,0,160,160,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,10121,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,1,1,0,"R 90 ; W 1;",400,0,100,60,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1794,168,0,32,144,0,0,1,0,0,0,0,[]],51,10122,[],[[0],[1],[1,100,""]],[0,0]],[[256,-432,0,1792,688,0,0,1,0,0,0,0,[]],67,10130,[],[[1]],[0,0]]],[]],["UI",2,104137003784960,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,653066447384839,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,830123472615815,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,397689601821748,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,977271865824374,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,142595626673348,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,559738191946791,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 14",3000,4000,true,"Levels",146140957253746,[["Background",0,925498894397431,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[748,1011,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,2809,[["Timing"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,613493487315241,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[752,880,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,2802,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[1,0],[0,10000,360,1]],[1,"Default",0,1]],[[2520,1016,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,2917,[],[[0]],[0,"Default",0,1]],[[616.4153442382812,1349.24951171875,0,288,80,0,0,1,0,0,0,0,[[]]],61,2997,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",5,0,55,0,0,0,0,0,"",-1,0]],[[688.0000610351562,504,0,968,912,0,1.570796370506287,1,0,0,0,0,[]],51,2811,[],[[0],[1],[1,100,""]],[0,0]],[[1143,832,0,192,320,0,1.570796370506287,1,0,0,0,0,[]],51,2812,[],[[0],[1],[1,100,""]],[0,0]],[[-240,1672,0,2680,512,0,0,1,0,0,0,0,[]],51,2813,[],[[0],[1],[1,100,""]],[0,0]],[[624,1472,0,104,792,0,1.570796370506287,1,0,0,0,0,[]],51,2815,[],[[0],[1],[1,100,""]],[0,0]],[[2359,1472,0,104,1464,0,1.570796370506287,1,0,0,0,0,[]],51,2817,[],[[0],[1],[1,100,""]],[0,0]],[[832,1416,0,56,8,0,1.570796370506287,1,0,0,0,0,[]],45,2819,[],[[0],[1]],[0,0]],[[640,1656,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2820,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[640,1624,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2821,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[640,1592,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2822,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[880,1656,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2823,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[880,1624,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2824,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[880,1592,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2825,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[624,1576,0,104,872,0,1.570796370506287,1,0,0,0,0,[]],51,2826,[],[[0],[1],[1,100,""]],[0,0]],[[2447,1576,0,104,1552,0,1.570796370506287,1,0,0,0,0,[]],51,2827,[],[[0],[1],[1,100,""]],[0,0]],[[904,1624,0,50,55,0,0,1,0.5,0.5,0,0,[]],50,2829,[[-1],[0],[0],[0],[0],[0],[1]],[[0],[1,1,1,1,"W 2 ; B 103",400,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[624,1616,0,50,55,0,0,1,0.5,0.5,0,0,[]],50,2830,[[-1],[0],[0],[0],[0],[0],[1]],[[0],[1,1,1,1,"W 2 ; F 103",400,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[680,1464,0,144,8,0,0,1,0,0,0,0,[]],45,2818,[],[[0],[1]],[0,0]],[[760,1656,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,2814,[],[[0]],[0,"Default",0,1]],[[1512,1111.999877929688,0,360,688,0,1.570796370506287,1,0,0,0,0,[]],51,2816,[],[[0],[1],[1,100,""]],[0,0]],[[1672,1056,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2831,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,1088,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2832,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1696,1024,0,88,8,0,1.570796370506287,1,0,0,0,0,[]],51,2833,[],[[0],[1],[1,100,""]],[0,0]],[[1336,832,0,192,136,0,1.570796370506287,1,0,0,0,0,[]],51,2834,[],[[0],[1],[1,100,""]],[0,0]],[[1680,832,0,192,288,0,1.570796370506287,1,0,0,0,0,[]],51,2835,[],[[0],[1],[1,100,""]],[0,0]],[[1831,1056,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2836,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1831,1088,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2837,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1855,1024,0,88,8,0,1.570796370506287,1,0,0,0,0,[]],51,2838,[],[[0],[1],[1,100,""]],[0,0]],[[1200,832,0,88,64,0,1.570796370506287,1,0,0,0,0,[]],51,2839,[],[[0],[1],[1,100,""]],[0,0]],[[1392,832,0,88,64,0,1.570796370506287,1,0,0,0,0,[]],51,2840,[],[[0],[1],[1,100,""]],[0,0]],[[1688,1080,0,50,55,0,0,1,0.5,0.5,0,0,[]],50,2841,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,0,1,1,"B 2000",400,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1064,1068,0,32,88,0,0,1,0.5,0.5,0,0,[]],49,2842,[[1],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[1264,1068,0,32,88,0,0,1,0.5,0.5,0,0,[]],49,2843,[[2],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[1847,1072,0,50,55,0,0,1,0.5,0.5,0,0,[]],50,2844,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"B 2000",400,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[831,928,0,104,8,0,1.570796370506287,1,0,0,0,0,[]],51,2845,[],[[0],[1],[1,100,""]],[0,0]],[[1143,928,0,104,8,0,1.570796370506287,1,0,0,0,0,[]],51,2846,[],[[0],[1],[1,100,""]],[0,0]],[[1336,928,0,104,8,0,1.570796370506287,1,0,0,0,0,[]],51,2847,[],[[0],[1],[1,100,""]],[0,0]],[[1944,1112,0,360,376,0,1.570796370506287,1,0,0,0,0,[]],51,2849,[],[[0],[1],[1,100,""]],[0,0]],[[1928,832,0,192,192,0,1.570796370506287,1,0,0,0,0,[]],51,2850,[],[[0],[1],[1,100,""]],[0,0]],[[2200,896,0,128,208,0,1.570796370506287,1,0,0,0,0,[]],51,2851,[],[[0],[1],[1,100,""]],[0,0]],[[2672,1112,0,360,680,0,1.570796370506287,1,0,0,0,0,[]],51,2852,[],[[0],[1],[1,100,""]],[0,0]],[[1736,832,0,88,56,0,1.570796370506287,1,0,0,0,0,[]],51,2853,[],[[0],[1],[1,100,""]],[0,0]],[[2000,832,0,0,56,0,1.570796370506287,1,0,0,0,0,[]],51,2854,[],[[0],[1],[1,100,""]],[0,0]],[[1992,1216,0,256,56,0,1.570796370506287,1,0,0,0,0,[]],51,2855,[],[[0],[1],[1,100,""]],[0,0]],[[1576,1216,0,256,64,0,1.570796370506287,1,0,0,0,0,[]],51,2856,[],[[0],[1],[1,100,""]],[0,0]],[[1576,928,0,104,8,0,1.570796370506287,1,0,0,0,0,[]],51,2857,[],[[0],[1],[1,100,""]],[0,0]],[[1680,928,0,104,8,0,1.570796370506287,1,0,0,0,0,[]],51,2858,[],[[0],[1],[1,100,""]],[0,0]],[[1456,1068,0,32,88,0,0,1,0.5,0.5,0,0,[]],49,2860,[[3],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[1616,1068,0,32,88,0,0,1,0.5,0.5,0,0,[]],49,2861,[[4],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[1792,1068,0,32,88,0,0,1,0.5,0.5,0,0,[]],49,2862,[[5],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[1992,1056,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2863,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1992,1088,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2864,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2016,1024,0,88,8,0,1.570796370506287,1,0,0,0,0,[]],51,2865,[],[[0],[1],[1,100,""]],[0,0]],[[2008,1072,0,50,55,0,0,1,0.5,0.5,0,0,[]],50,2866,[[-1],[0],[0],[0],[0],[3],[1]],[[0],[1,0,1,1,"B 2000",400,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2168,1056,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2867,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2168,1088,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2868,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2192,1024,0,88,8,0,1.570796370506287,1,0,0,0,0,[]],51,2869,[],[[0],[1],[1,100,""]],[0,0]],[[2192,1072,0,50,55,0,0,1,0.5,0.5,0,0,[]],50,2870,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,1,"B 2000",400,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2336,1056,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2871,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2336,1088,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2872,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2360,1024,0,88,8,0,1.570796370506287,1,0,0,0,0,[]],51,2873,[],[[0],[1],[1,100,""]],[0,0]],[[2348,1072,0,16,55,0,0,1,0.5,0.5,0,0,[]],50,2874,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,0,1,1,"B 2000",400,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[832,1036,0,16,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2875,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,0,1,1,"F 90",400,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1136,1036,0,16,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2876,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"F 90",400,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1336,1036,0,16,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2877,[[-1],[0],[0],[0],[0],[3],[1]],[[0],[1,0,1,1,"F 90",400,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1576,1036,0,16,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2878,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,1,"F 90",400,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1664,1036,0,16,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2879,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,0,1,1,"F 90",400,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3000,-136,0,968,3216,0,1.570796370506287,1,0,0,0,0,[]],51,2881,[],[[0],[1],[1,100,""]],[0,0]],[[3000,1256,0,968,648,0,1.570796370506287,1,0,0,0,0,[]],51,2882,[],[[0],[1],[1,100,""]],[0,0]],[[3632,-168,0,2408,992,0,1.570796370506287,1,0,0,0,0,[]],51,2883,[],[[0],[1],[1,100,""]],[0,0]],[[632,1540,0,80,24,0,0,1,0,0,0,0,[]],46,2884,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","here!",1,0,50,0,0,0,0,0,"",-1,0]],[[816,1540,0,80,24,0,0,1,0,0,0,0,[]],46,2885,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","here!",1,0,50,0,0,0,0,0,"",-1,0]],[[2280,944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2886,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1928,952,0,72,8,0,0,1,0,0,0,0,[]],45,2895,[],[[0],[1]],[0,0]],[[1832,1008,0,104,8,0,0,1,0,0,0,0,[]],51,2896,[],[[0],[1],[1,100,""]],[0,0]],[[1942,1000,0,16,32,0,0,1,0.5,0.5,0,0,[]],50,2897,[[-1],[0],[0],[0],[0],[6],[1]],[[0],[1,0,1,1,"W 1 ; F 90",400,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1960,1068,0,32,88,0,0,1,0.5,0.5,0,0,[]],49,2898,[[6],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[2032,864,0,48,48,0,0,1,0.5,0.5,0,0,[]],60,2899,[["level14"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[2296,960,0,152,32,0,1.570796370506287,1,0,0,0,0,[]],51,2887,[],[[0],[1],[1,100,""]],[0,0]],[[2408,1018,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2888,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2424,1034,0,88,32,0,1.570796370506287,1,0,0,0,0,[]],51,2889,[],[[0],[1],[1,100,""]],[0,0]]],[]],["UI",2,740441831511083,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,199063644844163,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,805875059016534,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,609419482359365,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,965823846785374,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,425054531596096,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,701141701118662,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 15",3200,5000,true,"Levels",721362203676778,[["Background",0,338595887897767,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[1136,2080,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,5854,[["Deadly contraption I"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,523655851324972,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[1928,2160,0,8,376,0,0,1,0,0,0,0,[]],51,2902,[],[[0],[1],[1,100,""]],[0,0]],[[1564,2040,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,2903,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[0,"Default",0,1]],[[1200,2160,0,8,376,0,0,1,0,0,0,0,[]],51,2904,[],[[0],[1],[1,100,""]],[0,0]],[[1512,2160,0,8,312,0,1.570796370506287,1,0,0,0,0,[]],51,2905,[],[[0],[1],[1,100,""]],[0,0]],[[1928,2160,0,8,312,0,1.570796370506287,1,0,0,0,0,[]],51,2906,[],[[0],[1],[1,100,""]],[0,0]],[[1616,2528,0,8,120,0,1.570796370506287,1,0,0,0,0,[]],51,2908,[],[[0],[1],[1,100,""]],[0,0]],[[1504,960,0,8,1208,0,0,1,0,0,0,0,[]],51,2909,[],[[0],[1],[1,100,""]],[0,0]],[[1616,960,0,8,1208,0,0,1,0,0,0,0,[]],51,2910,[],[[0],[1],[1,100,""]],[0,0]],[[1232,2416,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2911,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1264,2504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2913,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1328,2192,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2914,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1344,1992,0,184,32,0,1.570796370506287,1,0,0,0,0,[]],51,2915,[],[[0],[1],[1,100,""]],[0,0]],[[1280,2520,0,136,32,0,1.570796370506287,1,0,0,0,0,[]],51,2916,[],[[0],[1],[1,100,""]],[0,0]],[[1080,2400,0,136,32,0,0,1,0,0,0,0,[]],51,2918,[],[[0],[1],[1,100,""]],[0,0]],[[1904,2480,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2922,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1920,2464,0,208,32,0,0,1,0,0,0,0,[]],51,2923,[],[[0],[1],[1,100,""]],[0,0]],[[1904,2448,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2924,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1920,2432,0,56,32,0,0,1,0,0,0,0,[]],51,2925,[],[[0],[1],[1,100,""]],[0,0]],[[1904,2384,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2928,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1920,2368,0,208,32,0,0,1,0,0,0,0,[]],51,2929,[],[[0],[1],[1,100,""]],[0,0]],[[1904,2352,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2930,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1920,2336,0,208,32,0,0,1,0,0,0,0,[]],51,2931,[],[[0],[1],[1,100,""]],[0,0]],[[1904,2288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2934,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1920,2272,0,208,32,0,0,1,0,0,0,0,[]],51,2935,[],[[0],[1],[1,100,""]],[0,0]],[[1904,2256,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2936,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1920,2240,0,208,32,0,0,1,0,0,0,0,[]],51,2937,[],[[0],[1],[1,100,""]],[0,0]],[[1904,2192,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2940,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1920,2176,0,208,32,0,0,1,0,0,0,0,[]],51,2941,[],[[0],[1],[1,100,""]],[0,0]],[[1296,2504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2942,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1312,2520,0,136,32,0,1.570796370506287,1,0,0,0,0,[]],51,2943,[],[[0],[1],[1,100,""]],[0,0]],[[1392,2504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2948,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1408,2520,0,136,32,0,1.570796370506287,1,0,0,0,0,[]],51,2949,[],[[0],[1],[1,100,""]],[0,0]],[[1424,2504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2950,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1440,2520,0,136,32,0,1.570796370506287,1,0,0,0,0,[]],51,2951,[],[[0],[1],[1,100,""]],[0,0]],[[1488,2504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2954,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1504,2520,0,136,32,0,1.570796370506287,1,0,0,0,0,[]],51,2955,[],[[0],[1],[1,100,""]],[0,0]],[[1632,2504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2956,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1648,2520,0,136,32,0,1.570796370506287,1,0,0,0,0,[]],51,2957,[],[[0],[1],[1,100,""]],[0,0]],[[1760,2504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2964,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1776,2520,0,136,32,0,1.570796370506287,1,0,0,0,0,[]],51,2965,[],[[0],[1],[1,100,""]],[0,0]],[[1792,2504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2966,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1808,2520,0,136,32,0,1.570796370506287,1,0,0,0,0,[]],51,2967,[],[[0],[1],[1,100,""]],[0,0]],[[1856,2504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2970,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1872,2520,0,136,32,0,1.570796370506287,1,0,0,0,0,[]],51,2971,[],[[0],[1],[1,100,""]],[0,0]],[[1360,2192,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2920,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1376,1992,0,184,32,0,1.570796370506287,1,0,0,0,0,[]],51,2921,[],[[0],[1],[1,100,""]],[0,0]],[[1456,2192,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2944,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1472,1992,0,184,32,0,1.570796370506287,1,0,0,0,0,[]],51,2945,[],[[0],[1],[1,100,""]],[0,0]],[[1664,2192,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2946,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1680,1992,0,184,32,0,1.570796370506287,1,0,0,0,0,[]],51,2947,[],[[0],[1],[1,100,""]],[0,0]],[[1696,2192,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2952,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1712,1992,0,184,32,0,1.570796370506287,1,0,0,0,0,[]],51,2953,[],[[0],[1],[1,100,""]],[0,0]],[[1728,2192,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2958,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1744,1992,0,184,32,0,1.570796370506287,1,0,0,0,0,[]],51,2959,[],[[0],[1],[1,100,""]],[0,0]],[[1832,2192,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2960,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1848,1992,0,184,32,0,1.570796370506287,1,0,0,0,0,[]],51,2961,[],[[0],[1],[1,100,""]],[0,0]],[[1232,2320,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2926,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1080,2304,0,136,32,0,0,1,0,0,0,0,[]],51,2927,[],[[0],[1],[1,100,""]],[0,0]],[[1232,2224,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2932,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1080,2208,0,136,32,0,0,1,0,0,0,0,[]],51,2933,[],[[0],[1],[1,100,""]],[0,0]],[[1220,2224,0,16,32,0,0,1,0.5,0.5,0,0,[]],50,2912,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 4 ; F 250; W 8 ; B 250",200,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1220,2320,0,16,32,0,0,1,0.5,0.5,0,0,[]],50,2919,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 1 ; F 800 ; W 8 ; B 800",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1220,2416,0,16,32,0,0,1,0.5,0.5,0,0,[]],50,2938,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 4 ; F 900; W 6 ; B 900",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1912,2192,0,16,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,2939,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 4 ; F 250 ; W 8 ; B 250",200,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1915,2252,0,16,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,2962,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 2.5 ; F 250 ; W 9.5 ; B 250",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1916,2292,0,16,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,2963,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 2.5 ; F 250 ; W 7 ; B 250",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1916,2349,0,16,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,2968,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 4 ; F 250 ; W 6 ; B 250",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1916,2386,0,16,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,2969,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 4 ; F 750 ; W 6 ; B 750",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1916,2440,0,16,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,2972,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 2.5 ; F 800 ; W 7 ; B 800",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1916,2480,0,16,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,2973,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"F 600 ; W 12 ; B 600",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1264,2517,0,16,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2974,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 4 ; B 250 ; W 8 ; F 250",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1296,2516,0,16,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2975,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 4 ; B 200 ; W 8 ; F 200",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1392,2516,0,16,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2976,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 1 ; B 450 ; W 11 ; F 450",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1424,2512,0,16,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2977,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 1 ; B 450 ; W 11 ; F 450",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1488,2512,0,16,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2978,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 17 ; B 400",250,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1640,2516,0,16,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2979,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 17 ; B 400",250,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1760,2512,0,16,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2980,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 2.5 ; B 100 ; W 9.5 ; F 100",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1800,2512,0,16,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2981,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 4 ; B 50 ; W 8 ; F 50",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1856,2512,0,16,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2982,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 2.5 ; B 250 ; W 9.5 ; F 250",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1328,2180,0,16,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,2983,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 1 ;B 250; W 11 ; F 250",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1360,2184,0,16,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,2984,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 1 ;B 250 ; W 11 ; F 250",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1456,2184,0,16,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,2985,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 2.5 ; B 250; W 9.5 ; F 250",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1658,2180,0,16,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,2986,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 2.5 ; B 250 ; W 9.5 ; F 250",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1696,2181,0,16,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,2987,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 4 ; B 250; W 8 ; F 250",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1736,2181,0,16,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,2988,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 4 ; B 250 ; W 8 ; F 250",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1832,2180,0,16,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2989,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"F 250 ; W 12 ; B 250",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1976,2432,0,16,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,2991,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 2.5 ; F 800 ; W 7 ; B 800",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1568,1640,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,2994,[],[[0]],[0,"Default",0,1]],[[1512,2776,0,16,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,1024,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 21; B 376",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1616,2776,0,16,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,1031,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,1,1,1,"W 21; B 376",150,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1616,2528,0,8,296,0,0,1,0,0,0,0,[]],51,1033,[],[[0],[1],[1,100,""]],[0,0]],[[1504,2536,0,8,376,0,0,1,0,0,0,0,[]],51,1034,[],[[0],[1],[1,100,""]],[0,0]],[[1408,2272,0,32,32,0,0,1,0.5,0.5,0,0,[]],60,1036,[["level15"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[1424,2252,0,4,32,0,1.570796370506287,1,0,0,0,0,[]],51,1037,[],[[0],[1],[1,100,""]],[0,0]],[[1424,2288,0,4,32,0,1.570796370506287,1,0,0,0,0,[]],51,1038,[],[[0],[1],[1,100,""]],[0,0]],[[1424,2252,0,4,40,0,0,1,0,0,0,0,[]],51,1039,[],[[0],[1],[1,100,""]],[0,0]],[[1388,2252,0,4,40,0,0,1,0,0,0,0,[]],51,1040,[],[[0],[1],[1,100,""]],[0,0]],[[1344,2504,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,1032,[[4],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1385,2264,0,8,16,0,0,1,0.5,0.5,0,0,[]],50,1041,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,1,"F 5000",800,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1430,2264,0,8,16,0,0,1,0.5,0.5,0,0,[]],50,1042,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,1,"F 5000",800,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1408,2246,0,8,16,0,0,1,0.5,0.5,0,0,[]],50,1043,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,1,"F 5000",800,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1408,2298,0,8,16,0,0,1,0.5,0.5,0,0,[]],50,1044,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,1,"F 5000",800,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1344,2488,0,8,16,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,1045,[[-1],[0],[0],[0],[0],[3],[1]],[[0],[1,1,1,1,"W 3 ; F 5000",800,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1440,2296,0,288,117,0,0,1,0,0,0,0,[[]]],61,5855,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,55,0,0,0,0,0,"",-1,0]],[[1512,1739,0,104,8,0,0,1,0,0,0,0,[]],45,2890,[],[[0],[1]],[0,0]],[[784,2528,0,832,536,0,0,1,0,0,0,0,[]],67,2891,[],[[1]],[0,0]],[[1616,2528,0,760,536,0,0,1,0,0,0,0,[]],67,2892,[],[[1]],[0,0]],[[368,2016,0,832,832,0,0,1,0,0,0,0,[]],67,2893,[],[[1]],[0,0]],[[368,912,0,1136,1256,0,0,1,0,0,0,0,[]],67,2894,[],[[1]],[0,0]],[[1624,904,0,1136,1256,0,0,1,0,0,0,0,[]],67,2901,[],[[1]],[0,0]],[[1936,2080,0,832,832,0,0,1,0,0,0,0,[]],67,2907,[],[[1]],[0,0]]],[]],["UI",2,821492964633820,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,879168724782121,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,912348311892223,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,231265547298517,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,242060849030122,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,350365488441290,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,145653442183190,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 16",3200,5000,true,"Levels",344872519288960,[["Background",0,162345772182182,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[1389,573.7828369140625,0,288,32,0,0,1,0,0,0,0,[[]]],65,6374,[[1],[1],[""],["en-us"],[1],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","1",1,0,50,0,0,0,0,0,"",-1,0]]],[]],["Layer 0",1,506934102975545,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[1520,520,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,5911,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[1,0],[0,10000,360,1]],[1,"Default",0,1]],[[1332,472,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,5912,[["A way down"],[""],[0]],[],[1,"Default",0,1]],[[1312,560,0,392,9,0,0,1,0,0,0,0,[]],51,5963,[],[[0],[1],[1,100,""]],[0,0]],[[1512,4704,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,5986,[],[[0]],[0,"Default",0,1]],[[1680,573.5474853515625,0,51.09490966796875,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,5914,[[-1],[0],[0],[0],[0],[0],[1]],[[0],[1,1,1,1,"F 4000",200,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1032,1104,0,344,136,0,0,1,0.5,0.5,0,0,[]],50,5978,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,1,"W 1 ; F 450",225,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1184,1072,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5968,[[0],[1]],[[1],[1]],[0,"Default",0,1]],[[1200,1104,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5969,[[0],[1]],[[1],[1]],[0,"Default",0,1]],[[1184,1136,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5970,[[0],[1]],[[1],[1]],[0,"Default",0,1]],[[1168,1040,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5971,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1168,1168,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5972,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[344,1024,0,808,32,0,0,1,0,0,0,0,[]],51,5973,[],[[0],[1],[1,100,""]],[0,0]],[[336,1056,0,832,32,0,0,1,0,0,0,0,[]],51,5974,[],[[0],[1],[1,100,""]],[0,0]],[[344,1152,0,808,32,0,0,1,0,0,0,0,[]],51,5975,[],[[0],[1],[1,100,""]],[0,0]],[[352,1120,0,816,32,0,0,1,0,0,0,0,[]],51,5976,[],[[0],[1],[1,100,""]],[0,0]],[[344,1088,0,840,32,0,0,1,0,0,0,0,[]],51,5977,[],[[0],[1],[1,100,""]],[0,0]],[[1544,280,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6351,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1208,-31,0,568,352,0,0,1,0,0,0,0,[]],51,6334,[],[[0],[1],[1,100,""]],[0,0]],[[81.93017578125,2663,0,2272,5550,0,0,1,0.5,0.5,0,0,[]],164,5980,[],[],[0,"Default",0,1]],[[1216,600,0,4432,1,0,1.570796370506287,1,0,0,0,0,[]],51,5966,[],[[0],[1],[1,100,""]],[0,0]],[[1768,744,0,4432,1,0,1.570796370506287,1,0,0,0,0,[]],51,5979,[],[[0],[1],[1,100,""]],[0,0]],[[1208,4800,0,560,9,0,0,1,0,0,0,0,[]],51,5981,[],[[0],[1],[1,100,""]],[0,0]],[[1168,1952,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5982,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1184,1984,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5983,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1168,2016,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5984,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1152,1920,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5985,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1152,2048,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5987,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[696,1904,0,440,32,0,0,1,0,0,0,0,[]],51,5988,[],[[0],[1],[1,100,""]],[0,0]],[[688,1936,0,464,32,0,0,1,0,0,0,0,[]],51,5989,[],[[0],[1],[1,100,""]],[0,0]],[[696,2032,0,440,32,0,0,1,0,0,0,0,[]],51,5990,[],[[0],[1],[1,100,""]],[0,0]],[[704,2000,0,448,32,0,0,1,0,0,0,0,[]],51,5991,[],[[0],[1],[1,100,""]],[0,0]],[[696,1968,0,472,32,0,0,1,0,0,0,0,[]],51,5992,[],[[0],[1],[1,100,""]],[0,0]],[[1016,1984,0,328,136,0,0,1,0.5,0.5,0,0,[]],50,5993,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,1,1,1,"W 5 ; F 235",150,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1184,2696,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5994,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1200,2728,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5995,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1184,2760,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5996,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1168,2664,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5997,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1168,2792,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5998,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[712,2648,0,440,32,0,0,1,0,0,0,0,[]],51,5999,[],[[0],[1],[1,100,""]],[0,0]],[[704,2680,0,464,32,0,0,1,0,0,0,0,[]],51,6000,[],[[0],[1],[1,100,""]],[0,0]],[[712,2776,0,440,32,0,0,1,0,0,0,0,[]],51,6001,[],[[0],[1],[1,100,""]],[0,0]],[[720,2744,0,448,32,0,0,1,0,0,0,0,[]],51,6002,[],[[0],[1],[1,100,""]],[0,0]],[[712,2712,0,472,32,0,0,1,0,0,0,0,[]],51,6003,[],[[0],[1],[1,100,""]],[0,0]],[[1032,2728,0,328,136,0,0,1,0.5,0.5,0,0,[]],50,6004,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,1,1,1,"W 9.5 ; F 100",150,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1160,2880,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6005,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1160,2912,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6006,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1160,2944,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6007,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1160,2848,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6008,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1160,2976,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6009,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[704,2832,0,440,32,0,0,1,0,0,0,0,[]],51,6010,[],[[0],[1],[1,100,""]],[0,0]],[[680,2864,0,464,32,0,0,1,0,0,0,0,[]],51,6011,[],[[0],[1],[1,100,""]],[0,0]],[[704,2960,0,440,32,0,0,1,0,0,0,0,[]],51,6012,[],[[0],[1],[1,100,""]],[0,0]],[[696,2928,0,448,32,0,0,1,0,0,0,0,[]],51,6013,[],[[0],[1],[1,100,""]],[0,0]],[[672,2896,0,472,32,0,0,1,0,0,0,0,[]],51,6014,[],[[0],[1],[1,100,""]],[0,0]],[[1016,2912,0,328,136,0,0,1,0.5,0.5,0,0,[]],50,6015,[[-1],[0],[0],[0],[0],[7],[1]],[[0],[1,1,1,1,"W 10 ; F 170",150,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1176,3512,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6038,[[0],[1]],[[1],[1]],[0,"Default",0,1]],[[1176,3544,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6039,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1176,3576,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6040,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1176,3480,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6041,[[0],[1]],[[1],[1]],[0,"Default",0,1]],[[1176,3605,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6042,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[720,3464,0,440,32,0,0,1,0,0,0,0,[]],51,6043,[],[[0],[1],[1,100,""]],[0,0]],[[696,3496,0,464,32,0,0,1,0,0,0,0,[]],51,6044,[],[[0],[1],[1,100,""]],[0,0]],[[720,3589,0,440,32,0,0,1,0,0,0,0,[]],51,6045,[],[[0],[1],[1,100,""]],[0,0]],[[712,3560,0,448,32,0,0,1,0,0,0,0,[]],51,6046,[],[[0],[1],[1,100,""]],[0,0]],[[688,3528,0,472,32,0,0,1,0,0,0,0,[]],51,6047,[],[[0],[1],[1,100,""]],[0,0]],[[1016,3544,0,328,136,0,0,1,0.5,0.5,0,0,[]],50,6048,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,1,"W 11.5 ;F 275",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2684,2510,0,1832,6052,0,0,1,0.5,0.5,0,0,[]],164,5967,[],[],[0,"Default",0,1]],[[1800,1384,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6049,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1784,1416,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6050,[[0],[1]],[[1],[1]],[0,"Default",0,1]],[[1800,1448,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6051,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1816,1352,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6052,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1816,1480,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6053,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2792,1368,0,960,32,0,3.141592741012573,1,0,0,0,0,[]],51,6054,[],[[0],[1],[1,100,""]],[0,0]],[[2928,1400,0,1112,32,0,3.141592741012573,1,0,0,0,0,[]],51,6055,[],[[0],[1],[1,100,""]],[0,0]],[[3096,1496,0,1264,32,0,3.141592741012573,1,0,0,0,0,[]],51,6056,[],[[0],[1],[1,100,""]],[0,0]],[[3352,1464,0,1536,32,0,3.141592741012573,1,0,0,0,0,[]],51,6057,[],[[0],[1],[1,100,""]],[0,0]],[[2976,1432,0,1176,32,0,3.141592741012573,1,0,0,0,0,[]],51,6058,[],[[0],[1],[1,100,""]],[0,0]],[[1880,1416,0,184,136,0,0,1,0.5,0.5,0,0,[]],50,6059,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,1,1,1,"W 3 ; B 450",225,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1800,2696,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6060,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1816,2728,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6061,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1800,2760,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6062,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1784,2664,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6063,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1784,2792,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6064,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2680,2680,0,880,32,0,3.141592741012573,1,0,0,0,0,[]],51,6065,[],[[0],[1],[1,100,""]],[0,0]],[[2680,2712,0,864,32,0,3.141592741012573,1,0,0,0,0,[]],51,6066,[],[[0],[1],[1,100,""]],[0,0]],[[2576,2808,0,776,32,0,3.141592741012573,1,0,0,0,0,[]],51,6067,[],[[0],[1],[1,100,""]],[0,0]],[[2616,2776,0,800,32,0,3.141592741012573,1,0,0,0,0,[]],51,6068,[],[[0],[1],[1,100,""]],[0,0]],[[2560,2744,0,728,32,0,3.141592741012573,1,0,0,0,0,[]],51,6069,[],[[0],[1],[1,100,""]],[0,0]],[[1884,2728,0,208,136,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,6070,[[-1],[0],[0],[0],[0],[6],[1]],[[0],[1,1,1,1,"W 9.5 ; F 350",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1800,1952,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3052,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1784,1984,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3055,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1800,2016,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3056,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1816,1920,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3057,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1816,2048,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3058,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2792,1936,0,960,32,0,3.141592741012573,1,0,0,0,0,[]],51,3060,[],[[0],[1],[1,100,""]],[0,0]],[[2928,1968,0,1112,32,0,3.141592741012573,1,0,0,0,0,[]],51,4588,[],[[0],[1],[1,100,""]],[0,0]],[[3096,2064,0,1264,32,0,3.141592741012573,1,0,0,0,0,[]],51,4611,[],[[0],[1],[1,100,""]],[0,0]],[[3352,2032,0,1536,32,0,3.141592741012573,1,0,0,0,0,[]],51,4674,[],[[0],[1],[1,100,""]],[0,0]],[[2976,2000,0,1176,32,0,3.141592741012573,1,0,0,0,0,[]],51,4689,[],[[0],[1],[1,100,""]],[0,0]],[[1880,1984,0,184,136,0,0,1,0.5,0.5,0,0,[]],50,4692,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,1,1,1,"W 5 ; B 235",150,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1784,2888,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,5557,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1784,2920,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,5629,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1784,2952,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,5859,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1784,2856,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6074,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1784,2984,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6075,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2680,2872,0,880,32,0,3.141592741012573,1,0,0,0,0,[]],51,6076,[],[[0],[1],[1,100,""]],[0,0]],[[2664,2904,0,864,32,0,3.141592741012573,1,0,0,0,0,[]],51,6077,[],[[0],[1],[1,100,""]],[0,0]],[[2576,3000,0,776,32,0,3.141592741012573,1,0,0,0,0,[]],51,6078,[],[[0],[1],[1,100,""]],[0,0]],[[2600,2968,0,800,32,0,3.141592741012573,1,0,0,0,0,[]],51,6079,[],[[0],[1],[1,100,""]],[0,0]],[[2528,2936,0,728,32,0,3.141592741012573,1,0,0,0,0,[]],51,6080,[],[[0],[1],[1,100,""]],[0,0]],[[1896,2920,0,216,136,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,6081,[[-1],[0],[0],[0],[0],[6],[1]],[[0],[1,1,1,1,"W 10 ; F 280",250,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1784,3512,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6104,[[0],[1]],[[1],[1]],[0,"Default",0,1]],[[1784,3544,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6105,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1784,3576,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6106,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1784,3480,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6107,[[0],[1]],[[1],[1]],[0,"Default",0,1]],[[1784,3605,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6108,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2680,3496,0,880,32,0,3.141592741012573,1,0,0,0,0,[]],51,6109,[],[[0],[1],[1,100,""]],[0,0]],[[2664,3528,0,864,32,0,3.141592741012573,1,0,0,0,0,[]],51,6110,[],[[0],[1],[1,100,""]],[0,0]],[[2576,3621,0,776,32,0,3.141592741012573,1,0,0,0,0,[]],51,6111,[],[[0],[1],[1,100,""]],[0,0]],[[2600,3592,0,800,32,0,3.141592741012573,1,0,0,0,0,[]],51,6112,[],[[0],[1],[1,100,""]],[0,0]],[[2528,3560,0,728,32,0,3.141592741012573,1,0,0,0,0,[]],51,6113,[],[[0],[1],[1,100,""]],[0,0]],[[1880,3544,0,200,136,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,6114,[[-1],[0],[0],[0],[0],[6],[1]],[[0],[1,1,1,1,"W 12 ; F 250",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1800,3072,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6082,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1784,3104,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6083,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1800,3136,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6084,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1816,3040,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6085,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1816,3168,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6086,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2792,3056,0,960,32,0,3.141592741012573,1,0,0,0,0,[]],51,6087,[],[[0],[1],[1,100,""]],[0,0]],[[2928,3088,0,1112,32,0,3.141592741012573,1,0,0,0,0,[]],51,6088,[],[[0],[1],[1,100,""]],[0,0]],[[3096,3184,0,1264,32,0,3.141592741012573,1,0,0,0,0,[]],51,6089,[],[[0],[1],[1,100,""]],[0,0]],[[3352,3152,0,1536,32,0,3.141592741012573,1,0,0,0,0,[]],51,6090,[],[[0],[1],[1,100,""]],[0,0]],[[2976,3120,0,1176,32,0,3.141592741012573,1,0,0,0,0,[]],51,6091,[],[[0],[1],[1,100,""]],[0,0]],[[1880,3104,0,184,136,0,0,1,0.5,0.5,0,0,[]],50,6092,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,1,1,1,"W 10.5 ; B 210",150,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1800,3264,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6093,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1784,3296,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6094,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1800,3328,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6095,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1816,3232,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6096,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1816,3360,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6097,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2792,3248,0,960,32,0,3.141592741012573,1,0,0,0,0,[]],51,6098,[],[[0],[1],[1,100,""]],[0,0]],[[2928,3280,0,1112,32,0,3.141592741012573,1,0,0,0,0,[]],51,6099,[],[[0],[1],[1,100,""]],[0,0]],[[3096,3376,0,1264,32,0,3.141592741012573,1,0,0,0,0,[]],51,6100,[],[[0],[1],[1,100,""]],[0,0]],[[3352,3344,0,1536,32,0,3.141592741012573,1,0,0,0,0,[]],51,6101,[],[[0],[1],[1,100,""]],[0,0]],[[2976,3312,0,1176,32,0,3.141592741012573,1,0,0,0,0,[]],51,6102,[],[[0],[1],[1,100,""]],[0,0]],[[1880,3296,0,184,136,0,0,1,0.5,0.5,0,0,[]],50,6103,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,1,1,1,"W 11 ; B 150",150,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1176,3072,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6016,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1152,3104,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6017,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1176,3136,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6018,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1200,3040,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6019,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1200,3168,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6020,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1184,3056,0,808,32,0,3.141592741012573,1,0,0,0,0,[]],51,6021,[],[[0],[1],[1,100,""]],[0,0]],[[1160,3088,0,768,32,0,3.141592741012573,1,0,0,0,0,[]],51,6022,[],[[0],[1],[1,100,""]],[0,0]],[[1184,3184,0,808,32,0,3.141592741012573,1,0,0,0,0,[]],51,6023,[],[[0],[1],[1,100,""]],[0,0]],[[1160,3152,0,768,32,0,3.141592741012573,1,0,0,0,0,[]],51,6024,[],[[0],[1],[1,100,""]],[0,0]],[[1136,3120,0,728,32,0,3.141592741012573,1,0,0,0,0,[]],51,6025,[],[[0],[1],[1,100,""]],[0,0]],[[1032,3104,0,328,136,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,6026,[[-1],[0],[0],[0],[0],[6],[1]],[[0],[1,1,1,1,"W 10.5 ; B 210",250,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1176,3256,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6027,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1152,3288,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6028,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1176,3320,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6029,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1200,3224,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6030,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1200,3352,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6031,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1184,3240,0,808,32,0,3.141592741012573,1,0,0,0,0,[]],51,6032,[],[[0],[1],[1,100,""]],[0,0]],[[1160,3272,0,768,32,0,3.141592741012573,1,0,0,0,0,[]],51,6033,[],[[0],[1],[1,100,""]],[0,0]],[[1184,3368,0,808,32,0,3.141592741012573,1,0,0,0,0,[]],51,6034,[],[[0],[1],[1,100,""]],[0,0]],[[1160,3336,0,768,32,0,3.141592741012573,1,0,0,0,0,[]],51,6035,[],[[0],[1],[1,100,""]],[0,0]],[[1136,3304,0,728,32,0,3.141592741012573,1,0,0,0,0,[]],51,6036,[],[[0],[1],[1,100,""]],[0,0]],[[1032,3288,0,328,136,0,0,1,0.5,0.5,0,0,[]],50,6037,[[-1],[0],[0],[0],[0],[6],[1]],[[0],[1,1,1,1,"W 11; F 280",150,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1288,2208,0,88,9,0,1.570796370506287,1,0,0,0,0,[]],51,6115,[],[[0],[1],[1,100,""]],[0,0]],[[1248,2264,0,40,40,0,0,1,0.5,0.5,0,0,[]],60,6116,[["level16"]],[[0],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[1288,2400,0,248,9,0,1.570796370506287,1,0,0,0,0,[]],51,6117,[],[[0],[1],[1,100,""]],[0,0]],[[1288,2296,0,104,8,0,1.570796370506287,1,0,0,0,0,[]],45,6118,[],[[0],[1]],[0,0]],[[1232,2096,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6119,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1216,2072,0,32,9,0,0,1,0,0,0,0,[]],51,6120,[],[[0],[1],[1,100,""]],[0,0]],[[1272,2136,0,48,48,0,0,1,0.5,0.5,0,0,[]],49,6121,[[10],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[1248,2080,0,16,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,6122,[[-1],[0],[0],[0],[0],[10],[1]],[[0],[1,0,1,1,"W 1 ; F 750",200,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1264,2096,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6123,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1248,2072,0,32,9,0,0,1,0,0,0,0,[]],51,6124,[],[[0],[1],[1,100,""]],[0,0]],[[1232,16,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6125,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,48,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6126,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,80,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6127,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,112,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6128,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,144,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6129,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,176,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6130,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,208,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6131,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,240,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6132,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,272,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6133,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,304,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6134,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,336,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6135,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,368,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6136,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,400,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6137,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,432,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6138,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,464,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6139,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6140,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,528,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6141,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,560,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6142,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,592,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6143,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,624,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6144,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,656,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6145,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,688,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6146,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,720,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6147,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,752,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6148,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,784,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6149,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,816,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6150,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,848,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6151,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,880,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6152,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,912,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6153,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,944,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6154,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,976,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6155,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1008,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6156,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1200,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6157,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1232,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6158,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1264,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6159,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1296,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6160,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1328,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6161,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1360,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6162,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1392,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6163,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1424,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6164,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1456,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6165,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1488,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6166,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1520,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6167,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1552,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6168,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1584,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6169,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1616,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6170,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1648,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6171,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1680,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6172,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1712,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6173,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1744,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6174,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1776,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6175,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1808,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6176,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1840,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6177,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1872,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6178,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,2824,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6179,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,3008,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6180,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,3192,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6181,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,3384,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6182,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,3416,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6183,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,3448,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6184,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,3640,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6185,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,3672,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6186,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,3704,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6187,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,3736,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6188,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,3768,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6189,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,3800,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6190,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,3832,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6191,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,3864,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6192,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,3896,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6193,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,3928,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6194,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,3960,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6195,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,3992,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6196,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,4024,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6197,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,4056,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6198,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,4088,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6199,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,4120,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6200,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,4152,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6201,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,4184,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6202,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,4216,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6203,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,4248,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6204,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,4280,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6205,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,4312,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6206,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,4344,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6207,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,4376,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6208,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,4408,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6209,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1232,4440,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6210,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,3640,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6215,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,3672,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6216,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,3704,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6217,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,3736,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6218,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,3768,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6219,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,3800,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6220,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,3832,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6221,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,3864,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6222,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,3896,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6223,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,3928,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6224,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,3960,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6225,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,3992,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6226,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,4024,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6227,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,4056,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6228,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,4088,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6229,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,4120,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6230,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,4152,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6231,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,4184,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6232,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,4216,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6233,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,4248,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6234,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,4280,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6235,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,4312,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6236,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,4344,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6237,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,4376,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6238,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,4408,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6239,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,4440,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6240,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,4472,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6241,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,2824,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6245,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,3008,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6246,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,3192,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6247,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,3384,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6248,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,3416,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6249,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,3448,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6250,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,16,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6251,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,48,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6252,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,80,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6253,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,112,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6254,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,144,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6255,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,176,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6256,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,208,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6257,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,240,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6258,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,272,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6259,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,304,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6260,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,336,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6261,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,368,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6262,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,400,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6263,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,432,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6264,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,464,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6265,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,496,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6266,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,528,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6267,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,560,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6268,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,592,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6269,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,624,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6270,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,656,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6271,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,688,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6272,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,720,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6273,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,752,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6274,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,784,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6275,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,816,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6276,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,848,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6277,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,880,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6278,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,912,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6279,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,944,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6280,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,976,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6281,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1008,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6282,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1200,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6283,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1232,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6284,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1264,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6285,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1296,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6286,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1328,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6287,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1488,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6292,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1520,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6293,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1552,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6294,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1584,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6295,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1616,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6296,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1648,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6297,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1680,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6298,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1712,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6299,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1744,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6300,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1776,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6301,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1808,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6302,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1840,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6303,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1872,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6304,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1224,3784,0,1272,32,0,3.141592741012573,1,0,0,0,0,[]],51,6288,[],[[0],[1],[1,100,""]],[0,0]],[[1224,3944,0,1272,32,0,3.141592741012573,1,0,0,0,0,[]],51,6289,[],[[0],[1],[1,100,""]],[0,0]],[[1224,4264,0,1272,32,0,3.141592741012573,1,0,0,0,0,[]],51,6290,[],[[0],[1],[1,100,""]],[0,0]],[[1224,4456,0,1272,32,0,3.141592741012573,1,0,0,0,0,[]],51,6291,[],[[0],[1],[1,100,""]],[0,0]],[[3032,3848,0,1272,32,0,3.141592741012573,1,0,0,0,0,[]],51,6305,[],[[0],[1],[1,100,""]],[0,0]],[[3032,4008,0,1272,32,0,3.141592741012573,1,0,0,0,0,[]],51,6306,[],[[0],[1],[1,100,""]],[0,0]],[[3032,4072,0,1272,32,0,3.141592741012573,1,0,0,0,0,[]],51,6307,[],[[0],[1],[1,100,""]],[0,0]],[[3032,4456,0,1272,32,0,3.141592741012573,1,0,0,0,0,[]],51,6308,[],[[0],[1],[1,100,""]],[0,0]],[[1496,3456,0,560,32,0,0,1,0.5,0.5,0,0,[]],49,6309,[[20],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[1224,3768,0,8,16,0,0,1,0.5,0.5,0,0,[]],50,6310,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,0,1,1,"W 1 ; F 300",200,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1224,3928,0,8,16,0,0,1,0.5,0.5,0,0,[]],50,6311,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,0,1,1,"W 2 ;F 250",200,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1224,4248,0,8,16,0,0,1,0.5,0.5,0,0,[]],50,6312,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,0,1,1,"W 3 ; F 400",400,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1224,4440,0,8,16,0,0,1,0.5,0.5,0,0,[]],50,6313,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,0,1,1,"W 4.5 ;F 200",400,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1760,3832,0,8,16,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,6314,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,0,1,1,"W 1.5; F 200",200,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1760,3992,0,8,16,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,6315,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,0,1,1,"W 2.5 ;F 200",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1760,4056,0,8,16,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,6316,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,0,1,1,"W 2.75 ;F 300",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1760,4440,0,8,16,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,6317,[[-1],[0],[0],[0],[0],[20],[1]],[[0],[1,0,1,1,"W 4.5 ; F 200",400,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1440,2272,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6318,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1440,2304,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6319,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1584,2336,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6320,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1584,2368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6321,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1520,2416,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6322,[[0],[1]],[[1],[1]],[0,"Default",0,1]],[[1520,2448,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6323,[[0],[1]],[[1],[1]],[0,"Default",0,1]],[[1416,2424,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6324,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1416,2456,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6325,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1336,2528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6326,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1336,2560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6327,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1584,2568,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6328,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1584,2600,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6329,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1688,2248,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6330,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1688,2280,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6331,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1696,2456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6332,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1696,2488,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6333,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1264,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6335,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1296,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6336,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1328,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6337,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1360,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6338,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1392,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6339,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1424,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6340,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1456,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6341,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1488,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6342,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1520,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6343,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1552,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6344,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1584,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6345,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1616,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6346,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1648,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6347,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1680,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6348,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1712,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6349,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1496,232,0,200,448,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,6350,[[-1],[0],[0],[0],[0],[0],[1]],[[0],[1,1,1,1,"F 4200",200,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1384,176,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,6352,[[0]],[[1],[1]],[0,"Default",0,1]],[[1608,176,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,6353,[[0]],[[1],[1]],[0,"Default",0,1]],[[1380,252,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,6354,[[0]],[[1],[1]],[0,"Default",0,1]],[[1400,264,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,6355,[[0]],[[1],[1]],[0,"Default",0,1]],[[1416,280,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,6356,[[0]],[[1],[1]],[0,"Default",0,1]],[[1496,208,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,6362,[[0]],[[1],[1]],[0,"Default",0,1]],[[1368,160,0,32,9,0,0,1,0,0,0,0,[]],52,6363,[],[[0],[0]],[0,0]],[[1592,160,0,32,9,0,0,1,0,0,0,0,[]],52,6364,[],[[0],[0]],[0,0]],[[1440,288,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,6357,[[0]],[[1],[1]],[0,"Default",0,1]],[[1464,296,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,6358,[[0]],[[1],[1]],[0,"Default",0,1]],[[1488,300,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,6359,[[0]],[[1],[1]],[0,"Default",0,1]],[[1512,296,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,6360,[[0]],[[1],[1]],[0,"Default",0,1]],[[1600,256,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,6361,[[0]],[[1],[1]],[0,"Default",0,1]],[[1576,264,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,6365,[[0]],[[1],[1]],[0,"Default",0,1]],[[1560,280,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,6366,[[0]],[[1],[1]],[0,"Default",0,1]],[[1536,288,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,6367,[[0]],[[1],[1]],[0,"Default",0,1]],[[1480,4360,0,48,56,0,0,1,0,0,0,0,[]],46,6211,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","!",3,0,50,50,0,0,0,0,"",-1,0]],[[1388,5164.5,0,776,713,0,0,1,0.5,0.5,0,0,[]],164,6212,[],[],[0,"Default",0,1]],[[1389,445,0,288,117,0,0,1,0,0,0,0,[[]]],61,5860,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,55,0,0,0,0,0,"",-1,0]]],[]],["UI",2,478222968556736,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,581348850784439,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,270967472725775,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,468574074165859,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,400814735465770,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,363630318739425,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,662984523186919,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 17",800,1700,true,"Levels",630003668845955,[["Layer 0",0,631922893658258,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[312,192,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,469,[["run"],[0],[1],[1],[0],[0.6],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[0,"Default",0,1]],[[200,256,0,304,8,0,0,1,0,0,0,0,[]],51,473,[],[[0],[1],[1,100,""]],[0,0]],[[608,688,0,160,64,0,0,1,0,0,0,0,[]],46,474,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Slow Down!",1,0,50,0,0,0,0,0,"",-1,0]],[[576,0,0,1312,8,0,1.570796370506287,1,0,0,0,0,[]],51,475,[],[[0],[1],[1,100,""]],[0,0]],[[504,264,0,832,8,0,1.570796370506287,1,0,0,0,0,[]],51,476,[],[[0],[1],[1,100,""]],[0,0]],[[520,304,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,477,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[520,336,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,478,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[520,368,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,479,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[520,400,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,480,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[520,432,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,481,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[520,464,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,482,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[520,496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,483,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[520,528,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,484,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[520,560,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,485,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[520,592,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,486,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[520,624,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,487,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[384,1312,0,192,8,0,0,1,0,0,0,0,[]],51,488,[],[[0],[1],[1,100,""]],[0,0]],[[512,1296,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,489,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[544,1296,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,490,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[392,352,0,1184,8,0,1.570796370506287,1,0,0,0,0,[]],51,491,[],[[0],[1],[1,100,""]],[0,0]],[[456,280,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,492,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[480,584,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,493,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[408,432,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,494,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[408,1296,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,495,[[0.75],[0]],[[0]],[0,"Default",0,1]],[[392,544,0,112,8,0,0,1,0,0,0,0,[]],45,496,[],[[0],[1]],[0,0]],[[496,1520,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,497,[],[[0]],[0,"Default",0,1]],[[256,256,0,1360,8,0,1.570796370506287,1,0,0,0,0,[]],51,498,[],[[0],[1],[1,100,""]],[0,0]],[[248,1616,0,232,8,0,0,1,0,0,0,0,[]],51,499,[],[[0],[1],[1,100,""]],[0,0]],[[480,1616,0,96,8,0,0,1,0,0,0,0,[]],51,500,[],[[0],[1],[1,100,""]],[0,0]],[[576,1304,0,320,8,0,1.570796370506287,1,0,0,0,0,[]],51,501,[],[[0],[1],[1,100,""]],[0,0]],[[368,408,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,502,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,440,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,503,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,472,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,504,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,504,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,505,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,536,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,506,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,568,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,507,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,600,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,508,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,632,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,509,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,664,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,510,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,696,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,511,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,728,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,512,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[272,960,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,513,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[272,992,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,514,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[272,1024,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,515,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[272,864,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,516,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[272,896,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,517,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[272,928,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,518,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[-121,83,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1419,[["Take it slow"],[""],[0]],[],[1,"Default",0,1]],[[240,48,0,300,117,0,0,1,0,0,0,0,[[]]],61,5608,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,65,0,0,0,0,0,"",-1,0]],[[504,240,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,5510,[],[[0]],[0,"Default",0,1]],[[280,1176,0,40,40,0,0,1,0.5,0.5,0,0,[]],60,3276,[["level17"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[200,0,0,264,8,0,1.570796370506287,1,0,0,0,0,[]],51,519,[],[[0],[1],[1,100,""]],[0,0]],[[552,800,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7215,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[552,832,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10129,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[552,864,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10133,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[552,896,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10134,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[552,928,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10135,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[576,720,0,80,32,0,3.141592741012573,1,0,0,0,0,[]],46,10142,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","-->",1,0,50,0,0,0,0,0,"",-1,0]],[[520,1080,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10139,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[496,984,0,80,32,0,0,1,0,0,0,0,[]],46,10136,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","-->",1,0,50,0,0,0,0,0,"",-1,0]],[[480,888,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,10137,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[464,904,0,32,8,0,0,1,0,0,0,0,[]],51,10138,[],[[0],[1],[1,100,""]],[0,0]],[[272,1456,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10140,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[272,1488,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10141,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[272,1520,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10143,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[272,1360,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10144,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[272,1392,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10145,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[272,1424,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10146,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,1360,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10147,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,1392,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10148,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,1424,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10149,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,1456,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10150,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,1488,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10151,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,1520,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10152,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[312,1136,0,80,8,0,1.570796370506287,1,0,0,0,0,[]],51,10153,[],[[0],[1],[1,100,""]],[0,0]]],[]],["UI",1,545647211003541,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",2,506716938677593,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",3,829849322931450,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",4,270616977996703,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",5,440432282242761,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",6,347680772306972,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",7,819016958094888,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 18",1800,1800,true,"Levels",209366405920923,[["Background",0,786312801046162,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[-115,53,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1420,[["Mirrored Room I"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,114389247531653,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[866.5393676757812,1396.238159179688,0,96,9,0,0,1,0,0,0,0,[]],51,1429,[],[[0],[1],[1,100,""]],[0,0]],[[912.5393676757812,1380.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1430,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[193.5393676757813,1792.238159179688,0,1528,9,0,0,1,0,0,0,0,[]],51,715,[],[[0],[1],[1,100,""]],[0,0]],[[1721.539306640625,1528.238159179688,0,264,9,0,1.570796370506287,1,0,0,0,0,[]],51,736,[],[[0],[1],[1,100,""]],[0,0]],[[201.5393676757813,1520.238159179688,0,280,9,0,1.570796370506287,1,0,0,0,0,[]],51,767,[],[[0],[1],[1,100,""]],[0,0]],[[193.5393676757813,1520.238159179688,0,328,9,0,0,1,0,0,0,0,[]],51,768,[],[[0],[1],[1,100,""]],[0,0]],[[1393.539306640625,1528.238159179688,0,328,9,0,0,1,0,0,0,0,[]],51,769,[],[[0],[1],[1,100,""]],[0,0]],[[1401.539306640625,1272.238159179688,0,264,9,0,1.570796370506287,1,0,0,0,0,[]],51,770,[],[[0],[1],[1,100,""]],[0,0]],[[529.5393676757812,1264.238159179688,0,264,9,0,1.570796370506287,1,0,0,0,0,[]],51,771,[],[[0],[1],[1,100,""]],[0,0]],[[641.5393676757812,1264.238159179688,0,208,9,0,0,1,0,0,0,0,[]],51,772,[],[[0],[1],[1,100,""]],[0,0]],[[1209.539306640625,1264.238159179688,0,192,9,0,0,1,0,0,0,0,[]],51,773,[],[[0],[1],[1,100,""]],[0,0]],[[1081.539306640625,568.2381591796875,0,704,9,0,1.570796370506287,1,0,0,0,0,[]],51,774,[],[[0],[1],[1,100,""]],[0,0]],[[849.5393676757812,568.2381591796875,0,704,9,0,1.570796370506287,1,0,0,0,0,[]],51,775,[],[[0],[1],[1,100,""]],[0,0]],[[841.5393676757812,608.2381591796875,0,240,9,0,0,1,0,0,0,0,[]],51,776,[],[[0],[1],[1,100,""]],[0,0]],[[232.67529296875,1721.96630859375,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,777,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[0,"Default",0,1]],[[353.5393676757813,1609.62353515625,0,184,9,0,1.570796370506287,1,0,0,0,0,[]],51,778,[],[[0],[1],[1,100,""]],[0,0]],[[353.5393676757813,1528.238159179688,0,83,8,0,1.570796370506287,1,0,0,0,0,[]],45,779,[],[[0],[1]],[0,0]],[[537.5393676757812,1776.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,780,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[969.539306640625,736.0885009765625,0,1064.149658203125,9,0,1.570796370506287,1,0,0,0,0,[]],51,781,[],[[0],[1],[1,100,""]],[0,0]],[[985.5393676757812,752.2381591796875,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,782,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[985.5393676757812,1200.238159179688,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,783,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1057.539306640625,960.2381591796875,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,784,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[641.5393676757812,1704.238159179688,0,96,9,0,0,1,0,0,0,0,[]],51,788,[],[[0],[1],[1,100,""]],[0,0]],[[833.5393676757812,1648.238159179688,0,96,9,0,0,1,0,0,0,0,[]],51,789,[],[[0],[1],[1,100,""]],[0,0]],[[585.5393676757812,1576.238159179688,0,96,9,0,0,1,0,0,0,0,[]],51,790,[],[[0],[1],[1,100,""]],[0,0]],[[593.5393676757812,1368.238159179688,0,96,9,0,0,1,0,0,0,0,[]],51,791,[],[[0],[1],[1,100,""]],[0,0]],[[681.5393676757812,1464.238159179688,0,96,9,0,0,1,0,0,0,0,[]],51,792,[],[[0],[1],[1,100,""]],[0,0]],[[689.5393676757812,1688.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,793,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[881.5393676757812,1632.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,794,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[633.5393676757812,1560.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,795,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[729.5393676757812,1448.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,796,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[641.5393676757812,1352.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,797,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1009.539367675781,1648.238159179688,0,96,9,0,0,1,0,0,0,0,[]],51,798,[],[[0],[1],[1,100,""]],[0,0]],[[1057.539306640625,1632.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,799,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1177.539306640625,1712.238159179688,0,96,9,0,0,1,0,0,0,0,[]],51,800,[],[[0],[1],[1,100,""]],[0,0]],[[1225.539306640625,1696.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,801,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1209.539306640625,1576.238159179688,0,96,9,0,0,1,0,0,0,0,[]],51,802,[],[[0],[1],[1,100,""]],[0,0]],[[1257.539306640625,1560.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,803,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1089.539306640625,1456.238159179688,0,96,9,0,0,1,0,0,0,0,[]],51,804,[],[[0],[1],[1,100,""]],[0,0]],[[1137.539306640625,1440.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,805,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1257.539306640625,1368.238159179688,0,96,9,0,0,1,0,0,0,0,[]],51,806,[],[[0],[1],[1,100,""]],[0,0]],[[1305.539306640625,1352.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,807,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1401.539306640625,1776.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,808,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1545.539306640625,1623.268798828125,0,176.9693603515625,9,0,1.570796370506287,1,0,0,0,0,[]],51,809,[],[[0],[1],[1,100,""]],[0,0]],[[1545.539306640625,1528.238159179688,0,94.5321044921875,8,0,1.570796370506287,1,0,0,0,0,[]],45,810,[],[[0],[1]],[0,0]],[[1649.539306640625,1696.238159179688,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,811,[],[[0]],[0,"Default",0,1]],[[521.5393676757812,1264.238159179688,0,64,9,0,0,1,0,0,0,0,[]],51,812,[],[[0],[1],[1,100,""]],[0,0]],[[569.5393676757812,1264.238159179688,0,96,8,0,0,1,0,0,0,0,[]],45,813,[],[[0],[1]],[0,0]],[[737.5393676757812,960.2381591796875,0,56,9,0,1.570796370506287,1,0,0,0,0,[]],51,815,[],[[0],[1],[1,100,""]],[0,0]],[[737.5393676757812,816.2381591796875,0,56,9,0,1.570796370506287,1,0,0,0,0,[]],51,816,[],[[0],[1],[1,100,""]],[0,0]],[[737.5393676757812,656.2381591796875,0,56,9,0,1.570796370506287,1,0,0,0,0,[]],51,817,[],[[0],[1],[1,100,""]],[0,0]],[[737.5393676757812,488.2381591796875,0,56,9,0,1.570796370506287,1,0,0,0,0,[]],51,818,[],[[0],[1],[1,100,""]],[0,0]],[[841.5393676757812,568.2381591796875,0,72,8,0,0,1,0,0,0,0,[]],45,819,[],[[0],[1]],[0,0]],[[937.5393676757812,544.2381591796875,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,814,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[961.5393676757812,512.2381591796875,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,821,[],[[0],[1],[1,100,""]],[0,0]],[[985.5393676757812,544.2381591796875,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,823,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[969.5393676757812,512.2381591796875,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,824,[],[[0],[1],[1,100,""]],[0,0]],[[1009.539367675781,568.2381591796875,0,72,8,0,0,1,0,0,0,0,[]],45,825,[],[[0],[1]],[0,0]],[[1153.539306640625,1264.238159179688,0,96,8,0,0,1,0,0,0,0,[]],45,826,[],[[0],[1]],[0,0]],[[1073.539306640625,1264.238159179688,0,80,9,0,0,1,0,0,0,0,[]],51,827,[],[[0],[1],[1,100,""]],[0,0]],[[1097.539306640625,1248.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,828,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1129.539306640625,1248.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,829,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1225.539306640625,1248.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,830,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1257.539306640625,1248.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,831,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1289.539306640625,1248.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,832,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1321.539306640625,1248.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,833,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1353.539306640625,1248.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,834,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1385.539306640625,1248.238159179688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,835,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[857.5393676757812,376.2381591796875,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,836,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[993.5393676757812,392.2381591796875,0,96,9,0,0,1,0,0,0,0,[]],51,837,[],[[0],[1],[1,100,""]],[0,0]],[[889.5393676757812,376.2381591796875,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,838,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[921.5393676757812,376.2381591796875,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,839,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1009.539367675781,416.2381591796875,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,840,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1041.539306640625,416.2381591796875,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,841,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1073.539306640625,416.2381591796875,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,842,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[841.5393676757812,352.2381591796875,0,96,9,0,0,1,0,0,0,0,[]],51,843,[],[[0],[1],[1,100,""]],[0,0]],[[865.5393676757812,592.2381591796875,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,844,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1153.539306640625,616.2381591796875,0,72,9,0,0,1,0,0,0,0,[]],51,820,[],[[0],[1],[1,100,""]],[0,0]],[[1225.539306640625,552.2381591796875,0,72,9,0,1.570796370506287,1,0,0,0,0,[]],51,822,[],[[0],[1],[1,100,""]],[0,0]],[[965.5393676757812,215.2381591796875,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,5490,[["level18"]],[[0],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[347.5393676757813,1622.238159179688,0,288,117,0,0,1,0,0,0,0,[[]]],61,5609,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]]],[]],["UI",2,463749848501370,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,567072185279929,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,186656589976782,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,218749369529165,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,383280674167056,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,470496841457915,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,220838136733913,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 19",1400,1200,true,"Levels",936243084560580,[["Background",0,567572528787519,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[-120,40,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1421,[["Little Spikehouse"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,280172131494618,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[1296,193,0,97,192,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,655,[],[[0]],[0,"Default",0,1]],[[280,1128,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,672,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[744,160,0,192,64,0,0,1,0,0,0,0,[]],46,747,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Press Up and Down",1,0,50,0,0,0,0,0,"",-1,0]],[[16,944,0,288,117,0,0,1,0,0,0,0,[[]]],61,5610,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]],[[552,680,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,3280,[["level19"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[0,1192,0,1400,10,0,0,1,0,0,0,0,[]],67,650,[],[[1]],[0,0]],[[0,912,0,560,8,0,0,1,0,0,0,0,[]],67,681,[],[[1]],[0,0]],[[0,592,0,512,8,0,0,1,0,0,0,0,[]],67,682,[],[[1]],[0,0]],[[96,288,0,1304,8,0,0,1,0,0,0,0,[]],67,683,[],[[1]],[0,0]],[[0,0,0,1400,10,0,0,1,0,0,0,0,[]],67,684,[],[[1]],[0,0]],[[1400,0,0,1200,10,0,1.570796370506287,1,0,0,0,0,[]],67,685,[],[[1]],[0,0]],[[8,0,0,1200,10,0,1.570796370506287,1,0,0,0,0,[]],67,686,[],[[1]],[0,0]],[[1184,592,0,328,8,0,1.570796370506287,1,0,0,0,0,[]],67,687,[],[[1]],[0,0]],[[312,1104,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,688,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[376,1128,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,689,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[344,1104,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,690,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[272,1152,0,40,8,0,1.570796370506287,1,0,0,0,0,[]],45,691,[],[[0],[1]],[0,0]],[[296,1144,0,8,32,0,1.570796370506287,1,0,0,0,0,[]],67,692,[],[[1]],[0,0]],[[392,1152,0,40,8,0,1.570796370506287,1,0,0,0,0,[]],45,693,[],[[0],[1]],[0,0]],[[280,1016,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,694,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[312,1016,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,695,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[376,1016,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,696,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[344,1016,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,697,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[456,992,0,8,192,0,1.570796370506287,1,0,0,0,0,[]],67,698,[],[[1]],[0,0]],[[464,920,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],45,699,[],[[0],[1]],[0,0]],[[272,920,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],45,700,[],[[0],[1]],[0,0]],[[296,1168,0,64,16,0,0,1,0,0,0,0,[]],46,701,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","-->",1,0,50,0,0,0,0,0,"",-1,0]],[[408,1016,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,702,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[440,1016,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,703,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[456,992,0,8,48,0,0,1,0,0,0,0,[]],67,704,[],[[1]],[0,0]],[[744,1032,0,8,288,0,1.570796370506287,1,0,0,0,0,[]],67,705,[],[[1]],[0,0]],[[688,1040,0,88,8,0,1.570796370506287,1,0,0,0,0,[]],45,706,[],[[0],[1]],[0,0]],[[744,1040,0,88,8,0,1.570796370506287,1,0,0,0,0,[]],45,707,[],[[0],[1]],[0,0]],[[744,1128,0,8,64,0,1.570796370506287,1,0,0,0,0,[]],67,708,[],[[1]],[0,0]],[[696,1152,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,709,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[728,1152,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,710,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[392,1144,0,8,32,0,1.570796370506287,1,0,0,0,0,[]],67,711,[],[[1]],[0,0]],[[328,1120,0,8,32,0,1.570796370506287,1,0,0,0,0,[]],67,712,[],[[1]],[0,0]],[[360,1120,0,8,32,0,1.570796370506287,1,0,0,0,0,[]],67,713,[],[[1]],[0,0]],[[352,1120,0,8,32,0,0,1,0,0,0,0,[]],67,714,[],[[1]],[0,0]],[[296,1120,0,8,32,0,0,1,0,0,0,0,[]],67,716,[],[[1]],[0,0]],[[-210.7200012207031,966.783935546875,0,200,80,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,717,[],[[0]],[0,"Default",0,1]],[[-203,990,0,280,120,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,718,[],[[0]],[0,"Default",0,1]],[[712,1112,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,720,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[960,1040,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,721,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[992,1040,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,722,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[976,1056,0,8,32,0,1.570796370506287,1,0,0,0,0,[]],67,723,[],[[1]],[0,0]],[[1008,1056,0,8,32,0,1.570796370506287,1,0,0,0,0,[]],67,724,[],[[1]],[0,0]],[[952,1064,0,128,8,0,1.570796370506287,1,0,0,0,0,[]],67,725,[],[[1]],[0,0]],[[1008,1064,0,128,8,0,1.570796370506287,1,0,0,0,0,[]],67,726,[],[[1]],[0,0]],[[1088,1176,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,727,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1120,1176,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,728,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1080,1008,0,152,8,0,1.570796370506287,1,0,0,0,0,[]],67,729,[],[[1]],[0,0]],[[960,1040,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,730,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,1112,0,8,56,0,1.570796370506287,1,0,0,0,0,[]],67,731,[],[[1]],[0,0]],[[1136,1008,0,152,8,0,1.570796370506287,1,0,0,0,0,[]],67,732,[],[[1]],[0,0]],[[1080,920,0,16,8,0,1.570796370506287,1,0,0,0,0,[]],67,733,[],[[1]],[0,0]],[[1136,920,0,16,8,0,1.570796370506287,1,0,0,0,0,[]],67,734,[],[[1]],[0,0]],[[1136,1000,0,8,64,0,1.570796370506287,1,0,0,0,0,[]],67,735,[],[[1]],[0,0]],[[1080,936,0,64,8,0,1.570796370506287,1,0,0,0,0,[]],45,738,[],[[0],[1]],[0,0]],[[1136,936,0,64,8,0,1.570796370506287,1,0,0,0,0,[]],45,739,[],[[0],[1]],[0,0]],[[1008,984,0,64,16,0,0,1,0,0,0,0,[]],46,741,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","-->",1,0,50,0,0,0,0,0,"",-1,0]],[[1040,1176,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,742,[[0.47],[0]],[[0]],[0,"Default",0,1]],[[1128,928,0,8,56,0,1.570796370506287,1,0,0,0,0,[]],67,737,[],[[1]],[0,0]],[[1232,1104,0,8,64,0,1.570796370506287,1,0,0,0,0,[]],67,744,[],[[1]],[0,0]],[[1184,1088,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,745,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1216,1088,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,746,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1224,1104,0,8,96,0,0,1,0,0,0,0,[]],67,748,[],[[1]],[0,0]],[[1168,1104,0,8,88,0,0,1,0,0,0,0,[]],67,749,[],[[1]],[0,0]],[[1336,1176,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,743,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1184,912,0,208,8,0,0,1,0,0,0,0,[]],45,750,[],[[0],[1]],[0,0]],[[1304,680,0,88,8,0,0,1,0,0,0,0,[]],45,751,[],[[0],[1]],[0,0]],[[64,1112,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,651,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["Skin6"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[963.0001220703125,1072.151977539063,0,49,248,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,740,[],[[0]],[0,"Default",0,1]],[[968,288,0,240,8,0,1.570796370506287,1,0,0,0,0,[]],67,752,[],[[1]],[0,0]],[[968,528,0,64,8,0,1.570796370506287,1,0,0,0,0,[]],45,754,[],[[0],[1]],[0,0]],[[768,296,0,168,8,0,1.570796370506287,1,0,0,0,0,[]],67,753,[],[[1]],[0,0]],[[768,464,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],45,755,[],[[0],[1]],[0,0]],[[768,536,0,56,8,0,1.570796370506287,1,0,0,0,0,[]],67,756,[],[[1]],[0,0]],[[400,296,0,56,8,0,1.570796370506287,1,0,0,0,0,[]],67,757,[],[[1]],[0,0]],[[400,352,0,64,8,0,1.570796370506287,1,0,0,0,0,[]],45,758,[],[[0],[1]],[0,0]],[[400,416,0,176,8,0,1.570796370506287,1,0,0,0,0,[]],67,759,[],[[1]],[0,0]],[[648,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3107,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[680,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10154,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[712,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10155,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[744,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10156,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[784,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10157,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[816,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10158,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[416,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,760,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[448,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,761,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[480,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,766,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[592,296,0,8,224,0,0,1,0,0,0,0,[]],67,2059,[],[[1]],[0,0]],[[504,520,0,96,8,0,0,1,0,0,0,0,[]],45,2119,[],[[0],[1]],[0,0]],[[648,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10159,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[680,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10160,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[712,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10161,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[744,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10162,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[616,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10163,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[816,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10164,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[848,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10165,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[880,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10166,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10167,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[784,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10168,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[944,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10169,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[480,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10170,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[512,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10171,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[544,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10172,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[576,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10173,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[448,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10174,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[416,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10175,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[312,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10176,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[344,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10177,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[376,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10178,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[216,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10179,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[248,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10180,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[280,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10181,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[120,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10182,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[152,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10183,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[184,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10184,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[48,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,10185,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[8,288,0,88,8,0,0,1,0,0,0,0,[]],45,10186,[],[[0],[1]],[0,0]],[[8,288,0,0,8,0,0,1,0,0,0,0,[]],67,10187,[],[[1]],[0,0]],[[728,248,0,8,96,0,1.570796370506287,1,0,0,0,0,[]],67,10188,[],[[1]],[0,0]],[[648,232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10189,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[680,232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10190,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,248,0,8,40,0,0,1,0,0,0,0,[]],67,10191,[],[[1]],[0,0]],[[632,248,0,8,40,0,0,1,0,0,0,0,[]],67,10192,[],[[1]],[0,0]],[[712,232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10193,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[728,104,0,8,96,0,1.570796370506287,1,0,0,0,0,[]],67,10194,[],[[1]],[0,0]],[[648,128,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10195,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[680,128,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10196,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,8,0,8,104,0,0,1,0,0,0,0,[]],67,10197,[],[[1]],[0,0]],[[632,8,0,8,104,0,0,1,0,0,0,0,[]],67,10198,[],[[1]],[0,0]],[[712,128,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10199,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1040,248,0,8,96,0,1.570796370506287,1,0,0,0,0,[]],67,10200,[],[[1]],[0,0]],[[960,232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10201,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[992,232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10202,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1032,248,0,8,40,0,0,1,0,0,0,0,[]],67,10203,[],[[1]],[0,0]],[[944,248,0,8,40,0,0,1,0,0,0,0,[]],67,10204,[],[[1]],[0,0]],[[1024,232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10205,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1040,104,0,8,96,0,1.570796370506287,1,0,0,0,0,[]],67,10206,[],[[1]],[0,0]],[[960,128,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10207,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[992,128,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10208,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1032,8,0,8,104,0,0,1,0,0,0,0,[]],67,10209,[],[[1]],[0,0]],[[944,8,0,8,104,0,0,1,0,0,0,0,[]],67,10210,[],[[1]],[0,0]],[[1024,128,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10211,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[624,912,0,560,8,0,0,1,0,0,0,0,[]],67,10213,[],[[1]],[0,0]],[[560,912,0,64,8,0,0,1,0,0,0,0,[]],45,10214,[],[[0],[1]],[0,0]],[[512,592,0,72,8,0,0,1,0,0,0,0,[]],45,10216,[],[[0],[1]],[0,0]],[[560,800,0,112,552,0,1.570796370506287,1,0,0,0,0,[]],67,10217,[],[[1]],[0,0]],[[504,800,0,584,8,0,0,1,0,0,0,0,[]],67,10218,[],[[1]],[0,0]],[[1088,712,0,96,8,0,1.570796370506287,1,0,0,0,0,[]],67,10219,[],[[1]],[0,0]],[[512,600,0,200,504,0,1.570796370506287,1,0,0,0,0,[]],67,10220,[],[[1]],[0,0]],[[704,896,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10221,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[800,896,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10222,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[904,896,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10224,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1032,896,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10225,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1064,896,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10226,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,616,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10228,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,792,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10229,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1160,728,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10230,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[856,760,0,8,96,0,1.570796370506287,1,0,0,0,0,[]],67,10223,[],[[1]],[0,0]],[[776,744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10227,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[808,744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10231,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[848,760,0,8,48,0,0,1,0,0,0,0,[]],67,10232,[],[[1]],[0,0]],[[760,760,0,8,48,0,0,1,0,0,0,0,[]],67,10233,[],[[1]],[0,0]],[[840,744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10234,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[856,624,0,8,96,0,1.570796370506287,1,0,0,0,0,[]],67,10235,[],[[1]],[0,0]],[[776,648,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10236,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[808,648,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10237,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[848,592,0,8,40,0,0,1,0,0,0,0,[]],67,10238,[],[[1]],[0,0]],[[760,600,0,8,32,0,0,1,0,0,0,0,[]],67,10239,[],[[1]],[0,0]],[[840,648,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10240,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1032,784,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10241,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1064,784,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10242,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[872,784,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10243,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[952,784,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10244,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[552,784,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,10245,[[0.6],[0]],[[0]],[0,"Default",0,1]],[[552,548,0,96,40,0,0,1,0.5,0.5,0,0,[]],49,10246,[[1],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[608,589,0,24,8,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,10247,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,0,1,1,"F 72",1000,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1176,592,0,8,592,0,1.570796370506287,1,0,0,0,0,[]],67,10248,[],[[1]],[0,0]],[[584,592,0,72,8,0,0,1,0,0,0,0,[]],51,10249,[],[[0],[1],[1,100,""]],[0,0]],[[576,896,0,160,40,0,0,1,0.5,0.5,0,0,[]],49,10215,[[2],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[552,632,0,24,8,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,10250,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"B 2000",1000,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[-2792,800,0,1176,320,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,10212,[],[[0]],[0,"Default",0,1]],[[104,112,0,176,8,0,1.570796370506287,1,0,0,0,0,[]],67,10251,[],[[1]],[0,0]],[[176,24,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10252,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[200,8,0,224,8,0,1.570796370506287,1,0,0,0,0,[]],67,10253,[],[[1]],[0,0]],[[176,56,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10254,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[176,88,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10255,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[176,120,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10256,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[176,152,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10257,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[176,184,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10258,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[176,216,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10259,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[344,288,0,8,96,0,1.570796370506287,1,0,0,0,0,[]],67,10260,[],[[1]],[0,0]],[[312,272,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10261,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[344,272,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10262,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[376,272,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10263,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1304,680,0,8,120,0,1.570796370506287,1,0,0,0,0,[]],67,10264,[],[[1]],[0,0]],[[280,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10265,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[312,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10266,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[344,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10267,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[376,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10268,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[248,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10269,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[216,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10270,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[184,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10271,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[152,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10272,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[120,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10273,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1144,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10276,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1176,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10277,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1208,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10278,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10279,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1112,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10280,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1080,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10281,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1048,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10282,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1016,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10283,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[984,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10284,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1272,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10274,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1304,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10275,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1336,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10285,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1368,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10286,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,592,0,8,96,0,1.570796370506287,1,0,0,0,0,[]],67,10287,[],[[1]],[0,0]],[[1080,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10288,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1112,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10289,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1144,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10290,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[760,944,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10291,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[760,976,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10292,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[760,1008,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10293,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[744,920,0,120,8,0,1.570796370506287,1,0,0,0,0,[]],67,719,[],[[1]],[0,0]]],[]],["UI",2,617269672502699,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,284356276525048,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,413466930787756,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,973887515080016,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,952378260169049,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,299055822613984,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,847351372351203,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 20",2000,2000,true,"Levels",508733314443253,[["Background",0,949304462420114,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[-112,62,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1422,[["Dormant Contraption"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,663928150915135,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[856,1208,0,360,9,0,1.570796370506287,1,0,0,0,0,[]],51,786,[],[[0],[1],[1,100,""]],[0,0]],[[1816,1184,0,97,192,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,787,[],[[0]],[0,"Default",0,1]],[[1208,1280,0,288,9,0,1.570796370506287,1,0,0,0,0,[]],51,847,[],[[0],[1],[1,100,""]],[0,0]],[[856,488,0,360,9,0,1.570796370506287,1,0,0,0,0,[]],51,848,[],[[0],[1],[1,100,""]],[0,0]],[[1208,488,0,696,9,0,1.570796370506287,1,0,0,0,0,[]],51,849,[],[[0],[1],[1,100,""]],[0,0]],[[1208,1568,0,360,9,0,3.141592741012573,1,0,0,0,0,[]],51,858,[],[[0],[1],[1,100,""]],[0,0]],[[1208,496,0,360,9,0,3.141592741012573,1,0,0,0,0,[]],51,859,[],[[0],[1],[1,100,""]],[0,0]],[[856,1056,0,158,9,0,1.570796370506287,1,0,0,0,0,[]],51,850,[],[[0],[1],[1,100,""]],[0,0]],[[856,848,0,112,9,0,1.570796370506287,1,0,0,0,0,[]],51,851,[],[[0],[1],[1,100,""]],[0,0]],[[1032,624,0,592,9,0,1.570796370506287,1,0,0,0,0,[]],51,867,[],[[0],[1],[1,100,""]],[0,0]],[[856,1208,0,168,8,0,0,1,0,0,0,0,[]],45,868,[],[[0],[1]],[0,0]],[[872,1544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,869,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[904,1544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,870,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[936,1544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,871,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[968,1544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,872,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1000,1544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,873,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[928,1112,0,72,9,0,0,1,0,0,0,0,[]],51,874,[],[[0],[1],[1,100,""]],[0,0]],[[848,952,0,72,9,0,0,1,0,0,0,0,[]],51,875,[],[[0],[1],[1,100,""]],[0,0]],[[976,808,0,48,9,0,0,1,0,0,0,0,[]],51,876,[],[[0],[1],[1,100,""]],[0,0]],[[856,648,0,64,9,0,0,1,0,0,0,0,[]],51,877,[],[[0],[1],[1,100,""]],[0,0]],[[1040,512,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,878,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1008,512,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,879,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1048,744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,881,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1080,744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,882,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1112,744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,883,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1144,744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,884,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1088,920,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,885,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1120,920,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,886,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1152,920,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,887,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1184,920,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,888,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1048,1104,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,889,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1080,1104,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,890,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1112,1104,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,891,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1184,1104,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,892,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1072,936,0,136,9,0,0,1,0,0,0,0,[]],51,893,[],[[0],[1],[1,100,""]],[0,0]],[[1024,760,0,136,9,0,0,1,0,0,0,0,[]],51,894,[],[[0],[1],[1,100,""]],[0,0]],[[1032,1120,0,96,9,0,0,1,0,0,0,0,[]],51,895,[],[[0],[1],[1,100,""]],[0,0]],[[1168,1120,0,32,9,0,0,1,0,0,0,0,[]],51,896,[],[[0],[1],[1,100,""]],[0,0]],[[1032,624,0,128,9,0,0,1,0,0,0,0,[]],51,880,[],[[0],[1],[1,100,""]],[0,0]],[[928,1272,0,32,32,0,1.308996915817261,1,0.5,0.5,0,0,[]],43,898,[[1.5],[0]],[[0]],[0,"Default",0,1]],[[1048,1144,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,897,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1080,1144,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,899,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[872,1192,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,900,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[872,1160,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,901,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[872,1128,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,902,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[872,1096,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,903,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[872,832,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,904,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[872,800,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,905,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[872,768,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,906,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[872,736,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,907,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[872,704,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,908,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[872,672,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,909,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1008,912,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,910,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1008,880,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,911,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1008,848,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,912,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1008,1008,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,913,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1008,976,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,914,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1008,944,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,915,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[576,976,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,845,[["level20"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[240,888,0,288,117,0,0,1,0,0,0,0,[[]]],61,5611,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]],[[1024,1208,0,8,864,0,1.570796370506287,1,0,0,0,0,[]],67,853,[],[[1]],[0,0]],[[848,712,0,8,696,0,1.570796370506287,1,0,0,0,0,[]],67,854,[],[[1]],[0,0]],[[152,720,0,8,496,0,0,1,0,0,0,0,[]],67,855,[],[[1]],[0,0]],[[608,1192,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,856,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[640,1192,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,857,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[856,1056,0,8,144,0,1.570796370506287,1,0,0,0,0,[]],67,860,[],[[1]],[0,0]],[[712,856,0,8,456,0,1.570796370506287,1,0,0,0,0,[]],67,861,[],[[1]],[0,0]],[[704,864,0,8,200,0,0,1,0,0,0,0,[]],67,862,[],[[1]],[0,0]],[[160,856,0,96,8,0,0,1,0,0,0,0,[]],45,863,[],[[0],[1]],[0,0]],[[864,976,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,852,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[544,1192,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,864,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[576,1192,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,865,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[512,1192,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,866,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[608,1064,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,916,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[640,1064,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,917,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[544,1064,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,918,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[576,1064,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,919,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[512,1064,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,920,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[656,1040,0,8,160,0,1.570796370506287,1,0,0,0,0,[]],67,921,[],[[1]],[0,0]],[[504,864,0,176,8,0,1.570796370506287,1,0,0,0,0,[]],45,10294,[],[[0],[1]],[0,0]],[[656,864,0,176,8,0,1.570796370506287,1,0,0,0,0,[]],45,10295,[],[[0],[1]],[0,0]],[[504,864,0,184,9,0,1.570796370506287,1,0,0,0,0,[]],51,10296,[],[[0],[1],[1,100,""]],[0,0]],[[656,936,0,112,9,0,1.570796370506287,1,0,0,0,0,[]],51,10297,[],[[0],[1],[1,100,""]],[0,0]],[[192,1128,0,32,8,0,0,1,0,0,0,0,[]],45,10301,[],[[0],[1]],[0,0]],[[208,1112,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,10302,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[208,1152,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10303,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[272,1064,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10304,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,1064,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10305,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[288,1080,0,8,32,0,1.570796370506287,1,0,0,0,0,[]],67,10306,[],[[1]],[0,0]],[[320,1080,0,8,32,0,1.570796370506287,1,0,0,0,0,[]],67,10307,[],[[1]],[0,0]],[[264,1080,0,128,8,0,1.570796370506287,1,0,0,0,0,[]],67,10308,[],[[1]],[0,0]],[[320,1088,0,128,8,0,1.570796370506287,1,0,0,0,0,[]],67,10309,[],[[1]],[0,0]],[[272,1064,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10310,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[176,1192,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10298,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[208,1192,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10299,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[240,1192,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10300,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[264,864,0,72,9,0,1.570796370506287,1,0,0,0,0,[]],51,10311,[],[[0],[1],[1,100,""]],[0,0]],[[240,920,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10312,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[240,888,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10313,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[336,1192,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10314,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[336,1160,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10315,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[336,1128,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10316,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[336,1096,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10317,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[141.0400390625,980.06396484375,0,152,184,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,10318,[],[[0]],[0,"Default",0,1]],[[504,800,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10320,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[536,800,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10321,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[472,800,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10322,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[672,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10319,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[640,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10323,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[552,776,0,8,96,0,1.570796370506287,1,0,0,0,0,[]],67,10324,[],[[1]],[0,0]],[[464,720,0,64,8,0,1.570796370506287,1,0,0,0,0,[]],45,10325,[],[[0],[1]],[0,0]],[[552,720,0,64,8,0,1.570796370506287,1,0,0,0,0,[]],45,10326,[],[[0],[1]],[0,0]],[[504,760,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10327,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[832,800,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10328,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[832,768,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10329,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[832,736,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10330,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[832,896,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10331,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[832,864,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10332,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[832,832,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10333,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1888,1280,0,8,680,0,1.570796370506287,1,0,0,0,0,[]],67,10334,[],[[1]],[0,0]],[[1888,976,0,8,680,0,1.570796370506287,1,0,0,0,0,[]],67,10335,[],[[1]],[0,0]],[[1880,976,0,8,312,0,0,1,0,0,0,0,[]],67,10336,[],[[1]],[0,0]],[[856,1392,0,72,9,0,0,1,0,0,0,0,[]],51,10337,[],[[0],[1],[1,100,""]],[0,0]],[[1288,1176,0,104,9,0,1.570796370506287,1,0,0,0,0,[]],51,10338,[],[[0],[1],[1,100,""]],[0,0]],[[952,1512,0,32,9,0,0,1,0,0,0,0,[]],51,10339,[],[[0],[1],[1,100,""]],[0,0]],[[1208,1176,0,160,8,0,0,1,0,0,0,0,[]],45,10340,[],[[0],[1]],[0,0]],[[1304,1264,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10341,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1336,1264,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10342,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1368,1264,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10343,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1400,1264,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10344,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1432,1264,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10345,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,1264,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10346,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1496,1264,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10347,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,1264,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10348,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1560,1264,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10349,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1592,1264,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10350,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1624,1264,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10351,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1656,1264,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10352,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1688,1264,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10353,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1720,1264,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10354,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1752,1264,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10355,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1800,1264,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10358,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1832,1264,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10359,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1864,1264,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10360,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1224,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10356,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1256,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10357,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1288,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10361,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1320,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10362,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1352,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10363,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1384,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10364,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1416,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10365,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1448,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10366,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1480,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10367,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1512,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10368,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10369,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1576,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10370,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1608,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10371,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1640,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10372,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10373,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1704,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10374,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1736,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10375,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1768,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10376,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1800,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10377,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1832,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10378,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1864,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10379,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[747,1151,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,846,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]]],[]],["UI",2,438539905421414,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,925818108645309,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,596070738526571,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,197173880617954,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,520701841585900,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,837209047512144,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,593068260486296,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 21",850,2400,true,"Levels",270332673925870,[["Background",0,676958727605149,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[-101,105,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1423,[["A way up"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,543619172481489,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[234.0000610351563,94,0,2192,9,0,1.570796370506287,1,0,0,0,0,[]],51,924,[],[[0],[1],[1,100,""]],[0,0]],[[650,94,0,2192,9,0,1.570796370506287,1,0,0,0,0,[]],51,925,[],[[0],[1],[1,100,""]],[0,0]],[[226,94,0,416,9,0,0,1,0,0,0,0,[]],51,926,[],[[0],[1],[1,100,""]],[0,0]],[[450,206,0,97,192,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,927,[],[[0]],[0,"Default",0,1]],[[224,2280,0,424,9,0,0,1,0,0,0,0,[]],51,929,[],[[0],[1],[1,100,""]],[0,0]],[[304,2264,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,939,[[0.6],[0]],[[0]],[0,"Default",0,1]],[[416,2064,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,985,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[384,2032,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,986,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[352,2064,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,987,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[384,2096,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,988,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,2048,0,32,32,0,0,1,0,0,0,0,[]],51,989,[],[[0],[1],[1,100,""]],[0,0]],[[234,302,0,416,8,0,0,1,0,0,0,0,[]],45,943,[],[[0],[1]],[0,0]],[[588,1256,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,922,[["level21"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[296,1816,0,300,117,0,0,1,0,0,0,0,[[]]],61,5612,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,70,0,0,0,0,0,"",-1,0]],[[560,2264,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,930,[[0.6],[0]],[[0]],[0,"Default",0,1]],[[528,2064,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,931,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[496,2032,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,932,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[464,2064,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,933,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[496,2096,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,934,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[480,2048,0,32,32,0,0,1,0,0,0,0,[]],51,935,[],[[0],[1],[1,100,""]],[0,0]],[[444,2048,0,40,9,0,1.570796370506287,1,0,0,0,0,[]],51,936,[],[[0],[1],[1,100,""]],[0,0]],[[440,2104,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,938,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[440,2032,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,937,[[0.6],[0]],[[0]],[0,"Default",0,1]],[[424,2048,0,32,9,0,0,1,0,0,0,0,[]],51,940,[],[[0],[1],[1,100,""]],[0,0]],[[320,1856,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,941,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[288,1824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,942,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[256,1856,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,944,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[288,1888,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,945,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[272,1840,0,32,32,0,0,1,0,0,0,0,[]],51,946,[],[[0],[1],[1,100,""]],[0,0]],[[616,1856,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,947,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[584,1824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,948,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[552,1856,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,949,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[584,1888,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,950,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[568,1840,0,32,32,0,0,1,0,0,0,0,[]],51,951,[],[[0],[1],[1,100,""]],[0,0]],[[336,1776,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,954,[[0.6],[0]],[[0]],[0,"Default",0,1]],[[468,1736,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,956,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[436,1704,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,957,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[404,1736,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,958,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[436,1768,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,959,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[420,1720,0,32,32,0,0,1,0,0,0,0,[]],51,960,[],[[0],[1],[1,100,""]],[0,0]],[[320,1792,0,32,8,0,0,1,0,0,0,0,[]],45,952,[],[[0],[1]],[0,0]],[[536,1776,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,953,[[0.6],[0]],[[0]],[0,"Default",0,1]],[[520,1792,0,32,8,0,0,1,0,0,0,0,[]],45,955,[],[[0],[1]],[0,0]],[[436,1616,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,964,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[420,1496,0,32,104,0,0,1,0,0,0,0,[]],51,965,[],[[0],[1],[1,100,""]],[0,0]],[[568,1512,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,966,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[536,1544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,969,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[448,1496,0,104,32,0,0,1,0,0,0,0,[]],51,970,[],[[0],[1],[1,100,""]],[0,0]],[[304,1512,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,973,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[336,1544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,974,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[320,1496,0,104,32,0,0,1,0,0,0,0,[]],51,975,[],[[0],[1],[1,100,""]],[0,0]],[[436,1480,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,962,[[0.6],[0]],[[0]],[0,"Default",0,1]],[[536,712,0,592,9,0,1.570796370506287,1,0,0,0,0,[]],51,967,[],[[0],[1],[1,100,""]],[0,0]],[[360.0000305175781,712,0,592,9,0,1.570796370506287,1,0,0,0,0,[]],51,972,[],[[0],[1],[1,100,""]],[0,0]],[[444,1240,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,977,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[444,1200,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,978,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[428,1216,0,32,9,0,0,1,0,0,0,0,[]],51,979,[],[[0],[1],[1,100,""]],[0,0]],[[360,1296,0,168,8,0,0,1,0,0,0,0,[]],45,976,[],[[0],[1]],[0,0]],[[512,736,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,995,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[512,696,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,996,[[0.6],[0]],[[0]],[0,"Default",0,1]],[[496,712,0,31.005859375,9,0,0,1,0,0,0,0,[]],51,997,[],[[0],[1],[1,100,""]],[0,0]],[[376,736,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,998,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[376,696,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,999,[[0.6],[0]],[[0]],[0,"Default",0,1]],[[232,712,0,160,9,0,0,1,0,0,0,0,[]],51,1000,[],[[0],[1],[1,100,""]],[0,0]],[[440,936,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1001,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[424,952,0,32,9,0,0,1,0,0,0,0,[]],51,1003,[],[[0],[1],[1,100,""]],[0,0]],[[368,1544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,961,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[400,1544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,963,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[504,1544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,968,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[472,1544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,971,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,1480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1004,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[504,1480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1010,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[436,416,0,408,240,0,0,1,0.5,0.5,0,0,[]],43,1011,[[0.8],[0]],[[0]],[0,"Default",0,1]],[[232,1296,0,120,8,0,0,1,0,0,0,0,[]],51,1012,[],[[0],[1],[1,100,""]],[0,0]],[[536,1296,0,112,8,0,0,1,0,0,0,0,[]],51,1013,[],[[0],[1],[1,100,""]],[0,0]],[[232,712,0,120,8,0,0,1,0,0,0,0,[]],45,1014,[],[[0],[1]],[0,0]],[[536,712,0,112,8,0,0,1,0,0,0,0,[]],45,1025,[],[[0],[1]],[0,0]],[[584,1320,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],163,1026,[],[[0]],[0,"Default",0,1]],[[263.2000122070313,1090.87646484375,0,112,587.53466796875,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,1027,[],[[0]],[0,"Default",0,1]],[[-78.08001708984375,1096,0,128,584,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,1028,[],[[0]],[0,"Default",0,1]],[[442,2180,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,928,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]]],[]],["UI",2,181247006927537,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,507304762861697,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,871669452485458,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,591077201322484,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,960139182490368,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,426148070192330,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,365703797396530,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 22",3000,4000,true,"Levels",187856944471573,[["Background",0,392949102820102,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[-88,64,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1424,[["Iterations"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,309195168823885,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[176,216,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,1187,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[128,528,0,360,9,0,0,1,0,0,0,0,[]],51,1190,[],[[0],[1],[1,100,""]],[0,0]],[[264,448,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],43,1203,[[0.7],[1]],[[0]],[0,"Default",0,1]],[[136,104,0,432,9,0,1.570796370506287,1,0,0,0,0,[]],51,1204,[],[[0],[1],[1,100,""]],[0,0]],[[152,512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1208,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[184,512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1209,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[216,512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1210,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2192,2656,0,97,192,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,1214,[],[[0]],[0,"Default",0,1]],[[2304,2352,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1227,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,2320,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1228,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,2288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1229,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,2256,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1230,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,2352,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1231,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,2320,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1232,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,2288,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1233,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,2256,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1234,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,2480,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1235,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,2448,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1236,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,2416,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1237,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,2384,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1238,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2048,2752,0,280,9,0,0,1,0,0,0,0,[]],51,1239,[],[[0],[1],[1,100,""]],[0,0]],[[2056,2240,0,520,9,0,1.570796370506287,1,0,0,0,0,[]],51,1240,[],[[0],[1],[1,100,""]],[0,0]],[[2328,2240,0,512,9,0,1.570796370506287,1,0,0,0,0,[]],51,1241,[],[[0],[1],[1,100,""]],[0,0]],[[312,264,0,288,117,0,0,1,0,0,0,0,[[]]],61,5613,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,70,0,0,0,0,0,"",-1,0]],[[2280,2720,0,56,56,0,0,1,0.5,0.5,0,0,[]],60,4610,[["level22"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[128,280,0,96,9,0,0,1,0,0,0,0,[]],51,1133,[],[[0],[1],[1,100,""]],[0,0]],[[800,112,0,424,9,0,1.570796370506287,1,0,0,0,0,[]],51,1134,[],[[0],[1],[1,100,""]],[0,0]],[[248,512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1135,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[280,512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1138,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[312,512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1139,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[344,512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1140,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[776,352,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1142,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[776,320,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1143,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[776,288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1144,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[776,256,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1145,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[776,224,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1146,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[776,192,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1147,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[776,160,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1148,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[776,128,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1149,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[776,480,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1150,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[776,448,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1151,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[776,416,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1152,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[776,384,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1153,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[576,528,0,224,9,0,0,1,0,0,0,0,[]],51,1155,[],[[0],[1],[1,100,""]],[0,0]],[[376,512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1156,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[408,512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1157,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[440,512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1158,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[472,512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1159,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[592,512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1160,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[624,512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1161,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[656,512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1162,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[688,512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1163,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1164,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[752,512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1165,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[480,960,0,360,9,0,0,1,0,0,0,0,[]],51,1154,[],[[0],[1],[1,100,""]],[0,0]],[[616,880,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],43,1167,[[0.75],[1]],[[0]],[0,"Default",0,1]],[[488,536,0,432,9,0,1.570796370506287,1,0,0,0,0,[]],51,1184,[],[[0],[1],[1,100,""]],[0,0]],[[504,944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1185,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[536,944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1186,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[568,944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1188,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[480,712,0,96,9,0,0,1,0,0,0,0,[]],51,1189,[],[[0],[1],[1,100,""]],[0,0]],[[1152,544,0,384,9,0,1.570796370506287,1,0,0,0,0,[]],51,1201,[],[[0],[1],[1,100,""]],[0,0]],[[600,944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1202,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[632,944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1205,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[664,944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1206,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[696,944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1207,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,784,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1211,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,752,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1212,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,720,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1213,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,688,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1242,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,656,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1243,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,624,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1244,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,592,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1245,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,560,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1246,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,912,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1247,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,880,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1248,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,848,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1249,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,816,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1250,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[928,960,0,104,9,0,0,1,0,0,0,0,[]],51,1251,[],[[0],[1],[1,100,""]],[0,0]],[[728,944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12282,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[760,944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12283,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[792,944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12287,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[824,944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12288,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[952,944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12289,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1016,944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12290,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[840,960,0,128,9,0,0,1,0,0,0,0,[]],51,12303,[],[[0],[1],[1,100,""]],[0,0]],[[856,944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12304,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[888,944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12305,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[920,944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12306,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[984,944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12307,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1024,1384,0,360,9,0,0,1,0,0,0,0,[]],51,12301,[],[[0],[1],[1,100,""]],[0,0]],[[1160,1304,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],43,12302,[[0.75],[1]],[[0]],[0,"Default",0,1]],[[1032,960,0,432,9,0,1.570796370506287,1,0,0,0,0,[]],51,12308,[],[[0],[1],[1,100,""]],[0,0]],[[1048,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12309,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1080,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12310,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1112,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12311,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1024,1136,0,96,9,0,0,1,0,0,0,0,[]],51,12312,[],[[0],[1],[1,100,""]],[0,0]],[[1696,968,0,416,9,0,1.570796370506287,1,0,0,0,0,[]],51,12313,[],[[0],[1],[1,100,""]],[0,0]],[[1144,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12314,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1176,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12315,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1208,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12316,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12317,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,1208,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12318,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,1176,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12319,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,1144,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12320,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,1112,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12321,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,1080,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12322,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,1048,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12323,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,1016,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12324,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,984,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12325,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,1336,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12326,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,1304,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12327,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,1272,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12328,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,1240,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12329,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1496,1384,0,200,9,0,0,1,0,0,0,0,[]],51,12330,[],[[0],[1],[1,100,""]],[0,0]],[[1272,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12331,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1304,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12332,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1336,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12333,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1368,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12334,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1512,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12335,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1576,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12336,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1384,1384,0,64,9,0,0,1,0,0,0,0,[]],51,12337,[],[[0],[1],[1,100,""]],[0,0]],[[1400,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12338,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1432,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12339,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12341,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1608,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12340,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12342,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1640,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12343,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1440,1808,0,360,9,0,0,1,0,0,0,0,[]],51,12344,[],[[0],[1],[1,100,""]],[0,0]],[[1576,1728,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],43,12345,[[0.75],[1]],[[0]],[0,"Default",0,1]],[[1448,1384,0,432,9,0,1.570796370506287,1,0,0,0,0,[]],51,12346,[],[[0],[1],[1,100,""]],[0,0]],[[1464,1792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12347,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1496,1792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12348,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,1792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12349,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2112,1392,0,416,9,0,1.570796370506287,1,0,0,0,0,[]],51,12351,[],[[0],[1],[1,100,""]],[0,0]],[[1560,1792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12352,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1592,1792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12353,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1624,1792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12354,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1656,1792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12355,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2088,1632,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12356,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2088,1600,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12357,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2088,1568,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12358,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2088,1536,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12359,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2088,1504,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12360,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2088,1472,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12361,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2088,1440,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12362,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2088,1408,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12363,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2088,1760,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12364,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2088,1728,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12365,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2088,1696,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12366,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2088,1664,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12367,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1896,1808,0,216,9,0,0,1,0,0,0,0,[]],51,12368,[],[[0],[1],[1,100,""]],[0,0]],[[1688,1792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12369,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1720,1792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12370,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1752,1792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12371,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1784,1792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12372,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1912,1792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12373,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1976,1792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12374,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1944,1792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12378,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2008,1792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12379,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,1792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12380,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2040,1792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12381,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1800,1992,0,88,8,0,0,1,0,0,0,0,[]],45,12350,[],[[1],[1]],[0,0]],[[1512,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12382,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1448,1576,0,96,9,0,0,1,0,0,0,0,[]],51,12383,[],[[0],[1],[1,100,""]],[0,0]],[[1792,2232,0,360,9,0,0,1,0,0,0,0,[]],51,12375,[],[[0],[1],[1,100,""]],[0,0]],[[1928,2152,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],43,12376,[[0.8],[1]],[[0]],[0,"Default",0,1]],[[1800,1808,0,432,9,0,1.570796370506287,1,0,0,0,0,[]],51,12377,[],[[0],[1],[1,100,""]],[0,0]],[[1816,2216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12384,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1848,2216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12385,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1880,2216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12386,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2464,1816,0,416,9,0,1.570796370506287,1,0,0,0,0,[]],51,12387,[],[[0],[1],[1,100,""]],[0,0]],[[1912,2216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12388,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1944,2216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12389,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1976,2216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12390,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2008,2216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12391,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2440,2056,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12392,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2440,2024,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12393,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2440,1992,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12394,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2440,1960,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12395,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2440,1928,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12396,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2440,1896,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12397,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2440,1864,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12398,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2440,1832,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12399,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2440,2184,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12400,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2440,2152,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12401,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2440,2120,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12402,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2440,2088,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12403,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2216,2232,0,248,9,0,0,1,0,0,0,0,[]],51,12404,[],[[0],[1],[1,100,""]],[0,0]],[[2040,2216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12405,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,2216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12406,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2104,2216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12407,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2136,2216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12408,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2264,2216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12409,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2328,2216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12410,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2296,2216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12411,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2360,2216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12412,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2424,2216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12413,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2392,2216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12414,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2232,2216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12415,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2056,2496,0,264,8,0,0,1,0,0,0,0,[]],45,12416,[],[[1],[1]],[0,0]]],[]],["UI",2,973927760647422,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,903486246125433,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,929292112567299,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,403553218407287,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,290262817267609,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,127752249614589,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,683685013026432,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 23",4000,2000,true,"Levels",654532845993925,[["Background",0,569259323120807,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[-90,68,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1425,[["Leap of faith"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,231605047204829,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[2160,584,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,1088,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[2096,648,0,224,9,0,0,1,0,0,0,0,[]],51,1089,[],[[0],[1],[1,100,""]],[0,0]],[[2584,648,0,240,9,0,0,1,0,0,0,0,[]],51,1090,[],[[0],[1],[1,100,""]],[0,0]],[[2944,752,0,80,8,0,0,1,0,0,0,0,[]],45,1091,[],[[0],[1]],[0,0]],[[3080,248,0,600,9,0,1.570796370506287,1,0,0,0,0,[]],51,1092,[],[[0],[1],[1,100,""]],[0,0]],[[3056,360,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1093,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3056,392,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1094,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3056,424,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1095,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3056,456,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1096,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3056,488,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1097,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3056,520,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1098,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3056,552,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1099,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3056,584,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1100,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3056,616,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1101,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3056,648,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1102,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3056,680,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1103,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3056,712,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1104,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2816,752,0,128,9,0,0,1,0,0,0,0,[]],51,1105,[],[[0],[1],[1,100,""]],[0,0]],[[2824,656,0,360,9,0,1.570796370506287,1,0,0,0,0,[]],51,1106,[],[[0],[1],[1,100,""]],[0,0]],[[3024,752,0,56,9,0,0,1,0,0,0,0,[]],51,1107,[],[[0],[1],[1,100,""]],[0,0]],[[2872,736,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1108,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2896,736,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1109,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2928,736,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1110,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2840,736,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1111,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2816,1008,0,760,9,0,0,1,0,0,0,0,[]],51,1112,[],[[0],[1],[1,100,""]],[0,0]],[[3184,864,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1113,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3216,864,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1114,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3248,864,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1115,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3072,840,0,232,9,0,0,1,0,0,0,0,[]],51,1116,[],[[0],[1],[1,100,""]],[0,0]],[[3576,0,0,1016,9,0,1.570796370506287,1,0,0,0,0,[]],51,1117,[],[[0],[1],[1,100,""]],[0,0]],[[3184,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1118,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3216,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1119,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3248,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1120,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3280,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1121,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3304,792,0,56,9,0,1.570796370506287,1,0,0,0,0,[]],51,1122,[],[[0],[1],[1,100,""]],[0,0]],[[3184,288,0,184,9,0,1.570796370506287,1,0,0,0,0,[]],51,1123,[],[[0],[1],[1,100,""]],[0,0]],[[3496,504,0,112,9,0,1.570796370506287,1,0,0,0,0,[]],51,1124,[],[[0],[1],[1,100,""]],[0,0]],[[3080,464,0,104,8,0,0,1,0,0,0,0,[]],45,1125,[],[[0],[1]],[0,0]],[[3188,824,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1126,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[2096,240,0,984,9,0,0,1,0,0,0,0,[]],51,1128,[],[[0],[1],[1,100,""]],[0,0]],[[1048,1464,0,576,9,0,0,1,0,0,0,0,[]],51,1136,[],[[0],[1],[1,100,""]],[0,0]],[[1344,1368,0,97,192,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,1137,[],[[0]],[0,"Default",0,1]],[[3488,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1141,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1936,120,0,218,64,0,0,1,0,0,0,0,[]],46,1166,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Believe and Dive",1,0,50,0,0,0,0,0,"",-1,0]],[[2984,320,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,5492,[["level23"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[2272,464,0,288,117,0,0,1,0,0,0,0,[[]]],61,5614,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,70,0,0,0,0,0,"",-1,0]],[[2560,664,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12155,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2528,664,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12156,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2496,664,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12157,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2464,664,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12158,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2432,664,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12159,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2400,664,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12160,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2368,664,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12161,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2336,664,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12162,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2584,648,0,40,9,0,1.570796370506287,1,0,0,0,0,[]],51,12163,[],[[0],[1],[1,100,""]],[0,0]],[[2320,656,0,32,9,0,1.570796370506287,1,0,0,0,0,[]],51,12164,[],[[0],[1],[1,100,""]],[0,0]],[[2312,680,0,272,9,0,0,1,0,0,0,0,[]],51,12165,[],[[0],[1],[1,100,""]],[0,0]],[[2104,240,0,416,9,0,1.570796370506287,1,0,0,0,0,[]],51,1130,[],[[0],[1],[1,100,""]],[0,0]],[[3056,296,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1127,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3056,328,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1129,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3056,264,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1131,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2808,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1132,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2776,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12166,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2744,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12167,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2560,352,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12168,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2528,352,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12169,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2496,352,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12170,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2464,352,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12171,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2432,352,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12172,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2400,352,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12173,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2368,352,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12174,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2336,352,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12175,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2320,328,0,256,8,0,0,1,0,0,0,0,[]],51,12176,[],[[0],[1],[1,100,""]],[0,0]],[[2576,128,0,200,8,0,1.570796370506287,1,0,0,0,0,[]],45,12177,[],[[0],[1]],[0,0]],[[2328,128,0,200,8,0,1.570796370506287,1,0,0,0,0,[]],45,12178,[],[[0],[1]],[0,0]],[[2896,432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12179,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2864,432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12180,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2832,432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12181,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2800,432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12182,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2768,432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12183,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2736,432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12184,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2704,432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12185,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2672,432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12186,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2656,408,0,256,8,0,0,1,0,0,0,0,[]],51,12187,[],[[0],[1],[1,100,""]],[0,0]],[[2912,40,0,368,8,0,1.570796370506287,1,0,0,0,0,[]],45,12188,[],[[0],[1]],[0,0]],[[2664,48,0,360,8,0,1.570796370506287,1,0,0,0,0,[]],45,12189,[],[[0],[1]],[0,0]],[[2104,392,0,80,8,0,0,1,0,0,0,0,[]],45,12190,[],[[0],[1]],[0,0]],[[2432,264,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12191,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2400,264,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12192,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2368,264,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12193,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2528,264,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12194,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2496,264,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12195,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2464,264,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12196,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2768,312,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12197,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2736,352,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12198,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2704,392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12199,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2864,392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12200,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2832,352,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12201,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2800,312,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12202,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2720,368,0,128,40,0,0,1,0,0,0,0,[]],51,12203,[],[[0],[1],[1,100,""]],[0,0]],[[2752,328,0,64,40,0,0,1,0,0,0,0,[]],51,12204,[],[[0],[1],[1,100,""]],[0,0]],[[3280,864,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12205,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3520,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12206,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3552,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12207,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3296,608,0,192,9,0,0,1,0,0,0,0,[]],51,12208,[],[[0],[1],[1,100,""]],[0,0]],[[3320,632,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12209,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3352,632,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12210,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3384,632,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12211,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3416,632,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12212,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3448,632,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12213,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3480,632,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12214,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3304,608,0,136,9,0,1.570796370506287,1,0,0,0,0,[]],51,12215,[],[[0],[1],[1,100,""]],[0,0]],[[3304,744,0,48,8,0,1.570796370506287,1,0,0,0,0,[]],45,12216,[],[[0],[1]],[0,0]],[[1816,0,0,1760,9,0,0,1,0,0,0,0,[]],51,12217,[],[[0],[1],[1,100,""]],[0,0]],[[3176,288,0,392,9,0,0,1,0,0,0,0,[]],51,12218,[],[[0],[1],[1,100,""]],[0,0]],[[3392,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12219,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12220,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3456,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12221,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3488,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12222,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3520,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12223,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3552,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12224,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3200,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12225,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3232,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12226,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3264,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12227,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3296,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12228,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3328,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12229,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3360,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12230,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3312,592,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12231,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3344,592,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12232,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3440,592,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12233,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3472,592,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12234,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3096,824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12235,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3128,824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12236,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3160,824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12237,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3216,824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12238,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3248,824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12239,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3280,824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12240,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3200,272,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12241,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3232,272,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12242,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3264,272,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12243,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3512,112,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12244,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3480,112,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12245,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3448,112,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12246,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3416,112,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12247,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3384,112,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12248,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3352,112,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12249,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3320,112,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12250,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3288,112,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12251,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3272,88,0,256,8,0,0,1,0,0,0,0,[]],51,12252,[],[[0],[1],[1,100,""]],[0,0]],[[3528,8,0,80,8,0,1.570796370506287,1,0,0,0,0,[]],45,12253,[],[[0],[1]],[0,0]],[[3280,8,0,80,8,0,1.570796370506287,1,0,0,0,0,[]],45,12254,[],[[0],[1]],[0,0]],[[3384,24,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12255,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3352,24,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12256,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3320,24,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12257,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[3480,24,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12258,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[3448,24,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12259,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3416,24,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12260,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2720,48,0,128,40,0,0,1,0,0,0,0,[]],51,12261,[],[[0],[1],[1,100,""]],[0,0]],[[2752,88,0,64,32,0,0,1,0,0,0,0,[]],51,12262,[],[[0],[1],[1,100,""]],[0,0]],[[2736,104,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12263,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2704,64,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12264,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2768,136,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12265,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2800,136,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12266,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2832,104,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12267,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2864,64,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12268,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2896,24,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12269,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2864,24,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12270,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2832,24,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12271,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2800,24,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12272,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2768,24,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12273,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2736,24,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12274,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2704,24,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12275,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2672,24,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12276,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2656,40,0,256,8,0,0,1,0,0,0,0,[]],51,12277,[],[[0],[1],[1,100,""]],[0,0]],[[2856,224,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12278,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2888,224,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12279,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2928,224,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12280,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2960,224,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12281,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2680,224,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12284,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2712,224,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12285,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2432,224,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12286,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2464,224,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12291,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2560,104,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12292,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2528,104,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12293,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2496,104,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12294,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2464,104,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12295,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2432,104,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12296,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2400,104,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12297,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2368,104,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12298,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2336,104,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12299,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2320,120,0,256,8,0,0,1,0,0,0,0,[]],51,12300,[],[[0],[1],[1,100,""]],[0,0]]],[]],["UI",2,953146856614787,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,361544305458384,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,502565668509943,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,453367048113942,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,636024912234970,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,683380568843023,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,381844562537205,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 24",2000,2000,true,"Levels",136570707965366,[["Background",0,643836135136504,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[-87,51,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1426,[["Maelstrom"],["{\"c2array\":true,\"size\":[265,6,1],\"data\":[[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1474.6866315032808],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1470.705581008884],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1462.3761213821028],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1446.4427880487694],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1438.0941972955125],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1429.7059247996283],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1421.32004217662],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1412.9308137275464],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1404.5884400673733],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1396.1882192764656],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1387.8152433158489],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1379.477174095113],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1371.0817323888689],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1362.7183183314896],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1354.3950773438714],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1346.0068048340765],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1337.6180543670528],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1329.2833332054704],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1320.880245096638],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1312.516352912118],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1304.1395525262067],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1295.7570158623532],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1287.376869265287],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1279.0474096385058],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1270.6271199457567],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1262.2866593382314],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1253.9136833776147],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1245.5435758550123],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1237.1768149984784],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1228.7732490115072],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1220.4289623466866],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1212.0540741494226],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1203.6906600920433],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1195.3200744843004],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1186.9547479502737],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1178.6080701075825],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1170.2035483872419],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1161.8391780785814],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1153.4432584461981],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1145.0989717813775],[1495.9561944947686],[3.9413414317528896e-7],[\"slide\"],[0],[-1]],[[1136.7491507708442],[1487.3262744940926],[3.9413414317528896e-7],[\"jump\"],[0],[-1]],[[1128.3595830876593],[1479.07235793551],[3.9413414317528896e-7],[\"jump\"],[0],[-1]],[[1119.953915479024],[1471.2212875451899],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[1119.953915479024],[1466.662635483237],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[1119.953915479024],[1462.50153433521],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[1119.953915479024],[1458.7453067535014],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[1119.953915479024],[1455.4243423972073],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[1119.953915479024],[1452.501983040289],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[1119.953915479024],[1449.9995903859328],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[1119.953915479024],[1447.9198173998009],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[1119.953915479024],[1446.2391554663175],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[1119.953915479024],[1444.9853229044834],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[1119.953915479024],[1444.1454386292132],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[1119.953915479024],[1443.7214030981995],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[1119.953915479024],[1443.7125359078557],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[1119.953915479024],[1452.427525319373],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[1119.953915479024],[1461.5531306257824],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[1119.953915479024],[1471.1531506805477],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[1119.953915479024],[1481.1302654658127],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[1119.953915479024],[1491.5698515900206],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"plunge\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[1119.953915479024],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1115.9854980906146],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1107.580020648904],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1099.286923372507],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1083.3535900391737],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1074.9767896532624],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1066.6301117966527],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1058.2466191354315],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1049.8722089963076],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1041.5054481258592],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1033.1391653645512],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1024.759496792625],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1016.3936921434577],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[1008.0183258910535],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[999.6649531131367],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[991.2795484792681],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[982.9156562947483],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[974.5369437681895],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[966.1372008625123],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[957.7718743284855],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[949.4180233604276],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[941.0617815144979],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[932.6553483495101],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[924.290499919709],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[915.9739565133194],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[907.5904638520983],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[899.234700167393],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[890.8406922575665],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[882.4500299359851],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[874.1038303284354],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[865.72177166081],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[857.3569232449239],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[848.9968561336991],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[840.6052379167493],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[832.2150535543071],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[823.8669410241915],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[1],[-1]],[[815.4801024458152],[1495.9775441277295],[3.9413414317528896e-7],[\"slide\"],[0],[-1]],[[807.1264611307206],[1487.341384124941],[3.9413414317528896e-7],[\"jump\"],[0],[-1]],[[798.7290597761082],[1479.0780686631763],[3.9413414317528896e-7],[\"jump\"],[0],[-1]],[[790.3955380278258],[1471.289360742779],[3.9413414317528896e-7],[\"jump\"],[0],[-1]],[[782.0152382976842],[1463.873316387915],[3.9413414317528896e-7],[\"jump\"],[0],[-1]],[[773.6555611125459],[1456.8898583039838],[3.9413414317528896e-7],[\"jump\"],[0],[-1]],[[765.3230453352845],[1450.3407386919023],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1445.7283423256213],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1441.5847554051168],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1437.8267599559003],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1434.5005414823338],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1431.600418150621],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1429.1021467921169],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1427.019410270578],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1425.3496516982293],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1424.0981330194036],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1423.2619754768532],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1422.8407842774004],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1422.835727141608],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1431.534223635542],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1440.7401379784912],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1450.2901442141465],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1460.2578366443145],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1470.6436640269667],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1481.4642674315546],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1492.6771166374997],[3.9413414317528896e-7],[\"pound\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"plunge\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]],[[765.3230453352845],[1495.941619705769],[3.9413414317528896e-7],[\"idle\"],[0],[-1]]]}"],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,304044364996528,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[704,608,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,425,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[0,"Default",0,1]],[[656,704,0,248,8,0,0,1,0,0,0,0,[]],51,426,[],[[0],[1],[1,100,""]],[0,0]],[[1688,544,0,992,8,0,1.570796370506287,1,0,0,0,0,[]],51,428,[],[[0],[1],[1,100,""]],[0,0]],[[880,1528,0,808,8,0,0,1,0,0,0,0,[]],51,0,[],[[0],[1],[1,100,""]],[0,0]],[[664.0000610351562,376,0,1152,8,0,1.570796370506287,1,0,0,0,0,[]],51,427,[],[[0],[1],[1,100,""]],[0,0]],[[1528,704,0,696,8,0,1.570796370506287,1,0,0,0,0,[]],51,429,[],[[0],[1],[1,100,""]],[0,0]],[[808,1392,0,712,8,0,0,1,0,0,0,0,[]],51,430,[],[[0],[1],[1,100,""]],[0,0]],[[816,816,0,584,8,0,1.570796370506287,1,0,0,0,0,[]],51,431,[],[[0],[1],[1,100,""]],[0,0]],[[808,864,0,600,8,0,0,1,0,0,0,0,[]],51,432,[],[[0],[1],[1,100,""]],[0,0]],[[1408,872,0,384,8,0,1.570796370506287,1,0,0,0,0,[]],51,433,[],[[0],[1],[1,100,""]],[0,0]],[[952,1248,0,456,8,0,0,1,0,0,0,0,[]],51,434,[],[[0],[1],[1,100,""]],[0,0]],[[1096,1152,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,435,[],[[0]],[0,"Default",0,1]],[[952,968,0,288,8,0,1.570796370506287,1,0,0,0,0,[]],51,436,[],[[0],[1],[1,100,""]],[0,0]],[[952,968,0,336,8,0,0,1,0,0,0,0,[]],51,437,[],[[0],[1],[1,100,""]],[0,0]],[[1288,976,0,184,8,0,1.570796370506287,1,0,0,0,0,[]],51,438,[],[[0],[1],[1,100,""]],[0,0]],[[752,624,0,80,9,0,1.570796370506287,1,0,0,0,0,[]],51,439,[],[[0],[1],[1,100,""]],[0,0]],[[968,704,0,0,9,0,1.570796370506287,1,0,0,0,0,[]],51,441,[],[[0],[1],[1,100,""]],[0,0]],[[752,624,0,216,8,0,0,1,0,0,0,0,[]],51,442,[],[[0],[1],[1,100,""]],[0,0]],[[789,568,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,443,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[821,568,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,444,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[853,568,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,445,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[885,568,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,446,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[917,568,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,447,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[984,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,448,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1016,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,449,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1144,688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,450,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[773,544,0,160,8,0,0,1,0,0,0,0,[]],51,440,[],[[0],[1],[1,100,""]],[0,0]],[[789,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,453,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[821,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,454,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[853,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,455,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[885,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,456,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[917,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,457,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1176,688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,459,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1208,688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,460,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,461,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1272,688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,462,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1304,688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,463,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1048,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,451,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,704,0,400,8,0,0,1,0,0,0,0,[]],51,458,[],[[0],[1],[1,100,""]],[0,0]],[[1088,704,0,40,8,0,0,1,0,0,0,0,[]],45,464,[],[[0],[1]],[0,0]],[[1528,912,0,72,9,0,0,1,0,0,0,0,[]],51,466,[],[[0],[1],[1,100,""]],[0,0]],[[1568,1128,0,64,8,0,0,1,0,0,0,0,[]],45,468,[],[[0],[1]],[0,0]],[[1544,992,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,467,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,1024,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,470,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,1056,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,471,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,1088,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,472,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,1120,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,520,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,1152,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,521,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,1184,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,522,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,1216,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,523,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,1248,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,524,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,1280,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,525,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,1312,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,526,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,1344,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,527,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1664,1024,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,529,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1664,1056,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,530,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1664,1088,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,531,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1664,1120,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,532,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1664,1152,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,533,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1664,1184,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,534,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1664,1216,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,535,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1664,1248,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,536,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1664,1280,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,537,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1664,1312,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,538,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1664,1344,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,539,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1668,828,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,540,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1668,852,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,541,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1668,876,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,542,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,896,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,545,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,744,0,80,8,0,0,1,0,0,0,0,[]],45,465,[],[[0],[1]],[0,0]],[[1584,896,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,544,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1608,992,0,72,9,0,0,1,0,0,0,0,[]],51,548,[],[[0],[1],[1,100,""]],[0,0]],[[984,808,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,555,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[968,712,0,80,9,0,1.570796370506287,1,0,0,0,0,[]],51,549,[],[[0],[1],[1,100,""]],[0,0]],[[1136,712,0,80,9,0,1.570796370506287,1,0,0,0,0,[]],51,550,[],[[0],[1],[1,100,""]],[0,0]],[[1224,1392,0,56,9,0,1.570796370506287,1,0,0,0,0,[]],51,551,[],[[0],[1],[1,100,""]],[0,0]],[[1384,1392,0,56,9,0,1.570796370506287,1,0,0,0,0,[]],51,552,[],[[0],[1],[1,100,""]],[0,0]],[[960,784,0,176,9,0,0,1,0,0,0,0,[]],51,553,[],[[0],[1],[1,100,""]],[0,0]],[[1216,1448,0,168,9,0,0,1,0,0,0,0,[]],51,554,[],[[0],[1],[1,100,""]],[0,0]],[[1016,808,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,556,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1048,808,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,557,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1232,1472,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,558,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1264,1472,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,559,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1296,1472,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,560,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1328,1472,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,561,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1360,1472,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,562,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1424,904,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,563,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1424,936,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,564,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1424,968,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,565,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1424,1000,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,566,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1504,1120,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,567,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1504,1152,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,568,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1504,1184,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,569,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1504,1216,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,570,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1120,1376,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,571,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1152,1376,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,572,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1184,1376,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,573,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1216,1376,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,574,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1248,1376,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,575,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1280,1376,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,576,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[680,728,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,577,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[712,728,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,578,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[744,728,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,579,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[680,1512,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,580,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[712,1512,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,581,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[744,1512,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,582,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[920,1392,0,56,9,0,1.570796370506287,1,0,0,0,0,[]],51,584,[],[[0],[1],[1,100,""]],[0,0]],[[1080,1392,0,56,9,0,1.570796370506287,1,0,0,0,0,[]],51,585,[],[[0],[1],[1,100,""]],[0,0]],[[912,1448,0,168,9,0,0,1,0,0,0,0,[]],51,586,[],[[0],[1],[1,100,""]],[0,0]],[[928,1472,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,587,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[960,1472,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,588,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[992,1472,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,589,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1024,1472,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,590,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1056,1472,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,591,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[664,1192,0,144,8,0,0,1,0,0,0,0,[]],45,592,[],[[0],[1]],[0,0]],[[680,1216,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,593,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[792,1216,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,594,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[696,992,0,112,8,0,0,1,0,0,0,0,[]],45,595,[],[[0],[1]],[0,0]],[[792,1176,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,596,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[680,1176,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,597,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[680,1016,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,598,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[712,1016,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,599,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[744,1016,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,600,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[792,848,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,602,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[680,976,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,604,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[832,1264,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,605,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[928,1200,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,609,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1352,888,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,617,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1384,888,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,618,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1320,1232,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,619,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1352,1232,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,620,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1384,1232,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,621,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[664,992,0,32,9,0,0,1,0,0,0,0,[]],51,601,[],[[0],[1],[1,100,""]],[0,0]],[[1080,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,452,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1080,808,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,603,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1112,808,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,583,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1112,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,606,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[904,704,0,64,8,0,0,1,0,0,0,0,[]],45,607,[],[[0],[1]],[0,0]],[[727,1991,0,1216,9,0,0,1,0,0,0,0,[]],51,608,[],[[0],[1],[1,100,""]],[0,0]],[[816,1528,0,64,8,0,0,1,0,0,0,0,[]],45,610,[],[[0],[1]],[0,0]],[[656,1528,0,160,9,0,0,1,0,0,0,0,[]],51,611,[],[[0],[1],[1,100,""]],[0,0]],[[888,1976,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,612,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[848,1792,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,613,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[848,1832,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,615,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1592,1976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,622,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1560,1976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,623,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,1976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,624,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1496,1976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,625,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,1976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,626,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1432,1976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,627,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1400,1976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,628,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1312,1840,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,630,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1280,1840,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,631,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1248,1840,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,632,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1216,1840,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,633,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1184,1840,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,634,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1168,1816,0,160,9,0,0,1,0,0,0,0,[]],51,638,[],[[0],[1],[1,100,""]],[0,0]],[[1200,1976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,640,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1168,1976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,641,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,1976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,642,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1928,1977,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,637,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1896,1977,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,643,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1864,1977,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,644,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1832,1977,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,645,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1800,1977,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,646,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[832,1808,0,32,8,0,0,1,0,0,0,0,[]],45,614,[],[[0],[1]],[0,0]],[[1768,1976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,629,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1736,1976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,635,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1704,1976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,636,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[736,1800,0,200,9,0,1.570796370506287,1,0,0,0,0,[]],51,639,[],[[0],[1],[1,100,""]],[0,0]],[[872,1992,0,0,9,0,1.570796370506287,1,0,0,0,0,[]],51,647,[],[[0],[1],[1,100,""]],[0,0]],[[792,1949,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,5493,[["level24"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[930,497,0,288,114,0,0,1,0,0,0,0,[[]]],61,5615,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,70,0,0,0,0,0,"",-1,0]],[[1686,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,10601,[],[[0]],[0,"Default",0,1]]],[]],["UI",2,550499947346234,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,461673877175130,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,665607773210199,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,170312031169282,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,497042823604356,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,741381409412031,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,921349156695295,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 25",1350,1700,true,"Levels",899479500007981,[["Background",0,660251469795282,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,140415275891871,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[447,534,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,1192,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[596,500,0,97,192,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,1193,[],[[1]],[0,"Default",0,1]],[[340,592,0,680,9,0,0,1,0,0,0,0,[]],51,1194,[],[[1],[1],[1,100,""]],[0,0]],[[316,432,0,188.7003173828125,64,0,0,1,0,0,0,0,[]],46,1198,[[1],[1],["lvltxt25-2"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","This can be opened somehow...",1,0,50,0,0,0,0,0,"",-1,0]],[[523,392,0,9,200,0,0,1,0,0,0,0,[]],48,1199,[],[[0],[1]],[0,0]],[[532,0,0,392,9,0,1.570796370506287,1,0,0,0,0,[]],51,1195,[],[[1],[1],[1,100,""]],[0,0]],[[268,272,0,824,9,0,1.570796370506287,1,0,0,0,0,[]],51,1197,[],[[1],[1],[1,100,""]],[0,0]],[[260,272,0,144,9,0,0,1,0,0,0,0,[]],51,1200,[],[[1],[1],[1,100,""]],[0,0]],[[316,536,0,218,64,0,1.570796370506287,1,0,0,0,0,[]],46,1254,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","--->",1,0,50,0,0,0,0,0,"",-1,0]],[[340,1088,0,688,9,0,0,1,0,0,0,0,[]],51,1255,[],[[1],[1],[1,100,""]],[0,0]],[[76,1176,0,1056,9,0,0,1,0,0,0,0,[]],51,1256,[],[[1],[1],[1,100,""]],[0,0]],[[1132,0,0,1184,9,0,1.570796370506287,1,0,0,0,0,[]],51,1257,[],[[1],[1],[1,100,""]],[0,0]],[[1028,592,0,416,9,0,1.570796370506287,1,0,0,0,0,[]],51,1258,[],[[1],[1],[1,100,""]],[0,0]],[[844,0,0,600,9,0,1.570796370506287,1,0,0,0,0,[]],51,1259,[],[[1],[1],[1,100,""]],[0,0]],[[864,158,0,232,64,0,0,1,0,0,0,0,[]],46,1260,[[1],[0],["lvltxt25-1"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Sorry, nothing here...",1,0,50,0,0,0,0,0,"",-1,0]],[[84,968,0,216,9,0,1.570796370506287,1,0,0,0,0,[]],51,1261,[],[[1],[1],[1,100,""]],[0,0]],[[212,1040,0,48,9,0,0,1,0,0,0,0,[]],51,1262,[],[[1],[1],[1,100,""]],[0,0]],[[236,1024,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1263,[[0.7],[0]],[[1]],[0,"Default",0,1]],[[212,672,0,48,9,0,0,1,0,0,0,0,[]],51,1264,[],[[1],[1],[1,100,""]],[0,0]],[[236,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1265,[[0],[1]],[[1],[1]],[0,"Default",0,1]],[[236,656,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1266,[[0.7],[0]],[[1]],[0,"Default",0,1]],[[380,272,0,88,8,0,0,1,0,0,0,0,[]],45,1272,[],[[1],[1]],[0,0]],[[444,272,0,80,9,0,0,1,0,0,0,0,[]],51,1273,[],[[1],[1],[1,100,""]],[0,0]],[[156,264,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,1267,[],[[1],[1],[1,100,""]],[0,0]],[[124,664,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,1268,[],[[1],[1],[1,100,""]],[0,0]],[[478.292724609375,243.413818359375,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,1253,[[0],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[-51,30,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1270,[["Simple Mechanics"],[""],[0]],[],[1,"Default",0,1]],[[672,856,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,648,[["level25"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[527.627685546875,492.4734497070313,0,165.7147216796875,18.2294921875,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,1252,[[-1],[0],[0],[0],[0],[0],[0]],[[0],[1,0,1,1,"F 160",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[392,640,0,288,114,0,0,1,0,0,0,0,[[]]],61,1784,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","25",7,0,70,0,0,0,0,0,"",-1,0]],[[1019,1008,0,9,80,0,0,1,0,0,0,0,[]],48,10604,[],[[0],[1]],[0,0]],[[1024,1056,0,48,18.2294921875,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,10619,[[-1],[0],[0],[0],[0],[0],[0]],[[0],[1,0,1,1,"F 80",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[339,1096,0,9,80,0,0,1,0,0,0,0,[]],48,10620,[],[[0],[1]],[0,0]],[[344,1144,0,48,18.2294921875,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,10621,[[-1],[0],[0],[0],[0],[0],[0]],[[0],[1,0,1,1,"F 80",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[348,592,0,504,9,0,1.570796370506287,1,0,0,0,0,[]],51,1196,[],[[1],[1],[1,100,""]],[0,0]]],[]],["UI",2,927870292221569,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,206235447121763,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,143106196626784,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,429957008236712,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,634297511614141,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,500690507429291,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,588846042099937,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 26",2000,2000,true,"Levels",107865939470488,[["Background",0,811607237711368,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[838,701,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1427,[["Three Doors"],["{\"c2array\":true,\"size\":[83,6,1],\"data\":[[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1037.9784560431692],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1027.1631060431698],[0],[\"jump\"],[0],[1]],[[769.4110133590011],[1016.7630405246703],[0],[\"jump\"],[0],[1]],[[769.4110133590011],[1006.7782594876707],[0],[\"jump\"],[0],[1]],[[769.4110133590011],[997.2087629321691],[0],[\"jump\"],[0],[1]],[[769.4110133590011],[988.0592778471705],[0],[\"jump\"],[0],[1]],[[769.4110133590011],[979.3011178191706],[0],[\"jump\"],[0],[1]],[[769.4110133590011],[970.9815253071699],[0],[\"jump\"],[0],[1]],[[769.4110133590011],[963.0894780671703],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[958.50206180067],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[954.34518005067],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[950.6000822501702],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[947.2669413851703],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[944.3548392941702],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[941.8557446891699],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[939.7711324376703],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[938.1005485886702],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[936.8482558511703],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[936.0125441171703],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[935.5895469971703],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[935.5818597791704],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[944.3188439526704],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[953.4920104096683],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[963.05846202817],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[973.0052107561692],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[983.4073311416699],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[994.2090425166699],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[1005.4351345511693],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[1017.0808587361696],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[1029.1504126081688],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[1041.6229321326682],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[1054.5339232626693],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[1067.8377355466687],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[1081.5406928666678],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[1095.6588611341701],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[1110.2022074451684],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[1125.1660844396677],[0],[\"pound\"],[0],[1]],[[769.4110133590011],[1133.9411299766675],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1133.9411299766675],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1133.9411299766675],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1133.9411299766675],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1133.9411299766675],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1133.9411299766675],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1133.9411299766675],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1133.9411299766675],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1133.9411299766675],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1133.9411299766675],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1133.9411299766675],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1133.9411299766675],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1133.9411299766675],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1133.9411299766675],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1133.9411299766675],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1133.9411299766675],[0],[\"idle\"],[0],[1]],[[769.4110133590011],[1133.9411299766675],[0],[\"idle\"],[0],[1]]]}"],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,238044199046585,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[872,782,0,288,9,0,1.570796370506287,1,0,0,0,0,[]],51,1269,[],[[1],[1],[1,100,""]],[0,0]],[[1057,904,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,1274,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[1248,782,0,296,9,0,1.570796370506287,1,0,0,0,0,[]],51,1275,[],[[1],[1],[1,100,""]],[0,0]],[[80,1166,0,936,9,0,0,1,0,0,0,0,[]],51,1276,[],[[1],[1],[1,100,""]],[0,0]],[[864,774,0,152,9,0,0,1,0,0,0,0,[]],51,1277,[],[[1],[1],[1,100,""]],[0,0]],[[1008,998,0,96,9,0,0,1,0,0,0,0,[]],51,1278,[],[[1],[1],[1,100,""]],[0,0]],[[1096,774,0,152,9,0,0,1,0,0,0,0,[]],51,1279,[],[[1],[1],[1,100,""]],[0,0]],[[1016,774,0,80,9,0,0,1,0,0,0,0,[]],48,1280,[],[[0],[1]],[0,0]],[[872,1070,0,96,9,0,1.570796370506287,1,0,0,0,0,[]],48,1281,[],[[0],[1]],[0,0]],[[1248,1078,0,88,9,0,1.570796370506287,1,0,0,0,0,[]],48,1282,[],[[0],[1]],[0,0]],[[1096,1166,0,784,9,0,0,1,0,0,0,0,[]],51,1283,[],[[1],[1],[1,100,""]],[0,0]],[[888,1078,0,16,16,0,0,1,0,0,0,0,[]],46,1284,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","1",1,0,50,0,0,0,0,0,"",-1,0]],[[1208,1078,0,24,24,0,0,1,0,0,0,0,[]],46,1285,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","2",1,0,50,0,0,0,0,0,"",-1,0]],[[1040,806,0,32,16,0,0,1,0,0,0,0,[]],46,1286,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","3",1,0,50,0,0,0,0,0,"",-1,0]],[[1016,1174,0,288,9,0,1.570796370506287,1,0,0,0,0,[]],51,1287,[],[[1],[1],[1,100,""]],[0,0]],[[1104,1166,0,296,9,0,1.570796370506287,1,0,0,0,0,[]],51,1288,[],[[1],[1],[1,100,""]],[0,0]],[[776,1838,0,560,9,0,0,1,0,0,0,0,[]],51,1289,[],[[1],[1],[1,100,""]],[0,0]],[[1096,1454,0,232,9,0,0,1,0,0,0,0,[]],51,1290,[],[[1],[1],[1,100,""]],[0,0]],[[784,1454,0,232,9,0,0,1,0,0,0,0,[]],51,1291,[],[[1],[1],[1,100,""]],[0,0]],[[784,1454,0,392,9,0,1.570796370506287,1,0,0,0,0,[]],51,1292,[],[[1],[1],[1,100,""]],[0,0]],[[1336,1454,0,384,9,0,1.570796370506287,1,0,0,0,0,[]],51,1293,[],[[1],[1],[1,100,""]],[0,0]],[[720,1070,0,32,9,0,0,1,0,0,0,0,[]],51,1294,[],[[1],[1],[1,100,""]],[0,0]],[[728,782,0,216,9,0,1.570796370506287,1,0,0,0,0,[]],51,1295,[],[[1],[1],[1,100,""]],[0,0]],[[88,782,0,392,9,0,1.570796370506287,1,0,0,0,0,[]],51,1296,[],[[1],[1],[1,100,""]],[0,0]],[[88,782,0,640,9,0,0,1,0,0,0,0,[]],51,1297,[],[[1],[1],[1,100,""]],[0,0]],[[1240,1070,0,160,9,0,0,1,0,0,0,0,[]],51,1298,[],[[1],[1],[1,100,""]],[0,0]],[[1400,782,0,288,9,0,1.570796370506287,1,0,0,0,0,[]],51,1299,[],[[1],[1],[1,100,""]],[0,0]],[[1392,782,0,488,9,0,0,1,0,0,0,0,[]],51,1300,[],[[1],[1],[1,100,""]],[0,0]],[[1880,782,0,392,9,0,1.570796370506287,1,0,0,0,0,[]],51,1301,[],[[1],[1],[1,100,""]],[0,0]],[[1016,478,0,304,9,0,1.570796370506287,1,0,0,0,0,[]],51,1302,[],[[1],[1],[1,100,""]],[0,0]],[[1104,478,0,304,9,0,1.570796370506287,1,0,0,0,0,[]],51,1303,[],[[1],[1],[1,100,""]],[0,0]],[[912,126,0,288,9,0,0,1,0,0,0,0,[]],51,1304,[],[[1],[1],[1,100,""]],[0,0]],[[1096,478,0,328,9,0,0,1,0,0,0,0,[]],51,1305,[],[[1],[1],[1,100,""]],[0,0]],[[904,478,0,112,9,0,0,1,0,0,0,0,[]],51,1306,[],[[1],[1],[1,100,""]],[0,0]],[[1008,478,0,88,8,0,0,1,0,0,0,0,[]],45,1307,[],[[1],[1]],[0,0]],[[912,126,0,360,9,0,1.570796370506287,1,0,0,0,0,[]],51,1308,[],[[1],[1],[1,100,""]],[0,0]],[[1208,126,0,272,9,0,1.570796370506287,1,0,0,0,0,[]],51,1309,[],[[1],[1],[1,100,""]],[0,0]],[[968,382,0,97,192,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,1310,[],[[1]],[0,"Default",0,1]],[[1208,398,0,80,9,0,1.570796370506287,1,0,0,0,0,[]],48,1311,[],[[0],[1]],[0,0]],[[1168,398,0,24,16,0,0,1,0,0,0,0,[]],46,1312,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","4",1,0,50,0,0,0,0,0,"",-1,0]],[[1200,390,0,216,9,0,0,1,0,0,0,0,[]],51,1313,[],[[1],[1],[1,100,""]],[0,0]],[[1424,390,0,96,9,0,1.570796370506287,1,0,0,0,0,[]],51,1314,[],[[1],[1],[1,100,""]],[0,0]],[[1016,1454,0,88,8,0,0,1,0,0,0,0,[]],45,1316,[],[[1],[1]],[0,0]],[[1120,1822,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1317,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[992,1822,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1318,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[960,1822,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1319,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[928,1822,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1320,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[896,1822,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1321,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1120,1758,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1322,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1120,1790,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1323,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1120,1726,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1324,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1144,1614,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,1326,[],[[1],[1],[1,100,""]],[0,0]],[[1120,1662,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1327,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1120,1694,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1328,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[880,1646,0,120,9,0,0,1,0,0,0,0,[]],51,1330,[],[[1],[1],[1,100,""]],[0,0]],[[984,1630,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1332,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1104,1614,0,152,9,0,0,1,0,0,0,0,[]],51,1333,[],[[1],[1],[1,100,""]],[0,0]],[[1256,1550,0,152,9,0,1.570796370506287,1,0,0,0,0,[]],51,1334,[],[[1],[1],[1,100,""]],[0,0]],[[1280,1822,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1325,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1312,1822,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1335,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1160,1766,0,24,16,0,0,1,0,0,0,0,[]],46,1336,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","1",1,0,50,0,0,0,0,0,"",-1,0]],[[560,862,0,168,9,0,0,1,0,0,0,0,[]],51,1338,[],[[1],[1],[1,100,""]],[0,0]],[[672,798,0,32,16,0,0,1,0,0,0,0,[]],46,1339,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","2",1,0,50,0,0,0,0,0,"",-1,0]],[[608,886,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1340,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[640,886,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1341,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[672,886,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1342,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[704,886,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1343,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[528,1070,0,200,9,0,0,1,0,0,0,0,[]],51,1345,[],[[1],[1],[1,100,""]],[0,0]],[[608,1095,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1346,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[640,1094,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1347,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[672,1094,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1348,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[704,1094,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1349,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[576,1095,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1350,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[376,1150,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1352,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[408,1150,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1353,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[440,1150,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1354,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[472,1150,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1355,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[344,1150,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1356,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[200,902,0,208,9,0,0,1,0,0,0,0,[]],51,1351,[],[[1],[1],[1,100,""]],[0,0]],[[568,782,0,88,8,0,1.570796370506287,1,0,0,0,0,[]],45,1357,[],[[1],[1]],[0,0]],[[304,886,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1358,[[0.7],[0]],[[1]],[0,"Default",0,1]],[[224,886,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1359,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[224,854,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1360,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[224,822,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1361,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[208,790,0,120,9,0,1.570796370506287,1,0,0,0,0,[]],51,1362,[],[[1],[1],[1,100,""]],[0,0]],[[800,1070,0,72,9,0,0,1,0,0,0,0,[]],51,1364,[],[[1],[1],[1,100,""]],[0,0]],[[960,579.4093017578125,0,48,9,0,0,1,0,0,0,0,[]],51,1365,[],[[1],[1],[1,100,""]],[0,0]],[[976,508,0,16,16,0,0,1,0,0,0,0,[]],46,1367,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","4",1,0,50,0,0,0,0,0,"",-1,0]],[[1448,854,0,352,9,0,0,1,0,0,0,0,[]],51,1369,[],[[1],[1],[1,100,""]],[0,0]],[[1784,854,0,88,8,0,0,1,0,0,0,0,[]],45,1370,[],[[1],[1]],[0,0]],[[1400,854,0,88,8,0,0,1,0,0,0,0,[]],45,1371,[],[[1],[1]],[0,0]],[[1856,1150,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1372,[[0.7],[0]],[[1]],[0,"Default",0,1]],[[1688,1150,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1373,[[0.7],[0]],[[1]],[0,"Default",0,1]],[[1552,1150,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1374,[[0.7],[0]],[[1]],[0,"Default",0,1]],[[1528,998,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1375,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1560,998,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1376,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1592,998,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1377,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1728,1110,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1378,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1728,1078,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1379,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1728,1046,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1380,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1696,926,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1381,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1728,926,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1382,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1760,926,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1383,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1680,902,0,96,9,0,0,1,0,0,0,0,[]],51,1384,[],[[1],[1],[1,100,""]],[0,0]],[[1512,974,0,96,9,0,0,1,0,0,0,0,[]],51,1385,[],[[1],[1],[1,100,""]],[0,0]],[[1752,1030,0,96,9,0,1.570796370506287,1,0,0,0,0,[]],51,1386,[],[[1],[1],[1,100,""]],[0,0]],[[1528,958,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1387,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1560,958,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1388,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1592,958,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1389,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1696,886,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1390,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1728,886,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1391,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1760,886,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1392,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1624,793,0,40,32,0,0,1,0,0,0,0,[]],46,1394,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","3",1,0,50,0,0,0,0,0,"",-1,0]],[[1176,1814,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,1337,[[1],[1],[1],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[752,1070,0,48,9,0,0,1,0,0,0,0,[]],52,1433,[],[[0],[0]],[0,0]],[[728,998,0,80,8,0,1.570796370506287,1,0,0,0,0,[]],45,1363,[],[[0],[1]],[0,0]],[[688,838,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,1331,[[2],[1],[1],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1240,1134,0,50,50,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,1434,[[-1],[0],[0],[0],[0],[2],[0]],[[0],[1,0,1,1,"F 90",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1640,830,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,1393,[[3],[1],[1],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1056,766,0,50,50,0,0,1,0.5,0.5,0,0,[]],50,1435,[[-1],[0],[0],[0],[0],[3],[0]],[[0],[1,0,1,1,"F 90",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1208,446,0,50,50,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,1329,[[-1],[0],[0],[0],[0],[4],[0]],[[0],[1,0,1,1,"F 90",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[984,540,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,1436,[[4],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1366.810913085938,438.4569396972656,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,1315,[["level26"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[921,900,0,300,113,0,0,1,0,0,0,0,[[]]],61,5617,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","26",7,0,60,0,0,0,0,0,"",-1,0]],[[864,1126,0,50,50,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,1368,[[-1],[0],[0],[0],[0],[1],[0]],[[0],[1,0,1,1,"F 90",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]]],[]],["UI",2,629785534832196,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,771475450573515,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,853704301528028,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,195616602313341,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,946114449568777,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,499812871562141,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,967339178603458,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 27",3000,3000,true,"Levels",718424390180472,[["Background",0,449537327596667,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[480,984,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,6214,[["Awake Contrapion"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,486789532001740,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[1104,1232,0,184,32,0,1.570796370506287,1,0,0,0,0,[]],51,12132,[],[[0],[1],[1,100,""]],[0,0]],[[1304,1576,0,360,9,0,1.570796370506287,1,0,0,0,0,[]],51,1928,[],[[0],[1],[1,100,""]],[0,0]],[[2264,1552,0,97,192,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,1929,[],[[0]],[0,"Default",0,1]],[[1656,1648,0,288,9,0,1.570796370506287,1,0,0,0,0,[]],51,1930,[],[[0],[1],[1,100,""]],[0,0]],[[1304,856,0,360,9,0,1.570796370506287,1,0,0,0,0,[]],51,1931,[],[[0],[1],[1,100,""]],[0,0]],[[1656,856,0,696,9,0,1.570796370506287,1,0,0,0,0,[]],51,1932,[],[[0],[1],[1,100,""]],[0,0]],[[1656,1936,0,360,9,0,3.141592741012573,1,0,0,0,0,[]],51,1933,[],[[0],[1],[1,100,""]],[0,0]],[[1656,864,0,360,9,0,3.141592741012573,1,0,0,0,0,[]],51,1934,[],[[0],[1],[1,100,""]],[0,0]],[[1304,1424,0,158,9,0,1.570796370506287,1,0,0,0,0,[]],51,1935,[],[[0],[1],[1,100,""]],[0,0]],[[1304,1216,0,112,9,0,1.570796370506287,1,0,0,0,0,[]],51,1936,[],[[0],[1],[1,100,""]],[0,0]],[[1480,992,0,592,9,0,1.570796370506287,1,0,0,0,0,[]],51,1937,[],[[0],[1],[1,100,""]],[0,0]],[[1304,1576,0,168,8,0,0,1,0,0,0,0,[]],45,1938,[],[[0],[1]],[0,0]],[[1328,1912,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1939,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1360,1912,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1940,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1392,1912,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1941,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1424,1912,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1942,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1456,1912,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1943,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1368,1480,0,80,9,0,0,1,0,0,0,0,[]],51,1944,[],[[0],[1],[1,100,""]],[0,0]],[[1296,1320,0,72,9,0,0,1,0,0,0,0,[]],51,1945,[],[[0],[1],[1,100,""]],[0,0]],[[1416,1176,0,56,9,0,0,1,0,0,0,0,[]],51,1946,[],[[0],[1],[1,100,""]],[0,0]],[[1304,1016,0,64,9,0,0,1,0,0,0,0,[]],51,1947,[],[[0],[1],[1,100,""]],[0,0]],[[1488,880,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1948,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1456,880,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1949,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1496,1112,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1950,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,1112,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1951,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1560,1112,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1952,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1592,1112,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1953,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1536,1288,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1954,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1568,1288,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1955,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,1288,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1956,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1632,1288,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1957,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1496,1472,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1958,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,1472,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1959,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1560,1472,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1960,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1632,1472,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1961,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1520,1304,0,136,9,0,0,1,0,0,0,0,[]],51,1962,[],[[0],[1],[1,100,""]],[0,0]],[[1480,1128,0,128,9,0,0,1,0,0,0,0,[]],51,1963,[],[[0],[1],[1,100,""]],[0,0]],[[1480,1488,0,64,9,0,0,1,0,0,0,0,[]],51,1964,[],[[0],[1],[1,100,""]],[0,0]],[[1616,1488,0,32,9,0,0,1,0,0,0,0,[]],51,1965,[],[[0],[1],[1,100,""]],[0,0]],[[1480,992,0,128,9,0,0,1,0,0,0,0,[]],51,1966,[],[[0],[1],[1,100,""]],[0,0]],[[1376,1640,0,32,32,0,1.308996915817261,1,0.5,0.5,0,0,[]],43,1967,[[1.5],[0]],[[0]],[0,"Default",0,1]],[[1496,1512,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1968,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1528,1512,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1969,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1320,1560,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1970,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1320,1528,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1971,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1320,1496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1972,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1320,1464,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1973,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1320,1200,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1974,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1320,1168,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1975,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1320,1136,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1976,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1320,1104,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1977,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1320,1072,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1978,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1320,1040,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1979,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1456,1280,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1980,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1456,1248,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1981,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1456,1216,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1982,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1456,1376,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1983,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1456,1344,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1984,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1456,1312,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1985,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1504,1056,0,40,40,0,0,1,0.5,0.5,0,0,[]],60,1986,[["level27"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[672,1248,0,288,117,0,0,1,0,0,0,0,[[]]],61,1987,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]],[[1472,1576,0,8,864,0,1.570796370506287,1,0,0,0,0,[]],67,1988,[],[[1]],[0,0]],[[1296,1080,0,8,696,0,1.570796370506287,1,0,0,0,0,[]],67,1989,[],[[1]],[0,0]],[[600,1088,0,8,496,0,0,1,0,0,0,0,[]],67,1990,[],[[1]],[0,0]],[[1040,1560,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1991,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1072,1560,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1992,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1304,1424,0,8,144,0,1.570796370506287,1,0,0,0,0,[]],67,1993,[],[[1]],[0,0]],[[1160,1224,0,8,456,0,1.570796370506287,1,0,0,0,0,[]],67,1994,[],[[1]],[0,0]],[[1152,1232,0,8,200,0,0,1,0,0,0,0,[]],67,1995,[],[[1]],[0,0]],[[608,1224,0,96,8,0,0,1,0,0,0,0,[]],45,1996,[],[[0],[1]],[0,0]],[[1312,1344,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1997,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[976,1560,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1998,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1008,1560,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1999,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1056,1432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2001,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1088,1432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2002,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[992,1432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2003,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1024,1432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2004,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[960,1432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2005,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,1232,0,184,160,0,1.570796370506287,1,0,0,0,0,[]],67,2006,[],[[1]],[0,0]],[[952,1232,0,176,8,0,1.570796370506287,1,0,0,0,0,[]],45,2007,[],[[0],[1]],[0,0]],[[1104,1232,0,176,8,0,1.570796370506287,1,0,0,0,0,[]],45,2008,[],[[0],[1]],[0,0]],[[976,1264,0,152,32,0,1.570796370506287,1,0,0,0,0,[]],51,2009,[],[[0],[1],[1,100,""]],[0,0]],[[1104,1232,0,184,9,0,1.570796370506287,1,0,0,0,0,[]],51,2010,[],[[0],[1],[1,100,""]],[0,0]],[[640,1496,0,32,8,0,0,1,0,0,0,0,[]],45,2011,[],[[0],[1]],[0,0]],[[656,1480,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,2012,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[656,1520,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2013,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,1432,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2014,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[752,1432,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2015,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[736,1448,0,8,32,0,1.570796370506287,1,0,0,0,0,[]],67,2016,[],[[1]],[0,0]],[[768,1448,0,8,32,0,1.570796370506287,1,0,0,0,0,[]],67,2017,[],[[1]],[0,0]],[[712,1448,0,128,8,0,1.570796370506287,1,0,0,0,0,[]],67,2018,[],[[1]],[0,0]],[[768,1456,0,128,8,0,1.570796370506287,1,0,0,0,0,[]],67,2019,[],[[1]],[0,0]],[[720,1432,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2020,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[624,1560,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2021,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[656,1560,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2022,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[688,1560,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2023,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[712,1232,0,72,9,0,1.570796370506287,1,0,0,0,0,[]],51,2024,[],[[0],[1],[1,100,""]],[0,0]],[[688,1288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2025,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[688,1256,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2026,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[784,1560,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2027,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[784,1528,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2028,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[784,1496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2029,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[784,1464,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5496,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[952,1144,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,5618,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[984,1144,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12049,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[920,1144,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12051,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1120,1208,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12052,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1088,1208,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12053,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[952,1104,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12057,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1280,1168,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12058,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1280,1136,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12059,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1280,1104,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12060,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1280,1264,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12061,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1280,1232,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12062,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1280,1200,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12063,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2336,1648,0,8,680,0,1.570796370506287,1,0,0,0,0,[]],67,12064,[],[[1]],[0,0]],[[2336,1344,0,8,680,0,1.570796370506287,1,0,0,0,0,[]],67,12065,[],[[1]],[0,0]],[[2328,1344,0,8,312,0,0,1,0,0,0,0,[]],67,12066,[],[[1]],[0,0]],[[1304,1760,0,72,9,0,0,1,0,0,0,0,[]],51,12067,[],[[0],[1],[1,100,""]],[0,0]],[[1736,1544,0,104,9,0,1.570796370506287,1,0,0,0,0,[]],51,12068,[],[[0],[1],[1,100,""]],[0,0]],[[1568,1872,0,32,9,0,0,1,0,0,0,0,[]],51,12069,[],[[0],[1],[1,100,""]],[0,0]],[[1656,1544,0,160,8,0,0,1,0,0,0,0,[]],45,12070,[],[[0],[1]],[0,0]],[[1752,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12071,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1784,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12072,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1816,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12073,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1848,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12074,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1880,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12075,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1912,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12076,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1944,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12077,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1976,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12078,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2008,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12079,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2040,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12080,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12081,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2104,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12082,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2136,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12083,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2168,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12084,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2200,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12085,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2248,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12086,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2280,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12087,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2312,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12088,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12089,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1704,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12090,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1736,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12091,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1768,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12092,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1800,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12093,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1832,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12094,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1864,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12095,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1896,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12096,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1928,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12097,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1960,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12098,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1992,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12099,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2024,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12100,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2056,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12101,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2088,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12102,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2120,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12103,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2152,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12104,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2184,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12105,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2216,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12106,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2248,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12107,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2280,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12108,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2312,1368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12109,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1224,1504,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,12110,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[656,1508,0,40,48,0,0,1,0.5,0.5,0,0,[]],50,12111,[[0],[0],[10],[0],[0],[-2],[1]],[[0],[1,1,1,0,"R 90 ; W 0.5",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[952,1128,0,48,104,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,12130,[[0],[0],[10],[0],[0],[-2],[1]],[[0],[1,1,1,0,"F 64 ; B 64",64,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[904,1120,0,96,9,0,0,1,0,0,0,0,[]],51,12055,[],[[0],[1],[1,100,""]],[0,0]],[[1088,1400,0,48,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,12054,[[0],[0],[10],[0],[0],[-2],[1]],[[0],[1,1,1,0,"F 128 ; B 128 ; W 1.2",172,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1008,1232,0,184,32,0,1.570796370506287,1,0,0,0,0,[]],51,5497,[],[[0],[1],[1,100,""]],[0,0]],[[1040,1232,0,184,32,0,1.570796370506287,1,0,0,0,0,[]],51,12056,[],[[0],[1],[1,100,""]],[0,0]],[[1072,1232,0,184,32,0,1.570796370506287,1,0,0,0,0,[]],51,12131,[],[[0],[1],[1,100,""]],[0,0]],[[1056,1400,0,48,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,12133,[[0],[0],[10],[0],[0],[-2],[1]],[[0],[1,1,1,0,"W 0.3 ; F 128; B 128; W 0.9",172,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1024,1400,0,48,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,12134,[[0],[0],[10],[0],[0],[-2],[1]],[[0],[1,1,1,0,"W 0.6 ; F 128; B 128; W 0.6",172,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[992,1400,0,48,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,12135,[[0],[0],[10],[0],[0],[-2],[1]],[[0],[1,1,1,0,"W 0.9 ; F 128; B 128; W 0.3",172,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[960,1400,0,48,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,12136,[[0],[0],[10],[0],[0],[-2],[1]],[[0],[1,1,1,0,"W 1.2 ; F 128; B 128",172,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1408,1488,0,16,48,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2000,[[0],[0],[10],[0],[0],[-2],[1]],[[0],[1,1,1,0,"F 56 ; B 56",64,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1376,1560,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12137,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1408,1560,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12138,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1440,1560,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12139,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1360,1576,0,96,9,0,0,1,0,0,0,0,[]],51,12140,[],[[0],[1],[1,100,""]],[0,0]],[[1424,1176,0,16,48,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,12141,[[0],[0],[10],[0],[0],[-2],[1]],[[0],[1,1,1,0,"F 56 ; B 56",64,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1544,1120,0,112,48,0,0,1,0.5,0.5,0,0,[]],50,12142,[[0],[0],[10],[0],[0],[-2],[1]],[[0],[1,1,1,0,"F 40 ;W 1; B 40 ; W 1",200,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1584,1296,0,112,48,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,12143,[[0],[0],[10],[0],[0],[-2],[1]],[[0],[1,1,1,0,"F 40 ;W 1; B 40 ; W 1",200,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1560,1496,0,24,48,0,0,1,0.5,0.5,0,0,[]],50,12144,[[0],[0],[10],[0],[0],[-2],[1]],[[0],[1,1,1,0,"F 40 ;W 1; B 40 ; W 1",200,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1560,1512,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12145,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1544,1488,0,32,9,0,0,1,0,0,0,0,[]],51,12146,[],[[0],[1],[1,100,""]],[0,0]],[[1632,1512,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12147,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1488,1912,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12148,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1520,1912,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12149,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1552,1912,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12150,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1584,1912,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12151,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1616,1912,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12152,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1576,1868,0,16,24,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,12153,[[0],[0],[10],[0],[0],[3],[1]],[[0],[1,0,1,0,"F 180 ; B 180",64,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1584,1872,0,32,8,0,0,1,0.5,0.5,0,0,[]],49,12154,[[3],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]]],[]],["UI",2,661927461303680,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,361622239429741,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,399695835667415,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,848088792167089,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,233721384988387,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,574540332427883,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,608010982073239,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 28",3000,2000,true,"Levels",841411610610648,[["Background",0,978868040236575,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[279,462,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,6242,[["Deadly contraption II"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,682968452297466,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[2208,1560,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,1431,[["level28"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[0,600,0,800,8,0,0,1,0,0,0,0,[]],51,2033,[],[[0],[1],[1,100,""]],[0,0]],[[1048,600,0,496,8,0,0,1,0,0,0,0,[]],51,2034,[],[[0],[1],[1,100,""]],[0,0]],[[0,400,0,1088,8,0,0,1,0,0,0,0,[]],51,2035,[],[[0],[1],[1,100,""]],[0,0]],[[1352,400,0,208,8,0,0,1,0,0,0,0,[]],51,2036,[],[[0],[1],[1,100,""]],[0,0]],[[864,600,0,184,8,0,0,1,0,0,0,0,[]],51,2037,[],[[0],[1],[1,100,""]],[0,0]],[[816,584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2038,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[848,584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2039,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[345,400,0,208,9,0,1.570796370506287,1,0,0,0,0,[]],51,2040,[],[[0],[1],[1,100,""]],[0,0]],[[361,424,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2041,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[361,456,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2042,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[361,488,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2043,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[361,520,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2044,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[361,552,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2045,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[361,584,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2046,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[800,600,0,64,8,0,0,1,0,0,0,0,[]],51,2047,[],[[0],[1],[1,100,""]],[0,0]],[[832,600,0,40,40,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,2048,[[-1],[0],[0],[0],[0],[1],[0]],[[0],[1,0,1,1,"F 120",1000,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[345,504,0,40,168,0,0,1,0.5,0.5,0,0,[]],50,2049,[[-1],[0],[0],[0],[0],[0],[0]],[[0],[1,1,1,1,"F 5000",500,100,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[832,432,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,2050,[[1],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[472,408,0,192,9,0,1.570796370506287,1,0,0,0,0,[]],52,2051,[],[[0],[0]],[0,0]],[[1240,424,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2052,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1272,424,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2053,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1304,424,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2054,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1336,424,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2055,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1224,400,0,128,8,0,0,1,0,0,0,0,[]],51,2056,[],[[0],[1],[1,100,""]],[0,0]],[[1288,424,0,40,104,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2057,[[-1],[0],[0],[0],[0],[2],[0]],[[0],[1,0,1,1,"F 120",1000,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1288,512,0,64,64,0,0,1,0.5,0.5,0,0,[]],49,2058,[[2],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1912,400,0,160,80,0,0,1,0,0,0,0,[]],51,2060,[],[[0],[1],[1,100,""]],[0,0]],[[1560,400,0,353.4765625,8,0,0,1,0,0,0,0,[]],51,2061,[],[[0],[1],[1,100,""]],[0,0]],[[2056,496,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2062,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2024,496,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2063,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1992,496,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2064,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1960,496,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2065,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1928,496,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2066,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2040,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2067,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2008,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2068,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1976,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2069,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1944,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2070,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1912,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2071,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2072,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1896,544,0,192,568,0,0,1,0,0,0,0,[]],51,2073,[],[[0],[1],[1,100,""]],[0,0]],[[1864,512,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,2074,[[2],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1536,1192,0,360,8,0,0,1,0,0,0,0,[]],51,2075,[],[[0],[1],[1,100,""]],[0,0]],[[1992,820,0,608,184,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2076,[[-1],[0],[0],[0],[0],[20],[0]],[[0],[1,0,1,1,"F 60",1000,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1992,480,0,40,184,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2077,[[-1],[0],[0],[0],[0],[2],[0]],[[0],[1,0,1,1,"B 60",1000,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1520,584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2078,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1552,584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2079,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1584,584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2080,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1616,584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2081,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1520,424,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2082,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1552,424,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2083,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1584,424,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2084,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1616,424,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2085,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2088,600,0,392,8,0,0,1,0,0,0,0,[]],51,2086,[],[[0],[1],[1,100,""]],[0,0]],[[2072,400,0,408,8,0,0,1,0,0,0,0,[]],51,2087,[],[[0],[1],[1,100,""]],[0,0]],[[2496,584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2088,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2528,584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2090,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2560,584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2091,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2480,400,0,184,8,0,0,1,0,0,0,0,[]],51,2092,[],[[0],[1],[1,100,""]],[0,0]],[[2440,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,2093,[[3],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[2528,600,0,40,72,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2094,[[-1],[0],[0],[0],[0],[3],[0]],[[0],[1,0,1,1,"F 666",1000,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2648,424,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2095,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2648,456,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2096,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2648,488,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2097,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2648,520,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2098,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2648,552,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2099,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2648,584,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2100,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2664,600,0,0,1664,0,0,1,0,0,0,0,[]],51,2101,[],[[0],[1],[1,100,""]],[0,0]],[[2664,400,0,8,200,0,0,1,0,0,0,0,[]],51,2102,[],[[0],[1],[1,100,""]],[0,0]],[[1896,1272,0,680,32,0,0,1,0,0,0,0,[]],51,2103,[],[[0],[1],[1,100,""]],[0,0]],[[1912,1128,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2104,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1944,1128,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2105,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1976,1128,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2106,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2008,1128,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2107,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2040,1128,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2108,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,1128,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2109,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1712,1384,0,8,344,0,0,1,0,0,0,0,[]],51,2111,[],[[0],[1],[1,100,""]],[0,0]],[[2000,1224,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,2112,[[20],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1824,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2114,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1792,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2115,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1760,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2116,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1728,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2117,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1832,1384,0,144,8,0,0,1,0,0,0,0,[]],45,2118,[],[[0],[1]],[0,0]],[[1896,1800,0,680,8,0,0,1,0,0,0,0,[]],51,2110,[],[[0],[1],[1,100,""]],[0,0]],[[1840,1800,0,56,8,0,0,1,0,0,0,0,[]],51,2120,[],[[0],[1],[1,100,""]],[0,0]],[[1872,1536,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,2121,[[5],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1712,1728,0,8,72,0,0,1,0,0,0,0,[]],51,2122,[],[[0],[1],[1,100,""]],[0,0]],[[1736,1744,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2123,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1736,1784,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2124,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1536,1800,0,304,8,0,0,1,0,0,0,0,[]],51,2125,[],[[0],[1],[1,100,""]],[0,0]],[[1716,1760,0,48,40,0,0,1,0.5,0.5,0,0,[]],50,2126,[[-1],[0],[0],[0],[0],[5],[0]],[[0],[1,0,1,1,"F 152",100,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2368,1752,0,192,24,0,0,1,0,0,0,0,[]],46,2127,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Wrong way :)",1,0,50,0,0,0,0,0,"",-1,0]],[[1600,1376,0,24,40,0,0,1,0.5,0.5,0,0,[]],50,2128,[[-1],[0],[0],[0],[0],[5],[0]],[[0],[1,0,1,1,"F 184",75,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1624,1704,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,2129,[],[[0]],[0,"Default",0,1]],[[2496,824,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2130,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2496,856,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2131,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2560,960,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2133,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2560,640,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2134,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2560,672,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2135,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2480,600,0,96,8,0,0,1,0,0,0,0,[]],51,2089,[],[[0],[1],[1,100,""]],[0,0]],[[556,425,0,288,117,0,0,1,0,0,0,0,[[]]],61,5619,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,65,0,0,0,0,0,"",-1,0]],[[1864,512,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,1046,[[20],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1088,400,0,136,8,0,0,1,0,0,0,0,[]],51,653,[],[[0],[1],[1,100,""]],[0,0]],[[1544,600,0,352,8,0,0,1,0,0,0,0,[]],51,654,[],[[0],[1],[1,100,""]],[0,0]],[[1896,608,0,584,8,0,1.570796370506287,1,0,0,0,0,[]],51,656,[],[[0],[1],[1,100,""]],[0,0]],[[1544,1200,0,600,8,0,1.570796370506287,1,0,0,0,0,[]],51,657,[],[[0],[1],[1,100,""]],[0,0]],[[2576,600,0,8,1208,0,0,1,0,0,0,0,[]],51,658,[],[[0],[1],[1,100,""]],[0,0]],[[2576,600,0,96,8,0,0,1,0,0,0,0,[]],51,659,[],[[0],[1],[1,100,""]],[0,0]],[[2472,608,0,8,504,0,0,1,0,0,0,0,[]],51,660,[],[[0],[1],[1,100,""]],[0,0]],[[2088,1104,0,392,8,0,0,1,0,0,0,0,[]],51,661,[],[[0],[1],[1,100,""]],[0,0]],[[1896,1384,0,8,336,0,0,1,0,0,0,0,[]],51,663,[],[[0],[1],[1,100,""]],[0,0]],[[1720,1384,0,120,8,0,0,1,0,0,0,0,[]],51,664,[],[[0],[1],[1,100,""]],[0,0]],[[1544,1384,0,168,8,0,0,1,0,0,0,0,[]],51,665,[],[[0],[1],[1,100,""]],[0,0]],[[1832,1392,0,8,336,0,0,1,0,0,0,0,[]],51,666,[],[[0],[1],[1,100,""]],[0,0]],[[1712,1720,0,120,8,0,0,1,0,0,0,0,[]],51,667,[],[[0],[1],[1,100,""]],[0,0]],[[1696,1744,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,668,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1696,1784,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,669,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2488,1280,0,88,448,0,0,1,0,0,0,0,[]],51,670,[],[[0],[1],[1,100,""]],[0,0]],[[1896,1304,0,8,80,0,0,1,0,0,0,0,[]],51,671,[],[[0],[1],[1,100,""]],[0,0]],[[1968,1280,0,520,240,0,0,1,0,0,0,0,[]],51,673,[],[[0],[1],[1,100,""]],[0,0]],[[1896,1600,0,520,128,0,0,1,0,0,0,0,[]],51,662,[],[[0],[1],[1,100,""]],[0,0]],[[1893,1328,0,24,8,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,675,[[-1],[0],[0],[0],[0],[6],[0]],[[0],[1,0,1,1,"F 80",80,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1936,1344,0,48,64,0,0,1,0.5,0.5,0,0,[]],49,676,[[6],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[2416,1712,0,72,8,0,0,1,0,0,0,0,[]],45,677,[],[[0],[1]],[0,0]],[[280.0399169921875,1575.152099609375,0,680,424,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,674,[],[[0]],[0,"Default",0,1]],[[2272,584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,678,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2152,1256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,679,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2184,1256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,680,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[568,515,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,2032,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]]],[]],["UI",2,440995752794622,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,663327299939544,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,269708830122422,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,439433645225893,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,741793418617275,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,938394462580590,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,592961350509848,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 29",3000,800,true,"Levels",364522721222959,[["Background",0,142738837285349,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[-85,117,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,6243,[["Friendly little platform I"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,160192140145606,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[280,392,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,1344,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[240,488,0,288,9,0,0,1,0,0,0,0,[]],51,1366,[],[[0],[1],[1,100,""]],[0,0]],[[504,456,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,1437,[[1],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[616,408,0,288,9,0,0,1,0,0,0,0,[]],51,1439,[],[[0],[1],[1,100,""]],[0,0]],[[632,432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1440,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[664,432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1441,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[696,432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1442,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[728,432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1443,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[760,432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1444,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[792,432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1445,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[824,432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1446,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[856,432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1447,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[888,432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1448,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[632,392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1449,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[664,392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1450,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[696,392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1451,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[728,392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1452,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[760,392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1453,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[792,392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1454,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[824,392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1455,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[856,392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1456,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[888,392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1457,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[864,520,0,288,9,0,0,1,0,0,0,0,[]],51,1458,[],[[0],[1],[1,100,""]],[0,0]],[[880,560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1459,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1460,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[944,560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1461,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[976,560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1462,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1008,560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1463,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1040,560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1464,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1072,560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1465,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1466,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1467,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[864,536,0,288,9,0,0,1,0,0,0,0,[]],51,1477,[],[[0],[1],[1,100,""]],[0,0]],[[870.3604736328125,526.3713989257812,5.99999978589949e-8,15.16643905639648,9,0,2.356194496154785,1,0,0,0,0,[]],51,1468,[],[[0],[1],[1,100,""]],[0,0]],[[1208,464,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1470,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1192,440,0,32,9,0,0,1,0,0,0,0,[]],51,1473,[],[[0],[1],[1,100,""]],[0,0]],[[1352,616,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1474,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1384,616,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1475,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1416,616,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1476,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1336,632,0,96,9,0,0,1,0,0,0,0,[]],51,1478,[],[[0],[1],[1,100,""]],[0,0]],[[1536,400,0,128,9,0,1.570796370506287,1,0,0,0,0,[]],51,1479,[],[[0],[1],[1,100,""]],[0,0]],[[1536,536,0,120,9,0,1.570796370506287,1,0,0,0,0,[]],51,1480,[],[[0],[1],[1,100,""]],[0,0]],[[1448,616,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1481,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1480,616,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1482,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1512,616,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1483,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1432,632,0,96,9,0,0,1,0,0,0,0,[]],51,1484,[],[[0],[1],[1,100,""]],[0,0]],[[1528,520,0,384,9,0,0,1,0,0,0,0,[]],51,1438,[],[[0],[1],[1,100,""]],[0,0]],[[1360,536,0,552,9,0,0,1,0,0,0,0,[]],51,1471,[],[[0],[1],[1,100,""]],[0,0]],[[1616,504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1472,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1704,504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1486,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1736,504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1487,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1768,504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1488,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1912,360,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1489,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1896,336,0,32,9,0,0,1,0,0,0,0,[]],51,1490,[],[[0],[1],[1,100,""]],[0,0]],[[1944,360,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1491,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1928,336,0,32,9,0,0,1,0,0,0,0,[]],51,1492,[],[[0],[1],[1,100,""]],[0,0]],[[1976,360,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1493,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1960,336,0,56,9,0,0,1,0,0,0,0,[]],51,1494,[],[[0],[1],[1,100,""]],[0,0]],[[1800,504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1495,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1832,504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1496,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1912,520,0,71,8,0,0,1,0,0,0,0,[]],45,1497,[],[[0],[1]],[0,0]],[[1912,536,0,71,8,0,0,1,0,0,0,0,[]],45,1498,[],[[0],[1]],[0,0]],[[1976,536,0,184,9,0,0,1,0,0,0,0,[]],51,1499,[],[[0],[1],[1,100,""]],[0,0]],[[1976,520,0,168,9,0,0,1,0,0,0,0,[]],51,1500,[],[[0],[1],[1,100,""]],[0,0]],[[2016,336,0,184,9,0,1.570796370506287,1,0,0,0,0,[]],51,1501,[],[[0],[1],[1,100,""]],[0,0]],[[2055,672,0,232,8,0,0,1,0,0,0,0,[]],51,1502,[],[[0],[1],[1,100,""]],[0,0]],[[1912,544,0,136,9,0,1.570796370506287,1,0,0,0,0,[]],51,1503,[],[[0],[1],[1,100,""]],[0,0]],[[2368,536,0,71,8,0,0,1,0,0,0,0,[]],45,1504,[],[[0],[1]],[0,0]],[[2448,536,0,144,9,0,1.570796370506287,1,0,0,0,0,[]],51,1505,[],[[0],[1],[1,100,""]],[0,0]],[[2408,656,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,1506,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[2384,248,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1507,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2368,224,0,32,9,0,0,1,0,0,0,0,[]],51,1508,[],[[0],[1],[1,100,""]],[0,0]],[[2440,248,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1509,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2400,224,0,32,9,0,0,1,0,0,0,0,[]],51,1510,[],[[0],[1],[1,100,""]],[0,0]],[[2432,224,0,32,9,0,0,1,0,0,0,0,[]],51,1512,[],[[0],[1],[1,100,""]],[0,0]],[[2368,48,0,480,9,0,1.570796370506287,1,0,0,0,0,[]],51,1513,[],[[0],[1],[1,100,""]],[0,0]],[[2032,504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1515,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2064,504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1516,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2096,504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1517,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2280,504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1518,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2312,504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1519,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2344,504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1520,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2248,504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1521,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2128,504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1522,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2008,560,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1523,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2040,560,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1524,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,561,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1525,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2336,561,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1526,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2176,656,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1527,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2208,656,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1528,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,528,0,24,9,0,0,1,0,0,0,0,[]],51,1529,[],[[0],[1],[1,100,""]],[0,0]],[[328,528,0,72,8,0,0,1,0,0,0,0,[]],45,1485,[],[[1],[1]],[0,0]],[[400,528,0,24,9,0,0,1,0,0,0,0,[]],51,1530,[],[[0],[1],[1,100,""]],[0,0]],[[2792,536,0,136,9,0,0,1,0,0,0,0,[]],51,1531,[],[[0],[1],[1,100,""]],[0,0]],[[2536,400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1533,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2520,376,0,32,9,0,0,1,0,0,0,0,[]],51,1534,[],[[0],[1],[1,100,""]],[0,0]],[[2568,400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1535,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2552,376,0,32,9,0,0,1,0,0,0,0,[]],51,1536,[],[[0],[1],[1,100,""]],[0,0]],[[2600,400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1537,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2584,376,0,32,9,0,0,1,0,0,0,0,[]],51,1538,[],[[0],[1],[1,100,""]],[0,0]],[[2632,400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1539,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2616,376,0,32,9,0,0,1,0,0,0,0,[]],51,1540,[],[[0],[1],[1,100,""]],[0,0]],[[2664,400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1541,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2648,376,0,32,9,0,0,1,0,0,0,0,[]],51,1542,[],[[0],[1],[1,100,""]],[0,0]],[[2696,400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1543,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2680,376,0,32,9,0,0,1,0,0,0,0,[]],51,1544,[],[[0],[1],[1,100,""]],[0,0]],[[2728,400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1545,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2712,376,0,32,9,0,0,1,0,0,0,0,[]],51,1546,[],[[0],[1],[1,100,""]],[0,0]],[[2760,400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1547,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2744,376,0,32,9,0,0,1,0,0,0,0,[]],51,1548,[],[[0],[1],[1,100,""]],[0,0]],[[2792,400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1549,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2776,376,0,32,9,0,0,1,0,0,0,0,[]],51,1550,[],[[0],[1],[1,100,""]],[0,0]],[[2472,400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1551,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2456,376,0,32,9,0,0,1,0,0,0,0,[]],51,1552,[],[[0],[1],[1,100,""]],[0,0]],[[2504,400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1553,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2488,376,0,32,9,0,0,1,0,0,0,0,[]],51,1554,[],[[0],[1],[1,100,""]],[0,0]],[[2536,400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1555,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2520,376,0,32,9,0,0,1,0,0,0,0,[]],51,1556,[],[[0],[1],[1,100,""]],[0,0]],[[368,536,0,136,50,0,0,1,0.5,0.5,0,0,[]],50,1469,[[-1],[0],[0],[0],[0],[1],[0]],[[0],[1,0,0,1,"F 2300 ;R 450;F 500",120,0,0,720,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1240,464,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1558,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1224,440,0,32,9,0,0,1,0,0,0,0,[]],51,1559,[],[[0],[1],[1,100,""]],[0,0]],[[1272,464,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1560,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1256,440,0,32,9,0,0,1,0,0,0,0,[]],51,1561,[],[[0],[1],[1,100,""]],[0,0]],[[1256,616,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1562,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1288,616,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1563,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1320,616,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1564,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,632,0,96,9,0,0,1,0,0,0,0,[]],51,1565,[],[[0],[1],[1,100,""]],[0,0]],[[1160,616,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1566,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1192,616,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1567,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1224,616,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1568,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1144,632,0,96,9,0,0,1,0,0,0,0,[]],51,1569,[],[[0],[1],[1,100,""]],[0,0]],[[2232,336,0,48,9,0,1.570796370506287,1,0,0,0,0,[]],51,1570,[],[[0],[1],[1,100,""]],[0,0]],[[2528,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1571,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2512,640,0,32,9,0,0,1,0,0,0,0,[]],51,1572,[],[[0],[1],[1,100,""]],[0,0]],[[2560,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1573,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2544,640,0,32,9,0,0,1,0,0,0,0,[]],51,1574,[],[[0],[1],[1,100,""]],[0,0]],[[2592,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1575,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2576,640,0,32,9,0,0,1,0,0,0,0,[]],51,1576,[],[[0],[1],[1,100,""]],[0,0]],[[2624,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1577,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2608,640,0,32,9,0,0,1,0,0,0,0,[]],51,1578,[],[[0],[1],[1,100,""]],[0,0]],[[2656,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1579,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2640,640,0,32,9,0,0,1,0,0,0,0,[]],51,1580,[],[[0],[1],[1,100,""]],[0,0]],[[2688,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1581,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2672,640,0,32,9,0,0,1,0,0,0,0,[]],51,1582,[],[[0],[1],[1,100,""]],[0,0]],[[2720,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1583,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2704,640,0,32,9,0,0,1,0,0,0,0,[]],51,1584,[],[[0],[1],[1,100,""]],[0,0]],[[2752,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1585,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2736,640,0,32,9,0,0,1,0,0,0,0,[]],51,1586,[],[[0],[1],[1,100,""]],[0,0]],[[2784,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1587,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2768,640,0,32,9,0,0,1,0,0,0,0,[]],51,1588,[],[[0],[1],[1,100,""]],[0,0]],[[2464,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1589,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2448,640,0,32,9,0,0,1,0,0,0,0,[]],51,1590,[],[[0],[1],[1,100,""]],[0,0]],[[2496,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1591,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2480,640,0,32,9,0,0,1,0,0,0,0,[]],51,1592,[],[[0],[1],[1,100,""]],[0,0]],[[2528,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1593,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2512,640,0,32,9,0,0,1,0,0,0,0,[]],51,1594,[],[[0],[1],[1,100,""]],[0,0]],[[1952,640,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,1532,[[2],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[2024,608,0,120,72,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,1557,[[-1],[0],[0],[0],[0],[2],[0]],[[0],[1,0,1,1,"B 140",75,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1992,576,0,64,9,0,0,1,0,0,0,0,[]],51,1595,[],[[0],[1],[1,100,""]],[0,0]],[[2055,576,0,104,64,0,1.570796370506287,1,0,0,0,0,[]],51,1596,[],[[0],[1],[1,100,""]],[0,0]],[[1904,672,0,88,8,0,0,1,0,0,0,0,[]],51,1597,[],[[0],[1],[1,100,""]],[0,0]],[[2232,520,0,136,9,0,0,1,0,0,0,0,[]],51,1598,[],[[0],[1],[1,100,""]],[0,0]],[[2224,536,0,152,9,0,0,1,0,0,0,0,[]],51,1599,[],[[0],[1],[1,100,""]],[0,0]],[[2160,536,0,64,104,0,0,1,0,0,0,0,[]],51,1600,[],[[0],[1],[1,100,""]],[0,0]],[[2192,640,0,24,48,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,1601,[[-1],[0],[0],[0],[0],[3],[0]],[[0],[1,0,1,1,"F 160",75,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2112,640,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,1602,[[3],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[2351,672,0,96,8,0,0,1,0,0,0,0,[]],51,1603,[],[[0],[1],[1,100,""]],[0,0]],[[2287,576,0,64,104,0,0,1,0,0,0,0,[]],51,1604,[],[[0],[1],[1,100,""]],[0,0]],[[2320,576,0,24,48,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,1605,[[-1],[0],[0],[0],[0],[4],[0]],[[0],[1,0,1,1,"B 140",75,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2256,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,1606,[[4],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[2928,440,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,1607,[],[[0]],[0,"Default",0,1]],[[2464,224,0,160,9,0,1.570796370506287,1,0,0,0,0,[]],51,1638,[],[[0],[1],[1,100,""]],[0,0]],[[2191,474,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,2113,[["level29"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[-0.560882568359375,331.464111328125,0,288,117,0,0,1,0,0,0,0,[[]]],61,5620,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]]],[]],["UI",2,169203893941237,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,381792072558143,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,497203782483591,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,539911886130073,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,376742840807704,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,515218580043568,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,976388823569698,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 30",4000,4000,true,"Levels",981970582276178,[["Background",0,738571028024793,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[192,-16,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,6244,[["Friendly little platform II"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,287637529790059,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[384,176,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,2252,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[288,40,0,1136,9,0,1.570796370506287,1,0,0,0,0,[]],51,2254,[],[[0],[1],[1,100,""]],[0,0]],[[1184,40,0,1128,9,0,1.570796370506287,1,0,0,0,0,[]],51,2255,[],[[0],[1],[1,100,""]],[0,0]],[[280,40,0,904,9,0,0,1,0,0,0,0,[]],51,2256,[],[[0],[1],[1,100,""]],[0,0]],[[1072,1760,0,48,9,0,0,1,0,0,0,0,[]],51,2323,[],[[0],[1],[1,100,""]],[0,0]],[[824,1664,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,2324,[[1],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1232,1768,0,400,72,0,0,1,0.5,0.5,0,0,[]],50,2325,[[-1],[0],[0],[0],[0],[1],[0]],[[0],[1,0,1,1,"F 2540",125,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1984,448,0,672,1064,0,0,1,0,0,0,0,[]],51,2326,[],[[0],[1],[1,100,""]],[0,0]],[[1976,1960,0,2024,1144,0,0,1,0,0,0,0,[]],51,2327,[],[[0],[1],[1,100,""]],[0,0]],[[3952,1736,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,2328,[],[[0]],[0,"Default",0,1]],[[3840,1832,0,160,128,0,0,1,0,0,0,0,[]],51,2329,[],[[0],[1],[1,100,""]],[0,0]],[[2288,1768,0,192,9,0,1.570796370506287,1,0,0,0,0,[]],51,2331,[],[[0],[1],[1,100,""]],[0,0]],[[2264,1744,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2332,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2264,1784,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2333,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2264,1816,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2334,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2264,1848,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2335,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2264,1880,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2336,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2264,1912,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2337,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2264,1944,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2338,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2264,1712,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2339,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,1744,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2340,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,1784,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2341,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,1816,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2342,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,1848,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2343,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,1880,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2344,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,1912,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2345,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,1944,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2346,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,1712,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2347,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2552,1768,0,192,9,0,1.570796370506287,1,0,0,0,0,[]],51,2348,[],[[0],[1],[1,100,""]],[0,0]],[[2528,1744,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2349,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2528,1784,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2350,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2528,1816,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2351,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2528,1848,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2352,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2528,1880,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2353,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2528,1912,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2354,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2528,1944,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2355,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2528,1712,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2356,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2288,1688,0,72,9,0,1.570796370506287,1,0,0,0,0,[]],51,2357,[],[[0],[1],[1,100,""]],[0,0]],[[2160,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2358,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2192,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2359,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2224,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2360,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2256,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2361,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2288,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2362,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2560,1768,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,2363,[],[[0],[1],[1,100,""]],[0,0]],[[2576,1784,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2365,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2576,1816,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2366,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2576,1848,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2367,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2576,1880,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2368,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2560,1896,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,2369,[],[[0],[1],[1,100,""]],[0,0]],[[2552,1688,0,72,9,0,1.570796370506287,1,0,0,0,0,[]],51,2370,[],[[0],[1],[1,100,""]],[0,0]],[[2560,1688,0,72,9,0,1.570796370506287,1,0,0,0,0,[]],51,2372,[],[[0],[1],[1,100,""]],[0,0]],[[2416,1736,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,2373,[[2],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[2592,1752,0,72,152,0,0,1,0.5,0.5,0,0,[]],50,2374,[[-1],[0],[0],[0],[0],[2],[0]],[[0],[1,0,1,1,"F 360",250,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2564,1932,0,48,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,2375,[[-1],[0],[0],[0],[0],[2],[0]],[[0],[1,0,1,1,"R 90; F 400",125,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2000,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2330,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2032,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2376,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2064,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2377,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2096,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2378,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2128,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2379,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2480,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2380,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2512,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2381,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2544,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2382,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2576,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2383,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2608,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2384,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2320,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2385,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2352,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2386,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2384,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2387,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2416,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2388,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2448,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2389,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2800,1672,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2390,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2832,1672,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2391,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2864,1672,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2392,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2896,1672,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2393,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2928,1672,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2394,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2640,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2395,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2672,1672,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2396,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2704,1672,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2397,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2736,1672,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2398,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2768,1672,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2399,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3120,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2400,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3152,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2401,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3184,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2402,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3216,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2403,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3248,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2404,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2960,1672,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2405,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2992,1672,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2406,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3024,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2407,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3056,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2408,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3088,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2409,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3440,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2410,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3472,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2411,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3504,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2412,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3536,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2413,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3568,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2414,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3280,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2415,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3312,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2416,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3344,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2417,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3376,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2418,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3408,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2419,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3760,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2420,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3792,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2421,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3600,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2425,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3632,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2426,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3664,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2427,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3696,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2428,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3728,1528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2429,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2184,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2433,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2216,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2434,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2024,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2438,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2056,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2439,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2088,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2440,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2120,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2441,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2152,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2442,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2344,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2448,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2376,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2449,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2408,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2450,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2440,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2451,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2472,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2452,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2888,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2455,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2920,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2456,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2952,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2457,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3144,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2463,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3176,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2464,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3208,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2465,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3240,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2466,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3272,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2467,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2984,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2468,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3016,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2469,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3048,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2470,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3080,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2471,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3112,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2472,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3464,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2473,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3496,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2474,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3528,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2475,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3560,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2476,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3592,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2477,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3304,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2478,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3336,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2479,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3368,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2480,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3400,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2481,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3432,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2482,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3784,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2483,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3816,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2484,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3624,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2488,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3656,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2489,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3688,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2490,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3720,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2491,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2492,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2560,1832,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,2435,[],[[0],[1],[1,100,""]],[0,0]],[[1240,1760,0,56,9,0,0,1,0,0,0,0,[]],51,2436,[],[[0],[1],[1,100,""]],[0,0]],[[1120,1759.999877929688,0,120,9,0,0,1,0,0,0,0,[]],45,2437,[],[[1],[1]],[0,0]],[[2656,448,0,1344,800,0,0,1,0,0,0,0,[]],51,2364,[],[[0],[1],[1,100,""]],[0,0]],[[2656,1648,0,352,8,0,0,1,0,0,0,0,[]],51,2371,[],[[0],[1],[1,100,""]],[0,0]],[[3824,1824,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2430,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3824,1856,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2431,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3824,1648,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3824,1792,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2443,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3824,1680,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3840,1608,0,24,88,0,0,1,0,0,0,0,[]],51,2446,[],[[0],[1],[1,100,""]],[0,0]],[[3840,1768,0,24,88,0,0,1,0,0,0,0,[]],51,2447,[],[[0],[1],[1,100,""]],[0,0]],[[2728,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2453,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2760,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2454,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2792,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2458,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2824,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2459,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2856,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2460,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2600,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2462,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2632,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2485,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2664,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2486,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2696,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2487,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3320,1376,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,5502,[["level30"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[808,72,0,288,96.8204345703125,0,0,1,0,0,0,0,[[]]],61,5621,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",6,0,55,0,0,0,0,0,"",-1,0]],[[1992,1944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2253,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[280,232,0,592,9,0,0,1,0,0,0,0,[]],51,2258,[],[[0],[1],[1,100,""]],[0,0]],[[376,544,0,808,9,0,0,1,0,0,0,0,[]],51,2259,[],[[0],[1],[1,100,""]],[0,0]],[[288,856,0,512,9,0,0,1,0,0,0,0,[]],51,2260,[],[[0],[1],[1,100,""]],[0,0]],[[280,1168,0,256,9,0,0,1,0,0,0,0,[]],51,2261,[],[[0],[1],[1,100,""]],[0,0]],[[872,232,0,120,8,0,0,1,0,0,0,0,[]],45,2262,[],[[0],[1]],[0,0]],[[992,232,0,192,9,0,0,1,0,0,0,0,[]],51,2263,[],[[0],[1],[1,100,""]],[0,0]],[[288,544,0,88,8,0,0,1,0,0,0,0,[]],45,2264,[],[[0],[1]],[0,0]],[[856,856,0,328,9,0,0,1,0,0,0,0,[]],51,2265,[],[[0],[1],[1,100,""]],[0,0]],[[792,856,0,72,8,0,0,1,0,0,0,0,[]],45,2266,[],[[0],[1]],[0,0]],[[776,1168,0,408,9,0,0,1,0,0,0,0,[]],51,2267,[],[[0],[1],[1,100,""]],[0,0]],[[592,1168,0,128,9,0,0,1,0,0,0,0,[]],51,2268,[],[[0],[1],[1,100,""]],[0,0]],[[536,1168,0,56,8,0,0,1,0,0,0,0,[]],45,2269,[],[[0],[1]],[0,0]],[[720,1168,0,56,8,0,0,1,0,0,0,0,[]],45,2270,[],[[0],[1]],[0,0]],[[536,1168,0,528,9,0,1.570796370506287,1,0,0,0,0,[]],51,2271,[],[[0],[1],[1,100,""]],[0,0]],[[600,1168,0,368,9,0,1.570796370506287,1,0,0,0,0,[]],51,2272,[],[[0],[1],[1,100,""]],[0,0]],[[720,1168,0,368,9,0,1.570796370506287,1,0,0,0,0,[]],51,2273,[],[[0],[1],[1,100,""]],[0,0]],[[784,1168,0,448,9,0,1.570796370506287,1,0,0,0,0,[]],51,2274,[],[[0],[1],[1,100,""]],[0,0]],[[1048,496,0,128,9,0,0,1,0,0,0,0,[]],51,2275,[],[[0],[1],[1,100,""]],[0,0]],[[392,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2276,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[424,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2277,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[456,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2278,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[488,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2279,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[520,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2280,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[552,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2281,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[584,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2282,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[616,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2283,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[648,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2284,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[680,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2285,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[712,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2286,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[744,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2287,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[776,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2288,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[808,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2289,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[840,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2290,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[872,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2291,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[904,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2292,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[936,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2293,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[968,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2294,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1000,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2295,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1032,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2296,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1064,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2297,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1096,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2298,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2299,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2300,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2301,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[336,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2302,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2303,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[400,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2304,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[432,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2305,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[464,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2306,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[496,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2307,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[528,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2308,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[560,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2309,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[592,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2310,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[624,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2311,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[656,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2312,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[688,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2313,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2314,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[752,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2315,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[784,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2316,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[872,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2319,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[904,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2320,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[936,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2321,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[968,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2322,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1000,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10432,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1032,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10433,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1064,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10434,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1096,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2317,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2318,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10435,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[328,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10437,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[360,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10438,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[392,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10439,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[424,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10440,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[456,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10441,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[488,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10442,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[520,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10443,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[608,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10444,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[640,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10445,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[672,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10446,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[704,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10447,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[792,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10448,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[824,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10449,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[856,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10450,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[888,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10451,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[920,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10452,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[952,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10453,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[984,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10454,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1016,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10455,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1048,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10456,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1080,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10457,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1112,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10458,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1144,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10459,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,1136,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10436,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,1104,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10460,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,1072,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10461,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,1040,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10462,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,1008,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10463,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,976,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10464,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,944,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10465,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,912,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10466,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,880,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10467,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,1136,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10468,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,1104,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10469,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,1072,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10470,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,1040,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10471,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,1008,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10472,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,976,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10473,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,944,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10474,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,912,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10475,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,880,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10476,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,496,0,16,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,10477,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"F 760 ; B 760",260,0,20,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[680,352,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10479,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[648,384,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10480,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[680,416,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10481,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[664,368,0,56,32,0,0,1,0,0,0,0,[]],51,10482,[],[[0],[1],[1,100,""]],[0,0]],[[824,384,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10483,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[792,352,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10484,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[792,416,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10486,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[736,456,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10489,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[736,352,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,10490,[[0.3],[0]],[[0]],[0,"Default",0,1]],[[728,712,0,128,9,0,0,1,0,0,0,0,[]],51,10492,[],[[0],[1],[1,100,""]],[0,0]],[[792,704,0,16,32,0,0,1,0.5,0.5,0,0,[]],50,10493,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"F 320 ; B 760; F 430",260,0,20,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[752,368,0,56,32,0,0,1,0,0,0,0,[]],51,10485,[],[[0],[1],[1,100,""]],[0,0]],[[720,368,0,32,72,0,0,1,0,0,0,0,[]],51,10487,[],[[0],[1],[1,100,""]],[0,0]],[[304,448,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10495,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,416,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10496,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,384,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10497,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,352,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10498,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,320,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10499,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,288,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10500,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,256,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10501,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,792,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10488,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,760,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10491,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,728,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10494,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,696,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10502,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,664,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10503,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,632,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10504,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,600,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10505,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,568,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10506,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2257,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[704,720,0,32,144,0,0,1,0,0,0,0,[]],51,10478,[],[[0],[1],[1,100,""]],[0,0]],[[704,704,0,32,9,0,0,1,0,0,0,0,[]],51,10507,[],[[0],[1],[1,100,""]],[0,0]],[[1016,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10508,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1016,1000,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10509,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1000,1032,0,32,144,0,0,1,0,0,0,0,[]],51,10510,[],[[0],[1],[1,100,""]],[0,0]],[[1000,1016,0,32,9,0,0,1,0,0,0,0,[]],51,10511,[],[[0],[1],[1,100,""]],[0,0]],[[592,1064,0,128,9,0,0,1,0,0,0,0,[]],51,10512,[],[[0],[1],[1,100,""]],[0,0]],[[648,1064,0,16,32,0,0,1,0.5,0.5,0,0,[]],50,10513,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"F 456 ; B 760 ; F 304",260,0,20,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[840,1264,0,456,9,0,0,1,0,0,0,0,[]],51,10514,[],[[0],[1],[1,100,""]],[0,0]],[[832,760,0,80,16,0,1.570796370506287,1,0,0,0,0,[]],46,10515,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","-->",1,0,50,0,0,0,0,0,"",-1,0]],[[748,1512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10516,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[592,1528,0,192,9,0,0,1,0,0,0,0,[]],51,10517,[],[[0],[1],[1,100,""]],[0,0]],[[528,1688,0,456,9,0,0,1,0,0,0,0,[]],51,10518,[],[[0],[1],[1,100,""]],[0,0]],[[780,1632,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10519,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[872,1672,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10520,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[904,1672,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10521,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[936,1672,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10522,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[968,1672,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10523,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[600,184,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10524,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[632,184,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10525,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[568,184,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10526,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[792,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10527,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[760,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10528,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[648,160,0,8,96,0,1.570796370506287,1,0,0,0,0,[]],67,10529,[],[[1]],[0,0]],[[560,48,0,112,8,0,1.570796370506287,1,0,0,0,0,[]],45,10530,[],[[0],[1]],[0,0]],[[648,48,0,112,8,0,1.570796370506287,1,0,0,0,0,[]],45,10531,[],[[0],[1]],[0,0]],[[552,48,0,96,112,0,0,1,0,0,0,0,[]],51,10532,[],[[0],[1],[1,100,""]],[0,0]],[[856,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10533,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[824,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10534,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[756,1104,0,80,16,0,1.570796370506287,1,0,0,0,0,[]],46,10535,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","X",1,0,50,0,0,0,0,0,"",-1,0]],[[1040,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10536,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1008,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10537,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1104,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10538,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1072,216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10539,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[3824,1912,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2444,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3824,1880,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10541,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2664,1128,0,528,9,0,1.570796370506287,1,0,0,0,0,[]],51,10540,[],[[0],[1],[1,100,""]],[0,0]],[[2744,1424,0,1064,88,0,0,1,0,0,0,0,[]],51,2423,[],[[0],[1],[1,100,""]],[0,0]],[[3976,1128,0,24,480,0,0,1,0,0,0,0,[]],51,2422,[],[[0],[1],[1,100,""]],[0,0]],[[3808,1424,0,72,88,0,0,1,0,0,0,0,[]],51,2424,[],[[0],[1],[1,100,""]],[0,0]],[[3008,1512,0,136,8,0,1.570796370506287,1,0,0,0,0,[]],45,10542,[],[[0],[1]],[0,0]],[[3848,1512,0,96,8,0,1.570796370506287,1,0,0,0,0,[]],45,10543,[],[[0],[1]],[0,0]],[[3864,1608,0,136,8,0,0,1,0,0,0,0,[]],51,10544,[],[[0],[1],[1,100,""]],[0,0]],[[2760,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10545,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2792,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10546,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2824,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10547,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2856,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10548,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2680,1632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10549,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2520,1424,0,176,88,0,0,1,0,0,0,0,[]],51,10550,[],[[0],[1],[1,100,""]],[0,0]],[[2680,1296,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10551,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2680,1264,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10552,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2680,1328,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10553,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2960,1384,0,40,96,0,1.570796370506287,1,0,0,0,0,[]],67,10554,[],[[1]],[0,0]],[[2880,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10555,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2912,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10556,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2952,1384,0,8,40,0,0,1,0,0,0,0,[]],67,10557,[],[[1]],[0,0]],[[2864,1384,0,8,40,0,0,1,0,0,0,0,[]],67,10558,[],[[1]],[0,0]],[[2944,1368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10559,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2960,1240,0,8,96,0,1.570796370506287,1,0,0,0,0,[]],67,10560,[],[[1]],[0,0]],[[2880,1264,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10561,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2912,1264,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10562,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2952,1144,0,8,104,0,0,1,0,0,0,0,[]],67,10563,[],[[1]],[0,0]],[[2864,1144,0,8,104,0,0,1,0,0,0,0,[]],67,10564,[],[[1]],[0,0]],[[2944,1264,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10565,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3040,1264,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10566,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3040,1296,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10567,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3040,1328,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10568,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3040,1360,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10569,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3064,1248,0,128,8,0,1.570796370506287,1,0,0,0,0,[]],67,10570,[],[[1]],[0,0]],[[3136,1344,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10572,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3136,1376,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10573,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3136,1408,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10574,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3160,1328,0,96,8,0,1.570796370506287,1,0,0,0,0,[]],67,10575,[],[[1]],[0,0]],[[3168,1312,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10576,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3200,1344,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10577,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3232,1376,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10578,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3184,1328,0,96,24,0,1.570796370506287,1,0,0,0,0,[]],67,10580,[],[[1]],[0,0]],[[3216,1360,0,64,32,0,1.570796370506287,1,0,0,0,0,[]],67,10581,[],[[1]],[0,0]],[[3248,1392,0,32,32,0,1.570796370506287,1,0,0,0,0,[]],67,10582,[],[[1]],[0,0]],[[3392,1408,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10579,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,1408,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10583,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3456,1408,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10584,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3488,1408,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10587,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3520,1408,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10588,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3552,1408,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10589,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3584,1408,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10590,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3616,1408,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10591,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3648,1408,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10585,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3680,1408,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10586,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3800,1408,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10592,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3832,1408,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10593,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3864,1408,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10594,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[-505.760009765625,1417.087890625,0,1328,272,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,10571,[],[[0]],[0,"Default",0,1]],[[2784,1336,0,24,56,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,10595,[[-1],[0],[0],[0],[0],[5],[0]],[[0],[1,0,1,1,"F 2000",500,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1844.400146484375,1600.416015625,0,344,144,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,10596,[],[[0]],[0,"Default",0,1]],[[2752,1560,0,24,16,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,10597,[[-1],[0],[0],[0],[0],[5],[0]],[[0],[1,0,1,1,"F 2000",500,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3516.760009765625,1574.240112304688,0,136,104,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,10598,[],[[0]],[0,"Default",0,1]],[[3904,1552,0,24,16,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,10599,[[-1],[0],[0],[0],[0],[5],[0]],[[0],[1,0,1,1,"F 2000",500,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2984,1584,0,32,128,0,0,1,0.5,0.5,0,0,[]],49,10600,[[5],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]]],[]],["UI",2,484972963166177,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,252044309097733,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,231294918090211,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,905072967815834,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,668801238415103,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,689181448932578,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,165224482757330,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 31",4000,4000,true,"Levels",321550007681680,[["Background",0,244083700912040,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[902,1389,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,6368,[["Hilarious Quadrilateral"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,935298577306024,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[712,1832,0,424,9,0,0,1,0,0,0,0,[]],51,2136,[],[[0],[1],[1,100,""]],[0,0]],[[1720,1704,0,1080,1016,0,0,1,0.5,0.5,0,0,[]],50,2141,[[-1],[0],[0],[0],[0],[0],[0]],[[0],[1,0,1,1,"L 90",75,40,0,15,100,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[784,1768,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,2132,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[1304,2152,0,72,40,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,2159,[[-1],[0],[1],[0],[0],[1],[0]],[[0],[1,0,1,1,"F 100",75,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1170.2294921875,2199.96484375,0,1096,22,0,0,1,0,0,0,0,[]],51,2137,[],[[0],[1],[1,100,""]],[0,0]],[[1192,1184,0,520,23,0,1.570796370506287,1,0,0,0,0,[]],51,2138,[],[[0],[1],[1,100,""]],[0,0]],[[1170.2294921875,1183.96484375,0,1096,22,0,0,1,0,0,0,0,[]],51,2139,[],[[0],[1],[1,100,""]],[0,0]],[[2271.84423828125,1184,0,1038,23,0,1.570796370506287,1,0,0,0,0,[]],51,2140,[],[[0],[1],[1,100,""]],[0,0]],[[1192,1832,0,389.8591613769531,23.31147575378418,0,1.570796370506287,1,0,0,0,0,[]],51,2143,[],[[0],[1],[1,100,""]],[0,0]],[[1192,2096,0,920,9,0,0,1,0,0,0,0,[]],51,2144,[],[[0],[1],[1,100,""]],[0,0]],[[1240,2152,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,2145,[[2],[1],[0],[-1],[-1],[999],[0]],[[1],[]],[0,"Default",0,1]],[[1312,2120,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2146,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1312,2152,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2147,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1312,2184,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2148,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1296,2104,0,96,9,0,1.570796370506287,1,0,0,0,0,[]],51,2149,[],[[0],[1],[1,100,""]],[0,0]],[[2226,1672,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,2150,[[1],[1],[0],[-1],[-1],[999],[0]],[[1],[]],[0,"Default",0,1]],[[2104,1696,0,160,9,0,0,1,0,0,0,0,[]],51,2151,[],[[0],[1],[1,100,""]],[0,0]],[[2104,1632,0,160,9,0,0,1,0,0,0,0,[]],51,2152,[],[[0],[1],[1,100,""]],[0,0]],[[1680,1808,0,104,9,0,0,1,0,0,0,0,[]],51,2155,[],[[0],[1],[1,100,""]],[0,0]],[[1784,1696,0,120,9,0,1.570796370506287,1,0,0,0,0,[]],51,2156,[],[[0],[1],[1,100,""]],[0,0]],[[1688,1712,0,104,9,0,1.570796370506287,1,0,0,0,0,[]],51,2157,[],[[0],[1],[1,100,""]],[0,0]],[[1728,1221,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,2154,[[1.2],[0]],[[0]],[0,"Default",0,1]],[[1688,1712,0,88,8,0,0,1,0,0,0,0,[]],45,2158,[],[[1],[1]],[0,0]],[[1192,1832,0,160,9,0,0,1,0,0,0,0,[]],51,2160,[],[[0],[1],[1,100,""]],[0,0]],[[1176,1695,0,176,9,0,0,1,0,0,0,0,[]],51,2161,[],[[0],[1],[1,100,""]],[0,0]],[[1200,1816,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2163,[[0],[1]],[[1],[1]],[0,"Default",0,1]],[[1336,1720,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2164,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1304,1720,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2165,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1600,472,0,680,9,0,1.570796370506287,1,0,0,0,0,[]],51,2167,[],[[0],[1],[1,100,""]],[0,0]],[[1752,728,0,432,9,0,1.570796370506287,1,0,0,0,0,[]],51,2168,[],[[0],[1],[1,100,""]],[0,0]],[[1600,1136,0,40,9,0,0,1,0,0,0,0,[]],51,2169,[],[[0],[1],[1,100,""]],[0,0]],[[1664,1760,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],43,2170,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1896,1480,0,576,9,0,1.570796370506287,1,0,0,0,0,[]],51,2171,[],[[0],[1],[1,100,""]],[0,0]],[[1896,2056,0,40,8,0,1.570796370506287,1,0,0,0,0,[]],45,2172,[],[[1],[1]],[0,0]],[[1896,1984,0,354,9,0,0,1,0,0,0,0,[]],51,2173,[],[[0],[1],[1,100,""]],[0,0]],[[1912,2008,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2174,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1944,2008,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2175,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1976,2008,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2176,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2008,2008,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2177,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2040,2008,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2178,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2072,2008,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2179,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2104,2008,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2180,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2136,2008,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2181,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2168,2008,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2182,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2200,2008,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2183,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2232,2008,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2184,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1721,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2185,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1753,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2186,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1785,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2187,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1817,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2188,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1849,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2189,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1881,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2190,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1913,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2191,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1945,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2192,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1224,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2193,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1256,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2194,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2195,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1320,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2196,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1352,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2197,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1384,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2198,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1416,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2199,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1448,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2200,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1480,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2201,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1512,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2202,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1544,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2203,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1576,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2204,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2234,1608,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2205,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2096,1205,0,296,8,0,1.570796370506287,1,0,0,0,0,[]],51,2206,[],[[0],[1],[1,100,""]],[0,0]],[[2072,1384,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],43,2207,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1896,1200,0,160,9,0,1.570796370506287,1,0,0,0,0,[]],51,2208,[],[[0],[1],[1,100,""]],[0,0]],[[1887,1360,0,9,120,0,0,1,0,0,0,0,[]],48,2209,[],[[1],[1]],[0,0]],[[1731,1766,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,2210,[[3],[1],[0],[-1],[-1],[999],[0]],[[1],[]],[0,"Default",0,1]],[[1888,1416,0,32,72,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,2211,[[-1],[0],[1],[0],[0],[3],[0]],[[0],[1,0,1,1,"B 120",75,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1208,1904,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],43,2212,[[0.6],[0]],[[0]],[0,"Default",0,1]],[[1272,1288,0,312,9,0,1.570796370506287,1,0,0,0,0,[]],51,2213,[],[[0],[1],[1,100,""]],[0,0]],[[1400,1280,0,320,9,0,1.570796370506287,1,0,0,0,0,[]],51,2214,[],[[0],[1],[1,100,""]],[0,0]],[[1640,1221,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2215,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1608,1221,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2216,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1576,1221,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2217,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1544,1221,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2218,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1512,1221,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2219,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1480,1221,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2220,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1376,1584,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2223,[[0],[1]],[[1],[1]],[0,"Default",0,1]],[[1288,1344,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2224,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1416,1360,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2227,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1416,1392,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2228,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1416,1424,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2229,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1416,1456,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2230,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1416,1488,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2231,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1416,1520,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2232,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1416,1552,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2233,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1416,1584,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2234,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1208,1360,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2237,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1208,1392,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2238,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1208,1424,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2239,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1208,1456,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2240,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1208,1488,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2241,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1208,1520,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2242,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1208,1552,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2243,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1208,1584,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2244,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1848,632,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,2245,[],[[0]],[0,"Default",0,1]],[[1744,728,0,168,9,0,0,1,0,0,0,0,[]],51,2246,[],[[0],[1],[1,100,""]],[0,0]],[[1744,1144,0,9,144,0,1.570796370506287,1,0,0,0,0,[]],48,2247,[],[[1],[1]],[0,0]],[[1688,1136,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,2248,[[-1],[0],[0],[0],[0],[2],[0]],[[0],[1,0,1,1,"F 260",75,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1376,1808,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,3,[[0],[1],[0],[-1],[-1],[999],[0]],[[1],[]],[0,"Default",0,1]],[[1232,1248,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,4,[[0],[1],[0],[-1],[-1],[999],[0]],[[1],[]],[0,"Default",0,1]],[[1176,1280,0,96,9,0,0,1,0,0,0,0,[]],51,1641,[],[[0],[1],[1,100,""]],[0,0]],[[1960,1248,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,2225,[[0],[1],[0],[-1],[-1],[999],[0]],[[1],[]],[0,"Default",0,1]],[[2112,1632,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],45,2153,[],[[1],[1]],[0,0]],[[2232,2072,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],43,2166,[[0.6],[0]],[[0]],[0,"Default",0,1]],[[2160,1264,0,64,64,0,3.141592741012573,1,0.5,0.5,0,0,[]],60,1514,[["level31"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[828,1674,0,288,117,0,0,1,0,0,0,0,[[]]],61,5622,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,80,0,0,0,0,0,"",-1,0]],[[2160,1222,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],43,1002,[[0.7],[0]],[[0]],[0,"Default",0,1]]],[]],["UI",2,315693914697054,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,455520237785918,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,115238240153991,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,672299296876573,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,962183727403584,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,389080780884637,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,787230101358026,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 32",12000,4000,true,"Levels",378281149700731,[["Background",0,509833064155405,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[-97,439,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,6369,[["Run for your life"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,223519862668241,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[302,516,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,2461,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[7240,888,0,1896,808,0,0,1,0.5,0.5,0,0,[]],50,2551,[[-1],[0],[0],[0],[0],[0],[0]],[[0],[1,1,1,1,"B 4000;",250,20,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[-536,584,0,6808,646,0,0,1,0,0,0,0,[]],51,2493,[],[[0],[1],[1,100,""]],[0,0]],[[40.00000762939453,328,0,256,9,0,1.570796370506287,1,0,0,0,0,[]],51,2494,[],[[0],[1],[1,100,""]],[0,0]],[[56,440,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2495,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[56,472,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2496,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[56,504,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2497,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[56,536,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2498,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[56,568,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2499,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[53,456,0,32,240,0,0,1,0.5,0.5,0,0,[]],50,2500,[[-1],[0],[0],[0],[0],[0],[0]],[[0],[1,1,1,1,"F 5000;",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[4384,1492,0,7500,336,0,0,1,0.5,0.5,0,0,[]],50,2501,[[-1],[0],[0],[0],[0],[0],[0]],[[0],[1,1,1,1,"B 4000;",250,20,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[-512,-295,0,2504,624,0,0,1,0,0,0,0,[]],51,2502,[],[[0],[1],[1,100,""]],[0,0]],[[56,376,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2503,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[56,408,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2504,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[56,344,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,2505,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[376,568,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2506,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[408,568,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2507,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[440,568,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2508,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[472,568,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2509,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[216,328,0,256,9,0,1.570796370506287,1,0,0,0,0,[]],52,2510,[],[[0],[0]],[0,0]],[[584,520,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,2511,[[1],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[888,328,0,208,9,0,1.570796370506287,1,0,0,0,0,[]],51,2512,[],[[0],[1],[1,100,""]],[0,0]],[[888,536,0,56,9,0,1.570796370506287,1,0,0,0,0,[]],51,2513,[],[[0],[1],[1,100,""]],[0,0]],[[880,552,0,16,72,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,2514,[[-1],[0],[0],[0],[0],[1],[0]],[[0],[1,0,1,1,"B 1000",40,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1224,520,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,2515,[[2],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1352,328,0,208,9,0,1.570796370506287,1,0,0,0,0,[]],51,2516,[],[[0],[1],[1,100,""]],[0,0]],[[1352,536,0,56,9,0,1.570796370506287,1,0,0,0,0,[]],51,2517,[],[[0],[1],[1,100,""]],[0,0]],[[1344,552,0,16,72,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,2518,[[-1],[0],[0],[0],[0],[2],[0]],[[0],[1,0,1,1,"B 1000",40,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1632,520,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,2519,[[3],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1760,424,0,160,9,0,1.570796370506287,1,0,0,0,0,[]],51,2520,[],[[0],[1],[1,100,""]],[0,0]],[[1760,368,0,56,9,0,1.570796370506287,1,0,0,0,0,[]],51,2521,[],[[0],[1],[1,100,""]],[0,0]],[[1752,392,0,16,72,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,2522,[[-1],[0],[0],[0],[0],[3],[0]],[[0],[1,0,1,1,"F 1000",40,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1984,1,0,800,512,0,0,1,0,0,0,0,[]],51,2523,[],[[0],[1],[1,100,""]],[0,0]],[[1992,320,0,192,9,0,1.570796370506287,1,0,0,0,0,[]],51,2524,[],[[0],[1],[1,100,""]],[0,0]],[[3856,440,0,48,9,0,1.570796370506287,1,0,0,0,0,[]],51,2525,[],[[0],[1],[1,100,""]],[0,0]],[[3848,1,0,304,448,0,0,1,0,0,0,0,[]],51,2526,[],[[0],[1],[1,100,""]],[0,0]],[[1760,320,0,48,9,0,1.570796370506287,1,0,0,0,0,[]],51,2530,[],[[0],[1],[1,100,""]],[0,0]],[[3048,-7,0,808,496,0,0,1,0,0,0,0,[]],51,2531,[],[[0],[1],[1,100,""]],[0,0]],[[2792,0,0,512,9,0,1.570796370506287,1,0,0,0,0,[]],51,2532,[],[[0],[1],[1,100,""]],[0,0]],[[3056,0,0,488,9,0,1.570796370506287,1,0,0,0,0,[]],51,2533,[],[[0],[1],[1,100,""]],[0,0]],[[2928,360,0,232,16,0,1.570796370506287,1,0,0,0,0,[]],51,2535,[],[[0],[1],[1,100,""]],[0,0]],[[2792,1,0,256,288,0,0,1,0,0,0,0,[]],51,2536,[],[[0],[1],[1,100,""]],[0,0]],[[2896,568,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,2534,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[-2,1216,0,7510,440,0,0,1,0,0,0,0,[]],51,2540,[],[[0],[1],[1,100,""]],[0,0]],[[7488,584,0,136,216,0,1.570796370506287,1,0,0,0,0,[]],51,2541,[],[[0],[1],[1,100,""]],[0,0]],[[7344,1016,0,816,9,0,0,1,0,0,0,0,[]],51,2542,[],[[0],[1],[1,100,""]],[0,0]],[[7280,1016,0,64,8,0,0,1,0,0,0,0,[]],45,2543,[],[[0],[1]],[0,0]],[[7312,1064,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,2544,[[4],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[7500,1216,0,200,9,0,-1.570796489715576,1,0,0,0,0,[]],51,2546,[],[[0],[1],[1,100,""]],[0,0]],[[7484,1136,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2547,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[7484,1168,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2548,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[7484,1200,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2549,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[7484,1072,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2553,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[7484,1104,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2554,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[7484,1040,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,2555,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5536,816,0,1400,336,0,0,1,0.5,0.5,0,0,[]],50,2550,[[-1],[0],[0],[0],[0],[0],[0]],[[0],[1,1,1,1,"B 4000;",250,20,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[7280,584,0,440,504,0,1.570796370506287,1,0,0,0,0,[]],51,2528,[],[[0],[1],[1,100,""]],[0,0]],[[7176,1072,0,144,9,0,1.570796370506287,1,0,0,0,0,[]],51,2552,[],[[0],[1],[1,100,""]],[0,0]],[[7040,864,0,264,192,0,1.570796370506287,1,0,0,0,0,[]],51,2556,[],[[0],[1],[1,100,""]],[0,0]],[[7024,1144,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2557,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6992,1144,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2558,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6960,1144,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2559,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6928,1144,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2560,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6896,1144,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2561,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6864,1144,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2562,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6776,584,0,72,8,0,0,1,0,0,0,0,[]],45,2563,[],[[0],[1]],[0,0]],[[4464,488,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,2564,[],[[0]],[0,"Default",0,1]],[[6760,1200,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2565,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6728,1200,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2566,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6696,1200,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2567,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6664,1200,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2568,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3832,504,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2529,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3800,504,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3445,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3768,504,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3446,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3736,504,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3447,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3704,504,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3449,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3672,504,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3450,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,504,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3451,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3608,504,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3452,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3448,504,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3458,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3416,504,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3459,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3384,504,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3460,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3352,504,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3461,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6344,584,0,432,440,0,0,1,0,0,0,0,[]],51,2527,[],[[0],[1],[1,100,""]],[0,0]],[[6312,1200,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3462,[[1],[0]],[[0]],[0,"Default",0,1]],[[8432,584,0,136,856,0,1.570796370506287,1,0,0,0,0,[]],51,3463,[],[[0],[1],[1,100,""]],[0,0]],[[6256,584,0,96,8,0,0,1,0,0,0,0,[]],45,2537,[],[[0],[1]],[0,0]],[[4143,449,0,9,135,0,0,1,0,0,0,0,[]],48,5415,[],[[0],[1]],[0,0]],[[4144,504,0,24,100,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,5416,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,1,"F 2000",500,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[151,475,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,2249,[["level32"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[280,387,0,288,117,0,0,1,0,0,0,0,[[]]],61,5623,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]],[[209.6012268066406,453.3729553222656,0,32,29.4512939453125,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,1432,[[-1],[0],[0],[0],[0],[0],[0]],[[0],[1,1,1,1,"W 10; F 10000",7000,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[8150.38916015625,1024.45556640625,0,311.1142578125,9,0,-1.570796489715576,1,0,0,0,0,[]],51,2538,[],[[0],[1],[1,100,""]],[0,0]]],[]],["UI",2,780239747127872,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,371333309011920,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,324738382487352,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,501210784048105,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,420901738204466,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,854512788954366,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,663465588393400,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 33",3000,9000,true,"Levels",415272689974567,[["Background",0,158361417687801,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[2788.39111328125,4075,0,144,9,0,0,1,0,0,0,0,[]],51,5453,[],[[0],[1],[1,100,""]],[0,0]]],[]],["Layer 0",1,594181474817275,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[1774,760,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,3136,[["level33"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[223,584,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,6,[["Selection exam"],[""],[0]],[],[1,"Default",0,1]],[[439,809,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,7,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["astronaut"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[0,"Default",0,1]],[[304,2840,0,912,9,0,0,1,0,0,0,0,[]],51,2597,[],[[0],[1],[1,100,""]],[0,0]],[[528,2632,0,920,9,0,0,1,0,0,0,0,[]],51,8,[],[[0],[1],[1,100,""]],[0,0]],[[208,2632,0,680,9,0,1.570796370506287,1,0,0,0,0,[]],51,2600,[],[[0],[1],[1,100,""]],[0,0]],[[336,2640,0,200,9,0,1.570796370506287,1,0,0,0,0,[]],48,2599,[],[[0],[1]],[0,0]],[[1752,2792,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,2601,[[1],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1984,2640,0,208,9,0,1.570796370506287,1,0,0,0,0,[]],51,2602,[],[[0],[1],[1,100,""]],[0,0]],[[1968,2760,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,2603,[[1],[300]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[336,2752,0,56,16,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9,[[-1],[0],[0],[0],[0],[1],[0]],[[0],[1,0,1,1,"F 200",75,40,0,400,100,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1216,2840,0,768,9,0,0,1,0,0,0,0,[]],51,10,[],[[0],[1],[1,100,""]],[0,0]],[[1440,2632,0,544,9,0,0,1,0,0,0,0,[]],51,11,[],[[0],[1],[1,100,""]],[0,0]],[[872,2824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,12,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[904,2824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,13,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,2824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,14,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,2824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,15,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1344,2824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,16,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1376,2824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,17,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[208,2840,0,96,9,0,0,1,0,0,0,0,[]],52,2222,[],[[0],[0]],[0,0]],[[312,2840,0,504,9,0,1.570796370506287,1,0,0,0,0,[]],51,18,[],[[0],[1],[1,100,""]],[0,0]],[[40,3456,0,584,9,0,0,1,0,0,0,0,[]],51,19,[],[[0],[1],[1,100,""]],[0,0]],[[304,3336,0,128,9,0,0,1,0,0,0,0,[]],51,20,[],[[0],[1],[1,100,""]],[0,0]],[[432,3064,0,280,9,0,1.570796370506287,1,0,0,0,0,[]],51,21,[],[[0],[1],[1,100,""]],[0,0]],[[744,3072,0,752,9,0,1.570796370506287,1,0,0,0,0,[]],51,22,[],[[0],[1],[1,100,""]],[0,0]],[[744,3072,0,320,9,0,3.141592741012573,1,0,0,0,0,[]],51,23,[],[[0],[1],[1,100,""]],[0,0]],[[600,3304,0,40,96,0,3.141592741012573,1,0,0,0,0,[]],51,24,[],[[0],[1],[1,100,""]],[0,0]],[[56,3432,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,25,[[1],[-1]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[40,3312,0,168,9,0,0,1,0,0,0,0,[]],51,26,[],[[0],[1],[1,100,""]],[0,0]],[[48,3312,0,152,9,0,1.570796370506287,1,0,0,0,0,[]],51,29,[],[[0],[1],[1,100,""]],[0,0]],[[584,3304,0,104,9,0,1.570796370506287,1,0,0,0,0,[]],52,30,[],[[0],[0]],[0,0]],[[584,3192,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,31,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2936,3184,0,900.101806640625,9,0,1.570796370506287,1,0,0,0,0,[]],51,32,[],[[0],[1],[1,100,""]],[0,0]],[[2872,3976,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,36,[],[[0]],[0,"Default",0,1]],[[2792,3184,0,128,9,0,1.570796370506287,1,0,0,0,0,[]],51,39,[],[[0],[1],[1,100,""]],[0,0]],[[2792,3184,0,144,9,0,0,1,0,0,0,0,[]],51,50,[],[[0],[1],[1,100,""]],[0,0]],[[584,3408,0,48,9,0,1.570796370506287,1,0,0,0,0,[]],45,59,[],[[0],[1]],[0,0]],[[1000,2720,0,231,64,0,0,1,0,0,0,0,[]],46,69,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Step 1 is...",1,0,50,0,0,0,0,0,"",-1,0]],[[1400,2216,0,432,64,0,0,1,0,0,0,0,[]],46,84,[[1],[1],[""],["en-us"],[0],[1],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","ROCKETS!",3,0,50,0,0,0,0,0,"",-1,0]],[[1640,2256,0,56,16,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,85,[[-1],[0],[0],[0],[0],[1],[0]],[[0],[1,0,1,1,"B 460",1000,0,0,400,100,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[56,3368,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,86,[[1],[-1]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[256,3245,0,96,96,0,0,1,0.5,0.5,0,0,[]],49,87,[[2],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[208,3392,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],48,88,[],[[0],[1]],[0,0]],[[208,3320,0,72,9,0,1.570796370506287,1,0,0,0,0,[]],48,89,[],[[0],[1]],[0,0]],[[208,3352,0,56,16,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,90,[[-1],[0],[0],[0],[0],[2],[0]],[[0],[1,0,1,1,"F 64",1000,0,0,400,100,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[208,3424,0,56,16,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,92,[[-1],[0],[0],[0],[0],[2],[0]],[[0],[1,0,1,1,"B 64",1000,0,0,400,100,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[352,3728,0,56,16,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,93,[[-1],[0],[0],[0],[0],[2],[0]],[[0],[1,0,1,1,"F 360",1000,0,0,400,100,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[240,3720,0,231,64,0,0,1,0,0,0,0,[]],46,94,[[1],[1],[""],["en-us"],[0],[1],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","MORE ROCKETS!",1.5,0,50,0,0,0,0,0,"",-1,0]],[[296,3336,0,160,9,0,0,1,0,0,0,0,[]],51,95,[],[[0],[1],[1,100,""]],[0,0]],[[296,3344,0,2,2,0,0,1,0.5,0.5,0,0,[]],50,96,[[-1],[0],[0],[0],[0],[2],[0]],[[0],[1,0,1,1,"F 120",1000,0,0,400,100,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[200,2632,0,176,9,0,0,1,0,0,0,0,[]],51,97,[],[[0],[1],[1,100,""]],[0,0]],[[375.9999389648438,896,0,1744,9,0,1.570796370506287,1,0,0,0,0,[]],51,202,[],[[0],[1],[1,100,""]],[0,0]],[[536.0000610351562,896,0,1744,9,0,1.570796370506287,1,0,0,0,0,[]],51,369,[],[[0],[1],[1,100,""]],[0,0]],[[344,744,0,231,64,0,0,1,0,0,0,0,[]],46,370,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Take part in the OvO space Program!",1,0,50,0,0,0,0,0,"",-1,0]],[[320,728,0,272,9,0,0,1,0,0,0,0,[]],51,381,[],[[0],[1],[1,100,""]],[0,0]],[[528,896,0,72,9,0,0,1,0,0,0,0,[]],51,382,[],[[0],[1],[1,100,""]],[0,0]],[[312,896,0,64,9,0,0,1,0,0,0,0,[]],51,399,[],[[0],[1],[1,100,""]],[0,0]],[[320,728,0,176,9,0,1.570796370506287,1,0,0,0,0,[]],51,400,[],[[0],[1],[1,100,""]],[0,0]],[[600,728,0,176,9,0,1.570796370506287,1,0,0,0,0,[]],51,421,[],[[0],[1],[1,100,""]],[0,0]],[[360,2736,0,231,64,0,0,1,0,0,0,0,[]],46,423,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","This way ---->",1,0,50,0,0,0,0,0,"",-1,0]],[[424,2728,0,56,16,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,424,[[-1],[0],[0],[0],[0],[1],[0]],[[0],[1,0,1,1,"F 600",1000,0,0,400,100,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2792,3424,0,136,9,0,0,1,0,0,0,0,[]],52,543,[],[[0],[0]],[0,0]],[[2792,3424,0,660.101806640625,9,0,1.570796370506287,1,0,0,0,0,[]],51,546,[],[[0],[1],[1,100,""]],[0,0]],[[624,3456,0,680,9,0,1.570796370506287,1,0,0,0,0,[]],51,547,[],[[0],[1],[1,100,""]],[0,0]],[[616,4128,0,1792,9,0,0,1,0,0,0,0,[]],51,2710,[],[[0],[1],[1,100,""]],[0,0]],[[736,3816,0,1504,9,0,0,1,0,0,0,0,[]],51,2711,[],[[0],[1],[1,100,""]],[0,0]],[[2392,4112,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,2712,[[1],[0]],[[0]],[0,"Default",0,1]],[[680,3648,0,96,96,0,0,1,0.5,0.5,0,0,[]],49,2713,[[4],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[792,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2714,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[840,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2715,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[888,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2716,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[944,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2717,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1000,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2718,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1056,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2719,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1112,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2720,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1168,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2721,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[432,4456,0,2184,176,0,0,1,0,0,0,0,[]],46,2722,[[1],[1],[""],["en-us"],[0],[1],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","MORE ROCKEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEETS!",2.5,0,50,0,0,0,0,0,"",-1,0]],[[1080,4544,0,50,50,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,2723,[[-1],[0],[0],[0],[0],[4],[0]],[[0],[1,0,1,1,"F 360",1000,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1216,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2724,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1272,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2725,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1328,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2726,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1376,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2727,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1424,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2728,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1472,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2729,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1528,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2730,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1584,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2731,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1640,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2732,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1696,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2733,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1752,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2734,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1800,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2735,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1856,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2736,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1912,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2737,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1960,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2738,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[2008,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2739,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[2056,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2740,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[2112,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2741,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[2168,3832,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2742,[[1],[325]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[452,896,0,9,76,0,1.570796370506287,1,0,0,0,0,[]],48,371,[],[[0],[1]],[0,0]],[[528,896,0,9,76,0,1.570796370506287,1,0,0,0,0,[]],48,422,[],[[0],[1]],[0,0]],[[498,904,0,50,32,0,0,1,0.5,0.5,0,0,[]],50,1660,[[-1],[0],[0],[0],[0],[0],[0]],[[0],[1,1,0,1,"W 1;R 90;F 100;L 90;F 300",100,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[408,904,0,50,32,0,0,1,0.5,0.5,0,0,[]],50,1927,[[-1],[0],[0],[0],[0],[0],[0]],[[0],[1,1,0,1,"W 1;R 90; F 100;R 90; F 300",100,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[488,768,0,50,32,0,0,1,0.5,0.5,0,0,[]],50,98,[[-1],[0],[0],[0],[0],[0],[0]],[[0],[1,1,1,1,"W 10 ; F 1000",1000,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1776,760,0,50,32,0,0,1,0.5,0.5,0,0,[]],50,3137,[[-1],[0],[0],[0],[0],[0],[0]],[[0],[1,1,1,1,"W 10 ; B 1325",1000,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[314,582,0,288,114,0,0,1,0,0,0,0,[[]]],61,5624,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]]],[]],["UI",2,801764278645348,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,907649229126293,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,596912154178111,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,355579686214278,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,719178086121515,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,589988977314873,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,106108338502018,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 34",3000,4000,true,"Levels",187066840962196,[["Background",0,357380478704912,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,480091760742559,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[585,519,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,762,[["Test of intelligence"],[""],[0]],[],[1,"Default",0,1]],[[1080,8,0,1048,9,0,1.570796370506287,1,0,0,0,0,[]],51,763,[],[[0],[1],[1,100,""]],[0,0]],[[936,1048,0,136,9,0,0,1,0,0,0,0,[]],52,764,[],[[0],[0]],[0,0]],[[936.0000610351562,8,0,1048,9,0,1.570796370506287,1,0,0,0,0,[]],51,765,[],[[0],[1],[1,100,""]],[0,0]],[[48,1256,0,888,16,0,0,1,0,0,0,0,[]],51,980,[],[[0],[1],[1,100,""]],[0,0]],[[1080,1256,0,920,16,0,0,1,0,0,0,0,[]],51,981,[],[[0],[1],[1,100,""]],[0,0]],[[936,1256,0,144,9,0,0,1,0,0,0,0,[]],48,982,[],[[0],[1]],[0,0]],[[1072,1048,0,208,9,0,0,1,0,0,0,0,[]],51,983,[],[[0],[1],[1,100,""]],[0,0]],[[728,1048,0,208,9,0,0,1,0,0,0,0,[]],51,984,[],[[0],[1],[1,100,""]],[0,0]],[[1280,656,0,400,9,0,1.570796370506287,1,0,0,0,0,[]],51,990,[],[[0],[1],[1,100,""]],[0,0]],[[2000,656,0,608,9,0,1.570796370506287,1,0,0,0,0,[]],51,991,[],[[0],[1],[1,100,""]],[0,0]],[[1272,648,0,728,9,0,0,1,0,0,0,0,[]],51,992,[],[[0],[1],[1,100,""]],[0,0]],[[1984,1168,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,993,[[1],[200]],[[1],[300,1,1,180,0,0,500,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1984,816,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,994,[[1],[200]],[[1],[300,1,1,180,0,0,500,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1288,856,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,1005,[[1],[200]],[[1],[300,1,1,180,0,0,500,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1400,664,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2674,[[1],[200]],[[1],[300,1,1,180,0,0,500,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1792,1048,0,88,9,0,1.570796370506287,1,0,0,0,0,[]],51,2675,[],[[0],[1],[1,100,""]],[0,0]],[[1456,816,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,2676,[],[[0],[1],[1,100,""]],[0,0]],[[1792,904,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,2677,[],[[0],[1],[1,100,""]],[0,0]],[[1496,1112,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,2678,[],[[0],[1],[1,100,""]],[0,0]],[[1640,984,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,2679,[],[[0],[1],[1,100,""]],[0,0]],[[1544,792,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,2680,[[1],[1],[1],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[936,1264,0,144,9,0,0,1,0,0,0,0,[]],48,2681,[],[[0],[1]],[0,0]],[[1040,1252,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,2682,[[-1],[0],[0],[0],[0],[1],[0]],[[0],[1,0,1,1,"F 160",1000,0,0,400,100,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1001,193,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,2683,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[0,"Default",0,1]],[[56,656,0,616,9,0,1.570796370506287,1,0,0,0,0,[]],51,2684,[],[[0],[1],[1,100,""]],[0,0]],[[736,648,0,408,9,0,1.570796370506287,1,0,0,0,0,[]],51,2685,[],[[0],[1],[1,100,""]],[0,0]],[[48,648,0,680,9,0,0,1,0,0,0,0,[]],51,2686,[],[[0],[1],[1,100,""]],[0,0]],[[152,976,0,480,9,0,0,1,0,0,0,0,[]],51,2687,[],[[0],[1],[1,100,""]],[0,0]],[[632,976,0,96,8,0,0,1,0,0,0,0,[]],45,2688,[],[[0],[1]],[0,0]],[[440,1064,0,192,9,0,1.570796370506287,1,0,0,0,0,[]],51,2689,[],[[0],[1],[1,100,""]],[0,0]],[[424,1240,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,2690,[[1],[200]],[[1],[300,1,1,180,0,0,500,1,1],[0,10000,90,1]],[0,"Default",0,1]],[[448,1240,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,2691,[[1],[225]],[[1],[300,1,1,180,0,0,500,1,1],[0,10000,90,1]],[0,"Default",0,1]],[[160,976,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,2692,[],[[0],[1],[1,100,""]],[0,0]],[[192,664,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2693,[[1],[225]],[[1],[300,1,1,180,0,0,500,1,1],[0,10000,90,1]],[0,"Default",0,1]],[[296,664,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2694,[[1],[225]],[[1],[300,1,1,180,0,0,500,1,1],[0,10000,90,1]],[0,"Default",0,1]],[[400,664,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2695,[[1],[225]],[[1],[300,1,1,180,0,0,500,1,1],[0,10000,90,1]],[0,"Default",0,1]],[[512,664,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,2696,[[1],[225]],[[1],[300,1,1,180,0,0,500,1,1],[0,10000,90,1]],[0,"Default",0,1]],[[680,888,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,2698,[[2],[1],[1],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[976,1272,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,2699,[[-1],[0],[0],[0],[0],[2],[0]],[[0],[1,0,1,1,"F 160",1000,0,0,400,100,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[856,1112,0,312,80,0,0,1,0,0,0,0,[]],46,3141,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","You will have to outrange rockets however you can",1,0,50,0,0,0,0,0,"",-1,0]],[[1576,880,0,64,9,0,0,1,0,0,0,0,[]],51,3138,[],[[0],[1],[1,100,""]],[0,0]],[[1088,1264,0,544,9,0,1.570796370506287,1,0,0,0,0,[]],51,3139,[],[[0],[1],[1,100,""]],[0,0]],[[936,1272,0,536,9,0,1.570796370506287,1,0,0,0,0,[]],51,3140,[],[[0],[1],[1,100,""]],[0,0]],[[1016,8,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,3142,[],[[0]],[0,"Default",0,1]],[[1520,2432,0,8,32,0,0,1,0.5,0.5,0,0,[]],50,3224,[[-1],[0],[0],[0],[0],[3],[0]],[[0],[1,0,1,1,"F 60",20,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[928,1800,0,160,9,0,0,1,0,0,0,0,[]],52,3230,[],[[0],[0]],[0,0]],[[824,1800,0,216,8,0,1.570796370506287,1,0,0,0,0,[]],51,3231,[],[[0],[1],[1,100,""]],[0,0]],[[816,1800,0,112,8,0,0,1,0,0,0,0,[]],51,3232,[],[[0],[1],[1,100,""]],[0,0]],[[816,2008,0,672,8,0,0,1,0,0,0,0,[]],51,3233,[],[[0],[1],[1,100,""]],[0,0]],[[1088,1800,0,680,8,0,0,1,0,0,0,0,[]],51,3234,[],[[0],[1],[1,100,""]],[0,0]],[[1552,2008,0,216,8,0,0,1,0,0,0,0,[]],51,3235,[],[[0],[1],[1,100,""]],[0,0]],[[1768,1800,0,208,8,0,1.570796370506287,1,0,0,0,0,[]],51,3236,[],[[0],[1],[1,100,""]],[0,0]],[[832,1912,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,3237,[[1],[250]],[[0],[300,1,1,180,0,0,500,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1112,1992,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3239,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1376,1992,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3240,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1256,1824,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3241,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1552,2008,0,8,64,0,1.570796370506287,1,0,0,0,0,[]],48,3243,[],[[0],[1]],[0,0]],[[1736,1984,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,3249,[[10],[1],[1],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1512,2008,0,8,32,0,0,1,0.5,0.5,0,0,[]],50,3250,[[-1],[0],[0],[0],[0],[10],[0]],[[0],[1,0,1,1,"F 75",50,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[824,2016,0,424,8,0,1.570796370506287,1,0,0,0,0,[]],51,3251,[],[[0],[1],[1,100,""]],[0,0]],[[1064,2224,0,488,8,0,0,1,0,0,0,0,[]],51,3252,[],[[0],[1],[1,100,""]],[0,0]],[[1552,2224,0,216,8,0,0,1,0,0,0,0,[]],51,3253,[],[[0],[1],[1,100,""]],[0,0]],[[1768,2016,0,208,8,0,1.570796370506287,1,0,0,0,0,[]],51,3254,[],[[0],[1],[1,100,""]],[0,0]],[[1752,2072,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,3255,[[1],[300]],[[0],[300,1,1,180,0,0,500,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1064,2224,0,8,64,0,1.570796370506287,1,0,0,0,0,[]],48,3256,[],[[0],[1]],[0,0]],[[960,2104,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,3258,[[11],[1],[1],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1016,2224,0,8,32,0,0,1,0.5,0.5,0,0,[]],50,3259,[[-1],[0],[0],[0],[0],[11],[0]],[[0],[1,0,1,1,"F 75",50,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1752,2160,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,3260,[[1],[300]],[[0],[300,1,1,180,0,0,500,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[816,2224,0,184,8,0,0,1,0,0,0,0,[]],51,3262,[],[[0],[1],[1,100,""]],[0,0]],[[920,2160,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3266,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[952,2160,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3268,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[984,2160,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3269,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[904,2136,0,96,8,0,0,1,0,0,0,0,[]],51,3270,[],[[0],[1],[1,100,""]],[0,0]],[[1768,2224,0,96,8,0,1.570796370506287,1,0,0,0,0,[]],51,3271,[],[[0],[1],[1,100,""]],[0,0]],[[832,2344,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,3272,[[1],[350]],[[0],[300,1,1,180,0,0,500,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1120,2416,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3273,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1384,2416,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3274,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1264,2248,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3275,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[816,2432,0,672,8,0,0,1,0,0,0,0,[]],51,3278,[],[[0],[1],[1,100,""]],[0,0]],[[1552,2432,0,216,8,0,0,1,0,0,0,0,[]],51,3279,[],[[0],[1],[1,100,""]],[0,0]],[[1552,2432,0,8,64,0,1.570796370506287,1,0,0,0,0,[]],48,3281,[],[[0],[1]],[0,0]],[[1760,2368,0,8,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,3282,[[-1],[0],[0],[0],[0],[3],[0]],[[0],[1,0,1,1,"F 60",1000,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1768,2320,0,120,8,0,1.570796370506287,1,0,0,0,0,[]],51,3283,[],[[0],[1],[1,100,""]],[0,0]],[[1488,2696,0,1312,8,0,0,1,0,0,0,0,[]],51,3284,[],[[0],[1],[1,100,""]],[0,0]],[[2456,2688,0,64,32,0,-1.570796489715576,1,0.125,0.5,0,0,[]],55,3285,[[1],[250]],[[0],[300,1,1,180,0,0,500,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[2568,2688,0,64,32,0,-1.570796489715576,1,0.125,0.5,0,0,[]],55,3286,[[1],[250]],[[0],[300,1,1,180,0,0,500,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[2864,3040,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,3287,[],[[0]],[0,"Default",0,1]],[[2800,2696,0,120,9,0,0,1,0,0,0,0,[]],52,3288,[],[[0],[0]],[0,0]],[[2800,2696,0,1440,8,0,1.570796370506287,1,0,0,0,0,[]],51,3289,[],[[0],[1],[1,100,""]],[0,0]],[[2928,1680,0,2456,8,0,1.570796370506287,1,0,0,0,0,[]],51,3290,[],[[0],[1],[1,100,""]],[0,0]],[[1704,2400,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,3277,[[3],[1],[1],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[2511.393310546875,2660.8232421875,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,5494,[["level34"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[1093,1277,0,288,117,0,0,1,0,0,0,0,[[]]],61,5625,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]]],[]],["UI",2,321820101763092,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,953824325326885,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,338643345281746,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,464516746303262,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,767069366671110,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,124576901239053,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,282400980156737,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 35",2000,3000,true,"Levels",790260098468660,[["Background",0,885121337970098,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[819,367,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,6370,[["Test of instinct"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,186988710119490,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[1000,388,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,1006,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[944,-396,0,1608,9,0,1.570796370506287,1,0,0,0,0,[]],51,1007,[],[[0],[1],[1,100,""]],[0,0]],[[1088,-292,0,1504,9,0,1.570796370506287,1,0,0,0,0,[]],51,2697,[],[[0],[1],[1,100,""]],[0,0]],[[1016,180,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,3144,[],[[0]],[0,"Default",0,1]],[[944,1204,0,136,9,0,0,1,0,0,0,0,[]],52,3145,[],[[0],[0]],[0,0]],[[1080,1204,0,832,9,0,0,1,0,0,0,0,[]],51,3148,[],[[0],[1],[1,100,""]],[0,0]],[[120,2028,0,816,9,0,0,1,0,0,0,0,[]],51,3154,[],[[0],[1],[1,100,""]],[0,0]],[[112,1204,0,832,9,0,0,1,0,0,0,0,[]],51,3146,[],[[0],[1],[1,100,""]],[0,0]],[[120,1204,0,832,9,0,1.570796370506287,1,0,0,0,0,[]],51,3157,[],[[0],[1],[1,100,""]],[0,0]],[[1912,1204,0,832,9,0,1.570796370506287,1,0,0,0,0,[]],51,3155,[],[[0],[1],[1,100,""]],[0,0]],[[1096,2028,0,816,9,0,0,1,0,0,0,0,[]],51,3156,[],[[0],[1],[1,100,""]],[0,0]],[[1096,2028,0,9,160,0,1.570796370506287,1,0,0,0,0,[]],48,3158,[],[[0],[1]],[0,0]],[[1016,2036,0,50,50,0,-1.570796370506287,1,0.5,0.5,0,0,[]],50,3159,[[-1],[0],[0],[0],[0],[-1],[0]],[[0],[1,1,1,1,"W 2 ; F 120; R 90",5,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[128,1316,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,3160,[[1],[175]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[120,1580,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,3161,[[1],[175]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[128,1820,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,3163,[[1],[175]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[696,1220,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,3164,[[1],[175]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1312,1220,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,3165,[[1],[175]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1696,1220,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,3167,[[1],[175]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[368,1220,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,3173,[[1],[175]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1168,2020,0,64,32,0,-1.570796489715576,1,0.125,0.5,0,0,[]],55,3174,[[1],[175]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1552,2020,0,64,32,0,-1.570796489715576,1,0.125,0.5,0,0,[]],55,3175,[[1],[175]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[456,2020,0,64,32,0,-1.570796489715576,1,0.125,0.5,0,0,[]],55,3176,[[1],[175]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[848,2020,0,64,32,0,-1.570796489715576,1,0.125,0.5,0,0,[]],55,3177,[[1],[175]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1896,1396,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,3178,[[1],[175]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1896,1660,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,3179,[[1],[175]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1896,1900,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,3180,[[1],[175]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[648,2012,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3182,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[272,2012,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3183,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1352,2012,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3184,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1736,2012,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3186,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[448,1828,0,128,9,0,0,1,0,0,0,0,[]],51,3192,[],[[0],[1],[1,100,""]],[0,0]],[[1488,1852,0,128,9,0,0,1,0,0,0,0,[]],51,3193,[],[[0],[1],[1,100,""]],[0,0]],[[824,1548,0,128,9,0,1.570796370506287,1,0,0,0,0,[]],51,3194,[],[[0],[1],[1,100,""]],[0,0]],[[1288,1524,0,128,9,0,1.570796370506287,1,0,0,0,0,[]],51,3195,[],[[0],[1],[1,100,""]],[0,0]],[[496,1484,0,128,9,0,0,1,0,0,0,0,[]],51,3196,[],[[0],[1],[1,100,""]],[0,0]],[[1344,1732,0,128,9,0,0,1,0,0,0,0,[]],51,3197,[],[[0],[1],[1,100,""]],[0,0]],[[1640,1588,0,128,9,0,0,1,0,0,0,0,[]],51,3198,[],[[0],[1],[1,100,""]],[0,0]],[[968,1548,0,128,9,0,1.570796370506287,1,0,0,0,0,[]],51,3199,[],[[0],[1],[1,100,""]],[0,0]],[[1088,1396,0,128,9,0,0,1,0,0,0,0,[]],51,3201,[],[[0],[1],[1,100,""]],[0,0]],[[1296,1572,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,3202,[[1],[175]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[808,1604,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,3203,[[1],[175]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1448,1460,0,128,9,0,0,1,0,0,0,0,[]],51,3212,[],[[0],[1],[1,100,""]],[0,0]],[[1320,1292,0,48,9,0,0,1,0,0,0,0,[]],51,3213,[],[[0],[1],[1,100,""]],[0,0]],[[832,1928,0,83,9,0,0,1,0,0,0,0,[]],51,3214,[],[[0],[1],[1,100,""]],[0,0]],[[464,1812,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3215,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[936,2028,0,1608,9,0,1.570796370506287,1,0,0,0,0,[]],51,3211,[],[[0],[1],[1,100,""]],[0,0]],[[1104,2028,0,1504,9,0,1.570796370506287,1,0,0,0,0,[]],51,3216,[],[[0],[1],[1,100,""]],[0,0]],[[1016,2812,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,3217,[],[[0]],[0,"Default",0,1]],[[881,1754,0,288,117,0,0,1,0,0,0,0,[[]]],61,5626,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]],[[1157,1344,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,1047,[["level35"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]]],[]],["UI",2,461809333983795,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,396774902006415,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,728068508973358,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,815490977891861,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,947295355744231,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,167440448590605,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,612041582485055,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 36",5000,5000,true,"Levels",396453985665977,[["Background",0,223729410801067,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[1852,804,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,6371,[["Test of speed"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,445891245204597,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[2008,2370,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,3370,[[1],[350]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[2599,1786,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,5501,[["level36"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[2656,1520,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3363,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2624,1520,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3364,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2688,1520,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3365,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2752,1520,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3366,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2720,1520,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3367,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2784,1520,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3368,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[-1040,-528,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1009,[["Buttons!"],[""],[0]],[],[1,"Default",0,1]],[[1616,1048,0,416,1376,0,0,1,0,0,0,0,[]],51,3220,[],[[0],[1],[1,100,""]],[0,0]],[[1616,-368,0,168,1272,0,0,1,0,0,0,0,[]],51,3221,[],[[0],[1],[1,100,""]],[0,0]],[[2224,-384,0,224,1280,0,0,1,0,0,0,0,[]],51,3222,[],[[0],[1],[1,100,""]],[0,0]],[[2240,912,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3292,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2272,912,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3293,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,912,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3294,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2336,912,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3295,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2368,912,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3296,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2400,912,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3297,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2432,912,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3298,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2336,880,0,72,208,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,3299,[[-1],[0],[0],[0],[0],[-1],[1]],[[0],[1,1,1,0,"W 1.5; F 110 ; W 1 ; B 110",1000,0,200,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2960,-384,0,224,1280,0,0,1,0,0,0,0,[]],51,3300,[],[[0],[1],[1,100,""]],[0,0]],[[2976,912,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3301,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3008,912,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3302,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3040,912,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3303,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3072,912,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3304,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3104,912,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3305,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3136,912,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3306,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3168,912,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3307,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3072,880,0,72,208,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,3308,[[-1],[0],[0],[0],[0],[-1],[1]],[[0],[1,1,1,0,"W 1.5; F 110 ; W 1 ; B 110",1000,0,200,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2800,1504,0,192,456,0,3.141592741012573,1,0,0,0,0,[]],51,3309,[],[[0],[1],[1,100,""]],[0,0]],[[2784,1032,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3311,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2752,1032,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3312,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2720,1032,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3313,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2688,1032,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3314,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2656,1032,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3315,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2624,1032,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3316,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2704,1272,0,488,176,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,3317,[[-1],[0],[0],[0],[0],[-1],[1]],[[0],[1,1,1,0,"W 1.5; F 110 ; W 1 ; B 110",1000,0,200,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2448,-384,0,512,1280,0,0,1,0,0,0,0,[]],51,3318,[],[[0],[1],[1,100,""]],[0,0]],[[2800,1048,0,984,272,0,0,1,0,0,0,0,[]],51,3319,[],[[0],[1],[1,100,""]],[0,0]],[[1784,887,0,128,9,0,0,1,0,0,0,0,[]],52,3322,[],[[0],[0]],[0,0]],[[1848,120,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,3323,[],[[0]],[0,"Default",0,1]],[[1912,-384,0,312,1280,0,0,1,0,0,0,0,[]],51,3321,[],[[0],[1],[1,100,""]],[0,0]],[[3184,-392,0,600,1288,0,0,1,0,0,0,0,[]],51,3324,[],[[0],[1],[1,100,""]],[0,0]],[[3376,792,0,408,456,0,0,1,0,0,0,0,[]],51,3325,[],[[0],[1],[1,100,""]],[0,0]],[[3336,1016,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,3326,[[1],[1],[1],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1784,1000,0,50,50,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,3327,[[-1],[0],[0],[0],[0],[1],[0]],[[0],[1,0,1,1,"F 90",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[392,-368,0,1016,1424,0,0,1,0,0,0,0,[]],51,3310,[],[[0],[1],[1,100,""]],[0,0]],[[1512,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,3329,[[2],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1408,-424,0,208,1328,0,0,1,0,0,0,0,[]],51,3328,[],[[0],[1],[1,100,""]],[0,0]],[[1744,-368,0,50,50,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,3330,[[-1],[0],[0],[0],[0],[2],[0]],[[0],[1,0,1,1,"B 160",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[408,1056,0,1000,1440,0,0,1,0,0,0,0,[]],51,3331,[],[[0],[1],[1,100,""]],[0,0]],[[1512,1048,0,104,456,0,0,1,0,0,0,0,[]],51,3332,[],[[0],[1],[1,100,""]],[0,0]],[[1408,1048,0,104,456,0,0,1,0,0,0,0,[]],51,3333,[],[[0],[1],[1,100,""]],[0,0]],[[1568,1232,0,50,50,0,0,1,0.5,0.5,0,0,[]],50,3334,[[-1],[0],[0],[0],[0],[2],[0]],[[0],[1,0,1,1,"W 3 ; F 160",30,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1472,1224,0,50,50,0,0,1,0.5,0.5,0,0,[]],50,3335,[[-1],[0],[0],[0],[0],[2],[0]],[[0],[1,0,1,1,"W 3; B 160",30,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3776,2640,0,1384,3376,0,1.570796370506287,1,0,0,0,0,[]],51,3336,[],[[0],[1],[1,100,""]],[0,0]],[[2032,1048,0,416,568,0,0,1,0,0,0,0,[]],51,3337,[],[[0],[1],[1,100,""]],[0,0]],[[2032,2240,0,416,184,0,0,1,0,0,0,0,[]],51,3338,[],[[0],[1],[1,100,""]],[0,0]],[[2120,2144,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,3339,[],[[0]],[0,"Default",0,1]],[[2448,1824,0,416,248,0,1.570796370506287,1,0,0,0,0,[]],51,3340,[],[[0],[1],[1,100,""]],[0,0]],[[2448,1824,0,960,600,0,0,1,0,0,0,0,[]],51,3341,[],[[0],[1],[1,100,""]],[0,0]],[[5024,-392,0,4392,1256,0,1.570796370506287,1,0,0,0,0,[]],51,3342,[],[[0],[1],[1,100,""]],[0,0]],[[2448,1048,0,160,376,0,0,1,0,0,0,0,[]],51,3343,[],[[0],[1],[1,100,""]],[0,0]],[[3560,2624,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3344,[[0.8],[0]],[[0]],[0,"Default",0,1]],[[3528,2248,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3345,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[3688,2120,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3346,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[3240,1808,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3347,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[2864,1824,0,64,320,0,3.141592741012573,1,0,0,0,0,[]],51,3348,[],[[0],[1],[1,100,""]],[0,0]],[[3184,1504,0,64,320,0,1.570796370506287,1,0,0,0,0,[]],51,3349,[],[[0],[1],[1,100,""]],[0,0]],[[3184,1752,0,64,248,0,3.141592741012573,1,0,0,0,0,[]],51,3350,[],[[0],[1],[1,100,""]],[0,0]],[[3512,1968,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3351,[[1],[0]],[[0]],[0,"Default",0,1]],[[2520,1536,0,280,80,0,0,1,0,0,0,0,[]],51,3352,[],[[0],[1],[1,100,""]],[0,0]],[[2992,1576,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,3353,[[1],[-1]],[[1],[300,4,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[2992,1712,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,3354,[[3],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[400,2488,0,960,168,0,0,1,0,0,0,0,[]],51,3356,[],[[0],[1],[1,100,""]],[0,0]],[[1368,2544,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,3357,[[1],[300]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1368,2600,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,3355,[[1],[300]],[[1],[300,0.5,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1768,2552,0,88,8,0,1.570796370506287,1,0,0,0,0,[]],51,3358,[],[[0],[1],[1,100,""]],[0,0]],[[1768,2424,0,32,8,0,1.570796370506287,1,0,0,0,0,[]],51,3359,[],[[0],[1],[1,100,""]],[0,0]],[[1920,2424,0,216,8,0,1.570796370506287,1,0,0,0,0,[]],51,3360,[],[[0],[1],[1,100,""]],[0,0]],[[1832,2600,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,3361,[[4],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1920,2544,0,50,50,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,3362,[[-1],[0],[0],[0],[0],[4],[0]],[[0],[1,0,1,1,"W 2 ; F 240",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2779,1728,0,50,204,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,3369,[[-1],[0],[0],[0],[0],[3],[0]],[[0],[1,0,1,1,"W 2 ; F 160",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2384,2624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3372,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2008,2450,0,50,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,3371,[[-1],[0],[0],[0],[0],[4],[0]],[[0],[1,0,1,1,"W 2 ; B 60",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2416,2624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3373,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2480,2624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3374,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2448,2624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3375,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2784,2624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3376,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2752,2624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3377,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3192,2624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3378,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3160,2624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3379,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3512,2264,0,32,8,0,0,1,0,0,0,0,[]],51,3380,[],[[0],[1],[1,100,""]],[0,0]],[[3672,2136,0,32,8,0,0,1,0,0,0,0,[]],51,3381,[],[[0],[1],[1,100,""]],[0,0]],[[3496,1984,0,32,8,0,0,1,0,0,0,0,[]],51,3382,[],[[0],[1],[1,100,""]],[0,0]],[[3456,1400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3383,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,1400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3384,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3768,1320,0,64,360,0,1.570796370506287,1,0,0,0,0,[]],51,3385,[],[[0],[1],[1,100,""]],[0,0]],[[3520,1400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3386,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3488,1400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3387,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3584,1400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3388,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3552,1400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3389,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3648,1400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3390,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3616,1400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3391,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3712,1400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3392,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3680,1400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3393,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3744,1400,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3395,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,2072,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3394,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,2104,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3396,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,2136,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3397,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,2040,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3398,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,2200,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3399,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,2232,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3400,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,2264,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3401,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,2168,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3402,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,2328,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3403,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,2360,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3404,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,2392,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3405,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,2296,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3406,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,1944,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3407,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,1976,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3408,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,2008,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3409,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,1912,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3410,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,2072,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3411,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,2104,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3412,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,2136,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3413,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,2040,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3414,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,2200,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3415,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,2232,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3416,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,2264,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3417,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,2168,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3418,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,2328,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3419,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,2360,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3420,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,2392,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3421,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,2296,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3422,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,1944,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3423,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,1976,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3424,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,2008,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3425,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,1912,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3426,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2448,1608,0,72,8,0,0,1,0,0,0,0,[]],45,3427,[],[[0],[1]],[0,0]],[[2216,1808,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3428,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2248,1808,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3429,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2280,1808,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3430,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2312,1808,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3431,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2048,1808,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3432,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2048,1776,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3433,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2048,1744,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3434,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2048,1712,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3435,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2168,1632,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3436,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2200,1632,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3437,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2232,1632,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3438,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2264,1632,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3439,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2053,1683,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,3440,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2076,1661,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,3441,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2099,1638,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,3442,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2104.313720703125,1610.686279296875,0,104,72,0,2.356194496154785,1,0,0,0,0,[]],51,3443,[],[[0],[1],[1,100,""]],[0,0]],[[2800,1616,0,208,280,0,1.570796370506287,1,0,0,0,0,[]],51,3444,[],[[0],[1],[1,100,""]],[0,0]],[[1240,904,0,544,144,0,0,1,0,0,0,0,[]],51,3320,[],[[0],[1],[1,100,""]],[0,0]],[[1846,367,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,3218,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[0,"Default",0,1]],[[1914,899,0,288,117,0,0,1,0,0,0,0,[[]]],61,5627,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]]],[]],["UI",2,600723636719424,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,923904984228546,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,190255380076431,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,972898273930038,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,316434591479115,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,957393707838430,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,687026282514646,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 37",2000,2000,true,"Levels",237035931784043,[["Background",0,684282844436466,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[-1000,408,0,456,408,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,3456,[],[[0]],[0,"Default",0,1]]],[]],["Layer 0",1,403491227943263,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[-51,30,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1018,[["Test of Accuracy"],[""],[0]],[],[1,"Default",0,1]],[[179,181,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,3454,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[0,"Default",0,1]],[[72,464,0,408,9,0,0,1,0,0,0,0,[]],51,3457,[],[[0],[1],[1,100,""]],[0,0]],[[808,448,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3467,[[0]],[[1],[1]],[0,"Default",0,1]],[[752,464,0,72,8,0,0,1,0,0,0,0,[]],56,3468,[],[[1],[1]],[0,0]],[[1040,336,0,224,8,0,0,1,0,0,0,0,[]],56,3469,[],[[1],[1]],[0,0]],[[920,240,0,64,8,0,0,1,0,0,0,0,[]],56,3470,[],[[1],[1]],[0,0]],[[936,264,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3471,[[0]],[[1],[1]],[0,"Default",0,1]],[[968,264,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3472,[[0]],[[1],[1]],[0,"Default",0,1]],[[1064,264,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3500,[[0]],[[1],[1]],[0,"Default",0,1]],[[1096,264,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3527,[[0]],[[1],[1]],[0,"Default",0,1]],[[1272,208,0,136,8,0,1.570796370506287,1,0,0,0,0,[]],56,3554,[],[[1],[1]],[0,0]],[[1248,320,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,3639,[[0]],[[1],[1]],[0,"Default",0,1]],[[480,464,0,56,8,0,0,1,0,0,0,0,[]],56,3464,[],[[1],[1]],[0,0]],[[1248,288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,3640,[[0]],[[1],[1]],[0,"Default",0,1]],[[1248,256,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,3675,[[0]],[[1],[1]],[0,"Default",0,1]],[[1248,224,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,3676,[[0]],[[1],[1]],[0,"Default",0,1]],[[936,224,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3677,[[0]],[[1],[1]],[0,"Default",0,1]],[[1096,224,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3678,[[0]],[[1],[1]],[0,"Default",0,1]],[[1048,240,0,64,8,0,0,1,0,0,0,0,[]],56,3473,[],[[1],[1]],[0,0]],[[888,336,0,104,8,0,0,1,0,0,0,0,[]],56,3474,[],[[1],[1]],[0,0]],[[904,864,0,744,8,0,0,1,0,0,0,0,[]],56,3679,[],[[1],[1]],[0,0]],[[912,344,0,528,8,0,1.570796370506287,1,0,0,0,0,[]],56,3680,[],[[1],[1]],[0,0]],[[1120,512,0,248,8,0,1.570796370506287,1,0,0,0,0,[]],56,3681,[],[[1],[1]],[0,0]],[[1248,848,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3555,[[0]],[[1],[1]],[0,"Default",0,1]],[[1280,848,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3568,[[0]],[[1],[1]],[0,"Default",0,1]],[[1312,848,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3638,[[0]],[[1],[1]],[0,"Default",0,1]],[[1344,848,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3682,[[0]],[[1],[1]],[0,"Default",0,1]],[[1376,848,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3683,[[0]],[[1],[1]],[0,"Default",0,1]],[[1408,848,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3684,[[0]],[[1],[1]],[0,"Default",0,1]],[[1440,848,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3685,[[0]],[[1],[1]],[0,"Default",0,1]],[[1472,848,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3686,[[0]],[[1],[1]],[0,"Default",0,1]],[[1800,864,0,144,9,0,0,1,0,0,0,0,[]],51,3688,[],[[0],[1],[1,100,""]],[0,0]],[[2000,248,0,1544,8,0,1.570796370506287,1,0,0,0,0,[]],56,3689,[],[[1],[1]],[0,0]],[[1696,1000,0,64,8,0,0,1,0,0,0,0,[]],56,3687,[],[[1],[1]],[0,0]],[[1544,1088,0,72,9,0,0,1,0,0,0,0,[]],51,3690,[],[[0],[1],[1,100,""]],[0,0]],[[1360,1096,0,64,8,0,0,1,0,0,0,0,[]],56,3691,[],[[1],[1]],[0,0]],[[1144,1096,0,64,9,0,0,1,0,0,0,0,[]],51,3692,[],[[0],[1],[1,100,""]],[0,0]],[[880,1104,0,64,8,0,0,1,0,0,0,0,[]],56,3693,[],[[1],[1]],[0,0]],[[992,1296,0,72,9,0,0,1,0,0,0,0,[]],51,3694,[],[[0],[1],[1,100,""]],[0,0]],[[1560,1072,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3695,[[0]],[[1],[1]],[0,"Default",0,1]],[[1408,1080,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3696,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,1080,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3697,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1008,1280,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3698,[[0]],[[1],[1]],[0,"Default",0,1]],[[896,1088,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3699,[[0]],[[1],[1]],[0,"Default",0,1]],[[888,1464,0,64,9,0,0,1,0,0,0,0,[]],51,3466,[],[[0],[1],[1,100,""]],[0,0]],[[904,1448,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3700,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[768,1592,0,64,9,0,0,1,0,0,0,0,[]],51,3701,[],[[0],[1],[1,100,""]],[0,0]],[[784,1576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3702,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[656,1792,0,1336,8,0,0,1,0,0,0,0,[]],56,3703,[],[[1],[1]],[0,0]],[[976,1776,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3704,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1192,1776,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3705,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1224,1776,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3706,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1384,1776,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3707,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1416,1776,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3708,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1448,1776,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3709,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1608,1776,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3710,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1928,1696,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,3711,[],[[0]],[0,"Default",0,1]],[[1056,1536,0,944,8,0,0,1,0,0,0,0,[]],56,3712,[],[[1],[1]],[0,0]],[[680,1776,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3713,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1744,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3714,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1712,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3715,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1680,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3716,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1648,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3717,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1616,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3718,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1584,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3719,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1552,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3720,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1520,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3721,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1488,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3722,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1456,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3723,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1424,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3724,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1392,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3725,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1360,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3726,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1328,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3727,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1296,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3728,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1264,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3729,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1232,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3730,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1200,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3731,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1168,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3732,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1136,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3733,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1104,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3734,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1072,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3735,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1040,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3736,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,1008,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3737,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,976,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3738,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,944,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3739,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,912,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3740,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,880,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3741,[[0]],[[1],[1]],[0,"Default",0,1]],[[680,848,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3742,[[0]],[[1],[1]],[0,"Default",0,1]],[[1072,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3743,[[0]],[[1],[1]],[0,"Default",0,1]],[[1104,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3744,[[0]],[[1],[1]],[0,"Default",0,1]],[[1136,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3745,[[0]],[[1],[1]],[0,"Default",0,1]],[[1168,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3746,[[0]],[[1],[1]],[0,"Default",0,1]],[[1200,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3747,[[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3748,[[0]],[[1],[1]],[0,"Default",0,1]],[[1264,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3749,[[0]],[[1],[1]],[0,"Default",0,1]],[[1296,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3750,[[0]],[[1],[1]],[0,"Default",0,1]],[[1336,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3751,[[0]],[[1],[1]],[0,"Default",0,1]],[[1368,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3752,[[0]],[[1],[1]],[0,"Default",0,1]],[[1400,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3753,[[0]],[[1],[1]],[0,"Default",0,1]],[[1432,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3754,[[0]],[[1],[1]],[0,"Default",0,1]],[[1464,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3755,[[0]],[[1],[1]],[0,"Default",0,1]],[[1496,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3756,[[0]],[[1],[1]],[0,"Default",0,1]],[[1528,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3757,[[0]],[[1],[1]],[0,"Default",0,1]],[[1560,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3758,[[0]],[[1],[1]],[0,"Default",0,1]],[[1592,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3759,[[0]],[[1],[1]],[0,"Default",0,1]],[[1624,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3760,[[0]],[[1],[1]],[0,"Default",0,1]],[[1656,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3761,[[0]],[[1],[1]],[0,"Default",0,1]],[[1688,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3762,[[0]],[[1],[1]],[0,"Default",0,1]],[[1720,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3763,[[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3764,[[0]],[[1],[1]],[0,"Default",0,1]],[[1784,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3765,[[0]],[[1],[1]],[0,"Default",0,1]],[[1816,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3766,[[0]],[[1],[1]],[0,"Default",0,1]],[[1072,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3767,[[0]],[[1],[1]],[0,"Default",0,1]],[[1104,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3768,[[0]],[[1],[1]],[0,"Default",0,1]],[[1136,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3769,[[0]],[[1],[1]],[0,"Default",0,1]],[[1168,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3770,[[0]],[[1],[1]],[0,"Default",0,1]],[[1200,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3771,[[0]],[[1],[1]],[0,"Default",0,1]],[[1232,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3772,[[0]],[[1],[1]],[0,"Default",0,1]],[[1264,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3773,[[0]],[[1],[1]],[0,"Default",0,1]],[[1296,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3774,[[0]],[[1],[1]],[0,"Default",0,1]],[[1336,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3775,[[0]],[[1],[1]],[0,"Default",0,1]],[[1368,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3776,[[0]],[[1],[1]],[0,"Default",0,1]],[[1400,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3777,[[0]],[[1],[1]],[0,"Default",0,1]],[[1432,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3778,[[0]],[[1],[1]],[0,"Default",0,1]],[[1464,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3779,[[0]],[[1],[1]],[0,"Default",0,1]],[[1496,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3780,[[0]],[[1],[1]],[0,"Default",0,1]],[[1528,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3781,[[0]],[[1],[1]],[0,"Default",0,1]],[[1560,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3782,[[0]],[[1],[1]],[0,"Default",0,1]],[[1592,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3783,[[0]],[[1],[1]],[0,"Default",0,1]],[[1624,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3784,[[0]],[[1],[1]],[0,"Default",0,1]],[[1656,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3785,[[0]],[[1],[1]],[0,"Default",0,1]],[[1688,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3786,[[0]],[[1],[1]],[0,"Default",0,1]],[[1720,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3787,[[0]],[[1],[1]],[0,"Default",0,1]],[[1752,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3788,[[0]],[[1],[1]],[0,"Default",0,1]],[[1784,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3789,[[0]],[[1],[1]],[0,"Default",0,1]],[[1816,1560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,3790,[[0]],[[1],[1]],[0,"Default",0,1]],[[1760,1776,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3791,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1936,1456,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,3291,[["level37"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[-29,273,0,288,117,0,0,1,0,0,0,0,[[]]],61,5628,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]],[[1936,1520,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,10622,[[1],[0]],[[0]],[0,"Default",0,1]]],[]],["UI",2,822482958479208,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,416654380290080,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,505591739988055,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,448535249983684,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,553143439551194,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,231030712723552,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,478267432644681,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 38",5000,4000,true,"Levels",884679451760907,[["Background",0,364159834553991,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[1438,2058,0,288,32,0,0,1,0,0,0,0,[[]]],65,6375,[[1],[1],[""],["en-us"],[1],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","1",1,0,50,0,0,0,0,0,"",-1,0]],[[-11080,3359.999755859375,0,4568,1688,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,3526,[],[[0]],[0,"Default",0,1]]],[]],["Layer 0",1,197352983503943,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[1274,1895,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1016,[["Test of Adaptation"],[""],[0]],[],[1,"Default",0,1]],[[2928,1832,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3053,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2928,2072,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3453,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2272,1936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3465,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2480,2160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3475,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2360,2160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3476,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2416,2160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3477,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2648,1600,0,32,32,0,-3.141592502593994,1,0.5,0.5,0,0,[]],47,3478,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2704,1600,0,32,32,0,-3.141592502593994,1,0.5,0.5,0,0,[]],47,3479,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2536,1600,0,32,32,0,-3.141592502593994,1,0.5,0.5,0,0,[]],47,3480,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2592,1600,0,32,32,0,-3.141592502593994,1,0.5,0.5,0,0,[]],47,3481,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2928,1680,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3482,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2480,1600,0,32,32,0,-3.141592502593994,1,0.5,0.5,0,0,[]],47,3483,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2768,1600,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3484,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2544,1936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3486,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2928,1760,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3487,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2432,1936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3488,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2488,1936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3489,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2360,1600,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3490,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2416,1600,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3491,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2136,1600,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3494,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2024,1600,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3496,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2080,1600,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3497,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1912,1600,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3498,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1968,1600,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3499,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1856,1600,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3501,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2248,1640,0,32,32,0,-3.141592502593994,1,0.5,0.5,0,0,[]],47,3502,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,1640,0,32,32,0,-3.141592502593994,1,0.5,0.5,0,0,[]],47,3503,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2120,1760,0,32,32,0,-3.141592502593994,1,0.5,0.5,0,0,[]],47,3504,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2008,1760,0,32,32,0,-3.141592502593994,1,0.5,0.5,0,0,[]],47,3506,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2064,1760,0,32,32,0,-3.141592502593994,1,0.5,0.5,0,0,[]],47,3507,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1912,1784,0,32,32,0,-3.141592502593994,1,0.5,0.5,0,0,[]],47,3508,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1968,1784,0,32,32,0,-3.141592502593994,1,0.5,0.5,0,0,[]],47,3509,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1800,1736,0,32,32,0,-3.141592502593994,1,0.5,0.5,0,0,[]],47,3510,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1856,1784,0,32,32,0,-3.141592502593994,1,0.5,0.5,0,0,[]],47,3511,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1688,1784,0,32,32,0,-3.141592502593994,1,0.5,0.5,0,0,[]],47,3512,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1744,1760,0,32,32,0,-3.141592502593994,1,0.5,0.5,0,0,[]],47,3513,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2248,2120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3514,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,2120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3515,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2136,2120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3516,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2192,2120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3517,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2024,2120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3518,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2080,2120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3519,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1912,2120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3520,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1968,2120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3521,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1800,2120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3522,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1856,2120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3523,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1688,2120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3524,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2920,2152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2759,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2800,2152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2760,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2856,2152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2761,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1744,2120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3525,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1888,2048,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3561,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1888,2000,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3562,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1888,2088,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3563,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2832,1600,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3572,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2888,1600,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3573,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2672,1880,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3583,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2672,1920,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3587,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2672,1960,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3588,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2632,1880,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3589,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2632,1920,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3590,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2632,1960,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3591,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2328,1936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3054,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2384,1936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3603,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2667,2119,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3584,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2672,2160,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3586,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2672,2200,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3592,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2637,2119,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3593,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2632,2160,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3594,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2632,2200,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3595,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2672,2160,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3596,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2672,2200,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3598,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2672,2240,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3599,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,3640,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3604,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1480,3800,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3605,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1864,3552,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3606,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1480,3560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3608,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2360,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3609,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2328,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3610,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2296,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3611,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2264,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3612,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2232,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3613,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2200,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3614,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2168,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3615,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2136,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3616,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2104,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3617,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3618,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2040,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3619,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2008,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3620,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1976,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3621,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1944,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3622,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1912,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3623,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1880,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3624,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1848,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3625,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1816,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3626,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1784,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3627,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1752,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3628,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1720,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3629,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1688,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3630,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1656,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3631,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1624,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3632,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1656,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3633,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1624,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3634,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1592,3288,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3635,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2424,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3642,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2392,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3643,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2360,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3644,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2328,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3645,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2296,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3646,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2264,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3647,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2232,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3648,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2200,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3649,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2168,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3650,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2136,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3651,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2104,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3652,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3653,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2040,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3654,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2008,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3655,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1976,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3656,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1944,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3657,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1912,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3658,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1880,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3659,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1848,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3660,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1816,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3661,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2048,3688,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3607,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1480,3512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3636,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1864,3504,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3637,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1784,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3662,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1752,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3663,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1720,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3664,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1688,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3665,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1720,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3666,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1688,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3667,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1656,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3668,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1624,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3669,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1592,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3670,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1560,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3671,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3672,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1496,3936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3673,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2632,2160,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3600,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2632,2200,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3601,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2632,2240,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3602,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2512,2344,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3539,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1416,2136,0,1080,9,0,0,1,0,0,0,0,[]],56,3528,[],[[1],[1]],[0,0]],[[2544,2360,0,176,9,0,0,1,0,0,0,0,[]],52,3529,[],[[0],[0]],[0,0]],[[1504,1528,0,432,9,0,1.570796370506287,1,0,0,0,0,[]],56,3530,[],[[1],[1]],[0,0]],[[1424,1528,0,608,9,0,1.570796370506287,1,0,0,0,0,[]],56,3531,[],[[1],[1]],[0,0]],[[2664,2232,0,152,64,0,1.570796370506287,1,0,0,0,0,[]],46,3532,[[0],[1],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","--->",1,0,50,0,0,0,0,0,"",-1,0]],[[2728,2360,0,424,8,0,1.570796370506287,1,0,0,0,0,[]],56,3533,[],[[1],[1]],[0,0]],[[2544,2360,0,424,8,0,1.570796370506287,1,0,0,0,0,[]],56,3534,[],[[1],[1]],[0,0]],[[1704,2512,0,64,16,0,0,1,0,0,0,0,[]],57,3535,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[1]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Move",1,0,0,0,0,0,0,0,"",-1,0]],[[2112,1896,0,56.47058868408203,13.3333330154419,0,0,1,0,0,0,0,[]],56,3536,[],[[1],[1]],[0,0]],[[2752,1864,0,80,13,0,0,1,0,0,0,0,[]],56,3537,[],[[1],[1]],[0,0]],[[2304,1824,0,56.47058868408203,13.3333330154419,0,0,1,0,0,0,0,[]],56,3538,[],[[1],[1]],[0,0]],[[2488,2360,0,56.47058868408203,13.3333330154419,0,0,1,0,0,0,0,[]],56,3540,[],[[1],[1]],[0,0]],[[2728,2360,0,56.47058868408203,13.3333330154419,0,0,1,0,0,0,0,[]],56,3541,[],[[1],[1]],[0,0]],[[1968,2064,0,56.47058868408203,13.3333330154419,0,0,1,0,0,0,0,[]],56,3542,[],[[1],[1]],[0,0]],[[1856,1936,0,56.47058868408203,13.3333330154419,0,0,1,0,0,0,0,[]],56,3543,[],[[1],[1]],[0,0]],[[1456,1024,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,3544,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[1656,2056,0,56.47058868408203,13.3333330154419,0,0,1,0,0,0,0,[]],56,3545,[],[[1],[1]],[0,0]],[[1424.000122070313,401,0,1744,9,0,1.570796370506287,1,0,0,0,0,[]],51,3546,[],[[0],[1],[1,100,""]],[0,0]],[[1504.000122070313,401,0,1184,9,0,1.570796370506287,1,0,0,0,0,[]],51,3547,[],[[0],[1],[1,100,""]],[0,0]],[[2728,2776,0,616,9,0,1.570796370506287,1,0,0,0,0,[]],51,3548,[],[[0],[1],[1,100,""]],[0,0]],[[2544,2776,0,616,9,0,1.570796370506287,1,0,0,0,0,[]],51,3549,[],[[0],[1],[1,100,""]],[0,0]],[[2736,2472,0,96,8,0,0,1,0,0,0,0,[]],45,3550,[],[[0],[1]],[0,0]],[[1512,1888,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,3551,[[1],[100]],[[1],[300,0.2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[2216,2128,0,64,32,0,-1.570796489715576,1,0.125,0.5,0,0,[]],55,3552,[[1],[100]],[[1],[300,0.2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1496,1320,0,9,72,0,1.570796370506287,1,0,0,0,0,[]],48,3557,[],[[0],[1]],[0,0]],[[1464,1288,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,3558,[[1],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1456,1328,0,48,18.2294921875,0,0,1,0.5,0.5,0,0,[]],50,3559,[[-1],[0],[0],[0],[0],[1],[0]],[[0],[1,0,1,1,"W 1;F 90",1000,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1402.88525390625,2504,0,48,936,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,3560,[[-1],[0],[0],[0],[0],[1],[0]],[[0],[1,0,1,0,"W 2.5; F 800; W 2.5; B 800",425,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1672,2136,0,656,9,0,0,1,0,0,0,0,[]],51,3564,[],[[0],[1],[1,100,""]],[0,0]],[[2320,2176,0,176,9,0,0,1,0,0,0,0,[]],51,3565,[],[[0],[1],[1,100,""]],[0,0]],[[2328,2136,0,48,9,0,1.570796370506287,1,0,0,0,0,[]],51,3566,[],[[0],[1],[1,100,""]],[0,0]],[[2256,1952,0,304,9,0,0,1,0,0,0,0,[]],51,3567,[],[[0],[1],[1,100,""]],[0,0]],[[2952,1584,0,592,9,0,1.570796370506287,1,0,0,0,0,[]],51,3569,[],[[0],[1],[1,100,""]],[0,0]],[[2776,2168,0,176,9,0,0,1,0,0,0,0,[]],51,3570,[],[[0],[1],[1,100,""]],[0,0]],[[2320,1576,0,632,9,0,0,1,0,0,0,0,[]],51,3571,[],[[0],[1],[1,100,""]],[0,0]],[[1992,1736,0,144,9,0,0,1,0,0,0,0,[]],51,3485,[],[[0],[1],[1,100,""]],[0,0]],[[1504,1576,0,680,9,0,0,1,0,0,0,0,[]],51,3492,[],[[0],[1],[1,100,""]],[0,0]],[[2184,1576,0,48,9,0,1.570796370506287,1,0,0,0,0,[]],51,3493,[],[[0],[1],[1,100,""]],[0,0]],[[2176,1616,0,144,9,0,0,1,0,0,0,0,[]],51,3495,[],[[0],[1],[1,100,""]],[0,0]],[[2320,1576,0,48,9,0,1.570796370506287,1,0,0,0,0,[]],51,3574,[],[[0],[1],[1,100,""]],[0,0]],[[1840,1760,0,144,9,0,0,1,0,0,0,0,[]],51,3575,[],[[0],[1],[1,100,""]],[0,0]],[[1784,1712,0,32,9,0,0,1,0,0,0,0,[]],51,3576,[],[[0],[1],[1,100,""]],[0,0]],[[1728,1736,0,32,9,0,0,1,0,0,0,0,[]],51,3577,[],[[0],[1],[1,100,""]],[0,0]],[[1672,1760,0,32,9,0,0,1,0,0,0,0,[]],51,3578,[],[[0],[1],[1,100,""]],[0,0]],[[2712,2056,0,104,13.3333330154419,0,0,1,0,0,0,0,[]],56,3582,[],[[1],[1]],[0,0]],[[2656,1864,0,112,9,0,1.570796370506287,1,0,0,0,0,[]],51,3553,[],[[0],[1],[1,100,""]],[0,0]],[[2656,2104,0,112,9,0,1.570796370506287,1,0,0,0,0,[]],51,3585,[],[[0],[1],[1,100,""]],[0,0]],[[2656,2144,0,112,9,0,1.570796370506287,1,0,0,0,0,[]],51,3597,[],[[0],[1],[1,100,""]],[0,0]],[[1803,1584,0,128,4,0,1.570796370506287,1,0,0,0,0,[]],45,2756,[],[[0],[1]],[0,0]],[[1747,1584,0,152,4,0,1.570796370506287,1,0,0,0,0,[]],45,2757,[],[[0],[1]],[0,0]],[[1691,1584,0,176,4,0,1.570796370506287,1,0,0,0,0,[]],45,2758,[],[[0],[1]],[0,0]],[[2536,3656,0,192,13.3333330154419,0,0,1,0,0,0,0,[]],56,2762,[],[[1],[1]],[0,0]],[[2312,3840,0,72,13,0,0,1,0,0,0,0,[]],56,2763,[],[[1],[1]],[0,0]],[[2264,3576,0,72,13,0,0,1,0,0,0,0,[]],56,2764,[],[[1],[1]],[0,0]],[[2016,3656,0,72,13,0,0,1,0,0,0,0,[]],56,2765,[],[[1],[1]],[0,0]],[[1832,3520,0,72,13,0,0,1,0,0,0,0,[]],56,2766,[],[[1],[1]],[0,0]],[[1816,3816,0,72,13,0,0,1,0,0,0,0,[]],56,2767,[],[[1],[1]],[0,0]],[[1640,3664,0,72,13,0,0,1,0,0,0,0,[]],56,2768,[],[[1],[1]],[0,0]],[[1448,3528,0,72,13,0,0,1,0,0,0,0,[]],56,2769,[],[[1],[1]],[0,0]],[[1440,3816,0,72,13,0,0,1,0,0,0,0,[]],56,2770,[],[[1],[1]],[0,0]],[[1000,3704,0,152,13,0,0,1,0,0,0,0,[]],56,2771,[],[[1],[1]],[0,0]],[[1072,3600,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,3505,[],[[0]],[0,"Default",0,1]],[[2296,3560,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3579,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1848,3800,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3580,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1672,3648,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3581,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1576,3264,0,960,9,0,0,1,0,0,0,0,[]],51,3641,[],[[0],[1],[1,100,""]],[0,0]],[[1480,3952,0,1120,9,0,0,1,0,0,0,0,[]],51,3674,[],[[0],[1],[1,100,""]],[0,0]],[[1591,1671,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,5495,[["level38"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[1438,1958,0,288,117,0,0,1,0,0,0,0,[[]]],61,5630,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]],[[1512,1807,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,10623,[[1],[100]],[[1],[300,0.2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]]],[]],["UI",2,129379441727718,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,142339180879875,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,846870060177898,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,806133097852659,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,717441974243220,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,922751150192083,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,548600288380852,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 39",30000,30000,true,"Levels",522807999702537,[["Background",0,362256145875461,true,[0,0,0],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,440883075730242,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[1084.999877929688,619,0,19862,8,0,1.570796370506287,1,0,0,0,0,[]],51,4431,[],[[0],[1],[1,100,""]],[0,0]],[[965,261,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1022,[["Graduation?"],[""],[0]],[],[1,"Default",0,1]],[[9808,21483.45703125,0,18976,408,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,4587,[],[[0]],[0,"Default",0,1]],[[688,520,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,3835,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[608,600,0,744,8,0,0,1,0,0,0,0,[]],51,4140,[],[[0],[1],[1,100,""]],[0,0]],[[616,1,0,599,8,0,1.570796370506287,1,0,0,0,0,[]],51,4141,[],[[0],[1],[1,100,""]],[0,0]],[[1336,584,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,4150,[[0]],[[1],[1]],[0,"Default",0,1]],[[1304,584,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,4151,[[0]],[[1],[1]],[0,"Default",0,1]],[[1272,584,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,4152,[[0]],[[1],[1]],[0,"Default",0,1]],[[1240,584,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,4153,[[0]],[[1],[1]],[0,"Default",0,1]],[[1208,584,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,4154,[[0]],[[1],[1]],[0,"Default",0,1]],[[1176,584,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,4155,[[0]],[[1],[1]],[0,"Default",0,1]],[[1144,584,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,4156,[[0]],[[1],[1]],[0,"Default",0,1]],[[1112,584,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,4157,[[0]],[[1],[1]],[0,"Default",0,1]],[[777,385,0,288,117,0,0,1,0,0,0,0,[[]]],61,5631,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]],[[1382,19867,0,587.2341918945312,587.2341918945312,0,0,1,0.5,0.5,0,0,[]],60,1048,[["level39"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[2032,5032,0,8,8,0,0,1,0,0,0,0,[]],56,4277,[],[[1],[0]],[0,0]],[[2104,4320,0,8,8,0,0,1,0,0,0,0,[]],56,4278,[],[[1],[0]],[0,0]],[[1752,5096,0,8,8,0,0,1,0,0,0,0,[]],56,4280,[],[[1],[0]],[0,0]],[[2264,5456,0,8,8,0,0,1,0,0,0,0,[]],56,4281,[],[[1],[0]],[0,0]],[[2040,5664,0,8,8,0,0,1,0,0,0,0,[]],56,4282,[],[[1],[0]],[0,0]],[[1808,5656,0,8,8,0,0,1,0,0,0,0,[]],56,4285,[],[[1],[0]],[0,0]],[[1728,6688,0,8,8,0,0,1,0,0,0,0,[]],56,4287,[],[[1],[0]],[0,0]],[[2272,6056,0,8,8,0,0,1,0,0,0,0,[]],56,4288,[],[[1],[0]],[0,0]],[[2416,6712,0,8,8,0,0,1,0,0,0,0,[]],56,4289,[],[[1],[0]],[0,0]],[[1872,6992,0,8,8,0,0,1,0,0,0,0,[]],56,4290,[],[[1],[0]],[0,0]],[[2312,6328,0,8,8,0,0,1,0,0,0,0,[]],56,4291,[],[[1],[0]],[0,0]],[[2080,6176,0,8,8,0,0,1,0,0,0,0,[]],56,4292,[],[[1],[0]],[0,0]],[[2424,7144,0,8,8,0,0,1,0,0,0,0,[]],56,4293,[],[[1],[0]],[0,0]],[[2896,6440,0,8,8,0,0,1,0,0,0,0,[]],56,4294,[],[[1],[0]],[0,0]],[[2792,7304,0,8,8,0,0,1,0,0,0,0,[]],56,4295,[],[[1],[0]],[0,0]],[[2008,7048,0,8,8,0,0,1,0,0,0,0,[]],56,4296,[],[[1],[0]],[0,0]],[[2392,7800,0,8,8,0,0,1,0,0,0,0,[]],56,4299,[],[[1],[0]],[0,0]],[[3240,7336,0,8,8,0,0,1,0,0,0,0,[]],56,4300,[],[[1],[0]],[0,0]],[[3312,6624,0,8,8,0,0,1,0,0,0,0,[]],56,4301,[],[[1],[0]],[0,0]],[[2904,6552,0,8,8,0,0,1,0,0,0,0,[]],56,4302,[],[[1],[0]],[0,0]],[[2960,7400,0,8,8,0,0,1,0,0,0,0,[]],56,4303,[],[[1],[0]],[0,0]],[[3472,7760,0,8,8,0,0,1,0,0,0,0,[]],56,4304,[],[[1],[0]],[0,0]],[[3248,7968,0,8,8,0,0,1,0,0,0,0,[]],56,4305,[],[[1],[0]],[0,0]],[[2856,8224,0,8,8,0,0,1,0,0,0,0,[]],56,4306,[],[[1],[0]],[0,0]],[[3688,6216,0,8,8,0,0,1,0,0,0,0,[]],56,4308,[],[[1],[0]],[0,0]],[[3136,6752,0,8,8,0,0,1,0,0,0,0,[]],56,4309,[],[[1],[0]],[0,0]],[[3608,7248,0,8,8,0,0,1,0,0,0,0,[]],56,4310,[],[[1],[0]],[0,0]],[[4152,6616,0,8,8,0,0,1,0,0,0,0,[]],56,4311,[],[[1],[0]],[0,0]],[[4296,7272,0,8,8,0,0,1,0,0,0,0,[]],56,4312,[],[[1],[0]],[0,0]],[[3752,7552,0,8,8,0,0,1,0,0,0,0,[]],56,4313,[],[[1],[0]],[0,0]],[[4192,6888,0,8,8,0,0,1,0,0,0,0,[]],56,4314,[],[[1],[0]],[0,0]],[[3960,6736,0,8,8,0,0,1,0,0,0,0,[]],56,4315,[],[[1],[0]],[0,0]],[[4304,7704,0,8,8,0,0,1,0,0,0,0,[]],56,4316,[],[[1],[0]],[0,0]],[[4776,7000,0,8,8,0,0,1,0,0,0,0,[]],56,4317,[],[[1],[0]],[0,0]],[[4672,7864,0,8,8,0,0,1,0,0,0,0,[]],56,4318,[],[[1],[0]],[0,0]],[[3888,7608,0,8,8,0,0,1,0,0,0,0,[]],56,4319,[],[[1],[0]],[0,0]],[[3600,7304,0,8,8,0,0,1,0,0,0,0,[]],56,4320,[],[[1],[0]],[0,0]],[[3288,7864,0,8,8,0,0,1,0,0,0,0,[]],56,4321,[],[[1],[0]],[0,0]],[[4272,8360,0,8,8,0,0,1,0,0,0,0,[]],56,4322,[],[[1],[0]],[0,0]],[[5120,7896,0,8,8,0,0,1,0,0,0,0,[]],56,4323,[],[[1],[0]],[0,0]],[[5192,7184,0,8,8,0,0,1,0,0,0,0,[]],56,4324,[],[[1],[0]],[0,0]],[[4784,7112,0,8,8,0,0,1,0,0,0,0,[]],56,4325,[],[[1],[0]],[0,0]],[[4840,7960,0,8,8,0,0,1,0,0,0,0,[]],56,4326,[],[[1],[0]],[0,0]],[[5352,8320,0,8,8,0,0,1,0,0,0,0,[]],56,4327,[],[[1],[0]],[0,0]],[[5128,8528,0,8,8,0,0,1,0,0,0,0,[]],56,4328,[],[[1],[0]],[0,0]],[[4736,8784,0,8,8,0,0,1,0,0,0,0,[]],56,4329,[],[[1],[0]],[0,0]],[[3104,6288,0,8,8,0,0,1,0,0,0,0,[]],56,4330,[],[[1],[0]],[0,0]],[[4432,4040,0,8,8,0,0,1,0,0,0,0,[]],56,4331,[],[[1],[0]],[0,0]],[[3880,4576,0,8,8,0,0,1,0,0,0,0,[]],56,4332,[],[[1],[0]],[0,0]],[[4352,5072,0,8,8,0,0,1,0,0,0,0,[]],56,4333,[],[[1],[0]],[0,0]],[[4896,4440,0,8,8,0,0,1,0,0,0,0,[]],56,4334,[],[[1],[0]],[0,0]],[[5040,5096,0,8,8,0,0,1,0,0,0,0,[]],56,4335,[],[[1],[0]],[0,0]],[[4496,5376,0,8,8,0,0,1,0,0,0,0,[]],56,4336,[],[[1],[0]],[0,0]],[[4936,4712,0,8,8,0,0,1,0,0,0,0,[]],56,4337,[],[[1],[0]],[0,0]],[[4704,4560,0,8,8,0,0,1,0,0,0,0,[]],56,4338,[],[[1],[0]],[0,0]],[[5048,5528,0,8,8,0,0,1,0,0,0,0,[]],56,4339,[],[[1],[0]],[0,0]],[[5416,5688,0,8,8,0,0,1,0,0,0,0,[]],56,4341,[],[[1],[0]],[0,0]],[[4632,5432,0,8,8,0,0,1,0,0,0,0,[]],56,4342,[],[[1],[0]],[0,0]],[[4344,5128,0,8,8,0,0,1,0,0,0,0,[]],56,4343,[],[[1],[0]],[0,0]],[[4032,5688,0,8,8,0,0,1,0,0,0,0,[]],56,4344,[],[[1],[0]],[0,0]],[[5016,6184,0,8,8,0,0,1,0,0,0,0,[]],56,4345,[],[[1],[0]],[0,0]],[[6096,6144,0,8,8,0,0,1,0,0,0,0,[]],56,4350,[],[[1],[0]],[0,0]],[[5872,6352,0,8,8,0,0,1,0,0,0,0,[]],56,4351,[],[[1],[0]],[0,0]],[[5480,6608,0,8,8,0,0,1,0,0,0,0,[]],56,4352,[],[[1],[0]],[0,0]],[[3848,4112,0,8,8,0,0,1,0,0,0,0,[]],56,4353,[],[[1],[0]],[0,0]],[[2448,4072,0,8,8,0,0,1,0,0,0,0,[]],56,4354,[],[[1],[0]],[0,0]],[[1896,4608,0,8,8,0,0,1,0,0,0,0,[]],56,4355,[],[[1],[0]],[0,0]],[[2368,5104,0,8,8,0,0,1,0,0,0,0,[]],56,4356,[],[[1],[0]],[0,0]],[[2912,4472,0,8,8,0,0,1,0,0,0,0,[]],56,4357,[],[[1],[0]],[0,0]],[[3056,5128,0,8,8,0,0,1,0,0,0,0,[]],56,4358,[],[[1],[0]],[0,0]],[[2512,5408,0,8,8,0,0,1,0,0,0,0,[]],56,4359,[],[[1],[0]],[0,0]],[[2832,8168,0,8,8,0,0,1,0,0,0,0,[]],56,4360,[],[[1],[0]],[0,0]],[[2288,8448,0,8,8,0,0,1,0,0,0,0,[]],56,4361,[],[[1],[0]],[0,0]],[[2728,7784,0,8,8,0,0,1,0,0,0,0,[]],56,4362,[],[[1],[0]],[0,0]],[[2496,7632,0,8,8,0,0,1,0,0,0,0,[]],56,4363,[],[[1],[0]],[0,0]],[[2840,8600,0,8,8,0,0,1,0,0,0,0,[]],56,4364,[],[[1],[0]],[0,0]],[[3312,7896,0,8,8,0,0,1,0,0,0,0,[]],56,4365,[],[[1],[0]],[0,0]],[[3208,8760,0,8,8,0,0,1,0,0,0,0,[]],56,4366,[],[[1],[0]],[0,0]],[[2424,8504,0,8,8,0,0,1,0,0,0,0,[]],56,4367,[],[[1],[0]],[0,0]],[[2136,8200,0,8,8,0,0,1,0,0,0,0,[]],56,4368,[],[[1],[0]],[0,0]],[[1824,8760,0,8,8,0,0,1,0,0,0,0,[]],56,4369,[],[[1],[0]],[0,0]],[[2808,9256,0,8,8,0,0,1,0,0,0,0,[]],56,4370,[],[[1],[0]],[0,0]],[[3656,8792,0,8,8,0,0,1,0,0,0,0,[]],56,4371,[],[[1],[0]],[0,0]],[[3728,8080,0,8,8,0,0,1,0,0,0,0,[]],56,4372,[],[[1],[0]],[0,0]],[[3320,8008,0,8,8,0,0,1,0,0,0,0,[]],56,4373,[],[[1],[0]],[0,0]],[[3376,8856,0,8,8,0,0,1,0,0,0,0,[]],56,4374,[],[[1],[0]],[0,0]],[[3888,9216,0,8,8,0,0,1,0,0,0,0,[]],56,4375,[],[[1],[0]],[0,0]],[[3664,9424,0,8,8,0,0,1,0,0,0,0,[]],56,4376,[],[[1],[0]],[0,0]],[[3272,9680,0,8,8,0,0,1,0,0,0,0,[]],56,4377,[],[[1],[0]],[0,0]],[[3432,9416,0,8,8,0,0,1,0,0,0,0,[]],56,4379,[],[[1],[0]],[0,0]],[[2880,9952,0,8,8,0,0,1,0,0,0,0,[]],56,4380,[],[[1],[0]],[0,0]],[[3352,10448,0,8,8,0,0,1,0,0,0,0,[]],56,4381,[],[[1],[0]],[0,0]],[[3896,9816,0,8,8,0,0,1,0,0,0,0,[]],56,4382,[],[[1],[0]],[0,0]],[[4040,10472,0,8,8,0,0,1,0,0,0,0,[]],56,4383,[],[[1],[0]],[0,0]],[[3496,10752,0,8,8,0,0,1,0,0,0,0,[]],56,4384,[],[[1],[0]],[0,0]],[[3936,10088,0,8,8,0,0,1,0,0,0,0,[]],56,4385,[],[[1],[0]],[0,0]],[[3704,9936,0,8,8,0,0,1,0,0,0,0,[]],56,4386,[],[[1],[0]],[0,0]],[[4048,10904,0,8,8,0,0,1,0,0,0,0,[]],56,4387,[],[[1],[0]],[0,0]],[[4520,10200,0,8,8,0,0,1,0,0,0,0,[]],56,4388,[],[[1],[0]],[0,0]],[[4416,11064,0,8,8,0,0,1,0,0,0,0,[]],56,4389,[],[[1],[0]],[0,0]],[[3632,10808,0,8,8,0,0,1,0,0,0,0,[]],56,4390,[],[[1],[0]],[0,0]],[[3344,10504,0,8,8,0,0,1,0,0,0,0,[]],56,4391,[],[[1],[0]],[0,0]],[[3032,11064,0,8,8,0,0,1,0,0,0,0,[]],56,4392,[],[[1],[0]],[0,0]],[[4016,11560,0,8,8,0,0,1,0,0,0,0,[]],56,4393,[],[[1],[0]],[0,0]],[[4864,11096,0,8,8,0,0,1,0,0,0,0,[]],56,4394,[],[[1],[0]],[0,0]],[[4936,10384,0,8,8,0,0,1,0,0,0,0,[]],56,4395,[],[[1],[0]],[0,0]],[[4528,10312,0,8,8,0,0,1,0,0,0,0,[]],56,4396,[],[[1],[0]],[0,0]],[[4584,11160,0,8,8,0,0,1,0,0,0,0,[]],56,4397,[],[[1],[0]],[0,0]],[[5096,11520,0,8,8,0,0,1,0,0,0,0,[]],56,4398,[],[[1],[0]],[0,0]],[[4872,11728,0,8,8,0,0,1,0,0,0,0,[]],56,4399,[],[[1],[0]],[0,0]],[[4480,11984,0,8,8,0,0,1,0,0,0,0,[]],56,4400,[],[[1],[0]],[0,0]],[[2848,9488,0,8,8,0,0,1,0,0,0,0,[]],56,4401,[],[[1],[0]],[0,0]],[[5312,9976,0,8,8,0,0,1,0,0,0,0,[]],56,4402,[],[[1],[0]],[0,0]],[[4760,10512,0,8,8,0,0,1,0,0,0,0,[]],56,4403,[],[[1],[0]],[0,0]],[[5232,11008,0,8,8,0,0,1,0,0,0,0,[]],56,4404,[],[[1],[0]],[0,0]],[[5776,10376,0,8,8,0,0,1,0,0,0,0,[]],56,4405,[],[[1],[0]],[0,0]],[[5920,11032,0,8,8,0,0,1,0,0,0,0,[]],56,4406,[],[[1],[0]],[0,0]],[[5376,11312,0,8,8,0,0,1,0,0,0,0,[]],56,4407,[],[[1],[0]],[0,0]],[[5816,10648,0,8,8,0,0,1,0,0,0,0,[]],56,4408,[],[[1],[0]],[0,0]],[[5584,10496,0,8,8,0,0,1,0,0,0,0,[]],56,4409,[],[[1],[0]],[0,0]],[[5928,11464,0,8,8,0,0,1,0,0,0,0,[]],56,4410,[],[[1],[0]],[0,0]],[[6400,10760,0,8,8,0,0,1,0,0,0,0,[]],56,4411,[],[[1],[0]],[0,0]],[[6296,11624,0,8,8,0,0,1,0,0,0,0,[]],56,4412,[],[[1],[0]],[0,0]],[[5512,11368,0,8,8,0,0,1,0,0,0,0,[]],56,4413,[],[[1],[0]],[0,0]],[[5224,11064,0,8,8,0,0,1,0,0,0,0,[]],56,4414,[],[[1],[0]],[0,0]],[[4912,11624,0,8,8,0,0,1,0,0,0,0,[]],56,4415,[],[[1],[0]],[0,0]],[[5896,12120,0,8,8,0,0,1,0,0,0,0,[]],56,4416,[],[[1],[0]],[0,0]],[[6408,10872,0,8,8,0,0,1,0,0,0,0,[]],56,4419,[],[[1],[0]],[0,0]],[[6464,11720,0,8,8,0,0,1,0,0,0,0,[]],56,4420,[],[[1],[0]],[0,0]],[[6360,12544,0,8,8,0,0,1,0,0,0,0,[]],56,4423,[],[[1],[0]],[0,0]],[[4728,10048,0,8,8,0,0,1,0,0,0,0,[]],56,4424,[],[[1],[0]],[0,0]],[[6056,7800,0,8,8,0,0,1,0,0,0,0,[]],56,4425,[],[[1],[0]],[0,0]],[[5504,8336,0,8,8,0,0,1,0,0,0,0,[]],56,4426,[],[[1],[0]],[0,0]],[[5976,8832,0,8,8,0,0,1,0,0,0,0,[]],56,4427,[],[[1],[0]],[0,0]],[[6120,9136,0,8,8,0,0,1,0,0,0,0,[]],56,4430,[],[[1],[0]],[0,0]],[[6256,9192,0,8,8,0,0,1,0,0,0,0,[]],56,4436,[],[[1],[0]],[0,0]],[[5968,8888,0,8,8,0,0,1,0,0,0,0,[]],56,4437,[],[[1],[0]],[0,0]],[[5656,9448,0,8,8,0,0,1,0,0,0,0,[]],56,4438,[],[[1],[0]],[0,0]],[[5472,7872,0,8,8,0,0,1,0,0,0,0,[]],56,4447,[],[[1],[0]],[0,0]],[[4072,7832,0,8,8,0,0,1,0,0,0,0,[]],56,4448,[],[[1],[0]],[0,0]],[[3520,8368,0,8,8,0,0,1,0,0,0,0,[]],56,4449,[],[[1],[0]],[0,0]],[[3992,8864,0,8,8,0,0,1,0,0,0,0,[]],56,4450,[],[[1],[0]],[0,0]],[[4536,8232,0,8,8,0,0,1,0,0,0,0,[]],56,4451,[],[[1],[0]],[0,0]],[[4680,8888,0,8,8,0,0,1,0,0,0,0,[]],56,4452,[],[[1],[0]],[0,0]],[[4136,9168,0,8,8,0,0,1,0,0,0,0,[]],56,4453,[],[[1],[0]],[0,0]],[[2512,12384,0,8,8,0,0,1,0,0,0,0,[]],56,4454,[],[[1],[0]],[0,0]],[[1968,12664,0,8,8,0,0,1,0,0,0,0,[]],56,4455,[],[[1],[0]],[0,0]],[[2408,12000,0,8,8,0,0,1,0,0,0,0,[]],56,4456,[],[[1],[0]],[0,0]],[[2176,11848,0,8,8,0,0,1,0,0,0,0,[]],56,4457,[],[[1],[0]],[0,0]],[[2520,12816,0,8,8,0,0,1,0,0,0,0,[]],56,4458,[],[[1],[0]],[0,0]],[[2992,12112,0,8,8,0,0,1,0,0,0,0,[]],56,4459,[],[[1],[0]],[0,0]],[[2888,12976,0,8,8,0,0,1,0,0,0,0,[]],56,4460,[],[[1],[0]],[0,0]],[[2104,12720,0,8,8,0,0,1,0,0,0,0,[]],56,4461,[],[[1],[0]],[0,0]],[[1816,12416,0,8,8,0,0,1,0,0,0,0,[]],56,4462,[],[[1],[0]],[0,0]],[[2488,13472,0,8,8,0,0,1,0,0,0,0,[]],56,4464,[],[[1],[0]],[0,0]],[[3336,13008,0,8,8,0,0,1,0,0,0,0,[]],56,4465,[],[[1],[0]],[0,0]],[[3408,12296,0,8,8,0,0,1,0,0,0,0,[]],56,4466,[],[[1],[0]],[0,0]],[[3000,12224,0,8,8,0,0,1,0,0,0,0,[]],56,4467,[],[[1],[0]],[0,0]],[[3056,13072,0,8,8,0,0,1,0,0,0,0,[]],56,4468,[],[[1],[0]],[0,0]],[[3568,13432,0,8,8,0,0,1,0,0,0,0,[]],56,4469,[],[[1],[0]],[0,0]],[[3344,13640,0,8,8,0,0,1,0,0,0,0,[]],56,4470,[],[[1],[0]],[0,0]],[[2952,13896,0,8,8,0,0,1,0,0,0,0,[]],56,4471,[],[[1],[0]],[0,0]],[[3112,13632,0,8,8,0,0,1,0,0,0,0,[]],56,4473,[],[[1],[0]],[0,0]],[[2560,14168,0,8,8,0,0,1,0,0,0,0,[]],56,4474,[],[[1],[0]],[0,0]],[[3032,14664,0,8,8,0,0,1,0,0,0,0,[]],56,4475,[],[[1],[0]],[0,0]],[[3576,14032,0,8,8,0,0,1,0,0,0,0,[]],56,4476,[],[[1],[0]],[0,0]],[[3720,14688,0,8,8,0,0,1,0,0,0,0,[]],56,4477,[],[[1],[0]],[0,0]],[[3176,14968,0,8,8,0,0,1,0,0,0,0,[]],56,4478,[],[[1],[0]],[0,0]],[[3616,14304,0,8,8,0,0,1,0,0,0,0,[]],56,4479,[],[[1],[0]],[0,0]],[[3384,14152,0,8,8,0,0,1,0,0,0,0,[]],56,4480,[],[[1],[0]],[0,0]],[[3728,15120,0,8,8,0,0,1,0,0,0,0,[]],56,4481,[],[[1],[0]],[0,0]],[[4200,14416,0,8,8,0,0,1,0,0,0,0,[]],56,4482,[],[[1],[0]],[0,0]],[[4096,15280,0,8,8,0,0,1,0,0,0,0,[]],56,4483,[],[[1],[0]],[0,0]],[[3312,15024,0,8,8,0,0,1,0,0,0,0,[]],56,4484,[],[[1],[0]],[0,0]],[[3024,14720,0,8,8,0,0,1,0,0,0,0,[]],56,4485,[],[[1],[0]],[0,0]],[[2712,15280,0,8,8,0,0,1,0,0,0,0,[]],56,4486,[],[[1],[0]],[0,0]],[[3696,15776,0,8,8,0,0,1,0,0,0,0,[]],56,4487,[],[[1],[0]],[0,0]],[[4544,15312,0,8,8,0,0,1,0,0,0,0,[]],56,4488,[],[[1],[0]],[0,0]],[[4616,14600,0,8,8,0,0,1,0,0,0,0,[]],56,4489,[],[[1],[0]],[0,0]],[[4208,14528,0,8,8,0,0,1,0,0,0,0,[]],56,4490,[],[[1],[0]],[0,0]],[[4264,15376,0,8,8,0,0,1,0,0,0,0,[]],56,4491,[],[[1],[0]],[0,0]],[[4776,15736,0,8,8,0,0,1,0,0,0,0,[]],56,4492,[],[[1],[0]],[0,0]],[[4552,15944,0,8,8,0,0,1,0,0,0,0,[]],56,4493,[],[[1],[0]],[0,0]],[[4160,16200,0,8,8,0,0,1,0,0,0,0,[]],56,4494,[],[[1],[0]],[0,0]],[[2528,13704,0,8,8,0,0,1,0,0,0,0,[]],56,4495,[],[[1],[0]],[0,0]],[[4992,14192,0,8,8,0,0,1,0,0,0,0,[]],56,4496,[],[[1],[0]],[0,0]],[[4440,14728,0,8,8,0,0,1,0,0,0,0,[]],56,4497,[],[[1],[0]],[0,0]],[[4912,15224,0,8,8,0,0,1,0,0,0,0,[]],56,4498,[],[[1],[0]],[0,0]],[[5456,14592,0,8,8,0,0,1,0,0,0,0,[]],56,4499,[],[[1],[0]],[0,0]],[[5600,15248,0,8,8,0,0,1,0,0,0,0,[]],56,4500,[],[[1],[0]],[0,0]],[[5056,15528,0,8,8,0,0,1,0,0,0,0,[]],56,4501,[],[[1],[0]],[0,0]],[[5496,14864,0,8,8,0,0,1,0,0,0,0,[]],56,4502,[],[[1],[0]],[0,0]],[[5264,14712,0,8,8,0,0,1,0,0,0,0,[]],56,4503,[],[[1],[0]],[0,0]],[[5608,15680,0,8,8,0,0,1,0,0,0,0,[]],56,4504,[],[[1],[0]],[0,0]],[[6080,14976,0,8,8,0,0,1,0,0,0,0,[]],56,4505,[],[[1],[0]],[0,0]],[[5976,15840,0,8,8,0,0,1,0,0,0,0,[]],56,4506,[],[[1],[0]],[0,0]],[[5192,15584,0,8,8,0,0,1,0,0,0,0,[]],56,4507,[],[[1],[0]],[0,0]],[[4904,15280,0,8,8,0,0,1,0,0,0,0,[]],56,4508,[],[[1],[0]],[0,0]],[[4592,15840,0,8,8,0,0,1,0,0,0,0,[]],56,4509,[],[[1],[0]],[0,0]],[[5576,16336,0,8,8,0,0,1,0,0,0,0,[]],56,4510,[],[[1],[0]],[0,0]],[[6424,15872,0,8,8,0,0,1,0,0,0,0,[]],56,4511,[],[[1],[0]],[0,0]],[[6496,15160,0,8,8,0,0,1,0,0,0,0,[]],56,4512,[],[[1],[0]],[0,0]],[[6088,15088,0,8,8,0,0,1,0,0,0,0,[]],56,4513,[],[[1],[0]],[0,0]],[[6144,15936,0,8,8,0,0,1,0,0,0,0,[]],56,4514,[],[[1],[0]],[0,0]],[[6432,16504,0,8,8,0,0,1,0,0,0,0,[]],56,4516,[],[[1],[0]],[0,0]],[[6040,16760,0,8,8,0,0,1,0,0,0,0,[]],56,4517,[],[[1],[0]],[0,0]],[[4408,14264,0,8,8,0,0,1,0,0,0,0,[]],56,4518,[],[[1],[0]],[0,0]],[[5736,12016,0,8,8,0,0,1,0,0,0,0,[]],56,4519,[],[[1],[0]],[0,0]],[[5184,12552,0,8,8,0,0,1,0,0,0,0,[]],56,4520,[],[[1],[0]],[0,0]],[[5656,13048,0,8,8,0,0,1,0,0,0,0,[]],56,4521,[],[[1],[0]],[0,0]],[[6200,12416,0,8,8,0,0,1,0,0,0,0,[]],56,4522,[],[[1],[0]],[0,0]],[[6344,13072,0,8,8,0,0,1,0,0,0,0,[]],56,4523,[],[[1],[0]],[0,0]],[[5800,13352,0,8,8,0,0,1,0,0,0,0,[]],56,4524,[],[[1],[0]],[0,0]],[[6240,12688,0,8,8,0,0,1,0,0,0,0,[]],56,4525,[],[[1],[0]],[0,0]],[[6008,12536,0,8,8,0,0,1,0,0,0,0,[]],56,4526,[],[[1],[0]],[0,0]],[[6352,13504,0,8,8,0,0,1,0,0,0,0,[]],56,4527,[],[[1],[0]],[0,0]],[[5936,13408,0,8,8,0,0,1,0,0,0,0,[]],56,4530,[],[[1],[0]],[0,0]],[[5648,13104,0,8,8,0,0,1,0,0,0,0,[]],56,4531,[],[[1],[0]],[0,0]],[[5336,13664,0,8,8,0,0,1,0,0,0,0,[]],56,4532,[],[[1],[0]],[0,0]],[[6320,14160,0,8,8,0,0,1,0,0,0,0,[]],56,4533,[],[[1],[0]],[0,0]],[[5152,12088,0,8,8,0,0,1,0,0,0,0,[]],56,4541,[],[[1],[0]],[0,0]],[[3752,12048,0,8,8,0,0,1,0,0,0,0,[]],56,4542,[],[[1],[0]],[0,0]],[[3200,12584,0,8,8,0,0,1,0,0,0,0,[]],56,4543,[],[[1],[0]],[0,0]],[[3672,13080,0,8,8,0,0,1,0,0,0,0,[]],56,4544,[],[[1],[0]],[0,0]],[[4216,12448,0,8,8,0,0,1,0,0,0,0,[]],56,4545,[],[[1],[0]],[0,0]],[[4360,13104,0,8,8,0,0,1,0,0,0,0,[]],56,4546,[],[[1],[0]],[0,0]],[[3816,13384,0,8,8,0,0,1,0,0,0,0,[]],56,4547,[],[[1],[0]],[0,0]],[[4184,16672,0,8,8,0,0,1,0,0,0,0,[]],56,4548,[],[[1],[0]],[0,0]],[[3640,16952,0,8,8,0,0,1,0,0,0,0,[]],56,4549,[],[[1],[0]],[0,0]],[[4080,16288,0,8,8,0,0,1,0,0,0,0,[]],56,4550,[],[[1],[0]],[0,0]],[[3848,16136,0,8,8,0,0,1,0,0,0,0,[]],56,4551,[],[[1],[0]],[0,0]],[[4192,17104,0,8,8,0,0,1,0,0,0,0,[]],56,4552,[],[[1],[0]],[0,0]],[[4664,16400,0,8,8,0,0,1,0,0,0,0,[]],56,4553,[],[[1],[0]],[0,0]],[[4560,17264,0,8,8,0,0,1,0,0,0,0,[]],56,4554,[],[[1],[0]],[0,0]],[[3776,17008,0,8,8,0,0,1,0,0,0,0,[]],56,4555,[],[[1],[0]],[0,0]],[[3488,16704,0,8,8,0,0,1,0,0,0,0,[]],56,4556,[],[[1],[0]],[0,0]],[[3176,17264,0,8,8,0,0,1,0,0,0,0,[]],56,4557,[],[[1],[0]],[0,0]],[[4160,17760,0,8,8,0,0,1,0,0,0,0,[]],56,4558,[],[[1],[0]],[0,0]],[[5008,17296,0,8,8,0,0,1,0,0,0,0,[]],56,4559,[],[[1],[0]],[0,0]],[[5080,16584,0,8,8,0,0,1,0,0,0,0,[]],56,4560,[],[[1],[0]],[0,0]],[[4672,16512,0,8,8,0,0,1,0,0,0,0,[]],56,4561,[],[[1],[0]],[0,0]],[[4728,17360,0,8,8,0,0,1,0,0,0,0,[]],56,4562,[],[[1],[0]],[0,0]],[[5240,17720,0,8,8,0,0,1,0,0,0,0,[]],56,4563,[],[[1],[0]],[0,0]],[[5016,17928,0,8,8,0,0,1,0,0,0,0,[]],56,4564,[],[[1],[0]],[0,0]],[[4624,18184,0,8,8,0,0,1,0,0,0,0,[]],56,4565,[],[[1],[0]],[0,0]],[[2992,15688,0,8,8,0,0,1,0,0,0,0,[]],56,4566,[],[[1],[0]],[0,0]],[[4784,17920,0,8,8,0,0,1,0,0,0,0,[]],56,4567,[],[[1],[0]],[0,0]],[[4232,18456,0,8,8,0,0,1,0,0,0,0,[]],56,4568,[],[[1],[0]],[0,0]],[[4704,18952,0,8,8,0,0,1,0,0,0,0,[]],56,4569,[],[[1],[0]],[0,0]],[[5248,18320,0,8,8,0,0,1,0,0,0,0,[]],56,4570,[],[[1],[0]],[0,0]],[[5392,18976,0,8,8,0,0,1,0,0,0,0,[]],56,4571,[],[[1],[0]],[0,0]],[[4848,19256,0,8,8,0,0,1,0,0,0,0,[]],56,4572,[],[[1],[0]],[0,0]],[[5288,18592,0,8,8,0,0,1,0,0,0,0,[]],56,4573,[],[[1],[0]],[0,0]],[[5056,18440,0,8,8,0,0,1,0,0,0,0,[]],56,4574,[],[[1],[0]],[0,0]],[[5400,19408,0,8,8,0,0,1,0,0,0,0,[]],56,4575,[],[[1],[0]],[0,0]],[[5872,18704,0,8,8,0,0,1,0,0,0,0,[]],56,4576,[],[[1],[0]],[0,0]],[[5768,19568,0,8,8,0,0,1,0,0,0,0,[]],56,4577,[],[[1],[0]],[0,0]],[[4984,19312,0,8,8,0,0,1,0,0,0,0,[]],56,4578,[],[[1],[0]],[0,0]],[[4696,19008,0,8,8,0,0,1,0,0,0,0,[]],56,4579,[],[[1],[0]],[0,0]],[[4384,19568,0,8,8,0,0,1,0,0,0,0,[]],56,4580,[],[[1],[0]],[0,0]],[[5368,20064,0,8,8,0,0,1,0,0,0,0,[]],56,4581,[],[[1],[0]],[0,0]],[[6216,19600,0,8,8,0,0,1,0,0,0,0,[]],56,4582,[],[[1],[0]],[0,0]],[[6288,18888,0,8,8,0,0,1,0,0,0,0,[]],56,4583,[],[[1],[0]],[0,0]],[[5880,18816,0,8,8,0,0,1,0,0,0,0,[]],56,4584,[],[[1],[0]],[0,0]],[[5936,19664,0,8,8,0,0,1,0,0,0,0,[]],56,4585,[],[[1],[0]],[0,0]],[[6448,20024,0,8,8,0,0,1,0,0,0,0,[]],56,4586,[],[[1],[0]],[0,0]],[[4200,17992,0,8,8,0,0,1,0,0,0,0,[]],56,4589,[],[[1],[0]],[0,0]],[[6112,19016,0,8,8,0,0,1,0,0,0,0,[]],56,4591,[],[[1],[0]],[0,0]],[[6264,20128,0,8,8,0,0,1,0,0,0,0,[]],56,4603,[],[[1],[0]],[0,0]],[[6080,18552,0,8,8,0,0,1,0,0,0,0,[]],56,4612,[],[[1],[0]],[0,0]],[[5424,16336,0,8,8,0,0,1,0,0,0,0,[]],56,4636,[],[[1],[0]],[0,0]],[[4872,16872,0,8,8,0,0,1,0,0,0,0,[]],56,4637,[],[[1],[0]],[0,0]],[[5344,17368,0,8,8,0,0,1,0,0,0,0,[]],56,4638,[],[[1],[0]],[0,0]],[[5888,16736,0,8,8,0,0,1,0,0,0,0,[]],56,4639,[],[[1],[0]],[0,0]],[[6032,17392,0,8,8,0,0,1,0,0,0,0,[]],56,4640,[],[[1],[0]],[0,0]],[[5488,17672,0,8,8,0,0,1,0,0,0,0,[]],56,4641,[],[[1],[0]],[0,0]],[[3392,5832,0,8,8,0,0,1,0,0,0,0,[]],56,5018,[],[[1],[0]],[0,0]],[[2848,6112,0,8,8,0,0,1,0,0,0,0,[]],56,5019,[],[[1],[0]],[0,0]],[[3288,5448,0,8,8,0,0,1,0,0,0,0,[]],56,5020,[],[[1],[0]],[0,0]],[[3056,5296,0,8,8,0,0,1,0,0,0,0,[]],56,5021,[],[[1],[0]],[0,0]],[[3400,6264,0,8,8,0,0,1,0,0,0,0,[]],56,5022,[],[[1],[0]],[0,0]],[[3872,5560,0,8,8,0,0,1,0,0,0,0,[]],56,5023,[],[[1],[0]],[0,0]],[[3768,6424,0,8,8,0,0,1,0,0,0,0,[]],56,5024,[],[[1],[0]],[0,0]],[[2984,6168,0,8,8,0,0,1,0,0,0,0,[]],56,5025,[],[[1],[0]],[0,0]],[[2696,5864,0,8,8,0,0,1,0,0,0,0,[]],56,5026,[],[[1],[0]],[0,0]],[[2384,6424,0,8,8,0,0,1,0,0,0,0,[]],56,5027,[],[[1],[0]],[0,0]],[[3368,6920,0,8,8,0,0,1,0,0,0,0,[]],56,5028,[],[[1],[0]],[0,0]],[[4216,6456,0,8,8,0,0,1,0,0,0,0,[]],56,5029,[],[[1],[0]],[0,0]],[[4288,5744,0,8,8,0,0,1,0,0,0,0,[]],56,5030,[],[[1],[0]],[0,0]],[[3880,5672,0,8,8,0,0,1,0,0,0,0,[]],56,5031,[],[[1],[0]],[0,0]],[[3936,6520,0,8,8,0,0,1,0,0,0,0,[]],56,5032,[],[[1],[0]],[0,0]],[[4448,6880,0,8,8,0,0,1,0,0,0,0,[]],56,5033,[],[[1],[0]],[0,0]],[[4224,7088,0,8,8,0,0,1,0,0,0,0,[]],56,5034,[],[[1],[0]],[0,0]],[[3832,7344,0,8,8,0,0,1,0,0,0,0,[]],56,5035,[],[[1],[0]],[0,0]],[[2200,4848,0,8,8,0,0,1,0,0,0,0,[]],56,5036,[],[[1],[0]],[0,0]],[[3992,7080,0,8,8,0,0,1,0,0,0,0,[]],56,5037,[],[[1],[0]],[0,0]],[[3440,7616,0,8,8,0,0,1,0,0,0,0,[]],56,5038,[],[[1],[0]],[0,0]],[[3912,8112,0,8,8,0,0,1,0,0,0,0,[]],56,5039,[],[[1],[0]],[0,0]],[[4456,7480,0,8,8,0,0,1,0,0,0,0,[]],56,5040,[],[[1],[0]],[0,0]],[[4600,8136,0,8,8,0,0,1,0,0,0,0,[]],56,5041,[],[[1],[0]],[0,0]],[[4056,8416,0,8,8,0,0,1,0,0,0,0,[]],56,5042,[],[[1],[0]],[0,0]],[[4496,7752,0,8,8,0,0,1,0,0,0,0,[]],56,5043,[],[[1],[0]],[0,0]],[[4264,7600,0,8,8,0,0,1,0,0,0,0,[]],56,5044,[],[[1],[0]],[0,0]],[[4608,8568,0,8,8,0,0,1,0,0,0,0,[]],56,5045,[],[[1],[0]],[0,0]],[[5080,7864,0,8,8,0,0,1,0,0,0,0,[]],56,5046,[],[[1],[0]],[0,0]],[[4976,8728,0,8,8,0,0,1,0,0,0,0,[]],56,5047,[],[[1],[0]],[0,0]],[[4192,8472,0,8,8,0,0,1,0,0,0,0,[]],56,5048,[],[[1],[0]],[0,0]],[[3904,8168,0,8,8,0,0,1,0,0,0,0,[]],56,5049,[],[[1],[0]],[0,0]],[[3592,8728,0,8,8,0,0,1,0,0,0,0,[]],56,5050,[],[[1],[0]],[0,0]],[[4576,9224,0,8,8,0,0,1,0,0,0,0,[]],56,5051,[],[[1],[0]],[0,0]],[[5424,8760,0,8,8,0,0,1,0,0,0,0,[]],56,5052,[],[[1],[0]],[0,0]],[[5496,8048,0,8,8,0,0,1,0,0,0,0,[]],56,5053,[],[[1],[0]],[0,0]],[[5088,7976,0,8,8,0,0,1,0,0,0,0,[]],56,5054,[],[[1],[0]],[0,0]],[[5144,8824,0,8,8,0,0,1,0,0,0,0,[]],56,5055,[],[[1],[0]],[0,0]],[[5656,9184,0,8,8,0,0,1,0,0,0,0,[]],56,5056,[],[[1],[0]],[0,0]],[[5432,9392,0,8,8,0,0,1,0,0,0,0,[]],56,5057,[],[[1],[0]],[0,0]],[[5040,9648,0,8,8,0,0,1,0,0,0,0,[]],56,5058,[],[[1],[0]],[0,0]],[[3408,7152,0,8,8,0,0,1,0,0,0,0,[]],56,5059,[],[[1],[0]],[0,0]],[[5872,7640,0,8,8,0,0,1,0,0,0,0,[]],56,5060,[],[[1],[0]],[0,0]],[[5320,8176,0,8,8,0,0,1,0,0,0,0,[]],56,5061,[],[[1],[0]],[0,0]],[[5792,8672,0,8,8,0,0,1,0,0,0,0,[]],56,5062,[],[[1],[0]],[0,0]],[[6480,8696,0,8,8,0,0,1,0,0,0,0,[]],56,5064,[],[[1],[0]],[0,0]],[[5936,8976,0,8,8,0,0,1,0,0,0,0,[]],56,5065,[],[[1],[0]],[0,0]],[[6488,9128,0,8,8,0,0,1,0,0,0,0,[]],56,5068,[],[[1],[0]],[0,0]],[[6072,9032,0,8,8,0,0,1,0,0,0,0,[]],56,5071,[],[[1],[0]],[0,0]],[[5784,8728,0,8,8,0,0,1,0,0,0,0,[]],56,5072,[],[[1],[0]],[0,0]],[[5472,9288,0,8,8,0,0,1,0,0,0,0,[]],56,5073,[],[[1],[0]],[0,0]],[[6456,9784,0,8,8,0,0,1,0,0,0,0,[]],56,5074,[],[[1],[0]],[0,0]],[[5288,7712,0,8,8,0,0,1,0,0,0,0,[]],56,5082,[],[[1],[0]],[0,0]],[[6064,6000,0,8,8,0,0,1,0,0,0,0,[]],56,5084,[],[[1],[0]],[0,0]],[[4632,5496,0,8,8,0,0,1,0,0,0,0,[]],56,5106,[],[[1],[0]],[0,0]],[[4080,6032,0,8,8,0,0,1,0,0,0,0,[]],56,5107,[],[[1],[0]],[0,0]],[[4552,6528,0,8,8,0,0,1,0,0,0,0,[]],56,5108,[],[[1],[0]],[0,0]],[[5096,5896,0,8,8,0,0,1,0,0,0,0,[]],56,5109,[],[[1],[0]],[0,0]],[[5240,6552,0,8,8,0,0,1,0,0,0,0,[]],56,5110,[],[[1],[0]],[0,0]],[[4696,6832,0,8,8,0,0,1,0,0,0,0,[]],56,5111,[],[[1],[0]],[0,0]],[[6040,10560,0,8,8,0,0,1,0,0,0,0,[]],56,5207,[],[[1],[0]],[0,0]],[[6480,9896,0,8,8,0,0,1,0,0,0,0,[]],56,5208,[],[[1],[0]],[0,0]],[[6248,9744,0,8,8,0,0,1,0,0,0,0,[]],56,5209,[],[[1],[0]],[0,0]],[[6176,10616,0,8,8,0,0,1,0,0,0,0,[]],56,5213,[],[[1],[0]],[0,0]],[[5888,10312,0,8,8,0,0,1,0,0,0,0,[]],56,5214,[],[[1],[0]],[0,0]],[[5576,10872,0,8,8,0,0,1,0,0,0,0,[]],56,5215,[],[[1],[0]],[0,0]],[[5392,9296,0,8,8,0,0,1,0,0,0,0,[]],56,5224,[],[[1],[0]],[0,0]],[[6240,13968,0,8,8,0,0,1,0,0,0,0,[]],56,5300,[],[[1],[0]],[0,0]],[[5696,14248,0,8,8,0,0,1,0,0,0,0,[]],56,5301,[],[[1],[0]],[0,0]],[[6136,13584,0,8,8,0,0,1,0,0,0,0,[]],56,5302,[],[[1],[0]],[0,0]],[[5904,13432,0,8,8,0,0,1,0,0,0,0,[]],56,5303,[],[[1],[0]],[0,0]],[[6248,14400,0,8,8,0,0,1,0,0,0,0,[]],56,5304,[],[[1],[0]],[0,0]],[[5832,14304,0,8,8,0,0,1,0,0,0,0,[]],56,5307,[],[[1],[0]],[0,0]],[[5544,14000,0,8,8,0,0,1,0,0,0,0,[]],56,5308,[],[[1],[0]],[0,0]],[[5232,14560,0,8,8,0,0,1,0,0,0,0,[]],56,5309,[],[[1],[0]],[0,0]],[[6216,15056,0,8,8,0,0,1,0,0,0,0,[]],56,5310,[],[[1],[0]],[0,0]],[[5048,12984,0,8,8,0,0,1,0,0,0,0,[]],56,5318,[],[[1],[0]],[0,0]],[[6288,15752,0,8,8,0,0,1,0,0,0,0,[]],56,5320,[],[[1],[0]],[0,0]],[[6440,16864,0,8,8,0,0,1,0,0,0,0,[]],56,5332,[],[[1],[0]],[0,0]],[[6256,15288,0,8,8,0,0,1,0,0,0,0,[]],56,5341,[],[[1],[0]],[0,0]],[[6440,17608,0,8,8,0,0,1,0,0,0,0,[]],56,5412,[],[[1],[0]],[0,0]],[[520,216,0,8,8,0,0,1,0,0,0,0,[]],56,4174,[],[[1],[0]],[0,0]],[[-32,752,0,8,8,0,0,1,0,0,0,0,[]],56,4175,[],[[1],[0]],[0,0]],[[984,616,0,8,8,0,0,1,0,0,0,0,[]],56,4177,[],[[1],[0]],[0,0]],[[792,736,0,8,8,0,0,1,0,0,0,0,[]],56,4181,[],[[1],[0]],[0,0]],[[1952,1896,0,8,8,0,0,1,0,0,0,0,[]],56,4189,[],[[1],[0]],[0,0]],[[2024,1184,0,8,8,0,0,1,0,0,0,0,[]],56,4190,[],[[1],[0]],[0,0]],[[2184,2320,0,8,8,0,0,1,0,0,0,0,[]],56,4193,[],[[1],[0]],[0,0]],[[1960,2528,0,8,8,0,0,1,0,0,0,0,[]],56,4194,[],[[1],[0]],[0,0]],[[1728,2520,0,8,8,0,0,1,0,0,0,0,[]],56,4197,[],[[1],[0]],[0,0]],[[2192,2920,0,8,8,0,0,1,0,0,0,0,[]],56,4200,[],[[1],[0]],[0,0]],[[2336,3576,0,8,8,0,0,1,0,0,0,0,[]],56,4201,[],[[1],[0]],[0,0]],[[1792,3856,0,8,8,0,0,1,0,0,0,0,[]],56,4202,[],[[1],[0]],[0,0]],[[2232,3192,0,8,8,0,0,1,0,0,0,0,[]],56,4203,[],[[1],[0]],[0,0]],[[2000,3040,0,8,8,0,0,1,0,0,0,0,[]],56,4204,[],[[1],[0]],[0,0]],[[2344,4008,0,8,8,0,0,1,0,0,0,0,[]],56,4205,[],[[1],[0]],[0,0]],[[2816,3304,0,8,8,0,0,1,0,0,0,0,[]],56,4206,[],[[1],[0]],[0,0]],[[2712,4168,0,8,8,0,0,1,0,0,0,0,[]],56,4207,[],[[1],[0]],[0,0]],[[1928,3912,0,8,8,0,0,1,0,0,0,0,[]],56,4208,[],[[1],[0]],[0,0]],[[2312,4664,0,8,8,0,0,1,0,0,0,0,[]],56,4211,[],[[1],[0]],[0,0]],[[3160,4200,0,8,8,0,0,1,0,0,0,0,[]],56,4212,[],[[1],[0]],[0,0]],[[3232,3488,0,8,8,0,0,1,0,0,0,0,[]],56,4213,[],[[1],[0]],[0,0]],[[2824,3416,0,8,8,0,0,1,0,0,0,0,[]],56,4214,[],[[1],[0]],[0,0]],[[2880,4264,0,8,8,0,0,1,0,0,0,0,[]],56,4215,[],[[1],[0]],[0,0]],[[3392,4624,0,8,8,0,0,1,0,0,0,0,[]],56,4216,[],[[1],[0]],[0,0]],[[3168,4832,0,8,8,0,0,1,0,0,0,0,[]],56,4217,[],[[1],[0]],[0,0]],[[2776,5088,0,8,8,0,0,1,0,0,0,0,[]],56,4218,[],[[1],[0]],[0,0]],[[3608,3080,0,8,8,0,0,1,0,0,0,0,[]],56,4220,[],[[1],[0]],[0,0]],[[3056,3616,0,8,8,0,0,1,0,0,0,0,[]],56,4221,[],[[1],[0]],[0,0]],[[3528,4112,0,8,8,0,0,1,0,0,0,0,[]],56,4222,[],[[1],[0]],[0,0]],[[4072,3480,0,8,8,0,0,1,0,0,0,0,[]],56,4223,[],[[1],[0]],[0,0]],[[4216,4136,0,8,8,0,0,1,0,0,0,0,[]],56,4224,[],[[1],[0]],[0,0]],[[3672,4416,0,8,8,0,0,1,0,0,0,0,[]],56,4225,[],[[1],[0]],[0,0]],[[4112,3752,0,8,8,0,0,1,0,0,0,0,[]],56,4226,[],[[1],[0]],[0,0]],[[3880,3600,0,8,8,0,0,1,0,0,0,0,[]],56,4227,[],[[1],[0]],[0,0]],[[4224,4568,0,8,8,0,0,1,0,0,0,0,[]],56,4228,[],[[1],[0]],[0,0]],[[4696,3864,0,8,8,0,0,1,0,0,0,0,[]],56,4229,[],[[1],[0]],[0,0]],[[4592,4728,0,8,8,0,0,1,0,0,0,0,[]],56,4230,[],[[1],[0]],[0,0]],[[3808,4472,0,8,8,0,0,1,0,0,0,0,[]],56,4231,[],[[1],[0]],[0,0]],[[3520,4168,0,8,8,0,0,1,0,0,0,0,[]],56,4232,[],[[1],[0]],[0,0]],[[3208,4728,0,8,8,0,0,1,0,0,0,0,[]],56,4233,[],[[1],[0]],[0,0]],[[4192,5224,0,8,8,0,0,1,0,0,0,0,[]],56,4234,[],[[1],[0]],[0,0]],[[5040,4760,0,8,8,0,0,1,0,0,0,0,[]],56,4235,[],[[1],[0]],[0,0]],[[5112,4048,0,8,8,0,0,1,0,0,0,0,[]],56,4236,[],[[1],[0]],[0,0]],[[4704,3976,0,8,8,0,0,1,0,0,0,0,[]],56,4237,[],[[1],[0]],[0,0]],[[4760,4824,0,8,8,0,0,1,0,0,0,0,[]],56,4238,[],[[1],[0]],[0,0]],[[5272,5184,0,8,8,0,0,1,0,0,0,0,[]],56,4239,[],[[1],[0]],[0,0]],[[5048,5392,0,8,8,0,0,1,0,0,0,0,[]],56,4240,[],[[1],[0]],[0,0]],[[4656,5648,0,8,8,0,0,1,0,0,0,0,[]],56,4241,[],[[1],[0]],[0,0]],[[3024,3152,0,8,8,0,0,1,0,0,0,0,[]],56,4242,[],[[1],[0]],[0,0]],[[3800,1440,0,8,8,0,0,1,0,0,0,0,[]],56,4244,[],[[1],[0]],[0,0]],[[3952,2552,0,8,8,0,0,1,0,0,0,0,[]],56,4256,[],[[1],[0]],[0,0]],[[3768,976,0,8,8,0,0,1,0,0,0,0,[]],56,4265,[],[[1],[0]],[0,0]],[[2368,936,0,8,8,0,0,1,0,0,0,0,[]],56,4144,[],[[1],[0]],[0,0]],[[1816,1472,0,8,8,0,0,1,0,0,0,0,[]],56,4145,[],[[1],[0]],[0,0]],[[2288,1968,0,8,8,0,0,1,0,0,0,0,[]],56,4146,[],[[1],[0]],[0,0]],[[2832,1336,0,8,8,0,0,1,0,0,0,0,[]],56,4147,[],[[1],[0]],[0,0]],[[2976,1992,0,8,8,0,0,1,0,0,0,0,[]],56,4148,[],[[1],[0]],[0,0]],[[2432,2272,0,8,8,0,0,1,0,0,0,0,[]],56,4149,[],[[1],[0]],[0,0]],[[2872,1608,0,8,8,0,0,1,0,0,0,0,[]],56,4158,[],[[1],[0]],[0,0]],[[2640,1456,0,8,8,0,0,1,0,0,0,0,[]],56,4159,[],[[1],[0]],[0,0]],[[2984,2424,0,8,8,0,0,1,0,0,0,0,[]],56,4160,[],[[1],[0]],[0,0]],[[3456,1720,0,8,8,0,0,1,0,0,0,0,[]],56,4161,[],[[1],[0]],[0,0]],[[3352,2584,0,8,8,0,0,1,0,0,0,0,[]],56,4162,[],[[1],[0]],[0,0]],[[2568,2328,0,8,8,0,0,1,0,0,0,0,[]],56,4163,[],[[1],[0]],[0,0]],[[2280,2024,0,8,8,0,0,1,0,0,0,0,[]],56,4164,[],[[1],[0]],[0,0]],[[1968,2584,0,8,8,0,0,1,0,0,0,0,[]],56,4165,[],[[1],[0]],[0,0]],[[2952,3080,0,8,8,0,0,1,0,0,0,0,[]],56,4166,[],[[1],[0]],[0,0]],[[3800,2616,0,8,8,0,0,1,0,0,0,0,[]],56,4167,[],[[1],[0]],[0,0]],[[3872,1904,0,8,8,0,0,1,0,0,0,0,[]],56,4168,[],[[1],[0]],[0,0]],[[3464,1832,0,8,8,0,0,1,0,0,0,0,[]],56,4169,[],[[1],[0]],[0,0]],[[3520,2680,0,8,8,0,0,1,0,0,0,0,[]],56,4170,[],[[1],[0]],[0,0]],[[4032,3040,0,8,8,0,0,1,0,0,0,0,[]],56,4171,[],[[1],[0]],[0,0]],[[3808,3248,0,8,8,0,0,1,0,0,0,0,[]],56,4172,[],[[1],[0]],[0,0]],[[3416,3504,0,8,8,0,0,1,0,0,0,0,[]],56,4173,[],[[1],[0]],[0,0]],[[1784,1008,0,8,8,0,0,1,0,0,0,0,[]],56,4143,[],[[1],[0]],[0,0]],[[2165.62841796875,3166.120361328125,0,8,8,0,0,1,0,0,0,0,[]],56,10760,[],[[1],[0]],[0,0]],[[2061.62841796875,4030.120361328125,0,8,8,0,0,1,0,0,0,0,[]],56,10762,[],[[1],[0]],[0,0]],[[2509.62841796875,4062.120361328125,0,8,8,0,0,1,0,0,0,0,[]],56,10768,[],[[1],[0]],[0,0]],[[2581.62841796875,3350.120361328125,0,8,8,0,0,1,0,0,0,0,[]],56,10769,[],[[1],[0]],[0,0]],[[2173.62841796875,3278.120361328125,0,8,8,0,0,1,0,0,0,0,[]],56,10770,[],[[1],[0]],[0,0]],[[2229.62841796875,4126.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10771,[],[[1],[0]],[0,0]],[[2741.62841796875,4486.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10772,[],[[1],[0]],[0,0]],[[2517.62841796875,4694.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10773,[],[[1],[0]],[0,0]],[[2125.62841796875,4950.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10774,[],[[1],[0]],[0,0]],[[2285.62841796875,4686.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10779,[],[[1],[0]],[0,0]],[[1733.62841796875,5222.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10780,[],[[1],[0]],[0,0]],[[2205.62841796875,5718.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10783,[],[[1],[0]],[0,0]],[[2749.62841796875,5086.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10787,[],[[1],[0]],[0,0]],[[2893.62841796875,5742.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10790,[],[[1],[0]],[0,0]],[[2349.62841796875,6022.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10796,[],[[1],[0]],[0,0]],[[2789.62841796875,5358.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10797,[],[[1],[0]],[0,0]],[[2557.62841796875,5206.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10798,[],[[1],[0]],[0,0]],[[2901.62841796875,6174.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10804,[],[[1],[0]],[0,0]],[[3373.62841796875,5470.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10805,[],[[1],[0]],[0,0]],[[3269.62841796875,6334.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10806,[],[[1],[0]],[0,0]],[[2485.62841796875,6078.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10808,[],[[1],[0]],[0,0]],[[2197.62841796875,5774.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10811,[],[[1],[0]],[0,0]],[[1885.62841796875,6334.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10812,[],[[1],[0]],[0,0]],[[2869.62841796875,6830.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10813,[],[[1],[0]],[0,0]],[[3717.62841796875,6366.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10814,[],[[1],[0]],[0,0]],[[3789.62841796875,5654.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10815,[],[[1],[0]],[0,0]],[[3381.62841796875,5582.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10817,[],[[1],[0]],[0,0]],[[3437.62841796875,6430.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10818,[],[[1],[0]],[0,0]],[[3949.62841796875,6790.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10819,[],[[1],[0]],[0,0]],[[3725.62841796875,6998.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10820,[],[[1],[0]],[0,0]],[[4165.62841796875,5246.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10822,[],[[1],[0]],[0,0]],[[3613.62841796875,5782.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10823,[],[[1],[0]],[0,0]],[[4085.62841796875,6278.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10824,[],[[1],[0]],[0,0]],[[4629.62841796875,5646.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10825,[],[[1],[0]],[0,0]],[[4229.62841796875,6582.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10826,[],[[1],[0]],[0,0]],[[4669.62841796875,5918.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10828,[],[[1],[0]],[0,0]],[[4437.62841796875,5766.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10829,[],[[1],[0]],[0,0]],[[4365.62841796875,6638.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10831,[],[[1],[0]],[0,0]],[[4077.62841796875,6334.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10832,[],[[1],[0]],[0,0]],[[3765.62841796875,6894.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10833,[],[[1],[0]],[0,0]],[[3581.62841796875,5318.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10834,[],[[1],[0]],[0,0]],[[4509.62841796875,4718.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10836,[],[[1],[0]],[0,0]],[[2925.62841796875,3102.120361328125,0,8,8,0,0,1,0,0,0,0,[]],56,10838,[],[[1],[0]],[0,0]],[[2373.62841796875,3638.120361328125,0,8,8,0,0,1,0,0,0,0,[]],56,10839,[],[[1],[0]],[0,0]],[[2845.62841796875,4134.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10842,[],[[1],[0]],[0,0]],[[3389.62841796875,3502.120361328125,0,8,8,0,0,1,0,0,0,0,[]],56,10843,[],[[1],[0]],[0,0]],[[3533.62841796875,4158.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10844,[],[[1],[0]],[0,0]],[[2989.62841796875,4438.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10845,[],[[1],[0]],[0,0]],[[2349.62841796875,6518.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10856,[],[[1],[0]],[0,0]],[[1797.62841796875,7054.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10857,[],[[1],[0]],[0,0]],[[2813.62841796875,6918.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10858,[],[[1],[0]],[0,0]],[[2621.62841796875,7038.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10859,[],[[1],[0]],[0,0]],[[1765.62841796875,6590.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10860,[],[[1],[0]],[0,0]],[[3901.62841796875,7094.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10867,[],[[1],[0]],[0,0]],[[3797.62841796875,6710.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10868,[],[[1],[0]],[0,0]],[[3565.62841796875,6558.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10869,[],[[1],[0]],[0,0]],[[4381.62841796875,6822.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10870,[],[[1],[0]],[0,0]],[[3205.62841796875,7126.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10871,[],[[1],[0]],[0,0]],[[4389.62841796875,6934.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10872,[],[[1],[0]],[0,0]],[[2709.62841796875,6110.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,10873,[],[[1],[0]],[0,0]],[[1749.62841796875,4062.120361328125,0,8,8,0,0,1,0,0,0,0,[]],56,10962,[],[[1],[0]],[0,0]],[[2185.62841796875,6731.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11017,[],[[1],[0]],[0,0]],[[2081.62841796875,7595.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11018,[],[[1],[0]],[0,0]],[[2529.62841796875,7627.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11023,[],[[1],[0]],[0,0]],[[2601.62841796875,6915.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11024,[],[[1],[0]],[0,0]],[[2193.62841796875,6843.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11025,[],[[1],[0]],[0,0]],[[2249.62841796875,7691.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11026,[],[[1],[0]],[0,0]],[[2761.62841796875,8051.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11027,[],[[1],[0]],[0,0]],[[2537.62841796875,8259.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11028,[],[[1],[0]],[0,0]],[[2145.62841796875,8515.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11029,[],[[1],[0]],[0,0]],[[2305.62841796875,8251.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11031,[],[[1],[0]],[0,0]],[[1753.62841796875,8787.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11032,[],[[1],[0]],[0,0]],[[2225.62841796875,9283.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11033,[],[[1],[0]],[0,0]],[[2769.62841796875,8651.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11034,[],[[1],[0]],[0,0]],[[2913.62841796875,9307.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11035,[],[[1],[0]],[0,0]],[[2369.62841796875,9587.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11036,[],[[1],[0]],[0,0]],[[2809.62841796875,8923.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11037,[],[[1],[0]],[0,0]],[[2577.62841796875,8771.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11038,[],[[1],[0]],[0,0]],[[2921.62841796875,9739.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11039,[],[[1],[0]],[0,0]],[[3393.62841796875,9035.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11040,[],[[1],[0]],[0,0]],[[3289.62841796875,9899.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11041,[],[[1],[0]],[0,0]],[[2505.62841796875,9643.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11042,[],[[1],[0]],[0,0]],[[2217.62841796875,9339.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11043,[],[[1],[0]],[0,0]],[[1905.62841796875,9899.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11044,[],[[1],[0]],[0,0]],[[2889.62841796875,10395.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11045,[],[[1],[0]],[0,0]],[[3737.62841796875,9931.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11046,[],[[1],[0]],[0,0]],[[3809.62841796875,9219.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11047,[],[[1],[0]],[0,0]],[[3401.62841796875,9147.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11048,[],[[1],[0]],[0,0]],[[3457.62841796875,9995.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11049,[],[[1],[0]],[0,0]],[[3969.62841796875,10355.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11050,[],[[1],[0]],[0,0]],[[3745.62841796875,10563.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11051,[],[[1],[0]],[0,0]],[[4185.62841796875,8811.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11053,[],[[1],[0]],[0,0]],[[3633.62841796875,9347.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11054,[],[[1],[0]],[0,0]],[[4105.62841796875,9843.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11055,[],[[1],[0]],[0,0]],[[4649.62841796875,9211.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11056,[],[[1],[0]],[0,0]],[[4249.62841796875,10147.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11057,[],[[1],[0]],[0,0]],[[4689.62841796875,9483.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11058,[],[[1],[0]],[0,0]],[[4457.62841796875,9331.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11059,[],[[1],[0]],[0,0]],[[4385.62841796875,10203.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11060,[],[[1],[0]],[0,0]],[[4097.62841796875,9899.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11061,[],[[1],[0]],[0,0]],[[3785.62841796875,10459.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11062,[],[[1],[0]],[0,0]],[[3601.62841796875,8883.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11063,[],[[1],[0]],[0,0]],[[4377.62841796875,7171.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11064,[],[[1],[0]],[0,0]],[[4529.62841796875,8283.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11065,[],[[1],[0]],[0,0]],[[4345.62841796875,6707.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11066,[],[[1],[0]],[0,0]],[[2945.62841796875,6667.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11067,[],[[1],[0]],[0,0]],[[2393.62841796875,7203.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11068,[],[[1],[0]],[0,0]],[[2865.62841796875,7699.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11069,[],[[1],[0]],[0,0]],[[3409.62841796875,7067.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11070,[],[[1],[0]],[0,0]],[[3553.62841796875,7723.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11071,[],[[1],[0]],[0,0]],[[3009.62841796875,8003.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11072,[],[[1],[0]],[0,0]],[[2369.62841796875,10083.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11081,[],[[1],[0]],[0,0]],[[1817.62841796875,10619.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11082,[],[[1],[0]],[0,0]],[[2833.62841796875,10483.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11083,[],[[1],[0]],[0,0]],[[2641.62841796875,10603.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11084,[],[[1],[0]],[0,0]],[[1785.62841796875,10155.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11085,[],[[1],[0]],[0,0]],[[3921.62841796875,10659.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11089,[],[[1],[0]],[0,0]],[[3817.62841796875,10275.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11090,[],[[1],[0]],[0,0]],[[3585.62841796875,10123.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11091,[],[[1],[0]],[0,0]],[[4401.62841796875,10387.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11092,[],[[1],[0]],[0,0]],[[3225.62841796875,10691.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11093,[],[[1],[0]],[0,0]],[[4409.62841796875,10499.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11094,[],[[1],[0]],[0,0]],[[2729.62841796875,9675.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11095,[],[[1],[0]],[0,0]],[[1769.62841796875,7627.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11153,[],[[1],[0]],[0,0]],[[507.62841796875,15688.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11177,[],[[1],[0]],[0,0]],[[515.62841796875,16288.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11178,[],[[1],[0]],[0,0]],[[2123.62841796875,14808.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11180,[],[[1],[0]],[0,0]],[[2275.62841796875,15920.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11192,[],[[1],[0]],[0,0]],[[2091.62841796875,14344.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11197,[],[[1],[0]],[0,0]],[[691.62841796875,14304.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11198,[],[[1],[0]],[0,0]],[[611.62841796875,15336.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11199,[],[[1],[0]],[0,0]],[[1155.62841796875,14704.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11200,[],[[1],[0]],[0,0]],[[1299.62841796875,15360.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11201,[],[[1],[0]],[0,0]],[[755.62841796875,15640.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11202,[],[[1],[0]],[0,0]],[[1925.62841796875,12634.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11208,[],[[1],[0]],[0,0]],[[1821.62841796875,13498.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11209,[],[[1],[0]],[0,0]],[[2269.62841796875,13530.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11214,[],[[1],[0]],[0,0]],[[2341.62841796875,12818.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11215,[],[[1],[0]],[0,0]],[[1933.62841796875,12746.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11216,[],[[1],[0]],[0,0]],[[1989.62841796875,13594.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11217,[],[[1],[0]],[0,0]],[[2501.62841796875,13954.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11218,[],[[1],[0]],[0,0]],[[2277.62841796875,14162.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11219,[],[[1],[0]],[0,0]],[[1885.62841796875,14418.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11220,[],[[1],[0]],[0,0]],[[2045.62841796875,14154.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11222,[],[[1],[0]],[0,0]],[[1965.62841796875,15186.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11224,[],[[1],[0]],[0,0]],[[2509.62841796875,14554.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11225,[],[[1],[0]],[0,0]],[[2653.62841796875,15210.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11226,[],[[1],[0]],[0,0]],[[2109.62841796875,15490.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11227,[],[[1],[0]],[0,0]],[[2549.62841796875,14826.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11228,[],[[1],[0]],[0,0]],[[2317.62841796875,14674.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11229,[],[[1],[0]],[0,0]],[[2661.62841796875,15642.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11230,[],[[1],[0]],[0,0]],[[3133.62841796875,14938.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11231,[],[[1],[0]],[0,0]],[[3029.62841796875,15802.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11232,[],[[1],[0]],[0,0]],[[2245.62841796875,15546.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11233,[],[[1],[0]],[0,0]],[[1957.62841796875,15242.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11234,[],[[1],[0]],[0,0]],[[2629.62841796875,16298.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11236,[],[[1],[0]],[0,0]],[[3477.62841796875,15834.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11237,[],[[1],[0]],[0,0]],[[3549.62841796875,15122.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11238,[],[[1],[0]],[0,0]],[[3141.62841796875,15050.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11239,[],[[1],[0]],[0,0]],[[3197.62841796875,15898.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11240,[],[[1],[0]],[0,0]],[[3709.62841796875,16258.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11241,[],[[1],[0]],[0,0]],[[3485.62841796875,16466.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11242,[],[[1],[0]],[0,0]],[[3925.62841796875,14714.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11244,[],[[1],[0]],[0,0]],[[3373.62841796875,15250.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11245,[],[[1],[0]],[0,0]],[[3845.62841796875,15746.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11246,[],[[1],[0]],[0,0]],[[4389.62841796875,15114.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11247,[],[[1],[0]],[0,0]],[[3989.62841796875,16050.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11248,[],[[1],[0]],[0,0]],[[4429.62841796875,15386.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11249,[],[[1],[0]],[0,0]],[[4197.62841796875,15234.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11250,[],[[1],[0]],[0,0]],[[4125.62841796875,16106.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11251,[],[[1],[0]],[0,0]],[[3837.62841796875,15802.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11252,[],[[1],[0]],[0,0]],[[3525.62841796875,16362.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11253,[],[[1],[0]],[0,0]],[[3341.62841796875,14786.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11254,[],[[1],[0]],[0,0]],[[4117.62841796875,13074.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11255,[],[[1],[0]],[0,0]],[[4269.62841796875,14186.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11256,[],[[1],[0]],[0,0]],[[4085.62841796875,12610.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11257,[],[[1],[0]],[0,0]],[[2685.62841796875,12570.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11258,[],[[1],[0]],[0,0]],[[2133.62841796875,13106.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11259,[],[[1],[0]],[0,0]],[[2605.62841796875,13602.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11260,[],[[1],[0]],[0,0]],[[3149.62841796875,12970.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11261,[],[[1],[0]],[0,0]],[[3293.62841796875,13626.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11262,[],[[1],[0]],[0,0]],[[2749.62841796875,13906.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11263,[],[[1],[0]],[0,0]],[[1635.62841796875,16064.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11264,[],[[1],[0]],[0,0]],[[1531.62841796875,15680.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11265,[],[[1],[0]],[0,0]],[[1299.62841796875,15528.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11266,[],[[1],[0]],[0,0]],[[2115.62841796875,15792.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11267,[],[[1],[0]],[0,0]],[[939.62841796875,16096.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11268,[],[[1],[0]],[0,0]],[[2123.62841796875,15904.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11270,[],[[1],[0]],[0,0]],[[443.62841796875,15080.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11271,[],[[1],[0]],[0,0]],[[2109.62841796875,15986.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11272,[],[[1],[0]],[0,0]],[[2573.62841796875,16386.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11274,[],[[1],[0]],[0,0]],[[2381.62841796875,16506.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11275,[],[[1],[0]],[0,0]],[[2323.62841796875,16264.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11278,[],[[1],[0]],[0,0]],[[3661.62841796875,16562.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11280,[],[[1],[0]],[0,0]],[[3557.62841796875,16178.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11281,[],[[1],[0]],[0,0]],[[3325.62841796875,16026.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11282,[],[[1],[0]],[0,0]],[[4141.62841796875,16290.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11283,[],[[1],[0]],[0,0]],[[2965.62841796875,16594.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11284,[],[[1],[0]],[0,0]],[[4149.62841796875,16402.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11285,[],[[1],[0]],[0,0]],[[2469.62841796875,15578.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11286,[],[[1],[0]],[0,0]],[[435.62841796875,13152.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11288,[],[[1],[0]],[0,0]],[[579.62841796875,13808.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11289,[],[[1],[0]],[0,0]],[[475.62841796875,13424.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11290,[],[[1],[0]],[0,0]],[[587.62841796875,14240.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11291,[],[[1],[0]],[0,0]],[[1059.62841796875,13536.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11292,[],[[1],[0]],[0,0]],[[955.62841796875,14400.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11293,[],[[1],[0]],[0,0]],[[555.62841796875,14896.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11294,[],[[1],[0]],[0,0]],[[1403.62841796875,14432.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11295,[],[[1],[0]],[0,0]],[[1475.62841796875,13720.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11296,[],[[1],[0]],[0,0]],[[1067.62841796875,13648.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11297,[],[[1],[0]],[0,0]],[[1123.62841796875,14496.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11298,[],[[1],[0]],[0,0]],[[1635.62841796875,14856.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11299,[],[[1],[0]],[0,0]],[[1411.62841796875,15064.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11300,[],[[1],[0]],[0,0]],[[1019.62841796875,15320.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11301,[],[[1],[0]],[0,0]],[[1851.62841796875,13312.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11302,[],[[1],[0]],[0,0]],[[1299.62841796875,13848.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11303,[],[[1],[0]],[0,0]],[[1771.62841796875,14344.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11304,[],[[1],[0]],[0,0]],[[2315.62841796875,13712.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11305,[],[[1],[0]],[0,0]],[[1915.62841796875,14648.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11307,[],[[1],[0]],[0,0]],[[2355.62841796875,13984.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11308,[],[[1],[0]],[0,0]],[[2123.62841796875,13832.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11309,[],[[1],[0]],[0,0]],[[2051.62841796875,14704.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11313,[],[[1],[0]],[0,0]],[[1763.62841796875,14400.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11314,[],[[1],[0]],[0,0]],[[1451.62841796875,14960.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11315,[],[[1],[0]],[0,0]],[[1267.62841796875,13384.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11324,[],[[1],[0]],[0,0]],[[2195.62841796875,12784.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11338,[],[[1],[0]],[0,0]],[[1227.62841796875,12656.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11355,[],[[1],[0]],[0,0]],[[1595.62841796875,12816.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11357,[],[[1],[0]],[0,0]],[[1195.62841796875,13312.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11360,[],[[1],[0]],[0,0]],[[2043.62841796875,12848.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11361,[],[[1],[0]],[0,0]],[[1763.62841796875,12912.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11364,[],[[1],[0]],[0,0]],[[2275.62841796875,13272.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11365,[],[[1],[0]],[0,0]],[[2051.62841796875,13480.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11366,[],[[1],[0]],[0,0]],[[1659.62841796875,13736.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11367,[],[[1],[0]],[0,0]],[[967.62841796875,19965.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11368,[],[[1],[0]],[0,0]],[[1817.62841796875,20519.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11384,[],[[1],[0]],[0,0]],[[1889.62841796875,19807.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11385,[],[[1],[0]],[0,0]],[[1151.62841796875,18581.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11389,[],[[1],[0]],[0,0]],[[1071.62841796875,19613.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11390,[],[[1],[0]],[0,0]],[[1615.62841796875,18981.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11391,[],[[1],[0]],[0,0]],[[1759.62841796875,19637.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11392,[],[[1],[0]],[0,0]],[[1215.62841796875,19917.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11393,[],[[1],[0]],[0,0]],[[1905.62841796875,17183.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11394,[],[[1],[0]],[0,0]],[[1801.62841796875,16799.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11396,[],[[1],[0]],[0,0]],[[1913.62841796875,17615.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11398,[],[[1],[0]],[0,0]],[[2385.62841796875,16911.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11399,[],[[1],[0]],[0,0]],[[2281.62841796875,17775.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11400,[],[[1],[0]],[0,0]],[[1881.62841796875,18271.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11404,[],[[1],[0]],[0,0]],[[2729.62841796875,17807.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11405,[],[[1],[0]],[0,0]],[[2801.62841796875,17095.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11406,[],[[1],[0]],[0,0]],[[2393.62841796875,17023.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11407,[],[[1],[0]],[0,0]],[[2449.62841796875,17871.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11408,[],[[1],[0]],[0,0]],[[2961.62841796875,18231.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11409,[],[[1],[0]],[0,0]],[[2737.62841796875,18439.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11410,[],[[1],[0]],[0,0]],[[2345.62841796875,18695.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11411,[],[[1],[0]],[0,0]],[[2505.62841796875,18431.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11413,[],[[1],[0]],[0,0]],[[1953.62841796875,18967.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11414,[],[[1],[0]],[0,0]],[[2425.62841796875,19463.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11415,[],[[1],[0]],[0,0]],[[2969.62841796875,18831.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11416,[],[[1],[0]],[0,0]],[[3113.62841796875,19487.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11417,[],[[1],[0]],[0,0]],[[2569.62841796875,19767.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11418,[],[[1],[0]],[0,0]],[[3009.62841796875,19103.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11419,[],[[1],[0]],[0,0]],[[2777.62841796875,18951.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11420,[],[[1],[0]],[0,0]],[[3121.62841796875,19919.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11421,[],[[1],[0]],[0,0]],[[3593.62841796875,19215.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11422,[],[[1],[0]],[0,0]],[[3489.62841796875,20079.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11423,[],[[1],[0]],[0,0]],[[2705.62841796875,19823.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11424,[],[[1],[0]],[0,0]],[[2417.62841796875,19519.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11425,[],[[1],[0]],[0,0]],[[2105.62841796875,20079.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11426,[],[[1],[0]],[0,0]],[[3089.62841796875,20575.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11427,[],[[1],[0]],[0,0]],[[3937.62841796875,20111.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11428,[],[[1],[0]],[0,0]],[[4009.62841796875,19399.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11429,[],[[1],[0]],[0,0]],[[3601.62841796875,19327.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11430,[],[[1],[0]],[0,0]],[[3657.62841796875,20175.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11431,[],[[1],[0]],[0,0]],[[4169.62841796875,20535.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11432,[],[[1],[0]],[0,0]],[[3945.62841796875,20743.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11433,[],[[1],[0]],[0,0]],[[1921.62841796875,18503.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11434,[],[[1],[0]],[0,0]],[[4385.62841796875,18991.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11435,[],[[1],[0]],[0,0]],[[3833.62841796875,19527.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11436,[],[[1],[0]],[0,0]],[[4305.62841796875,20023.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11437,[],[[1],[0]],[0,0]],[[4849.62841796875,19391.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11438,[],[[1],[0]],[0,0]],[[4449.62841796875,20327.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11439,[],[[1],[0]],[0,0]],[[4889.62841796875,19663.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11440,[],[[1],[0]],[0,0]],[[4657.62841796875,19511.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11441,[],[[1],[0]],[0,0]],[[4585.62841796875,20383.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11442,[],[[1],[0]],[0,0]],[[4297.62841796875,20079.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11443,[],[[1],[0]],[0,0]],[[3985.62841796875,20639.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11444,[],[[1],[0]],[0,0]],[[3801.62841796875,19063.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11445,[],[[1],[0]],[0,0]],[[4577.62841796875,17351.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11446,[],[[1],[0]],[0,0]],[[4729.62841796875,18463.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11447,[],[[1],[0]],[0,0]],[[4545.62841796875,16887.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11448,[],[[1],[0]],[0,0]],[[3145.62841796875,16847.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11449,[],[[1],[0]],[0,0]],[[2593.62841796875,17383.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11450,[],[[1],[0]],[0,0]],[[3065.62841796875,17879.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11451,[],[[1],[0]],[0,0]],[[3609.62841796875,17247.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11452,[],[[1],[0]],[0,0]],[[3753.62841796875,17903.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11453,[],[[1],[0]],[0,0]],[[3209.62841796875,18183.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11454,[],[[1],[0]],[0,0]],[[2095.62841796875,20341.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11455,[],[[1],[0]],[0,0]],[[1991.62841796875,19957.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11456,[],[[1],[0]],[0,0]],[[1759.62841796875,19805.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11457,[],[[1],[0]],[0,0]],[[903.62841796875,19357.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11462,[],[[1],[0]],[0,0]],[[2569.62841796875,20263.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11463,[],[[1],[0]],[0,0]],[[2017.62841796875,20799.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11464,[],[[1],[0]],[0,0]],[[3033.62841796875,20663.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11465,[],[[1],[0]],[0,0]],[[2841.62841796875,20783.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11466,[],[[1],[0]],[0,0]],[[1985.62841796875,20335.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11467,[],[[1],[0]],[0,0]],[[4121.62841796875,20839.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11471,[],[[1],[0]],[0,0]],[[4017.62841796875,20455.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11472,[],[[1],[0]],[0,0]],[[3785.62841796875,20303.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11473,[],[[1],[0]],[0,0]],[[4601.62841796875,20567.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11474,[],[[1],[0]],[0,0]],[[3425.62841796875,20871.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11475,[],[[1],[0]],[0,0]],[[4609.62841796875,20679.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11476,[],[[1],[0]],[0,0]],[[2929.62841796875,19855.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11477,[],[[1],[0]],[0,0]],[[887.62841796875,16829.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11478,[],[[1],[0]],[0,0]],[[895.62841796875,17429.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11479,[],[[1],[0]],[0,0]],[[1039.62841796875,18085.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11480,[],[[1],[0]],[0,0]],[[935.62841796875,17701.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11481,[],[[1],[0]],[0,0]],[[1047.62841796875,18517.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11482,[],[[1],[0]],[0,0]],[[1519.62841796875,17813.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11483,[],[[1],[0]],[0,0]],[[1415.62841796875,18677.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11484,[],[[1],[0]],[0,0]],[[1015.62841796875,19173.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11485,[],[[1],[0]],[0,0]],[[1863.62841796875,18709.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11486,[],[[1],[0]],[0,0]],[[1935.62841796875,17997.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11487,[],[[1],[0]],[0,0]],[[1527.62841796875,17925.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11488,[],[[1],[0]],[0,0]],[[1583.62841796875,18773.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11489,[],[[1],[0]],[0,0]],[[2095.62841796875,19133.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11490,[],[[1],[0]],[0,0]],[[1871.62841796875,19341.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11491,[],[[1],[0]],[0,0]],[[1479.62841796875,19597.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11492,[],[[1],[0]],[0,0]],[[2311.62841796875,17589.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11493,[],[[1],[0]],[0,0]],[[1759.62841796875,18125.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11494,[],[[1],[0]],[0,0]],[[2231.62841796875,18621.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11495,[],[[1],[0]],[0,0]],[[2375.62841796875,18925.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11498,[],[[1],[0]],[0,0]],[[2223.62841796875,18677.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11505,[],[[1],[0]],[0,0]],[[1911.62841796875,19237.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11506,[],[[1],[0]],[0,0]],[[1727.62841796875,17661.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11515,[],[[1],[0]],[0,0]],[[1737.62841796875,17383.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11531,[],[[1],[0]],[0,0]],[[1809.62841796875,16671.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11532,[],[[1],[0]],[0,0]],[[1969.62841796875,17807.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11535,[],[[1],[0]],[0,0]],[[1745.62841796875,18015.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11536,[],[[1],[0]],[0,0]],[[1071.62841796875,15445.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11539,[],[[1],[0]],[0,0]],[[991.62841796875,16477.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11540,[],[[1],[0]],[0,0]],[[1535.62841796875,15845.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11541,[],[[1],[0]],[0,0]],[[1679.62841796875,16501.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11542,[],[[1],[0]],[0,0]],[[1135.62841796875,16781.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11543,[],[[1],[0]],[0,0]],[[1575.62841796875,16117.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11544,[],[[1],[0]],[0,0]],[[1343.62841796875,15965.1201171875,0,8,8,0,0,1,0,0,0,0,[]],56,11545,[],[[1],[0]],[0,0]],[[1687.62841796875,16933.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11546,[],[[1],[0]],[0,0]],[[2159.62841796875,16229.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11547,[],[[1],[0]],[0,0]],[[2055.62841796875,17093.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11548,[],[[1],[0]],[0,0]],[[1271.62841796875,16837.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11549,[],[[1],[0]],[0,0]],[[983.62841796875,16533.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11550,[],[[1],[0]],[0,0]],[[1655.62841796875,17589.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11551,[],[[1],[0]],[0,0]],[[2167.62841796875,16341.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11554,[],[[1],[0]],[0,0]],[[2223.62841796875,17189.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11555,[],[[1],[0]],[0,0]],[[2119.62841796875,18013.12109375,0,8,8,0,0,1,0,0,0,0,[]],56,11558,[],[[1],[0]],[0,0]],[[1462.955932617188,584.392578125,0,8,8,0,0,1,0,0,0,0,[]],56,4176,[],[[1],[0]],[0,0]],[[918.9559326171875,864.392578125,0,8,8,0,0,1,0,0,0,0,[]],56,4178,[],[[1],[0]],[0,0]],[[1358.955932617188,200.392578125,0,8,8,0,0,1,0,0,0,0,[]],56,4179,[],[[1],[0]],[0,0]],[[1126.955932617188,48.392578125,0,8,8,0,0,1,0,0,0,0,[]],56,4180,[],[[1],[0]],[0,0]],[[1470.955932617188,1016.392578125,0,8,8,0,0,1,0,0,0,0,[]],56,4182,[],[[1],[0]],[0,0]],[[1838.955932617188,1176.392578125,0,8,8,0,0,1,0,0,0,0,[]],56,4183,[],[[1],[0]],[0,0]],[[1054.955932617188,920.392578125,0,8,8,0,0,1,0,0,0,0,[]],56,4184,[],[[1],[0]],[0,0]],[[766.9559326171875,616.392578125,0,8,8,0,0,1,0,0,0,0,[]],56,4185,[],[[1],[0]],[0,0]],[[1438.955932617188,1672.392578125,0,8,8,0,0,1,0,0,0,0,[]],56,4186,[],[[1],[0]],[0,0]],[[1902.955932617188,2096.392578125,0,8,8,0,0,1,0,0,0,0,[]],56,4187,[],[[1],[0]],[0,0]],[[1510.955932617188,2368.392578125,0,8,8,0,0,1,0,0,0,0,[]],56,4188,[],[[1],[0]],[0,0]],[[1478.955932617188,1904.392578125,0,8,8,0,0,1,0,0,0,0,[]],56,4191,[],[[1],[0]],[0,0]],[[1074.584350585938,3008.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4192,[],[[1],[0]],[0,0]],[[1042.584350585938,2544.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4195,[],[[1],[0]],[0,0]],[[-357.4156494140625,2504.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4196,[],[[1],[0]],[0,0]],[[106.5843505859375,2904.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4198,[],[[1],[0]],[0,0]],[[876.5843505859375,834.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4199,[],[[1],[0]],[0,0]],[[772.5843505859375,1698.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4209,[],[[1],[0]],[0,0]],[[1220.584350585938,1730.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4210,[],[[1],[0]],[0,0]],[[1292.584350585938,1018.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4219,[],[[1],[0]],[0,0]],[[884.5843505859375,946.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4243,[],[[1],[0]],[0,0]],[[940.5843505859375,1794.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4245,[],[[1],[0]],[0,0]],[[1452.584350585938,2154.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4246,[],[[1],[0]],[0,0]],[[1228.584350585938,2362.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4247,[],[[1],[0]],[0,0]],[[836.5843505859375,2618.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4248,[],[[1],[0]],[0,0]],[[996.5843505859375,2354.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4249,[],[[1],[0]],[0,0]],[[1460.584350585938,2754.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4250,[],[[1],[0]],[0,0]],[[1268.584350585938,2874.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4251,[],[[1],[0]],[0,0]],[[1636.584350585938,770.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4252,[],[[1],[0]],[0,0]],[[1084.584350585938,1306.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4253,[],[[1],[0]],[0,0]],[[1556.584350585938,1802.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4254,[],[[1],[0]],[0,0]],[[1700.584350585938,2106.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4255,[],[[1],[0]],[0,0]],[[-613.4156494140625,1352.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4257,[],[[1],[0]],[0,0]],[[-469.4156494140625,2008.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4258,[],[[1],[0]],[0,0]],[[-573.4156494140625,1624.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4259,[],[[1],[0]],[0,0]],[[-461.4156494140625,2440.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4260,[],[[1],[0]],[0,0]],[[10.5843505859375,1736.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4261,[],[[1],[0]],[0,0]],[[-93.4156494140625,2600.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4262,[],[[1],[0]],[0,0]],[[354.5843505859375,2632.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4263,[],[[1],[0]],[0,0]],[[426.5843505859375,1920.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4264,[],[[1],[0]],[0,0]],[[18.5843505859375,1848.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4266,[],[[1],[0]],[0,0]],[[74.5843505859375,2696.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4267,[],[[1],[0]],[0,0]],[[802.5843505859375,1512.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4268,[],[[1],[0]],[0,0]],[[250.5843505859375,2048.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4269,[],[[1],[0]],[0,0]],[[722.5843505859375,2544.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4270,[],[[1],[0]],[0,0]],[[1266.584350585938,1912.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4271,[],[[1],[0]],[0,0]],[[866.5843505859375,2848.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4272,[],[[1],[0]],[0,0]],[[1306.584350585938,2184.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4273,[],[[1],[0]],[0,0]],[[1074.584350585938,2032.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4274,[],[[1],[0]],[0,0]],[[1002.584350585938,2904.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4275,[],[[1],[0]],[0,0]],[[714.5843505859375,2600.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4276,[],[[1],[0]],[0,0]],[[218.5843505859375,1584.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4279,[],[[1],[0]],[0,0]],[[1146.584350585938,984.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4283,[],[[1],[0]],[0,0]],[[178.5843505859375,856.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4284,[],[[1],[0]],[0,0]],[[546.5843505859375,1016.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4286,[],[[1],[0]],[0,0]],[[146.5843505859375,1512.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4297,[],[[1],[0]],[0,0]],[[994.5843505859375,1048.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4298,[],[[1],[0]],[0,0]],[[714.5843505859375,1112.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4307,[],[[1],[0]],[0,0]],[[1226.584350585938,1472.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4340,[],[[1],[0]],[0,0]],[[1002.584350585938,1680.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4346,[],[[1],[0]],[0,0]],[[610.5843505859375,1936.5126953125,0,8,8,0,0,1,0,0,0,0,[]],56,4347,[],[[1],[0]],[0,0]]],[]],["UI",2,662623308620703,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,555676701074594,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,296016019842802,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,590594429809237,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,462297624762342,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,885512291174976,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["Layer 1",8,717655156270531,true,[255,255,255],true,1,1,1,false,false,1,0,0,[],[]]],[],[]],["Level 40",5000,10000,true,"Levels",586520026367591,[["Background",0,623014778492219,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[-120,4936,0,100,100,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,2221,[[-1],[0],[0],[0],[0],[10],[1]],[[0],[1,0,1,1,"F 5000",100000,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]]],[]],["Layer 0",1,510263117017948,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[2504,1512,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,2571,[],[[0]],[0,"coin",0,1]],[[2456,1488,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,10384,[[11],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[-23272,10576,0,9096,9576,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,2162,[],[[0]],[0,"Default",0,1]],[[-26045,8705,0,9960,7064,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,3842,[],[[0]],[0,"Default",0,1]],[[3096,984,0,32,32,0,-0.567607045173645,1,0.5,0.5,0,0,[]],43,4138,[[1],[0]],[[0]],[0,"Default",0,1]],[[2224,376,0,792,9,0,0,1,0,0,0,0,[]],51,3205,[],[[0],[1],[1,100,""]],[0,0]],[[4263,1024,0,32,8,0,1.570796370506287,1,0,0,0,0,[]],56,3906,[],[[1],[1]],[0,0]],[[1262,1246,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1020,[["Final Exam"],[""],[0]],[],[1,"Default",0,1]],[[3168,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,3792,[[1],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1899,1569,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,3793,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[0,"Default",0,1]],[[1384,1608,0,664,9,0,0,1,0,0,0,0,[]],51,3794,[],[[0],[1],[1,100,""]],[0,0]],[[1389,1400,0,659,9,0,0,1,0,0,0,0,[]],51,3795,[],[[0],[1],[1,100,""]],[0,0]],[[56,1512,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,3799,[],[[0]],[0,"Default",0,1]],[[619,943,0,16,8,0,0,1,0.5,0.5,0,0,[]],50,3801,[[-1],[0],[0],[0],[0],[0],[0]],[[0],[1,0,1,1,"W 1; F 180",100000,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[0,1608,0,1216,8,0,0,1,0,0,0,0,[]],56,3796,[],[[1],[1]],[0,0]],[[2048,904,0,504,9,0,1.570796370506287,1,0,0,0,0,[]],51,3797,[],[[0],[1],[1,100,""]],[0,0]],[[2048,1608,0,528,9,0,1.570796370506287,1,0,0,0,0,[]],51,3798,[],[[0],[1],[1,100,""]],[0,0]],[[2040,904,0,792,9,0,0,1,0,0,0,0,[]],51,3802,[],[[0],[1],[1,100,""]],[0,0]],[[2840,904,0,512,9,0,1.570796370506287,1,0,0,0,0,[]],51,3803,[],[[0],[1],[1,100,""]],[0,0]],[[2832,1608,0,304,9,0,0,1,0,0,0,0,[]],51,3805,[],[[0],[1],[1,100,""]],[0,0]],[[2832,3200,0,640,9,0,0,1,0,0,0,0,[]],51,3816,[],[[0],[1],[1,100,""]],[0,0]],[[2832,2992,0,640,9,0,0,1,0,0,0,0,[]],51,3817,[],[[0],[1],[1,100,""]],[0,0]],[[3472,2496,0,504,9,0,1.570796370506287,1,0,0,0,0,[]],51,3818,[],[[0],[1],[1,100,""]],[0,0]],[[3472,3200,0,504,9,0,1.570796370506287,1,0,0,0,0,[]],51,3819,[],[[0],[1],[1,100,""]],[0,0]],[[3472,2496,0,328,9,0,0,1,0,0,0,0,[]],51,3820,[],[[0],[1],[1,100,""]],[0,0]],[[3464,3696,0,640,9,0,0,1,0,0,0,0,[]],51,3821,[],[[0],[1],[1,100,""]],[0,0]],[[4264,2496,0,504,9,0,1.570796370506287,1,0,0,0,0,[]],51,3822,[],[[0],[1],[1,100,""]],[0,0]],[[4264,2992,0,192,9,0,1.570796370506287,1,0,0,0,0,[]],51,3823,[],[[0],[1],[1,100,""]],[0,0]],[[3936,2496,0,328,9,0,0,1,0,0,0,0,[]],51,3824,[],[[0],[1],[1,100,""]],[0,0]],[[3472,1608,0,504,8,0,1.570796370506287,1,0,0,0,0,[]],56,3807,[],[[1],[1]],[0,0]],[[3472,904,0,504,8,0,1.570796370506287,1,0,0,0,0,[]],56,3808,[],[[1],[1]],[0,0]],[[3472,904,0,792,8,0,0,1,0,0,0,0,[]],56,3809,[],[[1],[1]],[0,0]],[[4264,912,0,1208,8,0,1.570796370506287,1,0,0,0,0,[]],56,3810,[],[[1],[1]],[0,0]],[[3464,2112,0,328,8,0,0,1,0,0,0,0,[]],56,3811,[],[[1],[1]],[0,0]],[[3944,2112,0,320,8,0,0,1,0,0,0,0,[]],56,3812,[],[[1],[1]],[0,0]],[[3800,2112,0,384,8,0,1.570796370506287,1,0,0,0,0,[]],56,3813,[],[[1],[1]],[0,0]],[[3944,2000,0,496,8,0,1.570796370506287,1,0,0,0,0,[]],56,3825,[],[[1],[1]],[0,0]],[[2832,3200,0,504,8,0,1.570796370506287,1,0,0,0,0,[]],56,3814,[],[[1],[1]],[0,0]],[[2832,2496,0,64,8,0,1.570796370506287,1,0,0,0,0,[]],56,3815,[],[[1],[1]],[0,0]],[[2040,2496,0,792,8,0,0,1,0,0,0,0,[]],56,3826,[],[[1],[1]],[0,0]],[[2040,2496,0,1216,8,0,1.570796370506287,1,0,0,0,0,[]],56,3827,[],[[1],[1]],[0,0]],[[2040,3704,0,792,8,0,0,1,0,0,0,0,[]],56,3828,[],[[1],[1]],[0,0]],[[2832,2672,0,328,8,0,1.570796370506287,1,0,0,0,0,[]],56,3829,[],[[1],[1]],[0,0]],[[2832,2744,0,368,9,0,0,1,0,0,0,0,[]],51,3830,[],[[0],[1],[1,100,""]],[0,0]],[[3168,2728,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3831,[[2],[0]],[[0]],[0,"Default",0,1]],[[3200,1608,0,264,9,0,0,1,0,0,0,0,[]],51,3832,[],[[0],[1],[1,100,""]],[0,0]],[[2832,1408,0,304,9,0,0,1,0,0,0,0,[]],51,3806,[],[[0],[1],[1,100,""]],[0,0]],[[3200,1408,0,272,9,0,0,1,0,0,0,0,[]],51,3833,[],[[0],[1],[1,100,""]],[0,0]],[[3160,1184,0,32,32,0,-0.567607045173645,1,0.5,0.5,0,0,[]],43,3834,[[1],[0]],[[0]],[0,"Default",0,1]],[[3868,2440,0,128,128,0,0,1,0.5,0.5,0,0,[]],49,3839,[[2],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[976,4240,0,100,100,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,3843,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,0,1,1,"F 5000",100000,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1216,2128,0,100,100,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,3844,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"B 5000",100000,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1969,1574,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,3848,[[3],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1544,1592,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3857,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1576,1592,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3858,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1608,1592,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3859,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1640,1592,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3860,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,1592,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3861,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1704,1592,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3862,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1736,1592,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3863,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1768,1592,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3864,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1800,1592,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3865,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3096,1536,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3856,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3128,1536,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3875,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3216,1536,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3879,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3248,1536,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3886,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3080,1408,0,64,112,0,0,1,0,0,0,0,[]],51,3893,[],[[0],[1],[1,100,""]],[0,0]],[[3200,1408,0,64,112,0,0,1,0,0,0,0,[]],51,3894,[],[[0],[1],[1,100,""]],[0,0]],[[3584,1608,0,600,8,0,0,1,0,0,0,0,[]],56,3836,[],[[1],[1]],[0,0]],[[3656,1064,0,552,8,0,1.570796370506287,1,0,0,0,0,[]],56,3852,[],[[1],[1]],[0,0]],[[3648,1056,0,312,8,0,0,1,0,0,0,0,[]],56,3887,[],[[1],[1]],[0,0]],[[3568,1592,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3892,[[0.9],[0]],[[0]],[0,"Default",0,1]],[[3473,912,0,96,8,0,1.570796370506287,1,0,0,0,0,[]],56,3895,[],[[1],[1]],[0,0]],[[3488,928,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3896,[[0]],[[1],[1]],[0,"Default",0,1]],[[3488,960,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3897,[[0]],[[1],[1]],[0,"Default",0,1]],[[3488,992,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,3898,[[0]],[[1],[1]],[0,"Default",0,1]],[[4240,1040,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,3899,[[0]],[[1],[1]],[0,"Default",0,1]],[[3493,976,0,40,100,0,0,1,0.5,0.5,0,0,[]],50,3900,[[-1],[0],[0],[0],[0],[4],[0]],[[0],[1,0,1,0,"F 1000",400,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3920,1008,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,3901,[[4],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[4032,1056,0,224,8,0,0,1,0,0,0,0,[]],56,3902,[],[[1],[1]],[0,0]],[[3960,1056,0,72,8,0,0,1,0,0,0,0,[]],56,3903,[],[[1],[1]],[0,0]],[[3984,1064,0,40,16,0,0,1,0.5,0.5,0,0,[]],50,3904,[[-1],[0],[0],[0],[0],[4],[0]],[[0],[1,0,1,0,"W 3; F 64",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3136,1608,0,64,8,0,0,1,0,0,0,0,[]],45,3905,[],[[0],[1]],[0,0]],[[4235,1038,0,40,32,0,0,1,0.5,0.5,0,0,[]],50,3907,[[-1],[0],[0],[0],[0],[4],[0]],[[0],[1,0,1,0,"B 1000",400,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3808,1448,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,3908,[[1],[150]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3784,1216,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,3909,[[1],[150]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[4248,1320,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,3910,[[1],[150]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[4080,1512,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],56,3911,[],[[1],[1]],[0,0]],[[3800,1416,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],56,3912,[],[[1],[1]],[0,0]],[[3776,1192,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],56,3913,[],[[1],[1]],[0,0]],[[4144,1192,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],56,3914,[],[[1],[1]],[0,0]],[[3968,1304,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],56,3915,[],[[1],[1]],[0,0]],[[4184,1608,0,72,8,0,0,1,0,0,0,0,[]],56,3916,[],[[1],[1]],[0,0]],[[4224,1608,0,40,16,0,0,1,0.5,0.5,0,0,[]],50,3917,[[-1],[0],[0],[0],[0],[4],[0]],[[0],[1,0,1,0,"W 8; B 64",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3632,2000,0,304,8,0,0,1,0,0,0,0,[]],56,3918,[],[[1],[1]],[0,0]],[[4128,1624,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,3920,[[1],[150]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3472,1776,0,496,8,0,0,1,0,0,0,0,[]],56,3919,[],[[1],[1]],[0,0]],[[3792,1792,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,3921,[[1],[150]],[[1],[300,2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3680,1984,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3922,[[0]],[[1],[1]],[0,"Default",0,1]],[[3960,2096,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3923,[[0]],[[1],[1]],[0,"Default",0,1]],[[3992,2096,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3924,[[0]],[[1],[1]],[0,"Default",0,1]],[[4024,2096,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,3925,[[0]],[[1],[1]],[0,"Default",0,1]],[[3552,1608,0,32,8,0,0,1,0,0,0,0,[]],45,3926,[],[[0],[1]],[0,0]],[[3472,1608,0,112,8,0,0,1,0,0,0,0,[]],56,3927,[],[[1],[1]],[0,0]],[[3624,2504,0,1088,9,0,1.570796370506287,1,0,0,0,0,[]],51,3837,[],[[0],[1],[1,100,""]],[0,0]],[[3704,2608,0,472,9,0,0,1,0,0,0,0,[]],51,3928,[],[[0],[1],[1,100,""]],[0,0]],[[4048,2840,0,152,9,0,1.570796370506287,1,0,0,0,0,[]],51,3929,[],[[0],[1],[1,100,""]],[0,0]],[[4048,2992,0,48,9,0,1.570796370506287,1,0,0,0,0,[]],51,3930,[],[[0],[1],[1,100,""]],[0,0]],[[3888,2559,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,3931,[[5],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[3896,2608,0,64,72,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,3932,[[-1],[0],[0],[0],[0],[5],[0]],[[0],[1,0,1,1,"W 1; B 1200",125,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3656,2984,0,392,9,0,0,1,0,0,0,0,[]],51,3933,[],[[0],[1],[1,100,""]],[0,0]],[[3736,2968,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3934,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3768,2968,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3935,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3800,2968,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3936,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3832,2968,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3937,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3864,2968,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3938,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3896,2968,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3939,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3928,2968,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3940,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3960,2968,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3941,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3992,2968,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3942,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4024,2968,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3943,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4240,2712,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3944,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4240,2744,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3945,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4240,2776,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3946,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4240,2808,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3947,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4240,2840,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3948,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4240,2872,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3949,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4240,2904,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3950,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4240,2936,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3951,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4240,2968,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3952,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4240,3000,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3953,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4240,3032,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3954,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4240,3064,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3955,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4240,3096,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3956,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4240,3128,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3957,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4240,3160,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3958,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4080,3288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3962,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4080,3320,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3963,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4080,3352,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3964,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4080,3384,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3965,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4080,3416,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3966,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4080,3448,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3967,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4080,3480,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3968,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4080,3512,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3969,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4080,3544,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3970,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4080,3576,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3971,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4080,3608,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3972,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4080,3640,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3973,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4048,3128,0,48,9,0,1.570796370506287,1,0,0,0,0,[]],51,3974,[],[[0],[1],[1,100,""]],[0,0]],[[4048,3032,0,96,8,0,1.570796370506287,1,0,0,0,0,[]],45,3975,[],[[0],[1]],[0,0]],[[4040,3176,0,216,9,0,0,1,0,0,0,0,[]],51,3976,[],[[0],[1],[1,100,""]],[0,0]],[[4064,3160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3977,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4096,3160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3978,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4128,3160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3979,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4160,3160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3980,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4192,3160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3981,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3536,3680,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3982,[[0.8],[0]],[[0]],[0,"Default",0,1]],[[3952,3208,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3983,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3944,3328,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3985,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3832,3216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3986,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3856,3280,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3987,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3984,3416,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3988,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3736,3480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3989,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3944,3616,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3990,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3808,3376,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3991,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3784,3600,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3992,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3872,3488,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3993,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,2520,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3994,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,2552,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3995,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,2584,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3996,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,2616,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3997,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,2648,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3998,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,2680,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3999,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,2712,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4000,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,2744,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4001,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,2776,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4002,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,2808,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4003,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,2840,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4004,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,2872,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4005,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,2904,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4006,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,2936,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4007,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,2968,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4008,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,3000,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4009,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,3032,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4010,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,3064,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4011,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,3096,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4012,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,3128,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4013,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,3160,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4014,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,3192,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4015,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,3224,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4016,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,3256,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4017,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,3288,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4018,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,3320,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4019,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,3352,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4020,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,3384,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4021,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,3416,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4022,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,3448,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4023,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,3480,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4024,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,3512,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4025,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,3544,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4026,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,3576,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,4027,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3672,2968,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4028,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3704,2968,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4029,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4104,3184,0,512,9,0,1.570796370506287,1,0,0,0,0,[]],51,4030,[],[[0],[1],[1,100,""]],[0,0]],[[4080,3224,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3959,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4080,3256,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3960,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4080,3288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3961,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4080,3320,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,4031,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2664,3696,0,160,8,0,0,1,0,0,0,0,[]],56,3838,[],[[0],[1]],[0,0]],[[2368,3696,0,160,8,0,0,1,0,0,0,0,[]],56,4032,[],[[0],[1]],[0,0]],[[2040,3696,0,168,8,0,0,1,0,0,0,0,[]],56,4033,[],[[0],[1]],[0,0]],[[2536,2992,0,128,8,0,0,1,0,0,0,0,[]],56,4038,[],[[1],[1]],[0,0]],[[2208,2992,0,160,8,0,0,1,0,0,0,0,[]],56,4039,[],[[1],[1]],[0,0]],[[2640,3688,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4034,[[0]],[[1],[1]],[0,"Default",0,1]],[[2624,3352,0,352,48,0,1.570796370506287,1,0,0,0,0,[]],56,4035,[],[[1],[1]],[0,0]],[[2328,3192,0,352,88,0,1.570796370506287,1,0,0,0,0,[]],56,4036,[],[[1],[1]],[0,0]],[[2640,3656,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4037,[[0]],[[1],[1]],[0,"Default",0,1]],[[2640,3624,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4040,[[0]],[[1],[1]],[0,"Default",0,1]],[[2640,3592,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4041,[[0]],[[1],[1]],[0,"Default",0,1]],[[2640,3560,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4042,[[0]],[[1],[1]],[0,"Default",0,1]],[[2640,3528,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4043,[[0]],[[1],[1]],[0,"Default",0,1]],[[2640,3496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4044,[[0]],[[1],[1]],[0,"Default",0,1]],[[2640,3464,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4045,[[0]],[[1],[1]],[0,"Default",0,1]],[[2640,3432,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4046,[[0]],[[1],[1]],[0,"Default",0,1]],[[2344,3688,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4047,[[0]],[[1],[1]],[0,"Default",0,1]],[[2344,3656,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4048,[[0]],[[1],[1]],[0,"Default",0,1]],[[2344,3528,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4052,[[0]],[[1],[1]],[0,"Default",0,1]],[[2344,3496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4053,[[0]],[[1],[1]],[0,"Default",0,1]],[[2344,3464,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4054,[[0]],[[1],[1]],[0,"Default",0,1]],[[2344,3432,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4055,[[0]],[[1],[1]],[0,"Default",0,1]],[[2560,3688,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4056,[[0]],[[1],[1]],[0,"Default",0,1]],[[2560,3656,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4057,[[0]],[[1],[1]],[0,"Default",0,1]],[[2560,3624,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4058,[[0]],[[1],[1]],[0,"Default",0,1]],[[2560,3592,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4059,[[0]],[[1],[1]],[0,"Default",0,1]],[[2560,3560,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4060,[[0]],[[1],[1]],[0,"Default",0,1]],[[2560,3528,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4061,[[0]],[[1],[1]],[0,"Default",0,1]],[[2560,3496,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4062,[[0]],[[1],[1]],[0,"Default",0,1]],[[2560,3464,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4063,[[0]],[[1],[1]],[0,"Default",0,1]],[[2560,3432,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4064,[[0]],[[1],[1]],[0,"Default",0,1]],[[2224,3688,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4065,[[0]],[[1],[1]],[0,"Default",0,1]],[[2224,3656,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4066,[[0]],[[1],[1]],[0,"Default",0,1]],[[2224,3528,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4070,[[0]],[[1],[1]],[0,"Default",0,1]],[[2224,3496,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4071,[[0]],[[1],[1]],[0,"Default",0,1]],[[2224,3464,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4072,[[0]],[[1],[1]],[0,"Default",0,1]],[[2224,3432,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4073,[[0]],[[1],[1]],[0,"Default",0,1]],[[2560,3400,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4074,[[0]],[[1],[1]],[0,"Default",0,1]],[[2560,3368,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4075,[[0]],[[1],[1]],[0,"Default",0,1]],[[2560,3240,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4079,[[0]],[[1],[1]],[0,"Default",0,1]],[[2560,3208,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4080,[[0]],[[1],[1]],[0,"Default",0,1]],[[2224,3400,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4081,[[0]],[[1],[1]],[0,"Default",0,1]],[[2224,3368,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4082,[[0]],[[1],[1]],[0,"Default",0,1]],[[2224,3336,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4083,[[0]],[[1],[1]],[0,"Default",0,1]],[[2224,3304,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4084,[[0]],[[1],[1]],[0,"Default",0,1]],[[2224,3272,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4085,[[0]],[[1],[1]],[0,"Default",0,1]],[[2224,3240,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4086,[[0]],[[1],[1]],[0,"Default",0,1]],[[2224,3208,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,4087,[[0]],[[1],[1]],[0,"Default",0,1]],[[2344,3400,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4088,[[0]],[[1],[1]],[0,"Default",0,1]],[[2344,3368,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4089,[[0]],[[1],[1]],[0,"Default",0,1]],[[2344,3336,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4090,[[0]],[[1],[1]],[0,"Default",0,1]],[[2344,3304,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4091,[[0]],[[1],[1]],[0,"Default",0,1]],[[2344,3272,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4092,[[0]],[[1],[1]],[0,"Default",0,1]],[[2344,3240,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4093,[[0]],[[1],[1]],[0,"Default",0,1]],[[2344,3208,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4094,[[0]],[[1],[1]],[0,"Default",0,1]],[[2640,3400,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4095,[[0]],[[1],[1]],[0,"Default",0,1]],[[2640,3368,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4096,[[0]],[[1],[1]],[0,"Default",0,1]],[[2640,3240,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4100,[[0]],[[1],[1]],[0,"Default",0,1]],[[2640,3208,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,4101,[[0]],[[1],[1]],[0,"Default",0,1]],[[2624,3192,0,64,48,0,1.570796370506287,1,0,0,0,0,[]],56,4077,[],[[1],[1]],[0,0]],[[2328,3640,0,64,88,0,1.570796370506287,1,0,0,0,0,[]],56,4049,[],[[1],[1]],[0,0]],[[2240,2848,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,4050,[[0]],[[1],[1]],[0,"Default",0,1]],[[2328,2752,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,4067,[[0]],[[1],[1]],[0,"Default",0,1]],[[2240,2672,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,4068,[[0]],[[1],[1]],[0,"Default",0,1]],[[2328,2560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,4078,[[0]],[[1],[1]],[0,"Default",0,1]],[[2576,2568,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,4098,[[0]],[[1],[1]],[0,"Default",0,1]],[[2584,2680,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,4099,[[0]],[[1],[1]],[0,"Default",0,1]],[[2640,2856,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,4102,[[0]],[[1],[1]],[0,"Default",0,1]],[[2440,2896,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,4103,[[0]],[[1],[1]],[0,"Default",0,1]],[[2448,2656,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,4104,[[0]],[[1],[1]],[0,"Default",0,1]],[[4072,2952,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4105,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4168,2848,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4106,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4080,2752,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4107,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3688,3376,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4108,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2744,3692,0,16,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,4110,[[-1],[0],[0],[0],[0],[5],[0]],[[0],[1,0,1,0,"F 360; W 2; B 360; W 2",100,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2648,3016,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,4051,[[0]],[[1],[1]],[0,"Default",0,1]],[[2616,3016,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,4069,[[0]],[[1],[1]],[0,"Default",0,1]],[[2584,3016,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,4076,[[0]],[[1],[1]],[0,"Default",0,1]],[[2552,3016,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,4097,[[0]],[[1],[1]],[0,"Default",0,1]],[[2288,3016,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,4113,[[0]],[[1],[1]],[0,"Default",0,1]],[[2256,3016,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,4114,[[0]],[[1],[1]],[0,"Default",0,1]],[[2224,3016,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,4115,[[0]],[[1],[1]],[0,"Default",0,1]],[[2352,3016,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,4116,[[0]],[[1],[1]],[0,"Default",0,1]],[[2320,3016,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,4117,[[0]],[[1],[1]],[0,"Default",0,1]],[[2456,3692,0,16,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,4111,[[-1],[0],[0],[0],[0],[5],[0]],[[0],[1,0,1,0,"F 440; W 2; B 440; W 2",100,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2120,3691,0,16,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,4112,[[-1],[0],[0],[0],[0],[5],[0]],[[0],[1,0,1,0,"F 520; W 1; B 520; W 1",100,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2808,3688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4121,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2776,3688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4122,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2712,3688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4124,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2680,3688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4125,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2520,3688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4126,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2496,3688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4127,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2419,3688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4129,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2400,3688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4130,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2376,3688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4131,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2048,3696,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4132,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2080,3696,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4133,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2152,3696,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4135,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2200,3696,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4136,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2176,3696,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,4137,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2720,2608,0,8,216,0,0,1,0,0,0,0,[]],51,4118,[],[[0],[1],[1,100,""]],[0,0]],[[2728,2816,0,8,8,0,1.570796370506287,1,0,0,0,0,[]],56,4119,[],[[1],[1]],[0,0]],[[2728,2608,0,8,8,0,1.570796370506287,1,0,0,0,0,[]],56,4120,[],[[1],[1]],[0,0]],[[3088,2720,0,48,16,0,0,1,0,0,0,0,[]],57,4123,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[1]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","-->",1,0,0,0,0,0,0,0,"",-1,0]],[[3192,1616,0,8,1128,0,0,1,0,0,0,0,[]],59,4128,[],[[1],[1]],[0,0]],[[3128,1616,0,8,1024,0,0,1,0,0,0,0,[]],59,4134,[],[[1],[1]],[0,0]],[[3056,784,0,144,16,0,0,1,0,0,0,0,[]],57,4139,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[1]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","<--- Dive ",1,0,0,0,0,0,0,0,"",-1,0]],[[3696,3288,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2226,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2456,2872,0,8,32,0,1.570796370506287,1,0,0,0,0,[]],51,2235,[],[[0],[1],[1,100,""]],[0,0]],[[2344,2728,0,8,32,0,1.570796370506287,1,0,0,0,0,[]],51,2236,[],[[0],[1],[1,100,""]],[0,0]],[[2464,2632,0,8,32,0,1.570796370506287,1,0,0,0,0,[]],51,3984,[],[[0],[1],[1,100,""]],[0,0]],[[2592,2544,0,8,32,0,1.570796370506287,1,0,0,0,0,[]],51,5414,[],[[0],[1],[1,100,""]],[0,0]],[[2451,2573,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,2755,[["level40"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[2826,720,0,8,8,0,0,1,0,0,0,0,[]],56,2030,[],[[1],[0]],[0,0]],[[2921,826,0,8,8,0,0,1,0,0,0,0,[]],56,3840,[],[[1],[0]],[0,0]],[[2649,833,0,8,8,0,0,1,0,0,0,0,[]],56,5518,[],[[1],[0]],[0,0]],[[2558,717,0,8,8,0,0,1,0,0,0,0,[]],56,5524,[],[[1],[0]],[0,0]],[[2332,808,0,8,8,0,0,1,0,0,0,0,[]],56,5525,[],[[1],[0]],[0,0]],[[2183,642,0,8,8,0,0,1,0,0,0,0,[]],56,5526,[],[[1],[0]],[0,0]],[[2092,752,0,8,8,0,0,1,0,0,0,0,[]],56,5527,[],[[1],[0]],[0,0]],[[1633,1246,0,8,8,0,0,1,0,0,0,0,[]],56,5528,[],[[1],[0]],[0,0]],[[1827,1327,0,8,8,0,0,1,0,0,0,0,[]],56,5529,[],[[1],[0]],[0,0]],[[1947,1211,0,8,8,0,0,1,0,0,0,0,[]],56,5530,[],[[1],[0]],[0,0]],[[1749,1098,0,8,8,0,0,1,0,0,0,0,[]],56,5531,[],[[1],[0]],[0,0]],[[2907,1253,0,8,8,0,0,1,0,0,0,0,[]],56,5532,[],[[1],[0]],[0,0]],[[2918,1084,0,8,8,0,0,1,0,0,0,0,[]],56,5533,[],[[1],[0]],[0,0]],[[3024,1288,0,8,8,0,0,1,0,0,0,0,[]],56,5534,[],[[1],[0]],[0,0]],[[3242,1288,0,8,8,0,0,1,0,0,0,0,[]],56,5535,[],[[1],[0]],[0,0]],[[3369,1165,0,8,8,0,0,1,0,0,0,0,[]],56,5536,[],[[1],[0]],[0,0]],[[3211,1059,0,8,8,0,0,1,0,0,0,0,[]],56,5537,[],[[1],[0]],[0,0]],[[3394,1348,0,8,8,0,0,1,0,0,0,0,[]],56,5538,[],[[1],[0]],[0,0]],[[3309,939,0,8,8,0,0,1,0,0,0,0,[]],56,5539,[],[[1],[0]],[0,0]],[[3411,3148,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,5540,[[10],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[221.6666259765625,1337.333251953125,0,8,8,0,0,1,0,0,0,0,[]],56,5541,[],[[1],[0]],[0,0]],[[415.6666259765625,1418.333251953125,0,8,8,0,0,1,0,0,0,0,[]],56,5542,[],[[1],[0]],[0,0]],[[337.6666259765625,1189.333251953125,0,8,8,0,0,1,0,0,0,0,[]],56,5543,[],[[1],[0]],[0,0]],[[625.6666259765625,1448.333251953125,0,8,8,0,0,1,0,0,0,0,[]],56,5544,[],[[1],[0]],[0,0]],[[819.6666259765625,1529.333251953125,0,8,8,0,0,1,0,0,0,0,[]],56,5545,[],[[1],[0]],[0,0]],[[741.6666259765625,1300.333251953125,0,8,8,0,0,1,0,0,0,0,[]],56,5546,[],[[1],[0]],[0,0]],[[390.6666259765625,1272.333251953125,0,8,8,0,0,1,0,0,0,0,[]],56,5547,[],[[1],[0]],[0,0]],[[584.6666259765625,1353.333251953125,0,8,8,0,0,1,0,0,0,0,[]],56,5548,[],[[1],[0]],[0,0]],[[506.6666259765625,1124.333251953125,0,8,8,0,0,1,0,0,0,0,[]],56,5549,[],[[1],[0]],[0,0]],[[981.6666259765625,1395.333251953125,0,8,8,0,0,1,0,0,0,0,[]],56,5550,[],[[1],[0]],[0,0]],[[1175.666625976563,1476.333251953125,0,8,8,0,0,1,0,0,0,0,[]],56,5551,[],[[1],[0]],[0,0]],[[1097.666625976563,1247.333251953125,0,8,8,0,0,1,0,0,0,0,[]],56,5552,[],[[1],[0]],[0,0]],[[1238.666625976563,1404.333251953125,0,8,8,0,0,1,0,0,0,0,[]],56,5553,[],[[1],[0]],[0,0]],[[1432.666625976563,1485.333251953125,0,8,8,0,0,1,0,0,0,0,[]],56,5554,[],[[1],[0]],[0,0]],[[1354.666625976563,1256.333251953125,0,8,8,0,0,1,0,0,0,0,[]],56,5555,[],[[1],[0]],[0,0]],[[1550,1420,0,288,117,0,0,1,0,0,0,0,[[]]],61,5632,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]],[[2245.209228515625,1129.578491210938,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3849,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2245.209228515625,1017.578491210938,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3850,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2301.209228515625,1073.578491210938,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3851,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2189.209228515625,1073.578491210938,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3853,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2285.209228515625,1033.578491210938,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,3854,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2285.209228515625,1113.578491210938,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,3855,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2205.209228515625,1113.578491210938,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,3866,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2205.209228515625,1033.578491210938,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,3867,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2263.209228515625,1033.578491210938,0,80,33.489990234375,0,1.570796370506287,1,0,0,0,0,[]],51,3868,[],[[0],[1],[1,100,""]],[0,0]],[[2285.209228515625,1090.578491210938,0,80,34.0167236328125,0,3.141592741012573,1,0,0,0,0,[]],51,3869,[],[[0],[1],[1,100,""]],[0,0]],[[2228.209228515625,1032.578491210938,0,82.63404083251953,33.93962478637695,0,0.7853981852531433,1,0,0,0,0,[]],51,3870,[],[[0],[1],[1,100,""]],[0,0]],[[2287.209228515625,1055.578491210938,0,82.6051254272461,33.16415405273438,0,2.356194496154785,1,0,0,0,0,[]],51,3871,[],[[0],[1],[1,100,""]],[0,0]],[[2245.209228515625,1073.578491210938,0,144,144,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,3846,[[-1],[0],[0],[0],[0],[-2],[1]],[[0],[1,1,0,0,"F 432; R 90 ; F 816 ; R 90",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2246.209228515625,1073.578491210938,0,104,104,0,0,1,0.5,0.5,0,0,[]],50,3847,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2664,1880,0,8,424,0,1.570796370506287,1,0,0,0,0,[]],67,3889,[],[[1]],[0,0]],[[2240,1072,0,428,360,0,0,1,0,0,0,0,[]],67,3845,[],[[1]],[0,0]],[[2236,1068,0,8,824,0,0,1,0,0,0,0,[]],68,1035,[],[[1]],[0,0]],[[2672,1068,0,8,432,0,1.570796370506287,1,0,0,0,0,[]],68,1029,[],[[1]],[0,0]],[[2672,1884,0,8,432,0,1.570796370506287,1,0,0,0,0,[]],68,3841,[],[[1]],[0,0]],[[2664,1072,0,8,816,0,0,1,0,0,0,0,[]],68,3872,[],[[1]],[0,0]],[[2665.87353515625,1937.779174804688,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,3873,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2665.87353515625,1825.779174804688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3874,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2721.87353515625,1881.779174804688,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,3876,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2609.87353515625,1881.779174804688,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,3877,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2705.87353515625,1841.779174804688,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,3878,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2705.87353515625,1921.779174804688,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,3880,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2625.87353515625,1921.779174804688,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,3881,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2625.87353515625,1841.779174804688,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,3882,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2683.87353515625,1841.779174804688,0,80,33.489990234375,0,1.570796370506287,1,0,0,0,0,[]],51,3883,[],[[0],[1],[1,100,""]],[0,0]],[[2705.87353515625,1898.779174804688,0,80,34.0167236328125,0,3.141592741012573,1,0,0,0,0,[]],51,3884,[],[[0],[1],[1,100,""]],[0,0]],[[2648.87353515625,1840.779174804688,0,82.63404083251953,33.93962478637695,0,0.7853981852531433,1,0,0,0,0,[]],51,3885,[],[[0],[1],[1,100,""]],[0,0]],[[2707.87353515625,1863.779174804688,0,82.6051254272461,33.16415405273438,0,2.356194496154785,1,0,0,0,0,[]],51,3888,[],[[0],[1],[1,100,""]],[0,0]],[[2665.87353515625,1881.779174804688,0,144,144,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,3890,[[-1],[0],[0],[0],[0],[-2],[1]],[[0],[1,1,0,0,"B 432; R 90 ; B 816 ; R 90",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2666.87353515625,1881.779174804688,0,104,104,0,0,1,0.5,0.5,0,0,[]],50,3891,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2048,1408,0,200,9,0,1.570796370506287,1,0,0,0,0,[]],51,10380,[],[[0],[1],[1,100,""]],[0,0]],[[2040,1504,0,32,40,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,10381,[[0],[0],[10],[0],[0],[3],[1]],[[0],[1,0,1,1,"F 200",100,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2240,1528,0,428,360,0,0,1,0,0,0,0,[]],67,10382,[],[[1]],[0,0]],[[1222,1496,0,428,112,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,10383,[],[[0]],[0,"Default",0,1]],[[2667,1432,0,104,9,0,1.570796370506287,1,0,0,0,0,[]],51,10385,[],[[0],[1],[1,100,""]],[0,0]],[[2304,2112,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10386,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2336,2112,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10387,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2416,2112,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10389,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2448,2112,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10390,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2528,2112,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10393,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2560,2112,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10394,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2048,2128,0,792,8,0,0,1,0,0,0,0,[]],67,10396,[],[[1]],[0,0]],[[2288,2128,0,64,136,0,0,1,0,0,0,0,[]],51,3800,[],[[0],[1],[1,100,""]],[0,0]],[[2512,2128,0,64,136,0,0,1,0,0,0,0,[]],51,10397,[],[[0],[1],[1,100,""]],[0,0]],[[2400,2128,0,64,112,0,0,1,0,0,0,0,[]],51,10388,[],[[0],[1],[1,100,""]],[0,0]],[[2320,2196,0,144,40,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,10391,[[0],[0],[10],[0],[0],[3],[1]],[[0],[1,0,1,0,"F 200 ; W 0.5; B 200; W 0.5",200,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2544,2196,0,144,40,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,10399,[[0],[0],[10],[0],[0],[3],[1]],[[0],[1,0,1,0,"F 200 ; W 0.5; B 200; W 0.5",200,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2432,2136,0,24,40,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,10392,[[0],[0],[10],[0],[0],[3],[1]],[[0],[1,0,1,0,"F 200 ; W 0.5; B 200; W 0.5",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2632,2112,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10398,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2664,2112,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10400,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2616,2128,0,64,136,0,0,1,0,0,0,0,[]],51,10401,[],[[0],[1],[1,100,""]],[0,0]],[[2648,2136,0,24,40,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,10402,[[0],[0],[10],[0],[0],[3],[1]],[[0],[1,0,1,0,"F 200 ; W 0.5; B 200; W 0.5",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2185,2118,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10403,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2217,2118,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10404,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2169,2134,0,64,136,0,0,1,0,0,0,0,[]],51,10405,[],[[0],[1],[1,100,""]],[0,0]],[[2201,2142,0,24,40,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,10406,[[0],[0],[10],[0],[0],[3],[1]],[[0],[1,0,1,0,"F 200 ; W 0.5; B 200; W 0.5",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2840,1608,0,528,8,0,1.570796370506287,1,0,0,0,0,[]],67,3804,[],[[1]],[0,0]],[[2400,2128,0,64,136,0,0,1,0,0,0,0,[]],51,10411,[],[[0],[1],[1,100,""]],[0,0]],[[2304,2280,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10412,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2336,2280,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10413,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2528,2280,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10414,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2560,2280,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10415,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2784,2080,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10416,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2784,2112,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10417,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2912,2064,0,64,112,0,1.570796370506287,1,0,0,0,0,[]],51,10418,[],[[0],[1],[1,100,""]],[0,0]],[[2800,2096,0,24,40,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,10419,[[0],[0],[10],[0],[0],[3],[1]],[[0],[1,0,1,0,"F 88 ; W 0.5; B 88; W 0.5",100,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2784,1840,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10420,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2784,1872,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10421,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2912,1824,0,64,112,0,1.570796370506287,1,0,0,0,0,[]],51,10422,[],[[0],[1],[1,100,""]],[0,0]],[[2800,1856,0,24,40,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,10423,[[0],[0],[10],[0],[0],[3],[1]],[[0],[1,0,1,0,"F 120 ; W 1.2; B 120; W 1.2",100,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2784,1640,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10424,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2784,1672,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10425,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2824,1624,0,64,24,0,1.570796370506287,1,0,0,0,0,[]],51,10426,[],[[0],[1],[1,100,""]],[0,0]],[[2840,1656,0,112,56,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,10427,[[0],[0],[10],[0],[0],[3],[1]],[[0],[1,0,1,0,"F 120 ; W 1.2; B 120; W 1.2",100,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2904,1624,0,64,24,0,1.570796370506287,1,0,0,0,0,[]],51,10407,[],[[0],[1],[1,100,""]],[0,0]],[[2824,1624,0,56,8,0,0,1,0,0,0,0,[]],45,10408,[],[[0],[1]],[0,0]],[[2824,1680,0,56,8,0,0,1,0,0,0,0,[]],45,10409,[],[[0],[1]],[0,0]],[[2048,1400,0,192,9,0,0,1,0,0,0,0,[]],52,10410,[],[[0],[0]],[0,0]],[[2672,1408,0,160,9,0,0,1,0,0,0,0,[]],52,10428,[],[[0],[0]],[0,0]],[[2508,2552,0,24,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,10395,[[0],[0],[10],[0],[0],[11],[1]],[[0],[1,0,1,0,"F 3000",10000,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2408,2504,0,120,8,0,1.570796370506287,1,0,0,0,0,[]],56,10429,[],[[1],[1]],[0,0]],[[2504,2504,0,120,8,0,1.570796370506287,1,0,0,0,0,[]],56,10430,[],[[1],[1]],[0,0]],[[2396,2560,0,24,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,10431,[[0],[0],[10],[0],[0],[11],[1]],[[0],[1,0,1,0,"F 3000",10000,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2312,1472,0,24,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2142,[[0],[0],[10],[0],[0],[11],[1]],[[0],[1,0,1,1,"F 200",100,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]]],[]],["UI",2,788860134648194,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,772150204686758,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,538627218715661,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,655660242395765,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,202125044846246,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,494282705815686,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,497669990335070,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 41",4000,6000,true,"Levels",505886752746897,[["Background",0,879101618635889,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,987470523785702,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[-21976,3360,0,7616,2000,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,5728,[],[[0]],[0,"Default",0,1]],[[3656,5152,0,656,9,0,1.570796370506287,1,0,0,0,0,[]],51,5636,[],[[0],[1],[1,100,""]],[0,0]],[[3536,5304,0,504,9,0,1.570796370506287,1,0,0,0,0,[]],51,5638,[],[[0],[1],[1,100,""]],[0,0]],[[3528,5800,0,128,2000,0,0,1,0,0,0,0,[]],51,5639,[],[[0],[1],[1,100,""]],[0,0]],[[3584,5824,0,50,55,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,5640,[[-1],[0],[0],[0],[0],[0],[1]],[[0],[1,1,1,1,"W 3 ; F 500",200,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2976,5304,0,560,1152,0,0,1,0,0,0,0,[]],51,5641,[],[[0],[1],[1,100,""]],[0,0]],[[3648,5304,0,1016,1168,0,0,1,0,0,0,0,[]],51,5642,[],[[0],[1],[1,100,""]],[0,0]],[[3200,5024,0,288,216,0,1.570796370506287,1,0,0,0,0,[]],51,5643,[],[[0],[1],[1,100,""]],[0,0]],[[4671,2896,0,2416,712,0,1.570796370506287,1,0,0,0,0,[]],51,5644,[],[[0],[1],[1,100,""]],[0,0]],[[2976,5024,0,560,9,0,0,1,0,0,0,0,[]],51,5645,[],[[0],[1],[1,100,""]],[0,0]],[[3648,2073,0,1040,2960,0,0,1,0,0,0,0,[]],51,5646,[],[[0],[1],[1,100,""]],[0,0]],[[3656,4248,0,784,9,0,1.570796370506287,1,0,0,0,0,[]],51,5647,[],[[0],[1],[1,100,""]],[0,0]],[[3536,4528,0,632,9,0,1.570796370506287,1,0,0,0,0,[]],51,5648,[],[[0],[1],[1,100,""]],[0,0]],[[2984,4536,0,296,9,0,1.570796370506287,1,0,0,0,0,[]],51,5651,[],[[0],[1],[1,100,""]],[0,0]],[[1048,4009,0,2608,248,0,0,1,0,0,0,0,[]],51,5655,[],[[0],[1],[1,100,""]],[0,0]],[[3528,5152,0,128,9,0,0,1,0,0,0,0,[]],51,5649,[],[[0],[1],[1,100,""]],[0,0]],[[3336,5176,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,5650,[[0],[1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[3832,5176,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,5657,[[1],[0],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[3328,5208,0,88,9,0,0,1,0,0,0,0,[]],51,5658,[],[[0],[1],[1,100,""]],[0,0]],[[3752,5208,0,88,9,0,0,1,0,0,0,0,[]],51,5659,[],[[0],[1],[1,100,""]],[0,0]],[[3584,5160,0,50,55,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,5660,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,0,1,1,"W 1 ; F 500 ; W 2 ; B 500",200,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3584,5112,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,5661,[[1],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[2096,4248,0,664,1176,0,1.570796370506287,1,0,0,0,0,[]],51,5652,[],[[0],[1],[1,100,""]],[0,0]],[[3264,4456,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,5653,[[2],[3],[1],[180],[1],[0],[0]],[[0]],[0,"Default",0,1]],[[2200,4392,0,696,9,0,0,1,0,0,0,0,[]],51,5654,[],[[0],[1],[1,100,""]],[0,0]],[[3200,4256,0,56,272,0,0,1,0,0,0,0,[]],51,5665,[],[[0],[1],[1,100,""]],[0,0]],[[2896,4400,0,128,9,0,1.570796370506287,1,0,0,0,0,[]],51,5670,[],[[0],[1],[1,100,""]],[0,0]],[[2648,4256,0,136,9,0,1.570796370506287,1,0,0,0,0,[]],51,5671,[],[[0],[1],[1,100,""]],[0,0]],[[2640,4336,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,5674,[[6],[5],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2648,4336,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,5675,[[7],[6],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2136,4525,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,0,0,255,0.01]]],62,5676,[[10],[11],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2264,4829,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,0,0,255,0.01]]],62,5677,[[11],[10],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2208,4392,0,448,9,0,1.570796370506287,1,0,0,0,0,[]],51,5678,[],[[0],[1],[1,100,""]],[0,0]],[[2088,4528,0,120,9,0,0,1,0,0,0,0,[]],51,5679,[],[[0],[1],[1,100,""]],[0,0]],[[2360,4504,0,184,9,0,1.570796370506287,1,0,0,0,0,[]],51,5680,[],[[0],[1],[1,100,""]],[0,0]],[[928,4832,0,2056,1600,0,0,1,0,0,0,0,[]],51,5681,[],[[0],[1],[1,100,""]],[0,0]],[[2352,4680,0,624,9,0,0,1,0,0,0,0,[]],51,5682,[],[[0],[1],[1,100,""]],[0,0]],[[2984,4704,0,328,9,0,1.570796370506287,1,0,0,0,0,[]],51,5683,[],[[0],[1],[1,100,""]],[0,0]],[[2944,4816,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5689,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2971,4744,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,5692,[[20],[30],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2880,4528,0,656,9,0,0,1,0,0,0,0,[]],51,5693,[],[[0],[1],[1,100,""]],[0,0]],[[2883,4504,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,5694,[[30],[20],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2368,4648,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,5695,[[12],[13],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1392,3104,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,5697,[[13],[12],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[3168,3256,0,48,344,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,69,169,148,0.01]]],62,5701,[[13],[100],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2240,3752,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5702,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2272,3752,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5703,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,3752,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5704,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2336,3752,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5705,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2368,3752,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5706,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2400,3752,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5707,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2432,3752,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5708,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2464,3752,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5709,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2496,3752,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5710,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2936,3744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5711,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2968,3744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5712,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3000,3744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5713,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3032,3744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5714,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3064,3744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5715,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3096,3744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5716,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3128,3744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5717,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3160,3744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5718,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3192,3744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5719,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3224,3744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5720,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3256,3744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5721,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3288,3744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5722,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3320,3744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5723,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3352,3744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5724,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3384,3744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5725,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2632,3080,0,224,40,0,0,1,0,0,0,0,[]],57,5726,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[1]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Through",2,0,0,0,0,0,0,0,"",-1,0]],[[1096,3032,0,1640,8,0,0,0.699999988079071,0,0,5,0,[]],56,5699,[],[[1],[1]],[0,0]],[[1016,3168,0,1832,8,0,0,0.699999988079071,0,0,5,0,[]],56,5731,[],[[1],[1]],[0,0]],[[1272,3032,0,136,8,0,1.570796370506287,0.699999988079071,0,0,5,0,[]],56,5698,[],[[1],[1]],[0,0]],[[3168,3344,0,320,192,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,5696,[],[[0]],[0,"Default",0,1]],[[3168,3272,0,48,344,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,69,169,148,0.01]]],62,5700,[[100],[13],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[3744,5176,0,88,24,0,0,1,0,0,0,0,[]],46,5730,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","-->",1,0,50,0,0,0,0,0,"",-1,0]],[[3424,5192,0,88,24,0,3.141592741012573,1,0,0,0,0,[]],46,5732,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","-->",1,0,50,0,0,0,0,0,"",-1,0]],[[2936,3032,0,160,40,0,0,1,0,0,0,0,[]],57,5684,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[1]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","The",2,0,0,0,0,0,0,0,"",-1,0]],[[3184,3144,0,224,40,0,0,1,0,0,0,0,[]],57,5685,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[1]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Portal!",2,0,0,0,0,0,0,0,"",-1,0]],[[1280,3088,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,5686,[[0]],[[1],[1]],[0,"Default",0,1]],[[1280,3120,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,5687,[[0]],[[1],[1]],[0,"Default",0,1]],[[1288,3152,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,5688,[[0]],[[1],[1]],[0,"Default",0,1]],[[1288,3056,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,5733,[[0]],[[1],[1]],[0,"Default",0,1]],[[1273,3104,0,50,96,0,0,1,0.5,0.5,0,0,[]],50,5734,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,0,1,1,"F 3000",550,125,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1416,3104,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,5735,[[5],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[1136,3104,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,5736,[["level41"]],[[0],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[1016,2728,0,448,32,0,1.570796370506287,1,0,0,0,0,[]],51,5737,[],[[0],[1],[1,100,""]],[0,0]],[[2112,3080,0,240,40,0,0,1,0,0,0,0,[]],57,1049,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[1]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Quickly!",2,0,0,0,0,0,0,0,"",-1,0]],[[3192,4328,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,1788,[[3],[-1],[0],[180],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[3272,4272,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1789,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3272,4304,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1783,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3272,4336,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1786,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3272,4368,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1787,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3272,4400,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1790,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3272,4512,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,1791,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3184,4272,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1792,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3184,4384,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1793,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3184,4416,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1794,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3184,4448,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1795,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3184,4480,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1796,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3184,4512,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,1797,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3248,4678.75634765625,0,58.44655609130859,58.44655609130859,0,0,1,0.5,0.5,0,0,[]],53,177,[["Initialisation"],[""],[0]],[],[1,"Default",0,1]],[[3112,4728,0,288,117,0,0,1,0,0,0,0,[[]]],61,9115,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]],[[3056,4784,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,0,0,255,0.01]]],62,9116,[[2],[3],[1],[180],[1],[0],[0]],[[0]],[0,"Default",0,1]],[[3120,4664,0,8,64,0,0.7853981852531433,1,0.5,0.5,0,0,[[255,255,255,255,128,64,0.01]]],62,9119,[[2],[3],[1],[180],[1],[0],[0]],[[0]],[0,"Default",0,1]],[[3376,4664,0,8,64,0,2.356194496154785,1,0.5,0.5,0,0,[[255,255,255,128,128,0,0.01]]],62,9120,[[2],[3],[1],[180],[1],[0],[0]],[[0]],[0,"Default",0,1]],[[3368,4912,0,8,64,0,-2.356194734573364,1,0.5,0.5,0,0,[[255,255,255,128,0,128,0.01]]],62,9121,[[2],[3],[1],[180],[1],[0],[0]],[[0]],[0,"Default",0,1]],[[3448,4784,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,128,128,0.01]]],62,9122,[[2],[3],[1],[180],[1],[0],[0]],[[0]],[0,"Default",0,1]],[[3248,4952,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,9123,[[2],[3],[1],[180],[1],[0],[0]],[[0]],[0,"Default",0,1]],[[3112,4904,0,8,64,0,-0.7853984832763672,1,0.5,0.5,0,0,[[255,255,255,64,128,254,0.01]]],62,9124,[[2],[3],[1],[180],[1],[0],[0]],[[0]],[0,"Default",0,1]],[[3248,4608,0,8,64,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,9125,[[2],[3],[1],[180],[1],[0],[0]],[[0]],[0,"Default",0,1]],[[2912,4816,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5637,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2880,4816,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5690,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[12664,7432,0,7616,2000,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,5691,[],[[0]],[0,"Default",0,1]],[[3584,5728,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,616,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[984,4232,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,9482,[],[[0]],[0,"Default",0,1]]],[]],["UI",2,135513035952652,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,609446679384279,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,465987659402152,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,355623847660788,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,703769209260174,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,965929824738346,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,519837975044530,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 42",4000,6000,true,"Levels",519431428177721,[["Background",0,699466948675174,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,945874169754056,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[2400,4840,0,58.44655609130859,58.44655609130859,0,0,1,0.5,0.5,0,0,[]],53,9126,[["Procedural"],[""],[0]],[],[1,"Default",0,1]],[[2136,4800,0,288,117,0,0,1,0,0,0,0,[[]]],61,9127,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]],[[1752,4904,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,9128,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[920,4992,0,3472,840,0,0,1,0,0,0,0,[]],67,9129,[],[[1]],[0,0]],[[1688.000122070313,3360,0,1640,776,0,1.570796370506287,1,0,0,0,0,[]],67,9131,[],[[1]],[0,0]],[[2144,3704,0,1288,8,0,1.570796370506287,1,0,0,0,0,[]],67,9132,[],[[1]],[0,0]],[[2936,3704,0,1392,1024,0,0,1,0,0,0,0,[]],67,9133,[],[[1]],[0,0]],[[4360,4720,0,280,960,0,1.570796370506287,1,0,0,0,0,[]],67,9134,[],[[1]],[0,0]],[[2944,3712,0,1016,8,0,1.570796370506287,1,0,0,0,0,[]],67,9135,[],[[1]],[0,0]],[[1472,3032,0,2848,680,0,0,1,0,0,0,0,[]],67,9136,[],[[1]],[0,0]],[[2072,4720,0,688,8,0,0,1,0,0,0,0,[]],67,9137,[],[[1]],[0,0]],[[2552,4720,0,272,8,0,1.570796370506287,1,0,0,0,0,[]],67,9138,[],[[1]],[0,0]],[[2336,3976,0,744,8,0,1.570796370506287,1,0,0,0,0,[]],67,9139,[],[[1]],[0,0]],[[2760,3976,0,744,8,0,1.570796370506287,1,0,0,0,0,[]],67,9140,[],[[1]],[0,0]],[[2328,3976,0,424,8,0,0,1,0,0,0,0,[]],67,9141,[],[[1]],[0,0]],[[2544,4512,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,9142,[["level42"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[2352,4704,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9143,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2384,4704,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9144,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2416,4704,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9145,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2448,4704,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9146,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2480,4704,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9147,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2512,4704,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9148,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2544,4704,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9149,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2576,4704,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9150,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2608,4704,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9151,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2640,4704,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9152,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2672,4704,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9153,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2704,4704,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9154,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2704,4704,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9155,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2736,4704,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9156,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2548,4000,0,8,280,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,0,0,255,0.01]]],62,9157,[[1],[-1],[0],[0],[0],[0],[0]],[[0]],[1,"Default",0,1]],[[2544,4672,0,8,136,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,0,0,255,0.01]]],62,9158,[[2],[10],[0],[0],[0],[0],[0]],[[0]],[1,"Default",0,1]],[[2552,4568,0,72,16,0,1.570796370506287,1,0,0,0,0,[]],46,9159,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","-->",1,0,50,0,0,0,0,0,"",-1,0]],[[2848,4728,0,8,136,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,0,0,255,0.01]]],62,9160,[[10],[-1],[0],[0],[0],[0],[0]],[[0]],[1,"Default",0,1]],[[2540,4864,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,180,128,0,0.01]]],62,9161,[[3],[4],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2184,4716,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,180,128,0,0.01]]],62,9162,[[4],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2432,4976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9163,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2464,4976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9164,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2496,4976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9165,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2528,4976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9166,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,4976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9167,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2336,4976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9168,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2368,4976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9169,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2400,4976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9170,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2432,4744,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9171,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2464,4744,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9172,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2496,4744,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9173,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2528,4744,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9174,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,4744,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9175,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2336,4744,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9176,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2368,4744,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9177,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2400,4744,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9178,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1704,4744,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9179,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1736,4744,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9180,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1768,4744,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9181,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1688,4720,0,96,9,0,0,1,0,0,0,0,[]],51,9182,[],[[0],[1],[1,100,""]],[0,0]],[[1800,4744,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9130,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1832,4744,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9183,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1864,4744,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9184,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1784,4720,0,96,9,0,0,1,0,0,0,0,[]],51,9185,[],[[0],[1],[1,100,""]],[0,0]],[[1880,4489,0,96,112,0,0,1,0,0,0,0,[]],51,9189,[],[[0],[1],[1,100,""]],[0,0]],[[1992,4744,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9190,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2024,4744,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9191,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2056,4744,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9192,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1736,4564,0,344,64,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,9194,[[-1],[0],[0],[0],[0],[-2],[1]],[[1],[1,1,1,1,"F 8 ; B 8; F 24; B 24; F 280; W 5; B 280",2000,1500,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1832,4660,0,152,64,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,9195,[[-1],[0],[0],[0],[0],[-2],[1]],[[1],[1,1,1,1,"F 280 ; W 1; B 280 ; W 1",2000,1500,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1784,4592,0,96,9,0,0,1,0,0,0,0,[]],51,9196,[],[[0],[1],[1,100,""]],[0,0]],[[1800,4576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9197,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1832,4576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9198,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1864,4576,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9199,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1928,4608,0,256,64,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,9200,[[-1],[0],[0],[0],[0],[-2],[1]],[[1],[1,1,1,1,"W 2; F 8 ; B 8; F 24; B 24; F 280 ;W 3; B 280 ",2000,1500,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1880,4720,0,96,272,0,0,1,0,0,0,0,[]],51,9202,[],[[0],[1],[1,100,""]],[0,0]],[[1976,4600,0,96,120,0,0,1,0,0,0,0,[]],51,9203,[],[[0],[1],[1,100,""]],[0,0]],[[1976,4720,0,96,9,0,0,1,0,0,0,0,[]],51,9193,[],[[0],[1],[1,100,""]],[0,0]],[[2016,4728,0,16,64,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,9201,[[-1],[0],[0],[0],[0],[-2],[1]],[[1],[1,1,1,1,"W 3; F 8 ; B 8; F 24; B 24; F 280; W 2; B 280",2000,1500,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1688,4592,0,96,8,0,0,1,0,0,0,0,[]],51,9204,[],[[0],[1],[1,100,""]],[0,0]],[[1704,4416,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9205,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1736,4416,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9206,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1768,4416,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9207,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1688,3697,0,96,704,0,0,1,0,0,0,0,[]],51,9208,[],[[0],[1],[1,100,""]],[0,0]],[[1800,4336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9186,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1832,4336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9187,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1864,4336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9188,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1784,3689,0,360,632,0,0,1,0,0,0,0,[]],51,9209,[],[[0],[1],[1,100,""]],[0,0]],[[1784,4312,0,88,9,0,1.570796370506287,1,0,0,0,0,[]],51,9210,[],[[0],[1],[1,100,""]],[0,0]],[[1688,4392,0,152,9,0,1.570796370506287,1,0,0,0,0,[]],51,9211,[],[[0],[1],[1,100,""]],[0,0]],[[2104,4716,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,0,0,255,0.01]]],62,9213,[[5],[6],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2192,4988,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,0,0,255,0.01]]],62,9214,[[6],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1896,4336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9215,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1928,4336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9216,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1960,4336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9217,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1992,4336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9218,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2024,4336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9219,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2056,4336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9220,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2088,4336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9221,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2120,4336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9222,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2064,4416,0,8,312,0,0,1,0,0,0,0,[]],51,9212,[],[[0],[1],[1,100,""]],[0,0]],[[1928,4472,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,9223,[[0.3],[0]],[[1]],[0,"Default",0,1]],[[2088,5016,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9224,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2120,5016,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9225,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,5032,0,64,248,0,0,1,0,0,0,0,[]],51,9226,[],[[0],[1],[1,100,""]],[0,0]],[[2104,5032,0,16,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9227,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,1,"W 5; F 280",500,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2280,4704,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,9228,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[2184,4456,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,9229,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[2248,4200,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,9230,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[2184,4032,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,9231,[[0.4],[0]],[[0]],[0,"Default",0,1]],[[2184,4224,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9232,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2184,4192,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9233,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2256,4464,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9234,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2288,4464,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9235,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2248,4040,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9236,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2280,4040,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9237,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2160,3728,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9238,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2192,3728,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9239,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2224,3728,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9240,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2256,3728,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9241,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2288,3728,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9242,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2472,3960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9243,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2504,3960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9244,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2536,3960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9245,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2568,3960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9246,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2600,3960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9247,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2536,3784,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,9248,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2536,3784,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,9249,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2536,3832,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9250,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2536,3736,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9251,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2584,3784,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9252,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2488,3784,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9253,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2560,3760,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,9254,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2560,3808,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,9255,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2512,3808,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,9256,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2512,3760,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,9257,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2776,4008,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9258,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2808,4040,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9259,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2920,4008,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9262,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2904,4024,0,32,640,0,0,1,0,0,0,0,[]],67,9260,[],[[1]],[0,0]],[[2760,4024,0,32,640,0,0,1,0,0,0,0,[]],67,9263,[],[[1]],[0,0]],[[2808,4072,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9264,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2808,4104,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9261,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2808,4136,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9265,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2808,4168,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9266,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2808,4200,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9267,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2808,4232,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9268,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2808,4264,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9269,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2808,4296,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9270,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2808,4328,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9271,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2808,4360,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9272,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2808,4392,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9273,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2808,4424,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9274,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2808,4456,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9275,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2808,4488,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9276,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2808,4520,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9277,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2808,4552,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9278,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2808,4584,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9279,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2808,4616,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9280,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2808,4648,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9281,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4040,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9282,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4072,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9283,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4104,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9284,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4136,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9285,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4168,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9286,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4200,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9287,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4232,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9288,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4264,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9289,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4296,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9290,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4328,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9291,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4360,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9292,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4392,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9293,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4424,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9294,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4456,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9295,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4488,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9296,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4520,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9297,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4552,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9298,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4584,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9299,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4616,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9300,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2888,4648,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9301,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2616,4936,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9302,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2648,4936,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9303,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2680,4936,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9304,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3296,4896,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,9305,[],[[0]],[0,"Default",0,1]],[[2600,4912,0,96,8,0,0,1,0,0,0,0,[]],67,9306,[],[[1]],[0,0]],[[2600,4728,0,96,120,0,0,1,0,0,0,0,[]],67,9307,[],[[1]],[0,0]],[[2371.5,4893,0,96,72,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,9308,[],[[0]],[0,"Default",0,1]],[[2592,4880,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,0,0,255,0.01]]],62,9309,[[7],[1],[0],[0],[0],[0],[0]],[[0]],[1,"Default",0,1]],[[2992,4976,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9310,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[3120,4944,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9311,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[3024,4968,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9312,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[3056,4960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9313,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[3088,4952,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9314,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2992,4864,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9315,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[3120,4832,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9316,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[3024,4856,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9317,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[3056,4848,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9318,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[3088,4840,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9319,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[3020,4908,0,160,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,9330,[[-1],[0],[0],[0],[0],[10],[1]],[[0],[1,1,1,0,"F 120 ; W 1 ; B 120; W 1",120,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3092,4896,0,152,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,9331,[[-1],[0],[0],[0],[0],[10],[1]],[[0],[1,1,1,0,"F 120 ; W 1 ; B 120; W 1",120,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3008,4984,0,32,168,0,0,1,0,0,0,0,[]],51,9332,[],[[0],[1],[1,100,""]],[0,0]],[[3072,4968,0,32,168,0,0,1,0,0,0,0,[]],51,9321,[],[[0],[1],[1,100,""]],[0,0]],[[3008,4672,0,32,168,0,0,1,0,0,0,0,[]],51,9323,[],[[0],[1],[1,100,""]],[0,0]],[[3072,4656,0,32,168,0,0,1,0,0,0,0,[]],51,9325,[],[[0],[1],[1,100,""]],[0,0]],[[2992,4920,0,160,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9326,[[-1],[0],[0],[0],[0],[10],[1]],[[0],[1,1,1,0,"F 120 ; W 1 ; B 120; W 1",120,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3056,4904,0,160,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9333,[[-1],[0],[0],[0],[0],[10],[1]],[[0],[1,1,1,0,"F 120 ; W 1 ; B 120; W 1",120,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3120,4888,0,160,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9334,[[-1],[0],[0],[0],[0],[10],[1]],[[0],[1,1,1,0,"F 120 ; W 1 ; B 120; W 1",120,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2976,4680,0,32,168,0,0,1,0,0,0,0,[]],51,9320,[],[[0],[1],[1,100,""]],[0,0]],[[3040,4664,0,32,168,0,0,1,0,0,0,0,[]],51,9322,[],[[0],[1],[1,100,""]],[0,0]],[[3104,4648,0,32,168,0,0,1,0,0,0,0,[]],51,9324,[],[[0],[1],[1,100,""]],[0,0]],[[3104,4960,0,32,168,0,0,1,0,0,0,0,[]],51,9327,[],[[0],[1],[1,100,""]],[0,0]],[[3040,4976,0,32,168,0,0,1,0,0,0,0,[]],51,9328,[],[[0],[1],[1,100,""]],[0,0]],[[2976,4992,0,32,168,0,0,1,0,0,0,0,[]],51,9329,[],[[0],[1],[1,100,""]],[0,0]],[[2616,4972,0,32,40,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9335,[[0],[0]],[[0],[1]],[1,"Default",0,1]],[[2648,4976,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,9336,[],[[0]],[0,"Default",0,1]]],[]],["UI",2,929925553792991,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,710558450231036,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,185760532634187,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,593150508090646,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,856238588407811,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,622522168125926,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,413146262648545,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 43",4000,6000,true,"Levels",834474653129765,[["Background",0,918627232329025,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,949604115452391,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[976,2040,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1023,[["Hysterical Quadrilateral"],[""],[0]],[],[1,"Default",0,1]],[[784,2488,0,472,9,0,0,1,0,0,0,0,[]],51,1030,[],[[0],[1],[1,100,""]],[0,0]],[[944,2432,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,9338,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[1376,2808,0,72,40,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9339,[[-1],[0],[1],[0],[0],[1],[0]],[[0],[1,0,1,1,"F 100",75,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1247,2856,0,1096,22,0,0,1,0,0,0,0,[]],51,9340,[],[[0],[1],[1,100,""]],[0,0]],[[1264,1840,0,520,24,0,1.570796370506287,1,0,0,0,0,[]],51,9341,[],[[0],[1],[1,100,""]],[0,0]],[[1247,1840,0,1096,22,0,0,1,0,0,0,0,[]],51,9342,[],[[0],[1],[1,100,""]],[0,0]],[[2344,1840,0,552,24,0,1.570796370506287,1,0,0,0,0,[]],51,9343,[],[[0],[1],[1,100,""]],[0,0]],[[1264,2488,0,389.8591613769531,23.31147575378418,0,1.570796370506287,1,0,0,0,0,[]],51,9344,[],[[0],[1],[1,100,""]],[0,0]],[[1264,2752,0,920,9,0,0,1,0,0,0,0,[]],51,9345,[],[[0],[1],[1,100,""]],[0,0]],[[1312,2808,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,9346,[[2],[1],[0],[-1],[-1],[999],[0]],[[1],[]],[0,"Default",0,1]],[[1384,2776,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9347,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1384,2808,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9348,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1384,2840,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9349,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1368,2760,0,96,9,0,1.570796370506287,1,0,0,0,0,[]],51,9350,[],[[0],[1],[1,100,""]],[0,0]],[[2272,2336,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,9351,[[1],[1],[0],[-1],[-1],[999],[0]],[[1],[]],[0,"Default",0,1]],[[2176,2376,0,160,9,0,0,1,0,0,0,0,[]],51,9352,[],[[0],[1],[1,100,""]],[0,0]],[[2176,2280,0,160,9,0,0,1,0,0,0,0,[]],51,9353,[],[[0],[1],[1,100,""]],[0,0]],[[1752,2400,0,96,8,0,0,1,0,0,0,0,[]],45,9358,[],[[1],[1]],[0,0]],[[1264,2488,0,160,9,0,0,1,0,0,0,0,[]],51,9359,[],[[0],[1],[1,100,""]],[0,0]],[[1264,2352,0,176,8,0,0,1,0,0,0,0,[]],51,9360,[],[[0],[1],[1,100,""]],[0,0]],[[1272,2472,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9361,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1424,2376,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9362,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1392,2376,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9363,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1672,1056,0,680,9,0,1.570796370506287,1,0,0,0,0,[]],51,9364,[],[[0],[1],[1,100,""]],[0,0]],[[1824,1312,0,424,9,0,1.570796370506287,1,0,0,0,0,[]],51,9365,[],[[0],[1],[1,100,""]],[0,0]],[[1672,1728,0,40,8,0,0,1,0,0,0,0,[]],51,9366,[],[[0],[1],[1,100,""]],[0,0]],[[1968,2088,0,624,9,0,1.570796370506287,1,0,0,0,0,[]],51,9368,[],[[0],[1],[1,100,""]],[0,0]],[[1968,2712,0,40,8,0,1.570796370506287,1,0,0,0,0,[]],45,9369,[],[[1],[1]],[0,0]],[[1968,2640,0,354,9,0,0,1,0,0,0,0,[]],51,9370,[],[[0],[1],[1,100,""]],[0,0]],[[1984,2664,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9371,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2016,2664,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9372,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2048,2664,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9373,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2080,2664,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9374,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2112,2664,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9375,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2144,2664,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9376,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2176,2664,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9377,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2208,2664,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9378,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2240,2664,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9379,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2272,2664,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9380,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,2664,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9381,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,2408,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9383,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,2440,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9384,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,2472,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9385,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,2504,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9386,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,2536,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9387,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,2568,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9388,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,2600,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9389,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,1880,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9390,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,1912,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9391,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,1944,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9392,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,1976,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9393,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,2008,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9394,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,2040,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9395,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,2072,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9396,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,2104,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9397,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,2136,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9398,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,2168,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9399,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,2200,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9400,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,2232,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9401,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2304,2264,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9402,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2168,1856,0,320,8,0,1.570796370506287,1,0,0,0,0,[]],51,9403,[],[[0],[1],[1,100,""]],[0,0]],[[1968,1856,0,128,9,0,1.570796370506287,1,0,0,0,0,[]],51,9405,[],[[0],[1],[1,100,""]],[0,0]],[[1959,1984,0,9,104,0,0,1,0,0,0,0,[]],48,9406,[],[[1],[1]],[0,0]],[[1800,2504,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,9407,[[3],[1],[0],[-1],[-1],[999],[0]],[[1],[]],[0,"Default",0,1]],[[1960,2040,0,32,72,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9408,[[-1],[0],[1],[0],[0],[3],[0]],[[0],[1,0,1,1,"B 140",75,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1344,1944,0,312,9,0,1.570796370506287,1,0,0,0,0,[]],51,9410,[],[[0],[1],[1,100,""]],[0,0]],[[1472,1936,0,320,9,0,1.570796370506287,1,0,0,0,0,[]],51,9411,[],[[0],[1],[1,100,""]],[0,0]],[[1712,1872,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9412,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1680,1872,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9413,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1648,1872,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9414,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1616,1872,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9415,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1584,1872,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9416,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1552,1872,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9417,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1448,2240,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9418,[[0],[1]],[[1],[1]],[0,"Default",0,1]],[[1360,2000,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9419,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1488,2016,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9420,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1488,2048,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9421,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1488,2080,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9422,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1488,2112,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9423,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1488,2144,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9424,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1488,2176,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9425,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1488,2208,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9426,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1488,2240,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9427,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1280,2016,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9428,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1280,2048,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9429,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1280,2080,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9430,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1280,2112,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9431,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1280,2144,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9432,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1280,2176,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9433,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1280,2208,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9434,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1280,2240,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9435,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1920,1216,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,9436,[],[[0]],[0,"Default",0,1]],[[1816,1312,0,168,9,0,0,1,0,0,0,0,[]],51,9437,[],[[0],[1],[1,100,""]],[0,0]],[[1816,1728,0,9,144,0,1.570796370506287,1,0,0,0,0,[]],48,9438,[],[[1],[1]],[0,0]],[[1768,1728,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9439,[[-1],[0],[0],[0],[0],[2],[0]],[[0],[1,0,1,1,"F 260",75,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1248,1936,0,96,9,0,0,1,0,0,0,0,[]],51,9442,[],[[0],[1],[1,100,""]],[0,0]],[[2184,2288,0,88,8,0,1.570796370506287,1,0,0,0,0,[]],45,9444,[],[[1],[1]],[0,0]],[[2240,2504,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,9446,[["level43"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[904,2328,0,288,117,0,0,1,0,0,0,0,[[]]],61,9447,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,80,0,0,0,0,0,"",-1,0]],[[1800,2536,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,0,0,255,0.01]]],62,9337,[[1],[2],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1268,2312,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,0,0,255,0.01]]],62,9357,[[2],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1467,1898,0,8,72,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,64,128,0.64]]],62,9367,[[3],[4],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1824,2080,0,8,64,0,-0.8113609552383423,1,0.5,0.5,0,0,[[255,255,255,0,64,128,0.64]]],62,9404,[[4],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2316,2336,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,64,128,0.64]]],62,9382,[[5],[6],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1268,2568,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,0,64,128,0.64]]],62,9409,[[6],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1272,2816,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,0,64,128,0.64]]],62,9440,[[7],[8],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1744,1832,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,0,64,128,0.64]]],62,9441,[[8],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1776,1552,0,40,9,0,0,1,0,0,0,0,[]],51,9443,[],[[0],[1],[1,100,""]],[0,0]],[[1672,1376,0,40,9,0,0,1,0,0,0,0,[]],51,9445,[],[[0],[1],[1,100,""]],[0,0]],[[1736,2384,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1648,[[0],[1]],[[1],[1]],[0,"Default",0,1]],[[1864,2384,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,27,[[0],[1]],[[1],[1]],[0,"Default",0,1]],[[1704,2416,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9448,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1704,2448,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9449,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1704,2480,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9450,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1704,2512,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9451,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1704,2544,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9452,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1896,2416,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9458,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1896,2448,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9459,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1896,2480,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9460,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1896,2512,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9461,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1896,2544,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9462,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1728,2400,0,160,9,0,1.570796370506287,1,0,0,0,0,[]],51,9463,[],[[0],[1],[1,100,""]],[0,0]],[[1880,2400,0,160,9,0,1.570796370506287,1,0,0,0,0,[]],51,9464,[],[[0],[1],[1,100,""]],[0,0]],[[1720,2552,0,160,9,0,0,1,0,0,0,0,[]],51,9465,[],[[0],[1],[1,100,""]],[0,0]],[[1720,2400,0,32,9,0,0,1,0,0,0,0,[]],51,9466,[],[[0],[1],[1,100,""]],[0,0]],[[1848,2400,0,32,9,0,0,1,0,0,0,0,[]],51,9467,[],[[0],[1],[1,100,""]],[0,0]],[[1800,2480,0,176,184,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9354,[[-1],[0],[1],[0],[0],[-2],[0]],[[0],[1,1,1,0,"R 90 ; W 1",90,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2344,2616,0,256,24,0,1.570796370506287,1,0,0,0,0,[]],51,9355,[],[[0],[1],[1,100,""]],[0,0]],[[2344,2424,0,32,24,0,1.570796370506287,1,0,0,0,0,[]],51,9453,[],[[0],[1],[1,100,""]],[0,0]],[[2344,2456,0,32,24,0,1.570796370506287,1,0,0,0,0,[]],51,9454,[],[[0],[1],[1,100,""]],[0,0]],[[2344,2488,0,32,24,0,1.570796370506287,1,0,0,0,0,[]],51,9455,[],[[0],[1],[1,100,""]],[0,0]],[[2344,2520,0,32,24,0,1.570796370506287,1,0,0,0,0,[]],51,9456,[],[[0],[1],[1,100,""]],[0,0]],[[2344,2552,0,32,24,0,1.570796370506287,1,0,0,0,0,[]],51,9457,[],[[0],[1],[1,100,""]],[0,0]],[[2312,2408,0,48,16,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,9469,[[-1],[0],[1],[0],[0],[4],[0]],[[0],[1,0,1,1,"W 1.8 ; F 354",350,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2312,2440,0,48,16,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,9470,[[-1],[0],[1],[0],[0],[4],[0]],[[0],[1,0,1,1,"W 1.5 ; F 354",350,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2312,2472,0,48,16,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,9471,[[-1],[0],[1],[0],[0],[4],[0]],[[0],[1,0,1,1,"W 1.2 ; F 354",350,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2312,2504,0,48,16,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,9472,[[-1],[0],[1],[0],[0],[4],[0]],[[0],[1,0,1,1,"W 0.9 ; F 354",350,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2312,2536,0,48,16,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,9473,[[-1],[0],[1],[0],[0],[4],[0]],[[0],[1,0,1,1,"W 0.6 ; F 354",350,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2312,2568,0,48,16,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,9474,[[-1],[0],[1],[0],[0],[4],[0]],[[0],[1,0,1,1,"W 0.3 ; F 354",350,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2312,2600,0,48,16,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,9475,[[-1],[0],[1],[0],[0],[4],[0]],[[0],[1,0,1,1,"F 354",350,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2076,2400,0,216,32,0,0,1,0.5,0.5,0,0,[]],49,9476,[[4],[1],[0],[-1],[-1],[999],[0]],[[1],[]],[1,"Default",0,1]],[[1968,1860,0,192,9,0,0,1,0,0,0,0,[]],51,9477,[],[[0],[1],[1,100,""]],[0,0]],[[1984,1884,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9483,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2016,1884,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9484,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2048,1884,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9485,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2080,1884,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9486,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2112,1884,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9487,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2144,1884,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9488,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2060,1872,0,16,168,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,9478,[[-1],[0],[1],[0],[0],[4],[0]],[[0],[1,0,1,1,"W 1.8 ; F 2000",700,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2696,2392,0,32,376,0,1.570796370506287,1,0,0,0,0,[]],51,9356,[],[[0],[1],[1,100,""]],[0,0]],[[2696,2584,0,32,376,0,1.570796370506287,1,0,0,0,0,[]],51,9468,[],[[0],[1],[1,100,""]],[0,0]],[[2016,2624,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,9479,[],[[0]],[0,"Default",0,1]],[[2240,2504,0,48,48,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,64,128,0.64]]],62,9480,[[9],[10],[0],[0],[0],[0],[0]],[[0]],[1,"Default",0,1]],[[2200,2328,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,0,64,128,0.64]]],62,9481,[[10],[-1],[0],[0],[0],[0],[0]],[[0]],[1,"Default",0,1]]],[]],["UI",2,363436960043808,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,117742741223979,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,709758232316470,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,939930140398242,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,106406460333200,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,202746275491178,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,979487060744780,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 44",3000,4000,true,"Levels",940128557945896,[["Background",0,875059040031753,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,644614945756492,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[200,1808,0,2536,624,0,0,1,0,0,0,0,[]],51,5762,[],[[0],[1],[1,100,""]],[0,0]],[[1784,-456,0,888,1960,0,0,1,0,0,0,0,[]],51,5763,[],[[0],[1],[1,100,""]],[0,0]],[[1032,1496,0,192,9,0,0,1,0,0,0,0,[]],51,5764,[],[[0],[1],[1,100,""]],[0,0]],[[1040,1496,0,320,848,0,1.570796370506287,1,0,0,0,0,[]],51,5765,[],[[0],[1],[1,100,""]],[0,0]],[[2695,1496,0,320,720,0,1.570796370506287,1,0,0,0,0,[]],51,5766,[],[[0],[1],[1,100,""]],[0,0]],[[1780,496,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,1183,[[1],[2],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1224,840,0,560,9,0,0,1,0,0,0,0,[]],51,5739,[],[[0],[1],[1,100,""]],[0,0]],[[1224,1328,0,560,9,0,0,1,0,0,0,0,[]],51,5767,[],[[0],[1],[1,100,""]],[0,0]],[[1224,1496,0,560,9,0,0,1,0,0,0,0,[]],51,5768,[],[[0],[1],[1,100,""]],[0,0]],[[1504,-28,0,56,344,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,69,169,148,0.01]]],62,5558,[[100],[13],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1224,1064,0,432,1032,0,1.570796370506287,1,0,0,0,0,[]],51,5738,[],[[0],[1],[1,100,""]],[0,0]],[[1224,528,0,560,9,0,0,1,0,0,0,0,[]],51,5740,[],[[0],[1],[1,100,""]],[0,0]],[[1504,96,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,5744,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[1520,704,0,1104,9,0,1.570796370506287,1,0,0,0,0,[]],51,5745,[],[[0],[1],[1,100,""]],[0,0]],[[1216,528,0,48,8,0,0,1,0,0,0,0,[]],45,5746,[],[[0],[1]],[0,0]],[[1160,-112,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1087,[["Back-propagation"],[""],[0]],[],[1,"Default",0,1]],[[1524,569,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,5769,[[2],[0],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1536,824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5770,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1568,824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5771,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5772,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1632,824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5773,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1664,824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5774,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1696,824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5775,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1728,824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5776,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1760,824,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5777,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1520,800,0,48,8,0,0,1,0,0,0,0,[]],45,5778,[],[[0],[1]],[0,0]],[[1536,616,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5779,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1524,736,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,5781,[[3],[4],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1784,880,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,5782,[[4],[0],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1640,968,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5783,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,968,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5784,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1704,968,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5785,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1736,968,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5786,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1768,968,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5787,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1624,984,0,160,9,0,0,1,0,0,0,0,[]],51,5788,[],[[0],[1],[1,100,""]],[0,0]],[[1520,1080,0,160,9,0,0,1,0,0,0,0,[]],51,5789,[],[[0],[1],[1,100,""]],[0,0]],[[1616,1176,0,168,9,0,0,1,0,0,0,0,[]],51,5790,[],[[0],[1],[1,100,""]],[0,0]],[[1520,1176,0,64,9,0,0,1,0,0,0,0,[]],51,5791,[],[[0],[1],[1,100,""]],[0,0]],[[1520,1272,0,192,8,0,0,1,0,0,0,0,[]],51,5792,[],[[0],[1],[1,100,""]],[0,0]],[[1640,1008,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,5793,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,1008,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,5794,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1768,1008,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,5795,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1768,1040,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,5796,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1768,1072,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,5797,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1780,1144,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,5800,[[5],[6],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1523,1144,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,5801,[[6],[0],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1520,1192,0,32,16,0,0,1,0.125,0.5,0,0,[]],55,5802,[[1],[100]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1552,1324,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,5803,[[7],[8],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1552,1341,0,8,64,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,5804,[[8],[0],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1752,1341,0,8,64,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,5780,[[9],[10],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1536,1480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5805,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1568,1480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5806,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,1480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5807,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1632,1480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5808,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1664,1480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5809,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1256,1492,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,5810,[[10],[0],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1507,1400,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,5811,[[11],[12],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1432,1480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5812,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,1480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5813,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1496,1480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5814,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1336,1480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5815,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1368,1480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5816,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1400,1480,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5817,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1044,1576,0,-8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,5818,[[12],[0],[0],[-15],[0],[660],[1]],[[0]],[0,"Default",0,1]],[[320,1664,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5819,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1056,1672,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5820,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1088,1672,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5821,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1120,1672,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5822,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1152,1672,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5823,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1184,1688,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5824,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1216,1704,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5825,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1248,1736,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5826,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1040,1688,0,128,9,0,0,1,0,0,0,0,[]],51,5827,[],[[0],[1],[1,100,""]],[0,0]],[[1160,1704,0,40,9,0,0,1,0,0,0,0,[]],51,5828,[],[[0],[1],[1,100,""]],[0,0]],[[1192,1720,0,40,9,0,0,1,0,0,0,0,[]],51,5829,[],[[0],[1],[1,100,""]],[0,0]],[[1168,1696,0,16,9,0,1.570796370506287,1,0,0,0,0,[]],51,5830,[],[[0],[1],[1,100,""]],[0,0]],[[1200,1712,0,16,9,0,1.570796370506287,1,0,0,0,0,[]],51,5831,[],[[0],[1],[1,100,""]],[0,0]],[[1232,1728,0,24,9,0,1.570796370506287,1,0,0,0,0,[]],51,5832,[],[[0],[1],[1,100,""]],[0,0]],[[1496,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,5833,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,5834,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1432,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,5835,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1400,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,5836,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1368,1616,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,5837,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1336,1600,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,5838,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1304,1568,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,5839,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1512,1624,0,128,9,0,3.141592741012573,1,0,0,0,0,[]],51,5840,[],[[0],[1],[1,100,""]],[0,0]],[[1392,1600,0,40,9,0,3.141592741012573,1,0,0,0,0,[]],51,5841,[],[[0],[1],[1,100,""]],[0,0]],[[1360,1584,0,40,9,0,3.141592741012573,1,0,0,0,0,[]],51,5842,[],[[0],[1],[1,100,""]],[0,0]],[[1384,1616,0,24,9,0,-1.570796489715576,1,0,0,0,0,[]],51,5843,[],[[0],[1],[1,100,""]],[0,0]],[[1352,1592,0,16,9,0,-1.570796489715576,1,0,0,0,0,[]],51,5844,[],[[0],[1],[1,100,""]],[0,0]],[[1320,1576,0,24,9,0,-1.570796489715576,1,0,0,0,0,[]],51,5845,[],[[0],[1],[1,100,""]],[0,0]],[[1043,1763,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,5846,[[13],[14],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1507,1564,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,5847,[[14],[19],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1424,1509,0,8,64,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,5848,[[15],[16],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1560,1509,0,8,64,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,5849,[[16],[0],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1608,1808,0,232,9,0,-1.570796489715576,1,0,0,0,0,[]],51,5850,[],[[0],[1],[1,100,""]],[0,0]],[[1560,1805,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,5851,[[17],[18],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1661,1805,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,5852,[[18],[0],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1520,1688,0,88,8,0,0,1,0,0,0,0,[]],45,5853,[],[[0],[1]],[0,0]],[[1192,1000,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,6654,[[19],[14],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1224,56,0,880,1040,0,1.570796370506287,1,0,0,0,0,[]],51,6655,[],[[0],[1],[1,100,""]],[0,0]],[[1368,1312,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,6659,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1520,631,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],45,6660,[],[[0],[1]],[0,0]],[[1520,536,0,96,9,0,1.570796370506287,1,0,0,0,0,[]],51,6661,[],[[0],[1],[1,100,""]],[0,0]],[[1508.06396484375,808,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,6662,[[20],[6],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1904,1712,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,5741,[],[[0]],[0,"Default",0,1]],[[1152,856,0,320,848,0,1.570796370506287,1,0,0,0,0,[]],51,5742,[],[[0],[1],[1,100,""]],[0,0]],[[1624,1089,0,96,9,0,1.570796370506287,1,0,0,0,0,[]],51,2793,[],[[0],[1],[1,100,""]],[0,0]],[[1368,1048,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,1781,[["level44"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[1376,288,0,288,117,0,0,1,0,0,0,0,[[]]],61,923,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]]],[]],["UI",2,485849265835669,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,204491401402189,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,217650984308533,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,172138655242600,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,347587970123259,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,957303031285180,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,484129200767025,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 45",3000,4000,true,"Levels",366769671547932,[["Background",0,133379217528497,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,994786212026008,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[2684,3048,0,3224,3032,0,0,1,0.5,0.5,0,0,[]],164,1777,[],[],[0,"Default",0,1]],[[2744,780,0,1648,1784,0,0,1,0.5,0.5,0,0,[]],164,5874,[],[],[0,"Default",0,1]],[[968,1144,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,5877,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[1,0],[0,10000,360,1]],[1,"Default",0,1]],[[208,736,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,5895,[["Arithmetic"],[""],[0]],[],[1,"Default",0,1]],[[320,1664,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5946,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[864,1216,0,1656,464,0,0,1,0,0,0,0,[]],51,5861,[],[[0],[1],[1,100,""]],[0,0]],[[2512,166,0,1056,600,0,1.570796370506287,1,0,0,0,0,[]],51,5862,[],[[0],[1],[1,100,""]],[0,0]],[[872,712,0,976,600,0,1.570796370506287,1,0,0,0,0,[]],51,5864,[],[[0],[1],[1,100,""]],[0,0]],[[864,952,0,1056,9,0,0,1,0,0,0,0,[]],51,5865,[],[[0],[1],[1,100,""]],[0,0]],[[1128,1212,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,5878,[[1],[2],[0],[0],[1],[0],[0]],[[0]],[0,"Default",0,1]],[[1144,968,0,8,64,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,5743,[[2],[0],[0],[0],[1],[0],[0]],[[0]],[0,"Default",0,1]],[[1376,1212,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,5747,[[1],[3],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1600,1212,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,5748,[[1],[4],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1808,1212,0,8,-64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,5749,[[5],[0],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1376,968,0,8,64,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,5750,[[3],[0],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1600,968,0,8,64,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,5751,[[4],[0],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1784,968,0,8,64,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,5752,[[1],[5],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1312,960,0,128,9,0,1.570796370506287,1,0,0,0,0,[]],51,5753,[],[[0],[1],[1,100,""]],[0,0]],[[1304,1080,0,128,9,0,0,1,0,0,0,0,[]],51,5754,[],[[0],[1],[1,100,""]],[0,0]],[[1432,1080,0,104,9,0,1.570796370506287,1,0,0,0,0,[]],51,5755,[],[[0],[1],[1,100,""]],[0,0]],[[1544,1056,0,112,9,0,0,1,0,0,0,0,[]],51,5756,[],[[0],[1],[1,100,""]],[0,0]],[[1552,960,0,104,9,0,1.570796370506287,1,0,0,0,0,[]],51,5757,[],[[0],[1],[1,100,""]],[0,0]],[[1656,840,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,5758,[],[[0],[1],[1,100,""]],[0,0]],[[1728,1200,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,5759,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1192,1080,0,136,9,0,1.570796370506287,1,0,0,0,0,[]],51,5760,[],[[0],[1],[1,100,""]],[0,0]],[[1088,1080,0,104,9,0,0,1,0,0,0,0,[]],51,5761,[],[[0],[1],[1,100,""]],[0,0]],[[1096,960,0,128,9,0,1.570796370506287,1,0,0,0,0,[]],51,5870,[],[[0],[1],[1,100,""]],[0,0]],[[1896,1064,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6665,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1896,1096,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6666,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1896,1128,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6667,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1896,1160,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6668,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1168,1104,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6669,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1168,1136,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6670,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1168,1168,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6671,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1072,976,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6672,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1072,1008,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6673,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1072,1040,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6674,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1288,1008,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6675,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1288,1040,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6676,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1208,1104,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6678,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1208,1136,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6679,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1208,1168,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6680,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1408,1104,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6682,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1408,1136,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6683,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1408,1168,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6684,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1328,1200,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6681,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1416,1064,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6685,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1328,1064,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6686,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1568,1040,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6687,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1632,1040,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6688,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,1040,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6689,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1448,1104,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6690,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1448,1136,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6691,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1480,1200,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6692,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,976,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6693,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,1008,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6694,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,1040,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6695,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,1184,0,32,40,0,1.570796370506287,1,0,0,0,0,[]],51,6696,[],[[0],[1],[1,100,""]],[0,0]],[[1760,1200,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6697,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1904,1016,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,128,255,0.01]]],62,6663,[[1],[6],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1896,888,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,128,255,0.01]]],62,6664,[[6],[0],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1856,1200,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6698,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,976,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6699,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1704,976,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6700,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1832,976,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6701,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1072,1072,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,5863,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1288,976,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,5866,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1168,1200,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,5867,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1208,1200,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5868,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1408,1200,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,5869,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1448,1168,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,5871,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1896,1192,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,5872,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1648,784,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,255,128,255,0.01]]],62,6072,[[7],[8],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1448,784,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,255,128,255,0.01]]],62,5873,[[8],[0],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1448,872,0,80,9,0,0,1,0,0,0,0,[]],51,6071,[],[[0],[1],[1,100,""]],[0,0]],[[1456,872,0,80,9,0,1.570796370506287,1,0,0,0,0,[]],51,6073,[],[[0],[1],[1,100,""]],[0,0]],[[1472,856,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6677,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1504,856,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6702,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,864,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6703,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,896,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6704,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1672,928,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6705,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[272,161,0,1640,560,0,0,1,0,0,0,0,[]],51,6706,[],[[0],[1],[1,100,""]],[0,0]],[[1464,920,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,255,128,255,0.01]]],62,6707,[[10],[9],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1352,944,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,255,128,255,0.01]]],62,6708,[[9],[10],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1264,936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6709,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1296,936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6710,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6711,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1232,936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6712,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6713,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1168,936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6714,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,768,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6715,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1168,768,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6716,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,768,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6717,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1232,768,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6718,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1264,768,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6719,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1296,768,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6720,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1120,721,0,192,32,0,0,1,0,0,0,0,[]],51,6721,[],[[0],[1],[1,100,""]],[0,0]],[[1400,936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6722,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1432,936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6723,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,864,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,255,128,255,0.01]]],62,6724,[[1],[11],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2776,56,0,8,64,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,255,128,255,0.01]]],62,6725,[[11],[0],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2704,72,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,5875,[[0]],[[1],[1]],[0,"Default",0,1]],[[2768,3696,0,152,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,5880,[],[[0]],[0,"Default",0,1]],[[2684,56,0,8,792,0,0,0.699999988079071,0,0,0,0,[]],56,5881,[],[[1],[1]],[0,0]],[[2852,72,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,5882,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,96,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,5883,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,120,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,5884,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,144,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,5885,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,168,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,5886,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,192,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,5887,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,216,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,5888,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,240,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,5889,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,264,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,5890,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,288,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,5891,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,312,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,5892,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,336,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,5893,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,360,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,5894,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,384,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6726,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,408,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6727,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,432,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6728,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,456,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6729,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,480,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6730,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,504,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6731,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,528,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6732,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,552,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6733,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,576,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6734,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,600,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6735,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,624,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6736,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,648,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6737,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,672,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6738,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,696,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6739,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,720,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6740,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,744,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6741,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,768,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6742,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,792,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6743,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,816,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6744,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,72,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6745,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,96,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6746,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,120,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6747,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,144,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6748,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,168,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6749,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,192,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6750,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,216,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6751,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,240,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6752,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,264,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6753,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,288,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6754,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,312,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6755,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,336,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6756,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,360,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6757,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,384,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6758,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,408,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6759,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,432,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6760,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,456,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6761,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,480,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6762,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,504,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6763,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,528,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6764,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,552,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6765,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,576,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6766,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,600,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6767,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,624,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6768,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,648,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6769,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,672,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6770,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,696,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6771,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,720,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6772,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,744,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6773,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,768,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6774,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,792,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6775,[[0]],[[1],[1]],[0,"Default",0,1]],[[2852,816,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6776,[[0]],[[1],[1]],[0,"Default",0,1]],[[2864,56,0,8,792,0,0,0.699999988079071,0,0,0,0,[]],56,5876,[],[[1],[1]],[0,0]],[[2744,872,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6777,[[0]],[[1],[1]],[0,"Default",0,1]],[[2724,848,0,8,792,0,0,0.699999988079071,0,0,0,0,[]],56,6778,[],[[1],[1]],[0,0]],[[2872,872,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6779,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,896,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6780,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,920,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6781,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,944,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6782,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,968,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6783,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,992,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6784,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1016,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6785,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1040,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6786,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1064,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6787,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1088,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6788,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1112,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6789,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1136,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6790,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1160,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6791,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1184,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6792,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1208,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6793,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1232,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6794,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1256,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6795,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1280,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6796,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1304,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6797,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1328,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6798,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1352,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6799,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1376,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6800,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1400,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6801,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1424,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6802,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1448,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6803,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1472,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6804,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1496,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6805,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1520,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6806,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1544,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6807,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1568,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6808,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1592,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6809,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,1616,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6810,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,872,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6811,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,896,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6812,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,920,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6813,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,944,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6814,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,968,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6815,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,992,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6816,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1016,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6817,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1040,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6818,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1064,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6819,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1088,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6820,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1112,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6821,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1136,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6822,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1160,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6823,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1184,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6824,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1208,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6825,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1232,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6826,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1256,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6827,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1280,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6828,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1304,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6829,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1328,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6830,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1352,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6831,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1376,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6832,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1400,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6833,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1424,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6834,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1448,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6835,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1472,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6836,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1496,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6837,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1520,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6838,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1544,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6839,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1568,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6840,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1592,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6841,[[0]],[[1],[1]],[0,"Default",0,1]],[[2872,1616,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6842,[[0]],[[1],[1]],[0,"Default",0,1]],[[2884,856,0,8,784,0,0,0.699999988079071,0,0,0,0,[]],56,6843,[],[[1],[1]],[0,0]],[[2704,1664,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6844,[[0]],[[1],[1]],[0,"Default",0,1]],[[2684,1648,0,8,776,0,0,0.699999988079071,0,0,0,0,[]],56,6845,[],[[1],[1]],[0,0]],[[2816,1664,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6846,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,1688,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6847,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,1712,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6848,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,1736,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6849,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,1760,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6850,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,1784,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6851,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,1808,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6852,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,1832,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6853,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,1856,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6854,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,1880,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6855,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,1904,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6856,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,1928,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6857,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,1952,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6858,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,1976,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6859,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,2000,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6860,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,2024,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6861,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,2048,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6862,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,2072,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6863,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,2096,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6864,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,2120,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6865,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,2144,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6866,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,2168,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6867,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,2192,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6868,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,2216,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6869,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,2240,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6870,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,2264,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6871,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,2288,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6872,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,2312,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6873,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,2336,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6874,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,2360,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6875,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,2384,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6876,[[0]],[[1],[1]],[0,"Default",0,1]],[[2704,2408,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6877,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,1664,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6878,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,1688,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6879,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,1712,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6880,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,1736,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6881,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,1760,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6882,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,1784,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6883,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,1808,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6884,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,1832,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6885,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,1856,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6886,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,1880,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6887,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,1904,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6888,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,1928,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6889,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,1952,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6890,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,1976,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6891,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,2000,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6892,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,2024,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6893,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,2048,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6894,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,2072,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6895,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,2096,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6896,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,2120,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6897,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,2144,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6898,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,2168,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6899,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,2192,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6900,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,2216,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6901,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,2240,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6902,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,2264,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6903,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,2288,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6904,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,2312,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6905,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,2336,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6906,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,2360,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6907,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,2384,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6908,[[0]],[[1],[1]],[0,"Default",0,1]],[[2816,2408,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6909,[[0]],[[1],[1]],[0,"Default",0,1]],[[2828,1648,0,8,776,0,0,0.699999988079071,0,0,0,0,[]],56,6910,[],[[1],[1]],[0,0]],[[2744,2456,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6911,[[0]],[[1],[1]],[0,"Default",0,1]],[[2724,2432,0,8,784,0,0,0.699999988079071,0,0,0,0,[]],56,6912,[],[[1],[1]],[0,0]],[[2856,2456,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6913,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2480,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6914,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2504,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6915,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2528,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6916,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2552,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6917,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2576,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6918,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2600,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6919,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2624,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6920,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2648,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6921,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2672,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6922,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2696,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6923,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2720,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6924,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2744,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6925,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2768,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6926,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2792,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6927,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2816,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6928,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2840,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6929,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2864,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6930,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2888,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6931,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2912,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6932,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2936,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6933,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2960,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6934,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,2984,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6935,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,3008,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6936,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,3032,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6937,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,3056,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6938,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,3080,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6939,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,3104,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6940,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,3128,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6941,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,3152,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6942,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,3176,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6943,[[0]],[[1],[1]],[0,"Default",0,1]],[[2744,3200,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6944,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2456,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6945,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2480,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6946,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2504,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6947,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2528,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6948,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2552,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6949,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2576,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6950,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2600,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6951,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2624,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6952,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2648,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6953,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2672,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6954,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2696,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6955,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2720,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6956,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2744,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6957,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2768,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6958,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2792,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6959,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2816,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6960,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2840,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6961,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2864,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6962,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2888,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6963,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2912,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6964,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2936,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6965,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2960,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6966,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,2984,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6967,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,3008,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6968,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,3032,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6969,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,3056,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6970,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,3080,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6971,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,3104,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6972,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,3128,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6973,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,3152,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6974,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,3176,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6975,[[0]],[[1],[1]],[0,"Default",0,1]],[[2856,3200,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6976,[[0]],[[1],[1]],[0,"Default",0,1]],[[2868,2432,0,8,784,0,0,0.699999988079071,0,0,0,0,[]],56,6977,[],[[1],[1]],[0,0]],[[2720,3240,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6978,[[0]],[[1],[1]],[0,"Default",0,1]],[[2700,3224,0,8,776,0,0,0.699999988079071,0,0,0,0,[]],56,6979,[],[[1],[1]],[0,0]],[[2832,3240,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,6980,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3264,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6981,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3288,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6982,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3312,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6983,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3336,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6984,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3360,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6985,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3384,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6986,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3408,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6987,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3432,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6988,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3456,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6989,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3480,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6990,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3504,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6991,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3528,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6992,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3552,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6993,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3576,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6994,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3600,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6995,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3624,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6996,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3648,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6997,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3672,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6998,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3696,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,6999,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3720,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,7000,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3744,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,7001,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3768,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,7002,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3792,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,7003,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3816,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,7004,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3840,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,7005,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3864,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,7006,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3888,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,7007,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3912,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,7008,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3936,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,7009,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3960,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,7010,[[0]],[[1],[1]],[0,"Default",0,1]],[[2720,3984,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,7011,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3240,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7012,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3264,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7013,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3288,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7014,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3312,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7015,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3336,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7016,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3360,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7017,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3384,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7018,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3408,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7019,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3432,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7020,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3456,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7021,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3480,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7022,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3504,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7023,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3528,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7024,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3552,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7025,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3576,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7026,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3600,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7027,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3624,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7028,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3648,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7029,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3672,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7030,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3696,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7031,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3720,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7032,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3744,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7033,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3768,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7034,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3792,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7035,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3816,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7036,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3840,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7037,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3864,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7038,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3888,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7039,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3912,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7040,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3936,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7041,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3960,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7042,[[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3984,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,7043,[[0]],[[1],[1]],[0,"Default",0,1]],[[2844,3224,0,8,776,0,0,0.699999988079071,0,0,0,0,[]],56,7044,[],[[1],[1]],[0,0]],[[2700,3216,0,32,8,0,0,0.699999988079071,0,0,0,0,[]],56,7045,[],[[1],[1]],[0,0]],[[2844,3216,0,32,8,0,0,0.699999988079071,0,0,0,0,[]],56,7046,[],[[1],[1]],[0,0]],[[2684,2424,0,48,8,0,0,0.699999988079071,0,0,0,0,[]],56,7047,[],[[1],[1]],[0,0]],[[2828,2424,0,48,8,0,0,0.699999988079071,0,0,0,0,[]],56,7048,[],[[1],[1]],[0,0]],[[2684,1640,0,48,8,0,0,0.699999988079071,0,0,0,0,[]],56,7049,[],[[1],[1]],[0,0]],[[2828,1640,0,64,8,0,0,0.699999988079071,0,0,0,0,[]],56,7050,[],[[1],[1]],[0,0]],[[2684,848,0,48,8,0,0,0.699999988079071,0,0,0,0,[]],56,7051,[],[[1],[1]],[0,0]],[[2860,848,0,32,8,0,0,0.699999988079071,0,0,0,0,[]],56,7052,[],[[1],[1]],[0,0]],[[2828,552,0,272,16,0,1.570796370506287,1,0,0,0,0,[]],57,7053,[[0],[1],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[1]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","---------------->",1,0,0,0,0,0,0,0,"",-1,0]],[[2784,1208,0,272,16,0,1.570796370506287,1,0,0,0,0,[]],57,7054,[[0],[1],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[1]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","---------------->",1,0,0,0,0,0,0,0,"",-1,0]],[[2792,2048,0,272,16,0,1.570796370506287,1,0,0,0,0,[]],57,7055,[[0],[1],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[1]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","---------------->",1,0,0,0,0,0,0,0,"",-1,0]],[[2784,2944,0,272,16,0,1.570796370506287,1,0,0,0,0,[]],57,7056,[[0],[1],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[1]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","---------------->",1,0,0,0,0,0,0,0,"",-1,0]],[[2768,824,0,96,32,0,0,1,0.5,0.5,0,0,[]],43,7057,[[-0.2],[0]],[[0]],[0,"Default",0,1]],[[2792,1616,0,96,32,0,0,1,0.5,0.5,0,0,[]],43,7058,[[-0.2],[0]],[[0]],[0,"Default",0,1]],[[2776,2416,0,96,32,0,0,1,0.5,0.5,0,0,[]],43,7059,[[-0.2],[0]],[[0]],[0,"Default",0,1]],[[2768,3224,0,96,32,0,0,1,0.5,0.5,0,0,[]],43,7060,[[-0.2],[0]],[[0]],[0,"Default",0,1]],[[2948,800,0,48,48,0,0,1,0,0,0,0,[]],57,7061,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[1]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","3",3,0,0,0,0,0,0,0,"",-1,0]],[[2608,1624,0,48,48,0,0,1,0,0,0,0,[]],57,7062,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[1]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","2",3,0,0,0,0,0,0,0,"",-1,0]],[[2960,2440,0,48,48,0,0,1,0,0,0,0,[]],57,7063,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[1]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","1",3,0,0,0,0,0,0,0,"",-1,0]],[[2624,3200,0,48,48,0,0,1,0,0,0,0,[]],57,7064,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[1]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","0",3,0,0,0,0,0,0,0,"",-1,0]],[[2768,64,0,96,32,0,0,1,0.5,0.5,0,0,[]],43,7065,[[-0.2],[0]],[[0]],[0,"Default",0,1]],[[832,1016,0,288,117,0,0,1,0,0,0,0,[[]]],61,9505,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]],[[1684,1020,0,40,40,0,0,1,0.5,0.5,0,0,[]],60,10014,[["level45"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]]],[]],["UI",2,868937179522527,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,985364453572807,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,270092071203342,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,902914206118112,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,467282960645327,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,924082270714504,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,552833211448395,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 46",10000,1000,true,"Levels",506243027359620,[["Background",0,117583055102237,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,442540793509367,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[520,440,0,288,117,0,0,1,0,0,0,0,[[]]],61,6486,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]],[[1928,648,0,128,120,0,0,1,0,0,0,0,[]],51,1653,[],[[0],[1],[1,100,""]],[0,0]],[[280,576,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,1773,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[-256,640,0,1832,376,0,0,1,0,0,0,0,[]],67,9489,[],[[1]],[0,0]],[[-256,-584,0,6768,952,0,0,1,0,0,0,0,[]],67,9491,[],[[1]],[0,0]],[[1576,352,0,296,496,0,1.570796370506287,1,0,0,0,0,[]],67,9492,[],[[1]],[0,0]],[[120.0000228881836,32,0,616,376,0,1.570796370506287,1,0,0,0,0,[]],67,9493,[],[[1]],[0,0]],[[1072,408,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,9494,[[10],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1072,584,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,9495,[[10],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1072,496,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,9496,[[10],[20],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[136,384,0,64,32,0,0.7853981852531433,1,0.125,0.5,0,0,[]],55,9497,[[1],[325]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[136,464,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9498,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[136,496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9499,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[136,528,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9500,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[136,560,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9501,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[136,592,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9502,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[136,624,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9503,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[136,432,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9504,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1016,1424,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,6213,[["Recursion"],[""],[0]],[],[1,"Default",0,1]],[[1560,648,0,8384,360,0,0,1,0,0,0,0,[]],67,9506,[],[[1]],[0,0]],[[1584,360,0,960,8,0,0,1,0,0,0,0,[]],67,9507,[],[[1]],[0,0]],[[3024,360,0,312,480,0,1.570796370506287,1,0,0,0,0,[]],67,9508,[],[[1]],[0,0]],[[1584,360,0,296,8,0,1.570796370506287,1,0,0,0,0,[]],67,9509,[],[[1]],[0,0]],[[2536,416,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,9510,[[10],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2536,592,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,9511,[[10],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2536,504,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,9512,[[10],[30],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1600,384,0,64,32,0,0.7853981852531433,1,0.125,0.5,0,0,[]],55,9513,[[1],[325]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1600,472,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9514,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,504,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9515,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,536,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9516,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,568,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9517,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,600,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9518,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,632,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9519,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,440,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9520,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1688,448,0,8,64,0,0.7853981852531433,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,9595,[[20],[-2],[0],[0],[0],[0],[0]],[[0]],[1,"Default",0,1]],[[1988,648,0,16,112,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9602,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,0,1,1,"F 120",240,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2140,368,0,16,48,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,9601,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,0,1,1,"F 120",240,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1824,508,0,56,280,0,0,1,0.5,0.5,0,0,[]],49,9603,[[1],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[432,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9610,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[464,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9611,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[736,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9612,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[768,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9613,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[496,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9614,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[528,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9615,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[800,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9616,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[832,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9617,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[584,376,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9618,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[616,376,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9619,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[648,376,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9620,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[680,376,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9621,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[632,624,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,9622,[[1],[0]],[[0]],[0,"Default",0,1]],[[1944,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9597,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1976,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9599,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2248,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9600,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2280,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9623,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2008,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9624,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2040,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9625,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2312,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9626,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2344,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9627,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2096,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9628,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2128,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9629,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2160,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9630,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2192,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9631,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2232,648,0,128,120,0,0,1,0,0,0,0,[]],51,9633,[],[[0],[1],[1,100,""]],[0,0]],[[2080,248,0,32,120,0,0,1,0,0,0,0,[]],51,9634,[],[[0],[1],[1,100,""]],[0,0]],[[2296,648,0,16,112,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9635,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,0,1,1,"F 120",240,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2176,248,0,32,120,0,0,1,0,0,0,0,[]],51,9632,[],[[0],[1],[1,100,""]],[0,0]],[[2112,248,0,64,120,0,0,1,0,0,0,0,[]],51,9636,[],[[0],[1],[1,100,""]],[0,0]],[[2032,464,0,288,117,0,0,1,0,0,0,0,[[]]],61,9596,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]],[[3376,648,0,32,120,0,0,1,0,0,0,0,[]],51,9521,[],[[0],[1],[1,100,""]],[0,0]],[[3016,648,0,984,8,0,0,1,0,0,0,0,[]],67,9522,[],[[1]],[0,0]],[[3032,360,0,960,8,0,0,1,0,0,0,0,[]],67,9523,[],[[1]],[0,0]],[[4600,360,0,296,608,0,1.570796370506287,1,0,0,0,0,[]],67,9524,[],[[1]],[0,0]],[[3032,360,0,296,8,0,1.570796370506287,1,0,0,0,0,[]],67,9525,[],[[1]],[0,0]],[[3984,416,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,9526,[[10],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[3984,512,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,9527,[[10],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[3984,600,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,9528,[[10],[40],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[3048,384,0,64,32,0,0.7853981852531433,1,0.125,0.5,0,0,[]],55,9529,[[1],[325]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3048,472,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9530,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3048,504,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9531,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3048,536,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9532,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3048,568,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9533,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3048,600,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9534,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3048,632,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9535,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3048,440,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9598,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3136,448,0,8,64,0,0.7853981852531433,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,9604,[[30],[-2],[0],[0],[0],[0],[0]],[[0]],[1,"Default",0,1]],[[3272,504,0,56,280,0,0,1,0.5,0.5,0,0,[]],49,9607,[[2],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[3392,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9608,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3424,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9609,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3696,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9637,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3728,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9638,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3456,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9639,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3488,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9640,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3760,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9641,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3792,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9642,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3544,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9643,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3576,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9644,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3608,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9645,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3640,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9646,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3680,648,0,32,120,0,0,1,0,0,0,0,[]],51,9647,[],[[0],[1],[1,100,""]],[0,0]],[[3528,248,0,32,120,0,0,1,0,0,0,0,[]],51,9648,[],[[0],[1],[1,100,""]],[0,0]],[[3624,248,0,32,120,0,0,1,0,0,0,0,[]],51,9650,[],[[0],[1],[1,100,""]],[0,0]],[[3560,248,0,64,120,0,0,1,0,0,0,0,[]],51,9651,[],[[0],[1],[1,100,""]],[0,0]],[[3480,464,0,288,117,0,0,1,0,0,0,0,[[]]],61,9652,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]],[[3472,648,0,32,120,0,0,1,0,0,0,0,[]],51,9653,[],[[0],[1],[1,100,""]],[0,0]],[[3408,648,0,64,120,0,0,1,0,0,0,0,[]],51,9654,[],[[0],[1],[1,100,""]],[0,0]],[[3776,648,0,32,120,0,0,1,0,0,0,0,[]],51,9655,[],[[0],[1],[1,100,""]],[0,0]],[[3712,648,0,64,120,0,0,1,0,0,0,0,[]],51,9656,[],[[0],[1],[1,100,""]],[0,0]],[[4944,648,0,32,120,0,0,1,0,0,0,0,[]],51,9490,[],[[0],[1],[1,100,""]],[0,0]],[[4584,648,0,984,8,0,0,1,0,0,0,0,[]],67,9536,[],[[1]],[0,0]],[[4600,360,0,960,8,0,0,1,0,0,0,0,[]],67,9537,[],[[1]],[0,0]],[[6056,360,0,296,496,0,1.570796370506287,1,0,0,0,0,[]],67,9538,[],[[1]],[0,0]],[[4600,360,0,296,8,0,1.570796370506287,1,0,0,0,0,[]],67,9539,[],[[1]],[0,0]],[[5552,416,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,9540,[[10],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[5552,504,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,9541,[[10],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[5552,600,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,9542,[[10],[50],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[4616,384,0,64,32,0,0.7853981852531433,1,0.125,0.5,0,0,[]],55,9543,[[1],[325]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[4616,472,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9544,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4616,504,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9545,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4616,536,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9546,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4616,568,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9547,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4616,600,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9548,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4616,632,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9549,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4616,440,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9657,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4704,448,0,8,64,0,0.7853981852531433,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,9658,[[40],[-2],[0],[0],[0],[0],[0]],[[0]],[1,"Default",0,1]],[[4840,512,0,56,288,0,0,1,0.5,0.5,0,0,[]],49,9661,[[3],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[4960,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9662,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4992,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9663,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5264,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9664,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5296,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9665,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5024,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9666,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5056,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9667,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5328,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9668,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5360,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9669,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5248,648,0,32,120,0,0,1,0,0,0,0,[]],51,9674,[],[[0],[1],[1,100,""]],[0,0]],[[5096,248,0,32,120,0,0,1,0,0,0,0,[]],51,9675,[],[[0],[1],[1,100,""]],[0,0]],[[5192,248,0,32,120,0,0,1,0,0,0,0,[]],51,9677,[],[[0],[1],[1,100,""]],[0,0]],[[5128,248,0,64,120,0,0,1,0,0,0,0,[]],51,9678,[],[[0],[1],[1,100,""]],[0,0]],[[5112,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9670,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5144,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9671,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5176,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9672,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5208,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9673,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5048,448,0,288,117,0,0,1,0,0,0,0,[[]]],61,9679,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]],[[5040,648,0,32,120,0,0,1,0,0,0,0,[]],51,9680,[],[[0],[1],[1,100,""]],[0,0]],[[4976,648,0,64,120,0,0,1,0,0,0,0,[]],51,9681,[],[[0],[1],[1,100,""]],[0,0]],[[5344,648,0,32,120,0,0,1,0,0,0,0,[]],51,9682,[],[[0],[1],[1,100,""]],[0,0]],[[5280,648,0,64,120,0,0,1,0,0,0,0,[]],51,9683,[],[[0],[1],[1,100,""]],[0,0]],[[3440,648,0,16,48,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9605,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"F 120",240,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3592,368,0,16,96,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,9606,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"F 120",240,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3740,648,0,16,40,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9649,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"F 120",240,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[5312,712,0,136,104,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9676,[[-1],[0],[0],[0],[0],[3],[1]],[[0],[1,0,1,4,"F 60 ; W 0.75",240,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[5008,712,0,136,96,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9659,[[-1],[0],[0],[0],[0],[3],[1]],[[0],[1,0,1,4,"F 60 ; W 0.75",240,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[5160,368,0,16,48,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,9660,[[-1],[0],[0],[0],[0],[3],[1]],[[0],[1,0,1,4,"F 60 ; W 0.75",240,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[4960,784,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9565,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4992,784,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9566,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5024,784,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9567,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5056,784,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9568,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5264,784,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9569,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5296,784,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9570,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5328,784,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9571,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5360,784,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9572,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5408,504,0,56,288,0,0,1,0.5,0.5,0,0,[]],49,9573,[[4],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[5536,600,0,16,40,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,9574,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,1,"B 184",400,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[5536,416,0,16,40,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9575,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,1,"B 184",400,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[5504,672,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9576,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5536,672,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9577,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5488,688,0,64,120,0,0,1,0,0,0,0,[]],51,9582,[],[[0],[1],[1,100,""]],[0,0]],[[5520,688,0,16,48,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9583,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,4,"F 60 ; W 0.75",240,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[6048,648,0,984,8,0,0,1,0,0,0,0,[]],67,9579,[],[[1]],[0,0]],[[6064,360,0,960,8,0,0,1,0,0,0,0,[]],67,9580,[],[[1]],[0,0]],[[7032,360,0,296,8,0,1.570796370506287,1,0,0,0,0,[]],67,9581,[],[[1]],[0,0]],[[6064,360,0,296,8,0,1.570796370506287,1,0,0,0,0,[]],67,9584,[],[[1]],[0,0]],[[7016,416,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,0,255,0.01]]],62,9585,[[10],[50],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[7016,512,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,9586,[[10],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[6080,632,0,64,32,0,-0.7853981852531433,1,0.125,0.5,0,0,[]],55,9588,[[1],[325]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[6080,416,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9589,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6080,448,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9590,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6080,480,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9591,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6080,512,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9592,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6080,544,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9593,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6080,576,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9594,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6080,384,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9684,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6160,560,0,8,64,0,-0.7853981852531433,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,9685,[[50],[-2],[0],[0],[0],[0],[0]],[[0]],[1,"Default",0,1]],[[6736,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9689,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6768,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9690,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6800,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9693,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6832,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9694,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6536,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9695,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6568,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9696,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6600,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9697,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6632,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9698,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6520,648,0,32,120,0,0,1,0,0,0,0,[]],51,9700,[],[[0],[1],[1,100,""]],[0,0]],[[6616,648,0,32,120,0,0,1,0,0,0,0,[]],51,9701,[],[[0],[1],[1,100,""]],[0,0]],[[6552,648,0,64,120,0,0,1,0,0,0,0,[]],51,9702,[],[[0],[1],[1,100,""]],[0,0]],[[6696,568,0,288,117,0,3.141592741012573,1,0,0,0,0,[[]]],61,9703,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]],[[7016,600,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,9550,[[10],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[6288,504,0,56,288,0,0,1,0.5,0.5,0,0,[]],49,9551,[[5],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[6584,704,0,136,96,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9552,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,0,1,1,"F 200",180,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[6720,240,0,128,128,0,0,1,0,0,0,0,[]],51,9553,[],[[0],[1],[1,100,""]],[0,0]],[[6784,312,0,136,96,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,9554,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,0,1,1,"W 2 ; F 280",500,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[6352,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9555,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6384,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9556,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6416,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9557,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6448,384,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9558,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6336,88,0,128,280,0,0,1,0,0,0,0,[]],51,9559,[],[[0],[1],[1,100,""]],[0,0]],[[6392,312,0,136,120,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,9560,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,0,1,1,"W 0.5 ; F 280",500,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[6536,784,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9561,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6568,784,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9562,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6600,784,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9563,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6632,784,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9564,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6332,232,0,8,80,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,0,255,0.01]]],62,9578,[[10],[70],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[6568,128,0,8,64,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,0,0,255,0.01]]],62,9587,[[70],[-2],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[7880,272,0,8,64,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,0,0,255,0.01]]],62,9686,[[-1],[-2],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[7768,440,0,2176,208,0,0,1,0,0,0,0,[]],67,9687,[],[[1]],[0,0]],[[7792,424,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9688,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[7496,8,0,736,256,0,0,1,0,0,0,0,[]],67,9691,[],[[1]],[0,0]],[[7776,256,0,416,744,0,1.570796370506287,1,0,0,0,0,[]],67,9692,[],[[1]],[0,0]],[[9952,-735.9998779296875,0,1184,1960,0,1.570796370506287,1,0,0,0,0,[]],67,9699,[],[[1]],[0,0]],[[7824,424,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9704,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[7976,424,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9705,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[7944,424,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9706,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[7856,424,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9707,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[7912,424,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9708,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[7884,424,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9709,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6648,-568,0,984,928,0,0,1,0,0,0,0,[]],67,9710,[],[[1]],[0,0]],[[6200,-832,0,984,928,0,0,1,0,0,0,0,[]],67,9711,[],[[1]],[0,0]],[[7592,-800,0,984,928,0,0,1,0,0,0,0,[]],67,9712,[],[[1]],[0,0]],[[6584,264,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,9713,[],[[0]],[0,"Default",0,1]],[[5528,504,0,32,32,0,0,1,0.5,0.5,0,0,[]],60,10015,[["level46"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]]],[]],["UI",2,245493866241493,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,492578414441467,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,802111579550053,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,356126002878229,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,719489476114420,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,344682172840923,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,378776370252435,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 47",3200,1000,true,"Levels",245978642365834,[["Background",0,139070554136886,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,216769439539618,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[792,587,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,6516,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[1128,584,0,288,117,0,0,1,0,0,0,0,[[]]],61,6608,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]],[[696,784,0,2464,9,0,0,1,0,0,0,0,[]],51,6419,[],[[0],[1],[1,100,""]],[0,0]],[[888,296,0,2272,9,0,0,1,0,0,0,0,[]],51,6496,[],[[0],[1],[1,100,""]],[0,0]],[[3160,296,0,496,9,0,1.570796370506287,1,0,0,0,0,[]],51,6497,[],[[0],[1],[1,100,""]],[0,0]],[[896,296,0,376,9,0,1.570796370506287,1,0,0,0,0,[]],51,6498,[],[[0],[1],[1,100,""]],[0,0]],[[887,672,0,9,112,0,0,1,0,0,0,0,[]],48,6499,[],[[0],[1]],[0,0]],[[704,416,0,376,9,0,1.570796370506287,1,0,0,0,0,[]],51,6500,[],[[0],[1],[1,100,""]],[0,0]],[[696,416,0,192,9,0,0,1,0,0,0,0,[]],51,6501,[],[[0],[1],[1,100,""]],[0,0]],[[792,456,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,6502,[[0],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[888,720,0,50,55,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,6503,[[-1],[0],[0],[0],[0],[0],[1]],[[0],[1,0,1,1,"F 112",200,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[952,480,0,64,9,0,0,1,0,0,0,0,[]],51,6504,[],[[0],[1],[1,100,""]],[0,0]],[[984,496,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,6505,[[1],[150]],[[1],[300,0.5,1,180,0,0,50,1,1],[0,10000,20,1]],[0,"Default",0,1]],[[1216,480,0,64,8,0,0,1,0,0,0,0,[]],51,6506,[],[[0],[1],[1,100,""]],[0,0]],[[1248,496,0,64,31,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,6507,[[1],[150]],[[1],[300,2,1,180,0,0,50,1,1],[0,10000,180,1]],[0,"Default",0,1]],[[1472,480,0,64,9,0,0,1,0,0,0,0,[]],51,6508,[],[[0],[1],[1,100,""]],[0,0]],[[1504,496,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,6509,[[1],[325]],[[1],[300,0.5,1,180,0,0,300,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[984,488,0,50,55,0,0,1,0.5,0.5,0,0,[]],50,6510,[[-1],[0],[0],[0],[0],[-1],[1]],[[0],[1,1,1,0,"F 200 ; W 2 ; B 200 ; W 2",200,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1248,496,0,50,55,0,0,1,0.5,0.5,0,0,[]],50,6511,[[-1],[0],[0],[0],[0],[-1],[1]],[[0],[1,1,1,0,"F 200 ; W 3 ; B 200 ; W 1",200,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1072,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6513,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6514,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1216,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6515,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1248,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6517,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1400,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6518,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1432,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6519,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1624,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6525,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1320,780,0,8,88,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,69,169,148,0.01]]],62,6526,[[1],[0],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[900,592,0,8,88,0,0,1,0.5,0.5,0,0,[[255,255,255,69,169,148,0.01]]],62,6527,[[0],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1664,304,0,488,9,0,1.570796370506287,1,0,0,0,0,[]],51,6521,[],[[0],[1],[1,100,""]],[0,0]],[[1568,392,0,280,9,0,1.570796370506287,1,0,0,0,0,[]],51,6522,[],[[0],[1],[1,100,""]],[0,0]],[[1568,536,0,88,8,0,0,1,0,0,0,0,[]],45,6528,[],[[0],[1]],[0,0]],[[1112,416,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6529,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1144,416,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6530,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1376,327,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6531,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1408,327,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6532,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1376,304,0,8,2,0,1.570796370506287,1,0,0,0,0,[]],51,6533,[],[[0],[1],[1,100,""]],[0,0]],[[1408,304,0,8,2,0,1.570796370506287,1,0,0,0,0,[]],51,6534,[],[[0],[1],[1,100,""]],[0,0]],[[720,488,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6537,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,520,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6538,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,552,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6539,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,584,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6540,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,616,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6541,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,648,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6542,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,680,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6543,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,712,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6544,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,744,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,6545,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[872,648,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6547,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1146,304,0,92,4,0,1.570796370506287,1,0,0,0,0,[]],45,6535,[],[[0],[1]],[0,0]],[[1114,304,0,92,4,0,1.570796370506287,1,0,0,0,0,[]],45,6536,[],[[0],[1]],[0,0]],[[984,476,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,6546,[[2],[3],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1668,392,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,69,169,148,0.01]]],62,6548,[[-2],[4],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1664,568,0,1200,8,0,0,1,0,0,0,0,[]],51,6512,[],[[0],[1],[1,100,""]],[0,0]],[[2864,296,0,280,9,0,1.570796370506287,1,0,0,0,0,[]],51,6523,[],[[0],[1],[1,100,""]],[0,0]],[[1968,488,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6550,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1992,304,0,200,9,0,1.570796370506287,1,0,0,0,0,[]],51,6551,[],[[0],[1],[1,100,""]],[0,0]],[[1968,456,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6552,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1968,424,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6553,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1968,392,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6554,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1968,360,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6555,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1968,328,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6556,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1656,520,0,96,8,0,0,1,0,0,0,0,[]],51,6557,[],[[0],[1],[1,100,""]],[0,0]],[[1680,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6558,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1712,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6559,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1744,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6560,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1776,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6561,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1808,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6562,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1840,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6563,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1872,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6564,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1904,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6565,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1936,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6566,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1968,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6567,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2000,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6568,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2032,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6569,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2064,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6549,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2096,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6582,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2128,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6583,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2160,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6584,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2040,308,0,8,64,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,69,169,148,0.01]]],62,6585,[[4],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1728,520,0,40,24,0,0,1,0.5,0.5,0,0,[]],50,6586,[[-1],[0],[0],[0],[0],[3],[1]],[[0],[1,0,1,1,"F 1200",160,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1720,352,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,6587,[[3],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[1996,416,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,69,169,148,0.01]]],62,6588,[[5],[6],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1668,624,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,69,169,148,0.01]]],62,6589,[[6],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2304,488,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6590,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2328,304,0,264,9,0,1.570796370506287,1,0,0,0,0,[]],51,6591,[],[[0],[1],[1,100,""]],[0,0]],[[2304,456,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6592,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,424,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6593,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,392,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6594,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,360,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6595,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,328,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6596,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,520,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,6570,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2192,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6571,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2224,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6572,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2256,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6573,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2288,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6574,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1800,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,6575,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1968,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,6576,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[2184,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,6577,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[2416,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,6578,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[1904,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6579,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1936,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6580,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1968,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6581,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2000,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6597,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2032,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6598,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2064,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6599,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2096,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6600,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2128,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6601,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2160,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6602,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2192,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6603,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2224,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6604,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2256,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6605,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2288,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6606,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2320,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6607,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2352,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6609,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3096,472,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,6613,[],[[0]],[0,"Default",0,1]],[[2864,640,0,152,9,0,1.570796370506287,1,0,0,0,0,[]],51,6614,[],[[0],[1],[1,100,""]],[0,0]],[[2864,568,0,288,8,0,0,1,0,0,0,0,[]],51,6615,[],[[0],[1],[1,100,""]],[0,0]],[[2480,580,0,8,64,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,6610,[[7],[8],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2384,308,0,8,64,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,6611,[[8],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2536,576,0,208,9,0,1.570796370506287,1,0,0,0,0,[]],51,6612,[],[[0],[1],[1,100,""]],[0,0]],[[2328,480,0,168,8,0,0,1,0,0,0,0,[]],51,6616,[],[[0],[1],[1,100,""]],[0,0]],[[2568,424,0,208,8,0,0,1,0,0,0,0,[]],51,6617,[],[[0],[1],[1,100,""]],[0,0]],[[2568,296,0,136,9,0,1.570796370506287,1,0,0,0,0,[]],51,6618,[],[[0],[1],[1,100,""]],[0,0]],[[2336,536,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,6619,[[9],[10],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2848,352,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,6620,[[10],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2576,384,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,6621,[[11],[12],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2544,696,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,6622,[[12],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[3136,736,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,6623,[[13],[14],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2888,384,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,0,255,0,0.01]]],62,6624,[[14],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2912,544,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,6625,[[1],[500]],[[1],[300,0.2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[2912,512,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,6626,[[1],[500]],[[1],[300,0.2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[2912,480,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,6627,[[1],[500]],[[1],[300,0.2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[2592,448,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6628,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2624,448,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6629,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2656,448,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6630,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2688,448,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6631,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2760,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6632,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2728,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6633,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2584,320,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6634,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2616,320,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6635,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2648,320,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6636,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2680,320,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6637,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2712,320,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6638,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2744,320,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6639,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2840,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6640,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2808,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6641,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2776,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6642,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2744,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6643,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2552,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6644,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2584,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6645,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2616,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6646,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2648,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6647,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2680,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6648,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2712,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6649,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2976,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6650,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2944,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6651,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2912,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6652,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2880,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6653,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3008,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6656,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2976,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6657,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1096,396,0,64,4,0,0,1,0,0,0,0,[]],45,1774,[],[[0],[1]],[0,0]],[[1720,384,0,80,24,0,0,1,0,0,0,0,[]],46,1775,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","<--",1,0,50,0,0,0,0,0,"",-1,0]],[[2016,408,0,80,24,0,0,1,0,0,0,0,[]],46,1776,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","<--",1,0,50,0,0,0,0,0,"",-1,0]],[[887,664,0,160,9,0,0,1,0,0,0,0,[]],51,1779,[],[[0],[1],[1,100,""]],[0,0]],[[1720,308,0,8,64,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,69,169,148,0.01]]],62,1780,[[3],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2568,552,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,1782,[],[[0]],[0,"Default",0,1]],[[2888,512,0,16,88,0,0,1,0.5,0.5,0,0,[]],50,1798,[[-1],[0],[0],[0],[0],[10],[1]],[[0],[1,0,1,1,"B 64",256,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2564,500,0,8,136,0,0,1,0.5,0.5,0,0,[]],49,1799,[[10],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[2896,512,0,112,64,0,1.570796370506287,1,0.5,0.5,0,0,[]],164,1801,[],[],[0,"Default",0,1]],[[2016,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1803,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2048,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1804,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2080,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1805,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2112,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1806,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2144,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1800,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2232,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1802,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2264,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1807,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2296,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1808,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2328,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1809,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2360,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1810,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1856,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1811,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1888,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1812,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1920,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1813,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[792,216,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,6391,[["Rocket Science"],[""],[0]],[],[1,"Default",0,1]],[[1128,352,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,10016,[["level47"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]]],[]],["UI",2,430812554782784,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,402749895145996,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,348338920595401,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,620901970820499,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,163449161940555,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,736562891816779,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,414757962542772,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 48",3200,5000,true,"Levels",165432698627761,[["Background",0,225469495486470,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,642261180985204,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[1696,168,0,312,117,0,0,1,0,0,0,0,[[]]],61,28,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","48",7,0,50,0,0,0,0,0,"",-1,0]],[[0,-360,0,4152,504,0,0,1,0,0,0,0,[]],51,34,[],[[0],[1],[1,100,""]],[0,0]],[[408,152,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,35,[[1],[400]],[[1],[300,0.2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[2288,120,0,1864,400,0,0,1,0,0,0,0,[]],51,8935,[],[[0],[1],[1,100,""]],[0,0]],[[0,488,0,4152,280,0,0,1,0,0,0,0,[]],51,8936,[],[[0],[1],[1,100,""]],[0,0]],[[-680,424,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,8937,[["Binary"],[""],[0]],[],[1,"Default",0,1]],[[496,136,0,912,400,0,0,1,0,0,0,0,[]],51,8938,[],[[0],[1],[1,100,""]],[0,0]],[[0,768,0,4152,144,0,0,1,0,0,0,0,[]],51,8939,[],[[0],[1],[1,100,""]],[0,0]],[[0,1256,0,4136,280,0,0,1,0,0,0,0,[]],51,8940,[],[[0],[1],[1,100,""]],[0,0]],[[0,1536,0,4136,144,0,0,1,0,0,0,0,[]],51,8941,[],[[0],[1],[1,100,""]],[0,0]],[[1000,1656,0,1272,1208,0,0,1,0,0,0,0,[]],51,8942,[],[[0],[1],[1,100,""]],[0,0]],[[-816,2784,0,5080,288,0,0,1,0,0,0,0,[]],51,8944,[],[[0],[1],[1,100,""]],[0,0]],[[-816,3072,0,5080,144,0,0,1,0,0,0,0,[]],51,8945,[],[[0],[1],[1,100,""]],[0,0]],[[0,3560,0,1488,488,0,0,1,0,0,0,0,[]],51,8946,[],[[0],[1],[1,100,""]],[0,0]],[[2274,376,0,28,224,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,8948,[[0],[1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1422,376,0,28,224,0,0,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,8949,[[100],[101],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[482,376,0,28,224,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,8950,[[101],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[-760,488,0,984,1192,0,0,1,0,0,0,0,[]],51,8934,[],[[0],[1],[1,100,""]],[0,0]],[[1336,880,0,760,400,0,0,1,0,0,0,0,[]],51,8951,[],[[0],[1],[1,100,""]],[0,0]],[[-56,376,0,28,224,0,0,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,8953,[[102],[103],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[3248,1144,0,28,224,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,8952,[[103],[102],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[238,1144,0,28,224,0,0,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,8954,[[1],[0],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[488,232,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,8955,[[1],[400]],[[1],[300,0.2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[464,176,0,64,32,0,2.356194496154785,1,0.125,0.5,0,0,[]],55,8956,[[1],[400]],[[1],[300,0.2,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[424,136,0,80,24,0,0,1,0,0,0,0,[]],51,8957,[],[[0],[1],[1,100,""]],[0,0]],[[480,160,0,24,56,0,0,1,0,0,0,0,[]],51,8958,[],[[0],[1],[1,100,""]],[0,0]],[[468.6568603515625,147.3431701660156,0,32,16,0,0.7853981852531433,1,0,0,0,0,[]],51,8959,[],[[0],[1],[1,100,""]],[0,0]],[[-1104,1648,0,1272,1208,0,0,1,0,0,0,0,[]],51,8943,[],[[0],[1],[1,100,""]],[0,0]],[[3080,1640,0,1272,1208,0,0,1,0,0,0,0,[]],51,8960,[],[[0],[1],[1,100,""]],[0,0]],[[-824,3216,0,1056,376,0,0,1,0,0,0,0,[]],51,8961,[],[[0],[1],[1,100,""]],[0,0]],[[3016,3192,0,1456,376,0,0,1,0,0,0,0,[]],51,8962,[],[[0],[1],[1,100,""]],[0,0]],[[2536,4360,0,1320,656,0,0,1,0.5,0.5,0,0,[]],164,9997,[],[],[0,"Default",0,1]],[[1712,3560,0,1488,488,0,0,1,0,0,0,0,[]],51,8964,[],[[0],[1],[1,100,""]],[0,0]],[[760,1936,0,160,520,0,0,1,0,0,0,0,[]],51,8963,[],[[0],[1],[1,100,""]],[0,0]],[[2880,1912,0,168,520,0,0,1,0,0,0,0,[]],51,8965,[],[[0],[1],[1,100,""]],[0,0]],[[3544,832,0,592,520,0,0,1,0,0,0,0,[]],51,8966,[],[[0],[1],[1,100,""]],[0,0]],[[1600,3760,0,28,224,0,-1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,8968,[[200],[201],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1481.514770507813,3774,0,240,274,0,0,1,0,0,0,0,[]],51,8969,[],[[0],[1],[1,100,""]],[0,0]],[[462,3448,0,28,224,0,0,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,8970,[[107],[106],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2672,3448,0,28,224,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,8971,[[5],[4],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1224,926,0,28,224,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,8973,[[2],[3],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2110,1024,0,28,224,0,0,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,8974,[[104],[105],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[2286,1792,0,28,224,0,0,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,8975,[[105],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[840,1694,0,28,224,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,8976,[[3],[2],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[3066,2672,0,28,224,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,8977,[[106],[107],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[182,2672,0,28,224,0,0,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,8978,[[4],[5],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1600,4062,0,28,224,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,8979,[[201],[200],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1480,4048,0,8,312,0,0,1,0,0,0,0,[]],51,8980,[],[[0],[1],[1,100,""]],[0,0]],[[1712,4048,0,8,312,0,0,1,0,0,0,0,[]],51,8981,[],[[0],[1],[1,100,""]],[0,0]],[[1720,4048,0,160,120,0,0,1,0,0,0,0,[]],51,8982,[],[[0],[1],[1,100,""]],[0,0]],[[1320,4048,0,160,120,0,0,1,0,0,0,0,[]],51,8983,[],[[0],[1],[1,100,""]],[0,0]],[[1608,4901,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,8988,[],[[1]],[0,"Default",0,1]],[[1488,4584,0,224,192,0,0,1,0,0,0,0,[]],51,8947,[],[[0],[1],[1,100,""]],[0,0]],[[1488,4776,0,224,224,0,0,1,0,0,0,0,[]],51,8986,[],[[0],[1],[1,100,""]],[0,0]],[[1484,4958,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,8984,[[300],[301],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1716,4958,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,8993,[[301],[300],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1400,4640,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,8989,[[1],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1792,4640,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,8991,[[2],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1712,4680,0,1488,888,0,0,1,0,0,0,0,[]],67,8992,[],[[1]],[0,0]],[[0,4680,0,1488,888,0,0,1,0,0,0,0,[]],67,8985,[],[[1]],[0,0]],[[1600,4880,0,280,256,0,-1.570796370506287,1,0.5,0.5,0,0,[]],50,8987,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,0,1,1,"F 320",100,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1680,4824,0,56,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,8990,[[1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"F 224",100,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1483,4968,0,56,3.3487548828125,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,8995,[[1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"F 224",100,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1715,4967,0,56,3.3487548828125,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,8996,[[1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"F 224",100,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1684,4506,0,56,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,8994,[[1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"F 224",100,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1484,4650,0,56,3.3487548828125,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,8997,[[1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"F 500",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1716,4650,0,56,3.3487548828125,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,8998,[[1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"F 500",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1488,5000,0,224,568,0,0,1,0,0,0,0,[]],67,8999,[],[[1]],[0,0]],[[3008,1128,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,9000,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2984,1152,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,9001,[[-1],[0],[0],[0],[0],[-2],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3000,1136,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9002,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 45 ; F 50; W 1.5; B 50 ; R 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2984,1200,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9003,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2984,1104,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9004,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3032,1152,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9005,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2936,1152,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9006,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3008,1176,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,9007,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2960,1176,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,9008,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2960,1128,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,9009,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2968,1136,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9010,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"R 45 ; B 50; W 1.5; F 50 ; L 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3000,1168,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9011,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 135 ; B 50; W 1.5; F 50 ; R 135; W 1",175,0,0,1080,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2968,1168,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9012,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 45 ; B 50; W 1.5; F 50 ; R 45 ; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2704,1128,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,9013,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2680,1152,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,9014,[[-1],[0],[0],[0],[0],[-2],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2696,1136,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9016,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 45 ; F 50; W 1.5; B 50 ; R 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2680,1200,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9018,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2680,1104,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9019,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2728,1152,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9020,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2632,1152,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9021,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2704,1176,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,9022,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2656,1176,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,9023,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2656,1128,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,9024,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2664,1136,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9025,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"R 45 ; B 50; W 1.5; F 50 ; L 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2696,1168,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9026,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 135 ; B 50; W 1.5; F 50 ; R 135; W 1",175,0,0,1080,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2664,1168,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9027,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 45 ; B 50; W 1.5; F 50 ; R 45 ; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2464,1016,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,9028,[[-1],[0],[0],[0],[0],[-2],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2464,1016,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,9029,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2464,1064,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9030,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2464,968,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9031,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2512,1016,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9032,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2416,1016,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9033,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2488,992,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,9034,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2488,1040,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,9035,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2440,1040,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,9036,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2440,992,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,9037,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2312,1192,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,9038,[[-1],[0],[0],[0],[0],[-2],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2312,1192,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,9039,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2312,1240,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9040,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2312,1144,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9041,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2360,1192,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9042,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2264,1192,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9043,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2336,1168,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,9044,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2336,1216,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,9045,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2288,1216,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,9046,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2288,1168,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,9047,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2816,1240,0,80,8,0,0,1,0,0,0,0,[]],45,9048,[],[[0],[1]],[0,0]],[[2856,1232,0,16,16,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9049,[[0],[0],[10],[0],[0],[4],[1]],[[0],[1,0,1,1,"F 120",175,0,0,1080,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2952,1088,0,16,336,0,0,1,0.5,0.5,0,0,[]],49,9050,[[4],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[2584,1240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9051,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2616,1240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9052,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2648,1240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9053,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2680,1240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9054,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2712,1240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9055,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2744,1240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9056,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2776,1240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9057,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2584,928,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9058,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2616,928,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9059,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2648,928,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9060,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2680,928,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9061,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2712,928,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9062,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2744,928,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9063,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2776,928,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9064,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2112,1240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9065,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2144,1240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9066,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2352,1968,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9067,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2352,2000,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9068,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2352,2032,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9069,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2352,2064,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9070,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2352,2096,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9071,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2352,2128,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9072,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2352,2160,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9073,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2352,2192,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9074,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2368,1952,0,96,256,0,0,1,0,0,0,0,[]],51,9075,[],[[0],[1],[1,100,""]],[0,0]],[[2480,1968,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9076,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2480,2000,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9077,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2480,2032,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9078,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2480,2064,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9079,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2480,2096,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9081,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2480,2128,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9082,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2480,2160,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9083,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2384,1936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9085,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2448,1936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9086,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2416,1936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9087,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2272,2328,0,192,8,0,0,1,0,0,0,0,[]],51,9088,[],[[0],[1],[1,100,""]],[0,0]],[[2448,2312,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9089,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2384,2224,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9090,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2352,1792,0,80,224,0,0,1,0.5,0.5,0,0,[]],43,9091,[[0.001],[0]],[[0]],[1,"Default",0,1]],[[2656,2312,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,8967,[[0.9],[0]],[[0]],[0,"Default",0,1]],[[2712,2088,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9092,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2712,2120,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9093,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2712,2152,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9095,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2712,2184,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9096,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2712,2216,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9097,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2712,2248,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9098,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2712,2280,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9099,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2712,2312,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9100,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2728,1816,0,120,512,0,0,1,0,0,0,0,[]],51,9101,[],[[0],[1],[1,100,""]],[0,0]],[[2712,1864,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9103,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2712,1896,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9104,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2712,1928,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9105,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2712,1960,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9106,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2712,1992,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9107,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2712,2024,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9108,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2712,2056,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9109,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2368,2200,0,248,8,0,0,1,0,0,0,0,[]],51,9084,[],[[0],[1],[1,100,""]],[0,0]],[[2504,2184,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9110,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2536,2184,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9111,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2568,2184,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9112,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2600,2184,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9113,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2704,1696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9720,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2736,1696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9721,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2768,1696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9722,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2800,1696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9723,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2832,1696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9724,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2864,1696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9725,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2864,2312,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9726,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2848,1912,0,32,8,0,0,1,0,0,0,0,[]],45,9727,[],[[0],[1]],[0,0]],[[3040,1912,0,40,8,0,0,1,0,0,0,0,[]],45,9728,[],[[0],[1]],[0,0]],[[2824,2520,0,256,8,0,0,1,0,0,0,0,[]],51,9729,[],[[0],[1],[1,100,""]],[0,0]],[[2272,2336,0,192,456,0,0,1,0,0,0,0,[]],51,9730,[],[[0],[1],[1,100,""]],[0,0]],[[2744,2352,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9731,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2744,2384,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9732,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2744,2416,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9733,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2744,2448,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9734,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2744,2480,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9735,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2744,2512,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9736,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2744,2544,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9737,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2744,2576,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9738,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2744,2608,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9739,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2744,2640,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9740,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2744,2672,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9741,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2744,2704,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9742,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2743,2736,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9743,[[0],[0]],[[0],[1]],[0,"Default",0,0]],[[2743,2768,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9744,[[0],[0]],[[0],[1]],[0,"Default",0,0]],[[2496,2336,0,232,384,0,0,1,0,0,0,0,[]],51,9745,[],[[0],[1],[1,100,""]],[0,0]],[[2496,2328,0,384,8,0,0,1,0,0,0,0,[]],51,9746,[],[[0],[1],[1,100,""]],[0,0]],[[2464,2328,0,32,8,0,0,1,0,0,0,0,[]],45,9747,[],[[0],[1]],[0,0]],[[2680,2752,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,8932,[["level48"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[1835.15966796875,2627.44775390625,0,264,464,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,9748,[],[[0]],[0,"Default",0,1]],[[2688,1816,0,160,8,0,0,1,0,0,0,0,[]],51,9102,[],[[0],[1],[1,100,""]],[0,0]],[[1128,1160,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,9749,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,1184,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,9750,[[-1],[0],[0],[0],[0],[-2],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1120,1168,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9751,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 45 ; F 50; W 1.5; B 50 ; R 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1104,1232,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9752,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,1136,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9753,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1152,1184,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9754,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1056,1184,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9755,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,1208,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,9756,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1080,1208,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,9757,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1080,1160,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,9758,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1088,1168,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9759,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"R 45 ; B 50; W 1.5; F 50 ; L 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1120,1200,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9760,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 135 ; B 50; W 1.5; F 50 ; R 135; W 1",175,0,0,1080,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1088,1200,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9761,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 45 ; B 50; W 1.5; F 50 ; R 45 ; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[704,1064,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,9762,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[680,1088,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,9763,[[-1],[0],[0],[0],[0],[-2],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[696,1072,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9764,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 45 ; F 50; W 1.5; B 50 ; R 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[680,1136,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9765,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[680,1040,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9766,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[728,1088,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9767,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[632,1088,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9768,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[704,1112,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,9769,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[656,1112,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,9770,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[656,1064,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,9771,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[664,1072,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9772,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"R 45 ; B 50; W 1.5; F 50 ; L 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[696,1104,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9773,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 135 ; B 50; W 1.5; F 50 ; R 135; W 1",175,0,0,1080,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[664,1104,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9774,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 45 ; B 50; W 1.5; F 50 ; R 45 ; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[496,984,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,9775,[[-1],[0],[0],[0],[0],[-2],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[496,984,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,9776,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[496,1032,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9777,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[496,936,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9778,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[544,984,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9779,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[448,984,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9780,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[520,960,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,9781,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[520,1008,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,9782,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[472,1008,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,9783,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[472,960,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,9784,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[496,1184,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,9785,[[-1],[0],[0],[0],[0],[-2],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[496,1184,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,9786,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[496,1232,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9787,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[496,1136,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9788,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[544,1184,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9789,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[448,1184,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9790,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[520,1160,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,9791,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[520,1208,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,9792,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[472,1208,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,9793,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[472,1160,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,9794,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[944,1247,0,80,8,0,0,1,0,0,0,0,[]],45,9795,[],[[0],[1]],[0,0]],[[984,1241,0,16,16,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9796,[[0],[0],[10],[0],[0],[4],[1]],[[0],[1,0,1,1,"F 272",125,0,0,1080,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[912,1080,0,16,312,0,0,1,0.5,0.5,0,0,[]],49,9797,[[4],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[712,1240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9798,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[744,1240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9799,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[776,1240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9800,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[808,1240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9801,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[840,1240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9802,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[872,1240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9803,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1128,1032,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,9804,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,1056,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,9805,[[-1],[0],[0],[0],[0],[-2],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1120,1040,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9806,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 45 ; F 50; W 1.5; B 50 ; R 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1104,1104,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9807,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,1008,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9808,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1152,1056,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9809,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1056,1056,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9810,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1128,1080,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,9811,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1080,1080,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,9812,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1080,1032,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,9813,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1088,1040,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9814,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"R 45 ; B 50; W 1.5; F 50 ; L 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1120,1072,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9815,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 135 ; B 50; W 1.5; F 50 ; R 135; W 1",175,0,0,1080,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1088,1072,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9816,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 45 ; B 50; W 1.5; F 50 ; R 45 ; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[288,1936,0,480,8,0,0,1,0,0,0,0,[]],51,9817,[],[[0],[1],[1,100,""]],[0,0]],[[160,1936,0,64,512,0,0,1,0,0,0,0,[]],51,9818,[],[[0],[1],[1,100,""]],[0,0]],[[936,1952,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9819,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[936,2192,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9820,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[936,2440,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9821,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[984,2064,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9822,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[984,2312,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9823,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[224,1936,0,96,8,0,0,1,0,0,0,0,[]],45,9824,[],[[0],[1]],[0,0]],[[176,1888,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,9825,[[1],[-1]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[176,1832,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,9826,[[1],[-1]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[176,1784,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,9827,[[1],[-1]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[896,2768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9828,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[536,2760,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9834,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[568,2752,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9835,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[600,2744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9836,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[536,2648,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9839,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[568,2640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9840,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[600,2632,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9841,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[536,2696,0,160,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,9842,[[-1],[0],[0],[0],[0],[10],[1]],[[0],[1,1,1,0,"F 120 ; W 1 ; B 120; W 1",120,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[600,2688,0,152,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,9843,[[-1],[0],[0],[0],[0],[10],[1]],[[0],[1,1,1,0,"F 120 ; W 1 ; B 120; W 1",120,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[520,2776,0,32,168,0,0,1,0,0,0,0,[]],51,9844,[],[[0],[1],[1,100,""]],[0,0]],[[584,2760,0,32,168,0,0,1,0,0,0,0,[]],51,9845,[],[[0],[1],[1,100,""]],[0,0]],[[520,2456,0,32,176,0,0,1,0,0,0,0,[]],51,9846,[],[[0],[1],[1,100,""]],[0,0]],[[584,2448,0,32,168,0,0,1,0,0,0,0,[]],51,9847,[],[[0],[1],[1,100,""]],[0,0]],[[568,2696,0,160,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9849,[[-1],[0],[0],[0],[0],[10],[1]],[[0],[1,1,1,0,"F 120 ; W 1 ; B 120; W 1",120,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[552,2456,0,32,168,0,0,1,0,0,0,0,[]],51,9852,[],[[0],[1],[1,100,""]],[0,0]],[[552,2768,0,32,168,0,0,1,0,0,0,0,[]],51,9855,[],[[0],[1],[1,100,""]],[0,0]],[[488,2784,0,32,168,0,0,1,0,0,0,0,[]],51,9856,[],[[0],[1],[1,100,""]],[0,0]],[[288,1936,0,480,520,0,0,1,0,0,0,0,[]],51,9829,[],[[0],[1],[1,100,""]],[0,0]],[[208,2448,0,96,8,0,0,1,0,0,0,0,[]],45,9830,[],[[0],[1]],[0,0]],[[160,2448,0,64,8,0,0,1,0,0,0,0,[]],51,9831,[],[[0],[1],[1,100,""]],[0,0]],[[864,2768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9857,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[832,2768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9858,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[264,3280,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,37,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[264,3312,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9833,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[264,3344,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9838,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[264,3376,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9850,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[264,3408,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9853,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[264,3440,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9854,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[264,3472,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9859,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[264,3504,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9860,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[280,3264,0,96,256,0,0,1,0,0,0,0,[]],51,9861,[],[[0],[1],[1,100,""]],[0,0]],[[392,3280,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9862,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[392,3312,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9863,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[392,3344,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9864,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[392,3376,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9865,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[392,3408,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9866,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[392,3440,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9867,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[392,3472,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9868,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[296,3248,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9869,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[360,3248,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9870,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[328,3248,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9871,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[392,3504,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9872,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[296,3536,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9873,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[360,3536,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9874,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[328,3536,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9875,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[328,3392,0,112,272,0,0,1,0.5,0.5,0,0,[]],50,9876,[[-1],[0],[0],[0],[0],[6],[1]],[[0],[1,0,1,1,"F 1192",700,600,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[544,3388,0,128,344,0,0,1,0.5,0.5,0,0,[]],49,8972,[[6],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[2800,3288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9877,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2800,3320,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9878,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2800,3352,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9879,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2800,3384,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9880,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2800,3416,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9881,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2800,3448,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9882,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2800,3480,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9883,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2800,3512,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9884,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2816,3272,0,96,256,0,0,1,0,0,0,0,[]],51,9885,[],[[0],[1],[1,100,""]],[0,0]],[[2928,3288,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9886,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2928,3320,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9887,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2928,3352,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9888,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2928,3384,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9889,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2928,3416,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9890,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2928,3448,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9891,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2928,3480,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9892,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9893,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2896,3256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9894,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2864,3256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9895,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2928,3512,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9896,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2832,3544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9897,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2896,3544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9898,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2864,3544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9899,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2864,3400,0,112,272,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,9900,[[-1],[0],[0],[0],[0],[6],[1]],[[0],[1,0,1,1,"F 1192",700,600,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2576,3392,0,128,344,0,0,1,0.5,0.5,0,0,[]],49,9901,[[6],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[1488,4584,0,8,272,0,1.570796370506287,1,0,0,0,0,[]],51,9832,[],[[0],[1],[1,100,""]],[0,0]],[[1888,4584,0,8,184,0,1.570796370506287,1,0,0,0,0,[]],51,9837,[],[[0],[1],[1,100,""]],[0,0]],[[608,4584,0,9,96,0,0,1,0,0,0,0,[]],48,9848,[],[[0],[1]],[0,0]],[[1328,4568,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,9902,[[0.8],[0]],[[0]],[0,"Default",0,1]],[[0,4048,0,8,640,0,0,1,0,0,0,0,[]],51,9903,[],[[0],[1],[1,100,""]],[0,0]],[[504,4040,0,8,312,0,0,1,0,0,0,0,[]],51,9904,[],[[0],[1],[1,100,""]],[0,0]],[[1232,4568,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9905,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,4520,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9906,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1168,4472,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9907,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,4424,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9908,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,4360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9910,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1072,4320,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9911,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,4208,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9912,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1040,4304,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9913,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[880,4184,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9914,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[896,4200,0,8,32,0,1.570796370506287,1,0,0,0,0,[]],51,9909,[],[[0],[1],[1,100,""]],[0,0]],[[1216,4536,0,56,32,0,1.570796370506287,1,0,0,0,0,[]],51,9915,[],[[0],[1],[1,100,""]],[0,0]],[[1184,4488,0,104,32,0,1.570796370506287,1,0,0,0,0,[]],51,9916,[],[[0],[1],[1,100,""]],[0,0]],[[1152,4440,0,152,32,0,1.570796370506287,1,0,0,0,0,[]],51,9917,[],[[0],[1],[1,100,""]],[0,0]],[[1120,4376,0,152,32,0,1.570796370506287,1,0,0,0,0,[]],51,9918,[],[[0],[1],[1,100,""]],[0,0]],[[1088,4336,0,152,32,0,1.570796370506287,1,0,0,0,0,[]],51,9919,[],[[0],[1],[1,100,""]],[0,0]],[[1056,4320,0,152,32,0,1.570796370506287,1,0,0,0,0,[]],51,9920,[],[[0],[1],[1,100,""]],[0,0]],[[1024,4304,0,168,32,0,1.570796370506287,1,0,0,0,0,[]],51,9921,[],[[0],[1],[1,100,""]],[0,0]],[[992,4280,0,192,32,0,1.570796370506287,1,0,0,0,0,[]],51,9922,[],[[0],[1],[1,100,""]],[0,0]],[[960,4248,0,224,32,0,1.570796370506287,1,0,0,0,0,[]],51,9924,[],[[0],[1],[1,100,""]],[0,0]],[[928,4224,0,248,32,0,1.570796370506287,1,0,0,0,0,[]],51,9925,[],[[0],[1],[1,100,""]],[0,0]],[[896,4208,0,264,32,0,1.570796370506287,1,0,0,0,0,[]],51,9926,[],[[0],[1],[1,100,""]],[0,0]],[[832,4256,0,216,32,0,1.570796370506287,1,0,0,0,0,[]],51,9927,[],[[0],[1],[1,100,""]],[0,0]],[[864,4224,0,248,32,0,1.570796370506287,1,0,0,0,0,[]],51,9928,[],[[0],[1],[1,100,""]],[0,0]],[[800,4288,0,184,32,0,1.570796370506287,1,0,0,0,0,[]],51,9929,[],[[0],[1],[1,100,""]],[0,0]],[[768,4320,0,168,32,0,1.570796370506287,1,0,0,0,0,[]],51,9930,[],[[0],[1],[1,100,""]],[0,0]],[[736,4384,0,152,32,0,1.570796370506287,1,0,0,0,0,[]],51,9931,[],[[0],[1],[1,100,""]],[0,0]],[[944,4232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9923,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[976,4264,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9932,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1008,4288,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9933,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[848,4208,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9934,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[816,4240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9935,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[784,4272,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9936,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[752,4304,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9937,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,4368,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9938,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[656,4464,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9939,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[624,4512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9940,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[688,4416,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9941,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[640,4528,0,56,32,0,1.570796370506287,1,0,0,0,0,[]],51,9942,[],[[0],[1],[1,100,""]],[0,0]],[[672,4480,0,104,32,0,1.570796370506287,1,0,0,0,0,[]],51,9943,[],[[0],[1],[1,100,""]],[0,0]],[[704,4432,0,152,32,0,1.570796370506287,1,0,0,0,0,[]],51,9944,[],[[0],[1],[1,100,""]],[0,0]],[[88,4152,0,8,424,0,0,1,0,0,0,0,[]],51,9945,[],[[0],[1],[1,100,""]],[0,0]],[[416,4152,0,8,328,0,1.570796370506287,1,0,0,0,0,[]],51,9946,[],[[0],[1],[1,100,""]],[0,0]],[[504,4344,0,8,328,0,1.570796370506287,1,0,0,0,0,[]],51,9947,[],[[0],[1],[1,100,""]],[0,0]],[[104,4552,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,9948,[[1],[150]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[336,4256,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,9949,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[312,4280,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,9950,[[-1],[0],[0],[0],[0],[-2],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[328,4264,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9951,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 45 ; F 50; W 1.5; B 50 ; R 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[312,4328,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9952,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[312,4232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9953,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[360,4280,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9954,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[264,4280,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9955,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[336,4304,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,9956,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[288,4304,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,9957,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[288,4256,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,9958,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[296,4264,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9959,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"R 45 ; B 50; W 1.5; F 50 ; L 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[328,4296,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9960,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 135 ; B 50; W 1.5; F 50 ; R 135; W 1",175,0,0,1080,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[296,4296,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9961,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 45 ; B 50; W 1.5; F 50 ; R 45 ; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[24,4656,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9962,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[40,4672,0,56,32,0,1.570796370506287,1,0,0,0,0,[]],51,9963,[],[[0],[1],[1,100,""]],[0,0]],[[56,4656,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9964,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[72,4672,0,56,32,0,1.570796370506287,1,0,0,0,0,[]],51,9965,[],[[0],[1],[1,100,""]],[0,0]],[[40,4664,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9966,[[-1],[0],[0],[0],[0],[8],[1]],[[0],[1,0,1,1,"F 1192",400,350,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[96,4632,0,16,112,0,0,1,0.5,0.5,0,0,[]],49,9967,[[8],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[136,4344,0,24,24,0,0,1,0.5,0.5,0,0,[]],49,9968,[[9],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[616,4632,0,24,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,9969,[[-1],[0],[0],[0],[0],[9],[1]],[[0],[1,0,1,1,"B 1000",400,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[944,4552,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,9970,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[920,4576,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,9971,[[-1],[0],[0],[0],[0],[-2],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[936,4560,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9972,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 45 ; F 50; W 1.5; B 50 ; R 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[920,4624,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,9973,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[920,4528,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,9974,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[968,4576,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,9975,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[872,4576,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,9976,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[944,4600,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,9977,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[896,4600,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,9978,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[896,4552,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,9979,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[904,4560,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9980,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"R 45 ; B 50; W 1.5; F 50 ; L 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[936,4592,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9981,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 135 ; B 50; W 1.5; F 50 ; R 135; W 1",175,0,0,1080,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[904,4592,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,9982,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,0,0,"L 45 ; B 50; W 1.5; F 50 ; R 45 ; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2680,4376,0,32,8,0,1.570796370506287,1,0,0,0,0,[]],56,9851,[],[[1],[1]],[0,0]],[[1888,4256,0,792,8,0,0,1,0,0,0,0,[]],56,9984,[],[[1],[1]],[0,0]],[[1992,4408,0,384,8,0,0,1,0,0,0,0,[]],56,9985,[],[[1],[1]],[0,0]],[[1888,4256,0,104,8,0,1.570796370506287,1,0,0,0,0,[]],56,9986,[],[[1],[1]],[0,0]],[[1904,4280,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,9987,[[0]],[[1],[1]],[0,"Default",0,1]],[[1904,4312,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,9988,[[0]],[[1],[1]],[0,"Default",0,1]],[[1904,4344,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],58,9989,[[0]],[[1],[1]],[0,"Default",0,1]],[[2656,4392,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],58,9990,[[0]],[[1],[1]],[0,"Default",0,1]],[[1912,4328,0,40,100,0,0,1,0.5,0.5,0,0,[]],50,9991,[[-1],[0],[0],[0],[0],[11],[0]],[[0],[1,0,1,0,"F 1000",400,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2336,4360,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,9992,[[11],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[2448,4408,0,240,8,0,0,1,0,0,0,0,[]],56,9993,[],[[1],[1]],[0,0]],[[2376,4408,0,72,8,0,0,1,0,0,0,0,[]],56,9994,[],[[1],[1]],[0,0]],[[2400,4416,0,40,16,0,0,1,0.5,0.5,0,0,[]],50,9995,[[-1],[0],[0],[0],[0],[11],[0]],[[0],[1,0,1,0,"W 3; F 64",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2657,4387,0,40,32,0,0,1,0.5,0.5,0,0,[]],50,9996,[[-1],[0],[0],[0],[0],[11],[0]],[[0],[1,0,1,0,"B 1000",400,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1888,4360,0,160,8,0,1.570796370506287,1,0,0,0,0,[]],56,9998,[],[[1],[1]],[0,0]],[[1992,4408,0,176,8,0,1.570796370506287,1,0,0,0,0,[]],56,9999,[],[[1],[1]],[0,0]],[[1880,4584,0,112,8,0,0,1,0,0,0,0,[]],56,10000,[],[[1],[1]],[0,0]],[[1840,368,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,38,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[2688,4256,0,152,8,0,1.570796370506287,1,0,0,0,0,[]],56,10001,[],[[1],[1]],[0,0]],[[2688,4408,0,280,8,0,1.570796370506287,1,0,0,0,0,[]],56,10002,[],[[1],[1]],[0,0]],[[1880,4680,0,800,8,0,0,1,0,0,0,0,[]],56,10004,[],[[1],[1]],[0,0]],[[2000,4576,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,10003,[[1],[150]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[2112,4424,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,10005,[[1],[150]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[2280,4672,0,64,32,0,-1.570796489715576,1,0.125,0.5,0,0,[]],55,10006,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[2632,4624,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,10007,[[12],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[2592,4424,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,10008,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1888,4640,0,40,16,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,10009,[[-1],[0],[0],[0],[0],[12],[0]],[[0],[1,0,1,0,"B 2000",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1888,4584,0,104,8,0,1.570796370506287,1,0,0,0,0,[]],56,10010,[],[[1],[1]],[0,0]],[[1440,4636,0,28,80,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,9983,[[1000],[1001],[0],[0],[0],[0],[0]],[[0]],[1,"Default",0,1]],[[1736,4456,0,28,80,0,0,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,10011,[[1001],[-1],[0],[0],[0],[0],[0]],[[0]],[1,"Default",0,1]],[[1744,4636,0,28,80,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,10012,[[1002],[1003],[0],[0],[0],[0],[0]],[[0]],[1,"Default",0,1]],[[1448,4448,0,28,80,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,0,128,255,0.01]]],62,10013,[[1003],[-1],[0],[0],[0],[0],[0]],[[0]],[1,"Default",0,1]]],[]],["UI",2,830857103082037,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,522601277043433,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,314961077218204,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,103065276396759,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,383965508689807,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,503063231833538,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,831560373941358,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 49",2000,2000,true,"Levels",866040169171752,[["Background",0,916571196448190,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[-259,239,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,40,[["The iron maiden"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,676883255295672,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[452,1072,0,224,117,0,0,1,0,0,0,0,[[]]],61,7387,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]],[[272,1424,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,7395,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[1,0],[0,10000,360,1]],[1,"Default",0,1]],[[300,975,0,152,184,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,7546,[[-1],[0],[0],[0],[0],[6],[1]],[[0],[1,0,1,1,"W 1 ; F 552",80,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[208.0000152587891,344,0,1160,8,0,1.570796370506287,1,0,0,0,0,[]],67,7406,[],[[1]],[0,0]],[[1088,352,0,1160,8,0,1.570796370506287,1,0,0,0,0,[]],67,7396,[],[[1]],[0,0]],[[200,1504,0,888,8,0,0,1,0,0,0,0,[]],67,7397,[],[[1]],[0,0]],[[208,1272,0,536,8,0,0,1,0,0,0,0,[]],67,7398,[],[[1]],[0,0]],[[440,1328,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7399,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[400,1328,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7400,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[424,1312,0,64,8,0,1.570796370506287,1,0,0,0,0,[]],67,7401,[],[[1]],[0,0]],[[440,1360,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7409,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[400,1360,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7410,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[440,1488,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7411,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[400,1488,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7412,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[424,1472,0,32,8,0,1.570796370506287,1,0,0,0,0,[]],67,7402,[],[[1]],[0,0]],[[728,1328,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7403,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[688,1328,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7404,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[712,1312,0,32,8,0,1.570796370506287,1,0,0,0,0,[]],67,7405,[],[[1]],[0,0]],[[728,1456,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7407,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[688,1456,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7408,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[728,1488,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7413,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[688,1488,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7414,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[712,1440,0,64,8,0,1.570796370506287,1,0,0,0,0,[]],67,7415,[],[[1]],[0,0]],[[584,1328,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7419,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[544,1328,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7420,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[584,1360,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7421,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[544,1360,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7422,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[568,1312,0,96,8,0,1.570796370506287,1,0,0,0,0,[]],67,7423,[],[[1]],[0,0]],[[584,1392,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7416,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[544,1392,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7417,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[896,1488,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7418,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[856,1488,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7424,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[880,1472,0,32,8,0,1.570796370506287,1,0,0,0,0,[]],67,7425,[],[[1]],[0,0]],[[896,1328,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7426,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[856,1328,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7427,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[896,1360,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7428,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[856,1360,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7429,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[880,1312,0,64,8,0,1.570796370506287,1,0,0,0,0,[]],67,7430,[],[[1]],[0,0]],[[1064,1328,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7431,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1064,1360,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7432,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1064,1392,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7433,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1064,1424,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7434,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1064,1456,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7435,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1064,1488,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7436,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[992,1416,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,7437,[["level49"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[440,1296,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7438,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[400,1296,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7439,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[424,1280,0,32,8,0,1.570796370506287,1,0,0,0,0,[]],67,7440,[],[[1]],[0,0]],[[584,1296,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7441,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[544,1296,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7442,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[568,1280,0,32,8,0,1.570796370506287,1,0,0,0,0,[]],67,7443,[],[[1]],[0,0]],[[728,1296,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7444,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[688,1296,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7445,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[712,1280,0,32,8,0,1.570796370506287,1,0,0,0,0,[]],67,7446,[],[[1]],[0,0]],[[896,1296,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7448,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[856,1296,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7449,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[880,1280,0,32,8,0,1.570796370506287,1,0,0,0,0,[]],67,7450,[],[[1]],[0,0]],[[840,1272,0,240,8,0,0,1,0,0,0,0,[]],67,7451,[],[[1]],[0,0]],[[744,1272,0,96,8,0,0,1,0,0,0,0,[]],45,7452,[],[[0],[1]],[0,0]],[[752,1272,0,24,8,0,1.570796370506287,1,0,0,0,0,[]],67,7453,[],[[1]],[0,0]],[[840,1272,0,24,8,0,1.570796370506287,1,0,0,0,0,[]],67,7454,[],[[1]],[0,0]],[[792,1240,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,7455,[[1],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[752,1200,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],67,7456,[],[[1]],[0,0]],[[664,1200,0,88,8,0,0,1,0,0,0,0,[]],67,7464,[],[[1]],[0,0]],[[672,1208,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],67,7465,[],[[1]],[0,0]],[[920,1200,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],67,7466,[],[[1]],[0,0]],[[832,1200,0,88,8,0,0,1,0,0,0,0,[]],67,7467,[],[[1]],[0,0]],[[840,1208,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],67,7468,[],[[1]],[0,0]],[[752,1200,0,80,8,0,0,1,0,0,0,0,[]],45,7463,[],[[0],[1]],[0,0]],[[880,1240,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7469,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[704,1240,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7470,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[744,1200,0,96,8,0,0,1,0,0,0,0,[]],45,7471,[],[[0],[1]],[0,0]],[[752,1200,0,24,8,0,1.570796370506287,1,0,0,0,0,[]],67,7472,[],[[1]],[0,0]],[[840,1200,0,24,8,0,1.570796370506287,1,0,0,0,0,[]],67,7473,[],[[1]],[0,0]],[[792,1168,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,7474,[[2],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[752,1128,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],67,7475,[],[[1]],[0,0]],[[664,1128,0,88,8,0,0,1,0,0,0,0,[]],67,7476,[],[[1]],[0,0]],[[672,1136,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],67,7477,[],[[1]],[0,0]],[[920,1128,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],67,7478,[],[[1]],[0,0]],[[832,1128,0,88,8,0,0,1,0,0,0,0,[]],67,7479,[],[[1]],[0,0]],[[840,1136,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],67,7480,[],[[1]],[0,0]],[[752,1128,0,80,8,0,0,1,0,0,0,0,[]],45,7481,[],[[0],[1]],[0,0]],[[880,1168,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7482,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[704,1168,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7483,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[744,1128,0,96,8,0,0,1,0,0,0,0,[]],45,7484,[],[[0],[1]],[0,0]],[[752,1120,0,24,8,0,1.570796370506287,1,0,0,0,0,[]],67,7485,[],[[1]],[0,0]],[[840,1120,0,24,8,0,1.570796370506287,1,0,0,0,0,[]],67,7486,[],[[1]],[0,0]],[[792,1096,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,7487,[[3],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[752,1056,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],67,7488,[],[[1]],[0,0]],[[632,1056,0,120,8,0,0,1,0,0,0,0,[]],67,7489,[],[[1]],[0,0]],[[672,1064,0,72,8,0,1.570796370506287,1,0,0,0,0,[]],67,7490,[],[[1]],[0,0]],[[920,864,0,264,8,0,1.570796370506287,1,0,0,0,0,[]],67,7491,[],[[1]],[0,0]],[[832,1056,0,88,8,0,0,1,0,0,0,0,[]],67,7492,[],[[1]],[0,0]],[[840,864,0,272,8,0,1.570796370506287,1,0,0,0,0,[]],67,7493,[],[[1]],[0,0]],[[752,1056,0,80,8,0,0,1,0,0,0,0,[]],45,7494,[],[[0],[1]],[0,0]],[[880,1096,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7495,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[704,1096,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7496,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[696,1240,0,24,24,0,0,1,0.5,0.5,0,0,[]],50,7497,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,0,1,1,"W 0.25 ; F 72",900,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[888,1240,0,24,24,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,7498,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,0,1,1,"W 0.25 ; F 72",900,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[696,1168,0,24,24,0,0,1,0.5,0.5,0,0,[]],50,7499,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"W 0.25 ; F 72",900,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[696,1096,0,24,24,0,0,1,0.5,0.5,0,0,[]],50,7500,[[-1],[0],[0],[0],[0],[3],[1]],[[0],[1,0,1,1,"W 0.25 ; F 72",900,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[888,1168,0,24,24,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,7501,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"W 0.25 ; F 72",900,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[888,1096,0,24,24,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,7502,[[-1],[0],[0],[0],[0],[3],[1]],[[0],[1,0,1,1,"W 0.25 ; F 72",900,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[752,936,0,80,9,0,0,1,0,0,0,0,[]],52,7388,[],[[0],[0]],[0,0]],[[752,1016,0,40,8,0,1.570796370506287,1,0,0,0,0,[]],45,7389,[],[[0],[1]],[0,0]],[[752,864,0,152,8,0,1.570796370506287,1,0,0,0,0,[]],67,7390,[],[[1]],[0,0]],[[752,864,0,88,8,0,0,1,0,0,0,0,[]],67,7391,[],[[1]],[0,0]],[[792,896,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7392,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[792,1024,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,7393,[[4],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[792,888,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7394,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,1,"W 1 ; F 1000",900,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[861,1040,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7503,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[892,1040,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7504,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[840,864,0,72,8,0,0,1,0,0,0,0,[]],45,7505,[],[[0],[1]],[0,0]],[[592,1056,0,72,8,0,0,1,0,0,0,0,[]],67,7507,[],[[1]],[0,0]],[[608,1040,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7508,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[640,1040,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7509,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[288,1056,0,200,8,0,0,1,0,0,0,0,[]],67,5616,[],[[1]],[0,0]],[[488,504,0,552,8,0,1.570796370506287,1,0,0,0,0,[]],67,7506,[],[[1]],[0,0]],[[504,1016,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7510,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[504,1048,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7511,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[504,984,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7512,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[504,952,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7513,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[480,864,0,264,8,0,0,1,0,0,0,0,[]],67,7514,[],[[1]],[0,0]],[[504,920,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7515,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[504,888,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7516,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[632,888,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7518,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[664,888,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7519,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[696,888,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7517,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[728,888,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7520,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[600,888,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7522,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[728,952,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7521,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[728,984,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7523,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[496,1256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7525,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[464,1224,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7526,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[432,1184,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7527,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[400,1224,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7528,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,1256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7529,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,1080,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7530,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[336,1112,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7531,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,1152,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7532,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[296,1056,0,80,8,0,1.570796370506287,1,0,0,0,0,[]],67,7535,[],[[1]],[0,0]],[[416,1240,0,32,32,0,1.570796370506287,1,0,0,0,0,[]],67,7524,[],[[1]],[0,0]],[[480,1240,0,32,32,0,1.570796370506287,1,0,0,0,0,[]],67,7533,[],[[1]],[0,0]],[[448,1200,0,72,32,0,1.570796370506287,1,0,0,0,0,[]],67,7534,[],[[1]],[0,0]],[[352,1064,0,32,32,0,1.570796370506287,1,0,0,0,0,[]],67,7536,[],[[1]],[0,0]],[[320,1064,0,72,32,0,1.570796370506287,1,0,0,0,0,[]],67,7537,[],[[1]],[0,0]],[[392,896,0,9,184,0,1.570796370506287,1,0,0,0,0,[]],48,7538,[],[[1],[1]],[0,0]],[[384,896,0,9,96,0,0,1,0,0,0,0,[]],48,7540,[],[[1],[1]],[0,0]],[[208,904,0,9,152,0,0,1,0,0,0,0,[]],48,7543,[],[[1],[1]],[0,0]],[[256,1032,0,72,16,0,0,1,0.5,0.5,0,0,[]],49,7548,[[6],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[224,776,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7542,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[288,776,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7544,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[364,776,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7549,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[240,656,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7551,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[328,664,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7552,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[328,592,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7554,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[372,608,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7555,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[264,560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7556,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[224,520,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7557,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[294,446,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7558,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[366,536,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7559,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[256,368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7562,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[224,368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7563,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[288,368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7564,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[320,368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7565,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[352,368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7566,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[384,368,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7567,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[200,344,0,888,8,0,0,1,0,0,0,0,[]],67,7568,[],[[1]],[0,0]],[[372,680,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7541,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[480,504,0,264,8,0,0,1,0,0,0,0,[]],67,7545,[],[[1]],[0,0]],[[288,1048,0,104,9,0,0,1,0,0,0,0,[]],51,7547,[],[[0],[1],[1,100,""]],[0,0]],[[752,504,0,360,8,0,1.570796370506287,1,0,0,0,0,[]],67,7539,[],[[1]],[0,0]],[[752,504,0,328,8,0,0,1,0,0,0,0,[]],45,7550,[],[[0],[1]],[0,0]],[[776,472,0,32,16,0,0,1,0,0,0,0,[]],46,7553,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","1",1,0,50,0,0,0,0,0,"",-1,0]],[[864,472,0,32,16,0,0,1,0,0,0,0,[]],46,7560,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","2",1,0,50,0,0,0,0,0,"",-1,0]],[[984,472,0,32,16,0,0,1,0,0,0,0,[]],46,7561,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","3",1,0,50,0,0,0,0,0,"",-1,0]],[[840,504,0,280,8,0,1.570796370506287,1,0,0,0,0,[]],67,7569,[],[[1]],[0,0]],[[920,504,0,280,8,0,1.570796370506287,1,0,0,0,0,[]],67,7570,[],[[1]],[0,0]],[[752,776,0,328,8,0,0,1,0,0,0,0,[]],45,7571,[],[[0],[1]],[0,0]],[[1000,752,0,144,32,0,0,1,0.5,0.5,0,0,[]],49,7573,[[7],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[1000,1040,0,24,24,0,0,1,0.5,0.5,0,0,[]],50,7574,[[-1],[0],[0],[0],[0],[7],[1]],[[0],[1,0,1,1,"F 400",800,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[936,1256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7575,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[968,1256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7576,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1032,1256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7577,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1064,1256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7578,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1000,1256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7579,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1000,1144,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,7580,[],[[0]],[0,"Default",0,1]],[[392,992,0,56,8,0,1.570796370506287,1,0,0,0,0,[]],45,7581,[],[[0],[1]],[0,0]],[[616,716,0,232,296,0,0,1,0.5,0.5,0,0,[]],173,7572,[],[],[0,"Default",0,1]],[[560,528,0,112,24,0,0,1,0,0,0,0,[]],46,7582,[[0],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","FL1CKD",1,0,50,0,0,0,0,0,"",-1,0]],[[576,488,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7583,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[544,488,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7584,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[608,488,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7585,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[640,488,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7586,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[672,488,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7587,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[704,488,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7588,[[0],[0]],[[0],[1]],[0,"Default",0,1]]],[]],["UI",2,724580818663920,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,655844049377971,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,580367956384220,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,251501048792313,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,443939102020348,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,682424516631716,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,445234732475059,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 50",3500,3500,true,"Levels",200730535750457,[["Background",0,622299070984176,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,481403517635144,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[1104,1144,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,1816,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[1,0],[0,10000,360,1]],[1,"Default",0,1]],[[1000.000122070313,280,0,1688,680,0,1.570796370506287,1,0,0,0,0,[]],67,1829,[],[[1]],[0,0]],[[1016,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7313,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[512,3400,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,8552,[],[[0]],[0,"Default",0,1]],[[2232,1672,0,1240,200,0,3.141592741012573,1,0,0,0,0,[]],67,1815,[],[[1]],[0,0]],[[1048,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1817,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1080,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1818,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1112,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1819,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1144,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1820,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1176,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1821,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1208,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1822,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1823,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1272,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1824,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1304,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1825,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1336,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1826,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1368,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1827,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1176,1208,0,104,8,0,3.141592741012573,1,0,0,0,0,[]],67,1828,[],[[1]],[0,0]],[[2448,904.0000610351562,0,1448,632,0,3.141592741012573,1,0,0,0,0,[]],67,1830,[],[[1]],[0,0]],[[1392,1144,0,328,8,0,1.570796370506287,1,0,0,0,0,[]],67,1831,[],[[1]],[0,0]],[[1392,904,0,80,8,0,1.570796370506287,1,0,0,0,0,[]],67,1832,[],[[1]],[0,0]],[[1408,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1833,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1440,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1834,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1472,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1835,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1504,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1836,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1536,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1837,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1568,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1838,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1839,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1632,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1840,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1664,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1841,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1696,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1842,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1728,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1843,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1760,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1844,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1608,1208,0,56,8,0,3.141592741012573,1,0,0,0,0,[]],67,1845,[],[[1]],[0,0]],[[1784,1168,0,304,8,0,1.570796370506287,1,0,0,0,0,[]],67,1846,[],[[1]],[0,0]],[[1784,904,0,104,8,0,1.570796370506287,1,0,0,0,0,[]],67,1847,[],[[1]],[0,0]],[[1800,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1848,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1832,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1849,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1864,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1850,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1896,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1851,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1928,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1852,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1960,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1853,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1992,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1854,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2024,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1855,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2056,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1856,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2088,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1857,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2120,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1858,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2152,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1860,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3072,568,0,1688,632,0,1.570796370506287,1,0,0,0,0,[]],67,1862,[],[[1]],[0,0]],[[2328,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1865,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2360,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1866,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2392,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1867,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2424,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1868,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1392,1128,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1864,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1392,1000,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1869,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1784,1152,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1870,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1784,1024,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1871,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1848,1248,0,40,8,0,0,1,0,0,0,0,[]],45,1861,[],[[0],[1]],[0,0]],[[2335.999755859375,4192,0,1344,1944,0,3.141592741012573,1,0,0,0,0,[]],67,1873,[],[[1]],[0,0]],[[3055.999755859375,4024,0,744,1776,0,3.141592741012573,1,0,0,0,0,[]],67,7271,[],[[1]],[0,0]],[[2328,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7272,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2360,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7273,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2392,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7274,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2424,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7275,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1960,1200,0,40,8,0,0,1,0,0,0,0,[]],45,7276,[],[[0],[1]],[0,0]],[[2096,1128,0,40,8,0,0,1,0,0,0,0,[]],45,7277,[],[[0],[1]],[0,0]],[[2240,1016,0,64,8,0,0,1,0,0,0,0,[]],45,7278,[],[[0],[1]],[0,0]],[[2240,1016,0,696,8,0,1.570796370506287,1,0,0,0,0,[]],67,7279,[],[[1]],[0,0]],[[2312,1016,0,696,8,0,1.570796370506287,1,0,0,0,0,[]],67,7280,[],[[1]],[0,0]],[[2184,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7281,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2216,1456,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7282,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1728,1256,0,56,8,0,3.141592741012573,1,0,0,0,0,[]],67,7283,[],[[1]],[0,0]],[[2328,1032,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7284,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2360,1064,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7285,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2328,1096,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7286,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2424,1224,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7287,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2392,1256,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7288,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2424,1288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7289,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2424,1400,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7290,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2328,1400,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7291,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2456,2048,0,200,8,0,3.141592741012573,1,0,0,0,0,[]],67,7292,[],[[1]],[0,0]],[[2376,1400,0,48,48,0,0,1,0.5,0.5,0,0,[]],49,7293,[[1],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[2376,1400,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,1859,[["level50"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[2376,1464,0,120,32,0,0,1,0.5,0.5,0,0,[]],50,7294,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,0,1,1,"F 128",2048,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2312,1472,0,128,8,0,0,1,0,0,0,0,[]],51,7295,[],[[0],[1],[1,100,""]],[0,0]],[[2344,1048,0,32,32,0,1.570796370506287,1,0,0,0,0,[]],67,1863,[],[[1]],[0,0]],[[2440,1240,0,32,32,0,1.570796370506287,1,0,0,0,0,[]],67,7296,[],[[1]],[0,0]],[[2056,1928,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7300,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2056,1792,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7301,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1816,2072,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1875,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1816,1936,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1876,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1568,1928,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,1879,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1568,1792,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,1880,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1928,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2794,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1792,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,2795,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2376,1576,0,136,200,0,0,1,0.5,0.5,0,0,[]],164,5504,[],[],[0,"Default",0,1]],[[2056,1768,0,56,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,5656,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,1,1,0,"F 125 ; W 0.4; B 125; W 0.4",100,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2056,1952,0,56,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,5662,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,1,1,0,"F 125 ; W 0.4; B 125; W 0.4",100,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2056,1472,0,304,8,0,1.570796370506287,1,0,0,0,0,[]],51,5663,[],[[0],[1],[1,100,""]],[0,0]],[[2056,1944,0,304,8,0,1.570796370506287,1,0,0,0,0,[]],51,5664,[],[[0],[1],[1,100,""]],[0,0]],[[1816,1912,0,56,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,5666,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,1,1,0,"F 125 ; W 0.4; B 125; W 0.4",100,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1816,2096,0,56,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,5667,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,1,1,0,"F 125 ; W 0.4; B 125; W 0.4",100,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1816,1592,0,328,8,0,1.570796370506287,1,0,0,0,0,[]],51,5668,[],[[0],[1],[1,100,""]],[0,0]],[[1816,2088,0,400,8,0,1.570796370506287,1,0,0,0,0,[]],51,1872,[],[[0],[1],[1,100,""]],[0,0]],[[1568,1944,0,400,8,0,1.570796370506287,1,0,0,0,0,[]],51,1874,[],[[0],[1],[1,100,""]],[0,0]],[[1240,1944,0,400,8,0,1.570796370506287,1,0,0,0,0,[]],51,1877,[],[[0],[1],[1,100,""]],[0,0]],[[1240,1472,0,304,8,0,1.570796370506287,1,0,0,0,0,[]],51,1878,[],[[0],[1],[1,100,""]],[0,0]],[[1568,1472,0,304,8,0,1.570796370506287,1,0,0,0,0,[]],51,1881,[],[[0],[1],[1,100,""]],[0,0]],[[1568,1768,0,56,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,2792,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,1,1,0,"F 125 ; B 125",150,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1568,1952,0,56,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,5669,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,1,1,0,"F 125 ; B 125",150,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1240,1792,0,56,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,5672,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,1,1,0,"F 125 ; W 0.4; B 125; W 0.4",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1240,1944,0,56,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,5673,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,1,1,0,"F 125 ; W 0.4; B 125; W 0.4",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1968,2016,0,72,8,0,3.141592741012573,1,0,0,0,0,[]],67,5727,[],[[1]],[0,0]],[[1712,1944,0,72,8,0,3.141592741012573,1,0,0,0,0,[]],67,5729,[],[[1]],[0,0]],[[1472,2072,0,152,8,0,3.141592741012573,1,0,0,0,0,[]],67,5798,[],[[1]],[0,0]],[[1112,2072,0,504,8,0,3.141592741012573,1,0,0,0,0,[]],67,5799,[],[[1]],[0,0]],[[1008.000061035156,2064,0,2008,224,0,1.570796370506287,1,0,0,0,0,[]],67,6384,[],[[1]],[0,0]],[[416.0001220703125,280,0,3776,984,0,1.570796370506287,1,0,0,0,0,[]],67,6485,[],[[1]],[0,0]],[[783.9999389648438,4264,0,368,768,0,3.141592741012573,1,0,0,0,0,[]],67,6487,[],[[1]],[0,0]],[[432,1960,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6524,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[464,1960,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6658,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[496,1960,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7268,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[560,1960,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7269,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[592,1960,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7270,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[432,2632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7303,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[672,2656,0,264,8,0,3.141592741012573,1,0,0,0,0,[]],67,7304,[],[[1]],[0,0]],[[544,2608,0,32,8,0,3.141592741012573,1,0,0,0,0,[]],67,7297,[],[[1]],[0,0]],[[464,2632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7298,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[496,2632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7299,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[528,2632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7302,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[560,2632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7306,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[592,2632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7307,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[624,2632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7308,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[656,2632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7309,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[432,3120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7310,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[640,3144,0,224,8,0,3.141592741012573,1,0,0,0,0,[]],67,7311,[],[[1]],[0,0]],[[464,3120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7314,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[496,3120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7315,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[528,3120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7316,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[560,3120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7317,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[592,3120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7318,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[624,3120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7319,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[704,3120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7312,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[736,3120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7320,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[768,3120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7321,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[784,3144,0,96,8,0,3.141592741012573,1,0,0,0,0,[]],67,7322,[],[[1]],[0,0]],[[200,2480,0,336,232,0,0,1,0.5005336403846741,0.5006821155548096,0,0,[]],175,7305,[],[],[0,"Default",0,1]],[[2200,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7323,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2232,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7324,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2264,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7325,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2296,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7326,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7327,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2104,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7328,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2136,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7329,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2168,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7330,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1936,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7331,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1968,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7332,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2000,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7333,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2032,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7334,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1840,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7336,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1872,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7337,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1904,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7338,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1776,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7335,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1648,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7339,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1680,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7447,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1712,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7457,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1744,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7458,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1584,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7459,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1616,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7460,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1448,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7461,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1320,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7462,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1352,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8536,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1384,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8537,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1416,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8538,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1256,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8539,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1288,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8540,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1512,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8541,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1480,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8542,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8543,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1216,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8544,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1088,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8545,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1120,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8546,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1152,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8547,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1184,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8548,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1024,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8549,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1056,2232,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8550,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[416,2064,0,192,8,0,0,1,0,0,0,0,[]],45,8551,[],[[0],[1]],[0,0]],[[-392,-56,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,6520,[["Threading the Needle"],[""],[0]],[],[1,"Default",0,1]],[[1040,960,0,300,117,0,0,1,0,0,0,0,[[]]],61,8553,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,60,0,0,0,0,0,"",-1,0]]],[]],["UI",2,576312657080805,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,783318510570452,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,203214220535570,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,228136679307289,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,668255908569929,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,799057269229418,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,732186786657364,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 51",3000,3000,true,"Levels",287534815755423,[["Background",0,340397711023578,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,724972905082547,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[876,1252,0,325,117,0,0,1,0,0,0,0,[[]]],61,8555,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","50",7,0,70,0,0,0,0,0,"",-1,0]],[[984,1472,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,8556,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[1,0],[0,10000,360,1]],[1,"Default",0,1]],[[896,1416,0,1352,8,0,1.570796370506287,1,0,0,0,0,[]],67,8564,[],[[1]],[0,0]],[[1848,1080,0,97,199,0,1.570796370506287,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,8741,[],[[0]],[0,"Default",0,1]],[[-280,-32,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,8751,[["The Twin Towers"],[""],[0]],[],[1,"Default",0,1]],[[888,1408,0,336,8,0,0,1,0,0,0,0,[]],67,8557,[],[[1]],[0,0]],[[1224,768,0,1416,8,0,1.570796370506287,1,0,0,0,0,[]],67,8558,[],[[1]],[0,0]],[[1224,2376,0,384,8,0,1.570796370506287,1,0,0,0,0,[]],67,8565,[],[[1]],[0,0]],[[952,1528,0,88,8,0,0,1,0,0,0,0,[]],67,8567,[],[[1]],[0,0]],[[888,2760,0,336,8,0,0,1,0,0,0,0,[]],67,8562,[],[[1]],[0,0]],[[912,1432,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8563,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,1464,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8569,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,1496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8570,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,1528,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8571,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,1560,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8572,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,1592,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8575,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,1624,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8576,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,1656,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8577,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,1752,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8578,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,1784,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8579,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,1816,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8580,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,1848,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8581,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,1880,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8582,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,1912,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8583,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,1944,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8584,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,1976,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8585,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2008,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8586,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2040,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8587,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2072,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8588,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2104,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8589,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2136,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8590,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2168,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8591,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2200,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8592,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2232,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8593,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2264,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8594,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2296,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8595,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2328,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8596,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2360,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8597,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2392,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8598,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2424,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8599,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2456,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8600,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2552,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8603,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2584,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8604,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2616,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8605,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2648,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8606,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2680,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8607,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2712,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8608,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8609,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,1592,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8614,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,1624,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8615,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,1656,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8616,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,1688,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8617,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,1720,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8618,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,1752,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8619,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,1784,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8620,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,1816,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8621,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,1848,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8622,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,1880,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8623,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,1912,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8624,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,1944,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8625,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,2040,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8628,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,2072,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8629,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,2104,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8630,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,2136,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8631,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,2168,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8632,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,2392,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8639,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,2424,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8640,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,2456,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8641,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,2552,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8644,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,2584,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8645,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,2616,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8646,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,2648,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8647,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,2680,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8648,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,2712,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8649,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,2744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8650,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[944,2744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8633,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[976,2744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8634,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1008,2744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8635,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1040,2744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8636,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1072,2744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8637,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,2744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8638,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,2744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8651,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1168,2744,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8652,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[888,1728,0,200,8,0,0,1,0,0,0,0,[]],67,8560,[],[[1]],[0,0]],[[912,1712,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8561,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[944,1712,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8566,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[976,1712,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8568,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1008,1712,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8573,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1040,1712,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8574,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1072,1712,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8610,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,1744,0,104,32,0,0,1,0.5,0.5,0,0,[]],43,8654,[[1e-7],[0]],[[0]],[1,"Default",0,1]],[[1024,2016,0,192,8,0,0,1,0,0,0,0,[]],67,8658,[],[[1]],[0,0]],[[1040,2000,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8659,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1072,2000,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8660,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,2000,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8661,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,2000,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8662,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1168,2000,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8663,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,2000,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8664,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[976,2008,0,104,32,0,0,1,0.5,0.5,0,0,[]],43,8626,[[1e-7],[0]],[[0]],[1,"Default",0,1]],[[1056,2712,0,40,32,0,0,1,0.5,0.5,0,0,[]],43,8627,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1136,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8611,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1168,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8612,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1088,2528,0,128,8,0,0,1,0,0,0,0,[]],67,8613,[],[[1]],[0,0]],[[1200,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8653,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8601,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[944,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8602,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[896,2528,0,128,8,0,0,1,0,0,0,0,[]],67,8642,[],[[1]],[0,0]],[[976,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8643,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1008,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8655,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8656,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1040,2136,0,32,24,0,0,1,0,0,0,0,[]],46,8657,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","!",1,0,50,0,0,0,0,0,"",-1,0]],[[1128,1648,0,32,24,0,0,1,0,0,0,0,[]],46,8665,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","!",1,0,50,0,0,0,0,0,"",-1,0]],[[952,1928,0,32,24,0,0,1,0,0,0,0,[]],46,8666,[[0],[0],[""],["en-us"],[0],[0],[1],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","!",1,0,50,0,0,0,0,0,"",-1,0]],[[1224,2376,0,480,8,0,0,1,0,0,0,0,[]],67,8559,[],[[1]],[0,0]],[[1216,2200,0,16,16,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,8668,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"F 184",500,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1616,2336,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,8669,[[2],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1224,2000,0,192,8,0,1.570796370506287,1,0,0,0,0,[]],51,8670,[],[[0],[1],[1,100,""]],[0,0]],[[1200,1464,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8667,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,1496,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8671,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,1528,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8672,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,1560,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8673,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,1432,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8674,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1624,2536,0,24,776,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,8675,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"F 2000",65,0,10,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1224,2528,0,800,8,0,0,1,0,0,0,0,[]],51,8676,[],[[0],[1],[1,100,""]],[0,0]],[[1712,2048,0,336,8,0,1.570796370506287,1,0,0,0,0,[]],67,8677,[],[[1]],[0,0]],[[1224,2184,0,392,8,0,0,1,0,0,0,0,[]],67,8678,[],[[1]],[0,0]],[[1600,2168,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8679,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,2064,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8680,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1656,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8682,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1688,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8683,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1720,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8684,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1624,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8685,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1784,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8686,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1816,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8687,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1848,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8688,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1752,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8689,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1912,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8690,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1944,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8691,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1976,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8692,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1880,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8693,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2008,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8694,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1560,1944,0,104,32,0,1.570796370506287,1,0,0,0,0,[]],67,8695,[],[[1]],[0,0]],[[1600,1760,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8696,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1616,1936,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,8697,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1536,2040,0,176,8,0,0,1,0,0,0,0,[]],67,8681,[],[[1]],[0,0]],[[1560,1944,0,40,8,0,0,1,0,0,0,0,[]],67,8699,[],[[1]],[0,0]],[[1648,1936,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,8700,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1680,1936,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,8701,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1712,1936,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,8702,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1744,1936,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,8703,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1776,1936,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,8704,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1808,1936,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,8705,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1840,1936,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,8706,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1872,1936,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,8707,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1904,1936,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,8708,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[1488,1736,0,352,8,0,0,1,0,0,0,0,[]],67,8709,[],[[1]],[0,0]],[[1632,1760,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8710,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1664,1760,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8711,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1696,1760,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8712,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1728,1760,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8713,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1760,1760,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8714,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1504,1760,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8715,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1536,1760,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8716,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1568,1760,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8717,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1792,1760,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8718,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1824,1760,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8719,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1712,2184,0,216,8,0,0,1,0,0,0,0,[]],67,8720,[],[[1]],[0,0]],[[1928,1576,0,608,8,0,1.570796370506287,1,0,0,0,0,[]],67,8721,[],[[1]],[0,0]],[[1488,1568,0,440,8,0,0,1,0,0,0,0,[]],67,8723,[],[[1]],[0,0]],[[1752,864,0,832,8,0,1.570796370506287,1,0,0,0,0,[]],67,8724,[],[[1]],[0,0]],[[1488,1736,0,448,8,0,1.570796370506287,1,0,0,0,0,[]],51,8726,[],[[0],[1],[1,100,""]],[0,0]],[[1816,2120,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,8725,[["level51"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[1704,2040,0,216,8,0,0,1,0,0,0,0,[]],45,8727,[],[[0],[1]],[0,0]],[[1544,640,0,152,104,0,0,1,0,0,0,0,[]],46,8698,[[1],[1],["lvltxt51-1"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","By Leetle Toady",1,0,50,0,0,0,0,0,"",-1,0]],[[1240,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8722,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1272,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8728,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1304,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8729,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1368,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8731,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1400,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8732,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1432,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8733,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1336,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8734,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1496,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8735,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8736,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1560,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8737,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8738,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1592,2512,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8739,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1768,1592,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8730,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1768,1624,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8740,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1768,1656,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8742,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1488,1240,0,336,8,0,1.570796370506287,1,0,0,0,0,[]],51,8743,[],[[0],[1],[1,100,""]],[0,0]],[[1616,1720,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8744,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1752,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8745,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1784,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8746,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1816,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8747,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1848,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8748,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1880,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8749,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1912,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8750,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1944,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8752,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1976,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8753,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,2008,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8754,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,2040,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8755,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,2072,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8756,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,2104,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8757,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,2136,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8758,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,2168,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8759,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1432,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8760,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1464,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8761,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8762,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1528,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8763,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1560,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8764,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1592,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8765,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1624,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8766,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1656,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8767,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1688,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8768,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,1720,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8769,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,1752,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8770,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,1784,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8771,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,1816,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8772,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,1848,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8773,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,1880,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8774,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,1912,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8775,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,1944,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8776,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,1976,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8777,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,2008,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8778,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,2040,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8779,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,2072,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8780,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,2104,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8781,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,2136,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8782,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,2168,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8783,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,1424,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8784,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,1456,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8785,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,1488,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8786,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,1528,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8787,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,1560,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8788,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1344,1776,0,40,8,0,0,1,0,0,0,0,[]],67,8789,[],[[1]],[0,0]],[[1280,1632,0,40,8,0,0,1,0,0,0,0,[]],67,8790,[],[[1]],[0,0]],[[1320,1376,0,120,8,0,1.570796370506287,1,0,0,0,0,[]],67,8791,[],[[1]],[0,0]],[[1392,1440,0,120,8,0,1.570796370506287,1,0,0,0,0,[]],67,8792,[],[[1]],[0,0]],[[1504,1552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8794,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1536,1552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8795,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1568,1552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8796,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,1552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8797,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1632,1552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8798,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1664,1552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8799,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1696,1552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8793,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1728,1552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8800,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1808,1552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8802,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1840,1552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8803,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1872,1552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8804,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1392,1440,0,40,8,0,0,1,0,0,0,0,[]],67,8805,[],[[1]],[0,0]],[[1272,1376,0,40,8,0,0,1,0,0,0,0,[]],67,8806,[],[[1]],[0,0]],[[1488,1240,0,40,8,0,0,1,0,0,0,0,[]],67,8807,[],[[1]],[0,0]],[[1488,456,0,680,8,0,1.570796370506287,1,0,0,0,0,[]],51,8808,[],[[0],[1],[1,100,""]],[0,0]],[[1280,944,0,304,8,0,1.570796370506287,1,0,0,0,0,[]],67,8809,[],[[1]],[0,0]],[[1224,768,0,256,8,0,0,1,0,0,0,0,[]],67,8810,[],[[1]],[0,0]],[[1344,856,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,8811,[[3],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1520,1096,0,40,24,0,0,1,0.5,0.5,0,0,[]],50,8801,[[-1],[0],[0],[0],[0],[3],[1]],[[0],[1,0,1,1,"F 2000",999999,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1488,1088,0,80,8,0,0,1,0,0,0,0,[]],51,8812,[],[[0],[1],[1,100,""]],[0,0]],[[1568,864,0,120,80,0,1.570796370506287,1,0,0,0,0,[]],67,8813,[],[[1]],[0,0]],[[1744,864,0,120,80,0,1.570796370506287,1,0,0,0,0,[]],67,8814,[],[[1]],[0,0]],[[1568,976,0,96,8,0,0,1,0,0,0,0,[]],45,8815,[],[[0],[1]],[0,0]],[[1568,1088,0,96,8,0,0,1,0,0,0,0,[]],51,8816,[],[[0],[1],[1,100,""]],[0,0]],[[1696,1096,0,40,24,0,0,1,0.5,0.5,0,0,[]],50,8817,[[-1],[0],[0],[0],[0],[3],[1]],[[0],[1,0,1,1,"F 2000",999999,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1664,1088,0,80,8,0,0,1,0,0,0,0,[]],51,8818,[],[[0],[1],[1,100,""]],[0,0]],[[1752,448,0,312,8,0,1.570796370506287,1,0,0,0,0,[]],67,8819,[],[[1]],[0,0]],[[1480,448,0,264,8,0,0,1,0,0,0,0,[]],67,8820,[],[[1]],[0,0]],[[1736,576,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,8821,[[1],[50]],[[1],[300,1,1,180,0,0,500,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1720,480,0,64,32,0,2.356194496154785,1,0.125,0.5,0,0,[]],55,8822,[[1],[50]],[[1],[300,1,1,180,0,0,500,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1512,480,0,64,32,0,0.7853981852531433,1,0.125,0.5,0,0,[]],55,8823,[[1],[50]],[[1],[300,1,1,180,0,0,500,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1496,576,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,8824,[[1],[50]],[[1],[300,1,1,180,0,0,500,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1616,464,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,8827,[[1],[50]],[[1],[300,1,1,180,0,0,500,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1706.343017578125,450.3431396484375,0,64,8,0,0.7853981852531433,1,0,0,0,0,[]],67,8825,[],[[1]],[0,0]],[[1531.313720703125,453.686279296875,0,64,8,0,2.356194496154785,1,0,0,0,0,[]],67,8826,[],[[1]],[0,0]],[[1616,576,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,8828,[[4],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1744,816,0,32,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,8829,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,1,"F 100",1000,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1752,760,0,104,8,0,1.570796370506287,1,0,0,0,0,[]],51,8830,[],[[0],[1],[1,100,""]],[0,0]],[[1584,976,0,32,24,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,8831,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,0,1,1,"F 300",100,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1616,952,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,8832,[[5],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1752,752,0,200,8,0,0,1,0,0,0,0,[]],51,8833,[],[[0],[1],[1,100,""]],[0,0]],[[1752,976,0,96,8,0,0,1,0,0,0,0,[]],51,8834,[],[[0],[1],[1,100,""]],[0,0]],[[1952,752,0,232,8,0,1.570796370506287,1,0,0,0,0,[]],51,8835,[],[[0],[1],[1,100,""]],[0,0]],[[1768,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8836,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1800,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8837,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1832,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8838,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1928,960,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8839,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1912,976,0,40,8,0,0,1,0,0,0,0,[]],51,8840,[],[[0],[1],[1,100,""]],[0,0]],[[1776,1552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8841,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1904,1552,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8842,[[0],[0]],[[0],[1]],[0,"Default",0,1]]],[]],["UI",2,485509620695083,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,781710398531892,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,802173667050498,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,296704785452441,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,915704849487064,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,812285332773580,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,641512059620250,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 52",5000,3000,true,"Levels",442499843579355,[["Background",0,666654289030370,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,119248424355444,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[3720,2048,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,11871,[],[[0]],[0,"Default",0,1]],[[3720,2072,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,11869,[],[[0]],[0,"Default",0,1]],[[3696,1288,0,168,104,0,0,1,0.5,0.5,0,0,[]],49,11819,[[7],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[800,200,0,224,117,0,0,1,0,0,0,0,[[]]],61,8844,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]],[[280,296,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,8845,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[4048,2016,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,8847,[],[[0]],[0,"Default",0,1]],[[-280,-32,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,8848,[["Andromeda"],[""],[0]],[],[1,"Default",0,1]],[[496,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8931,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1680,1320,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,9015,[["level52"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[79.99999237060547,144,0,232,8,0,1.570796370506287,1,0,0,0,0,[]],67,9080,[],[[1]],[0,0]],[[72,376,0,40,8,0,0,1,0,0,0,0,[]],67,9094,[],[[1]],[0,0]],[[424,264,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,9117,[[1],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[536,320,0,32,24,0,0,1,0.5,0.5,0,0,[]],50,9118,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,0,1,1,"F 920",200,100,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[112,376,0,96,8,0,0,1,0,0,0,0,[]],45,8846,[],[[0],[1]],[0,0]],[[80,144,0,1168,8,0,0,1,0,0,0,0,[]],67,8849,[],[[1]],[0,0]],[[208,152,0,9,232,0,0,1,0,0,0,0,[]],48,8850,[],[[0],[1]],[0,0]],[[208,376,0,1168,8,0,0,1,0,0,0,0,[]],67,8851,[],[[1]],[0,0]],[[528,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8852,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[560,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8853,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[592,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8854,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[624,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8855,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[656,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8856,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[688,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8857,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8858,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[752,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8859,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[784,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8860,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[816,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8861,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[848,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8862,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[880,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8863,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8864,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[944,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8865,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[976,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8866,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1008,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8867,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1040,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8868,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1072,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8869,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8870,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8871,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1168,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8872,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8873,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1232,168,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8874,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[496,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8875,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[528,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8876,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[560,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8877,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[592,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8878,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[624,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8879,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[656,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8880,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[688,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8881,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8882,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[752,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8883,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[784,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8884,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[816,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8885,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[848,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8886,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[880,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8887,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8888,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[944,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8889,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[976,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8890,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1008,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8891,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1040,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8892,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1072,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8893,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8894,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8895,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1168,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8896,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8897,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1232,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8898,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[384,344,0,80,40,0,0,1,0,0,0,0,[]],67,8899,[],[[1]],[0,0]],[[384,144,0,80,40,0,0,1,0,0,0,0,[]],67,8901,[],[[1]],[0,0]],[[408,200,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8902,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[440,200,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8903,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[408,328,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8904,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[440,328,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8905,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1264,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8907,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1296,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8908,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1328,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8909,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1360,360,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8910,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1504,104,0,744,128,0,1.570796370506287,1,0,0,0,0,[]],67,8911,[],[[1]],[0,0]],[[1360,168,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8912,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1360,136,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8913,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[496,320,0,80,8,0,0,1,0,0,0,0,[]],51,8914,[],[[0],[1],[1,100,""]],[0,0]],[[1248,0,0,152,8,0,1.570796370506287,1,0,0,0,0,[]],67,8900,[],[[1]],[0,0]],[[1264,24,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8916,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,0,0,656,8,0,0,1,0,0,0,0,[]],67,8917,[],[[1]],[0,0]],[[1376,104,0,392,8,0,0,1,0,0,0,0,[]],67,8918,[],[[1]],[0,0]],[[1904,0,0,1016,8,0,1.570796370506287,1,0,0,0,0,[]],67,8915,[],[[1]],[0,0]],[[1880,160,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11559,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1880,128,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11560,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1880,224,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11561,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1880,192,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11562,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1880,296,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11563,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1880,264,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11564,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1880,360,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11565,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1880,328,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11566,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,160,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,11567,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,128,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,11568,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,224,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,11569,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,192,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,11570,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,288,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,11571,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,256,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,11572,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,352,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,11573,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,320,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,11574,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1512,112,0,736,16,0,1.570796370506287,1,0,0,0,0,[]],67,11575,[],[[1]],[0,0]],[[1640,240,0,256,8,0,0,1,0,0,0,0,[]],67,11576,[],[[1]],[0,0]],[[1512,392,0,384,8,0,0,1,0,0,0,0,[]],45,11577,[],[[0],[1]],[0,0]],[[1624,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11578,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11579,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1560,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11580,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1592,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11581,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1512,560,0,160,8,0,0,1,0,0,0,0,[]],67,11582,[],[[1]],[0,0]],[[1880,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11583,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1784,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11584,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1816,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11585,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1848,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11586,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1736,560,0,160,8,0,0,1,0,0,0,0,[]],67,11587,[],[[1]],[0,0]],[[1504,704,0,144,8,0,0,1,0,0,0,0,[]],45,11588,[],[[0],[1]],[0,0]],[[1640,704,0,128,8,0,0,1,0,0,0,0,[]],67,11589,[],[[1]],[0,0]],[[1768,704,0,128,8,0,0,1,0,0,0,0,[]],45,11590,[],[[0],[1]],[0,0]],[[1768,712,0,304,8,0,1.570796370506287,1,0,0,0,0,[]],67,11591,[],[[1]],[0,0]],[[1880,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11592,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1784,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11593,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1816,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11594,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1848,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11595,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1768,1008,0,128,8,0,0,1,0,0,0,0,[]],67,11596,[],[[1]],[0,0]],[[1648,712,0,168,8,0,1.570796370506287,1,0,0,0,0,[]],67,11597,[],[[1]],[0,0]],[[216,1008,0,592,8,0,0,1,0,0,0,0,[]],67,11598,[],[[1]],[0,0]],[[1624,928,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11599,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1624,896,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11600,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1624,992,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11601,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1624,960,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11602,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[216,376,0,1344,8,0,1.570796370506287,1,0,0,0,0,[]],67,11604,[],[[1]],[0,0]],[[960,840,0,552,8,0,0,1,0,0,0,0,[]],67,11605,[],[[1]],[0,0]],[[936,536,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11606,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[600,384,0,576,192,0,0,1,0,0,0,0,[]],51,11607,[],[[0],[1],[1,100,""]],[0,0]],[[776,432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,11654,[[0]],[[1],[1]],[0,"Default",0,1]],[[1000,432,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,11655,[[0]],[[1],[1]],[0,"Default",0,1]],[[776,512,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11656,[[0]],[[1],[1]],[0,"Default",0,1]],[[792,520,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11657,[[0]],[[1],[1]],[0,"Default",0,1]],[[808,536,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11658,[[0]],[[1],[1]],[0,"Default",0,1]],[[888,464,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,11659,[[0]],[[1],[1]],[0,"Default",0,1]],[[760,416,0,32,9,0,0,1,0,0,0,0,[]],52,11660,[],[[0],[0]],[0,0]],[[984,416,0,32,9,0,0,1,0,0,0,0,[]],52,11661,[],[[0],[0]],[0,0]],[[832,544,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11662,[[0]],[[1],[1]],[0,"Default",0,1]],[[856,552,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11663,[[0]],[[1],[1]],[0,"Default",0,1]],[[880,560,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11664,[[0]],[[1],[1]],[0,"Default",0,1]],[[904,552,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11665,[[0]],[[1],[1]],[0,"Default",0,1]],[[992,512,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11666,[[0]],[[1],[1]],[0,"Default",0,1]],[[968,520,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11667,[[0]],[[1],[1]],[0,"Default",0,1]],[[952,536,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11668,[[0]],[[1],[1]],[0,"Default",0,1]],[[928,544,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11669,[[0]],[[1],[1]],[0,"Default",0,1]],[[1576,856,0,128,24,0,0,1,0.5,0.5,0,0,[]],49,11608,[[3],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1620,934,0,40,120,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,11609,[[-1],[0],[0],[0],[0],[3],[0]],[[0],[1,0,1,1,"F 10000",700,200,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[616,584,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11610,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[648,584,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11611,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[680,584,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11612,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[712,584,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11613,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[744,584,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11614,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[776,584,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11615,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[808,584,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11616,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[840,584,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11617,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[872,584,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11618,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[904,584,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11619,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[936,584,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11620,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[968,584,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11621,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1000,584,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11622,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1032,584,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11623,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1064,584,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11624,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1096,584,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11625,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1128,584,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11626,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1160,584,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11627,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[216,680,0,296,8,0,0,1,0,0,0,0,[]],67,11628,[],[[1]],[0,0]],[[376,688,0,8,160,0,0,1,0,0,0,0,[]],48,11629,[],[[0],[1]],[0,0]],[[512,384,0,304,8,0,1.570796370506287,1,0,0,0,0,[]],67,11630,[],[[1]],[0,0]],[[376,840,0,432,8,0,0,1,0,0,0,0,[]],67,11634,[],[[1]],[0,0]],[[960,840,0,8,152,0,1.570796370506287,1,0,0,0,0,[]],48,11635,[],[[0],[1]],[0,0]],[[816,744,0,104,8,0,1.570796370506287,1,0,0,0,0,[]],67,11636,[],[[1]],[0,0]],[[808,744,0,160,8,0,0,1,0,0,0,0,[]],67,11637,[],[[1]],[0,0]],[[968,744,0,96,8,0,1.570796370506287,1,0,0,0,0,[]],45,11638,[],[[0],[1]],[0,0]],[[888,808,0,40,40,0,0,1,0.5,0.5,0,0,[]],49,11639,[[5],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1216,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11640,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1184,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11641,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[680,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11642,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[648,992,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11643,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[504,864,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11644,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[472,864,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11645,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1048,864,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11646,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1016,864,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11647,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[960,1008,0,8,152,0,1.570796370506287,1,0,0,0,0,[]],48,11648,[],[[0],[1]],[0,0]],[[960,1008,0,688,8,0,0,1,0,0,0,0,[]],67,11649,[],[[1]],[0,0]],[[296,856,0,40,40,0,0,1,0.5,0.5,0,0,[]],49,11650,[[4],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[376,760,0,40,48,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,11651,[[-1],[0],[0],[0],[0],[4],[0]],[[0],[1,0,1,1,"F 160",700,100,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1648,848,0,160,8,0,1.570796370506287,1,0,0,0,0,[]],51,11603,[],[[0],[1],[1,100,""]],[0,0]],[[1760,1008,0,8,112,0,1.570796370506287,1,0,0,0,0,[]],51,11653,[],[[0],[1],[1,100,""]],[0,0]],[[1760,872,0,8,112,0,1.570796370506287,1,0,0,0,0,[]],51,11670,[],[[0],[1],[1,100,""]],[0,0]],[[1346.26318359375,960,0,123.8629150390625,136,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,11671,[],[[0]],[0,"Default",0,1]],[[1640,880,0,8,128,0,0,1,0,0,0,0,[]],68,11672,[],[[1]],[0,0]],[[1704,952,0,40,40,0,0,1,0.5,0.5,0,0,[]],49,11673,[[8],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[808,1008,0,192,8,0,1.570796370506287,1,0,0,0,0,[]],67,11652,[],[[1]],[0,0]],[[968,1008,0,192,8,0,1.570796370506287,1,0,0,0,0,[]],67,11674,[],[[1]],[0,0]],[[208,1192,0,600,8,0,0,1,0,0,0,0,[]],67,11675,[],[[1]],[0,0]],[[968,1192,0,936,8,0,0,1,0,0,0,0,[]],67,11676,[],[[1]],[0,0]],[[120,376,0,1520,8,0,1.570796370506287,1,0,0,0,0,[]],67,11677,[],[[1]],[0,0]],[[1904,1200,0,696,8,0,1.570796370506287,1,0,0,0,0,[]],67,11679,[],[[1]],[0,0]],[[112,1888,0,1784,8,0,0,1,0,0,0,0,[]],67,11680,[],[[1]],[0,0]],[[960,1192,0,8,152,0,1.570796370506287,1,0,0,0,0,[]],48,11681,[],[[0],[1]],[0,0]],[[432,1392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11678,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[336,1392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11683,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,1392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11684,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[400,1392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11685,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[560,1392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11687,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[464,1392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11688,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[496,1392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11689,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[528,1392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11690,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[688,1392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11691,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[592,1392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11692,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[624,1392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11693,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[656,1392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11694,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[816,1392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11695,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,1392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11696,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[752,1392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11697,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[784,1392,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11698,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[432,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11699,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[336,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11700,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11701,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[400,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11702,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[560,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11703,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[464,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11704,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[496,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11705,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[528,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11706,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[688,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11707,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[592,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11708,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[624,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11709,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[656,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11710,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[816,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11711,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11712,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[752,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11713,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[784,1640,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11714,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[840,1464,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,11715,[[1],[180]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[840,1568,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,11716,[[1],[180]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[312,1464,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,11717,[[1],[180]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[312,1568,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,11718,[[1],[180]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[576,1512,0,584,240,0,0,1,0.5,0.5,0,0,[]],50,11719,[[-1],[0],[0],[0],[0],[6],[0]],[[0],[1,0,1,0,"W 1 ;F 950 ; W 1; B 950 ",250,100,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[832,1408,0,216,512,0,1.570796370506287,1,0,0,0,0,[]],51,11720,[],[[0],[1],[1,100,""]],[0,0]],[[1072,1208,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11686,[[1],[180]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1712,1880,0,64,32,0,-1.570796489715576,1,0.125,0.5,0,0,[]],55,11721,[[1],[180]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1800,1208,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11722,[[1],[180]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1392,1880,0,64,32,0,-1.570796489715576,1,0.125,0.5,0,0,[]],55,11724,[[1],[180]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1064,1888,0,64,32,0,-1.570796489715576,1,0.125,0.5,0,0,[]],55,11725,[[1],[180]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[1520,1872,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11726,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1424,1872,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11727,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1456,1872,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11728,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1488,1872,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11729,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1408,1888,0,128,8,0,0,1,0,0,0,0,[]],67,11730,[],[[1]],[0,0]],[[1360,1872,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11731,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1264,1872,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11732,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1296,1872,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11733,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1328,1872,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11734,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1248,1888,0,128,8,0,0,1,0,0,0,0,[]],67,11735,[],[[1]],[0,0]],[[1648,1872,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11736,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1552,1872,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11737,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1584,1872,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11738,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1616,1872,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11739,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1536,1888,0,128,8,0,0,1,0,0,0,0,[]],67,11740,[],[[1]],[0,0]],[[1744,1872,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11741,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1776,1872,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11742,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1808,1872,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11743,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1680,1872,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11744,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1840,1872,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11745,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1872,1872,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11746,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1216,1424,0,112,8,0,1.570796370506287,1,0,0,0,0,[]],67,11747,[],[[1]],[0,0]],[[1112,1784,0,72,8,0,0,1,0,0,0,0,[]],67,11748,[],[[1]],[0,0]],[[1496,1784,0,96,8,0,0,1,0,0,0,0,[]],67,11749,[],[[1]],[0,0]],[[1272,1648,0,72,8,0,0,1,0,0,0,0,[]],67,11750,[],[[1]],[0,0]],[[1528,1552,0,72,8,0,0,1,0,0,0,0,[]],67,11751,[],[[1]],[0,0]],[[1736,1568,0,80,8,0,1.570796370506287,1,0,0,0,0,[]],67,11753,[],[[1]],[0,0]],[[1488,1376,0,80,8,0,1.570796370506287,1,0,0,0,0,[]],67,11754,[],[[1]],[0,0]],[[888,848,0,40,48,0,0,1,0.5,0.5,0,0,[]],50,8906,[[-1],[0],[0],[0],[0],[5],[0]],[[0],[1,0,1,1,"F 152",450,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[888,1008,0,40,48,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,9114,[[-1],[0],[0],[0],[0],[5],[0]],[[0],[1,0,1,1,"F 152",450,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[888,1192,0,40,48,0,0,1,0.5,0.5,0,0,[]],50,11631,[[-1],[0],[0],[0],[0],[5],[0]],[[0],[1,0,1,1,"F 152",450,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[888,1240,0,160,40,0,0,1,0.5,0.5,0,0,[]],49,11755,[[6],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[1624,864,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11757,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1560,584,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11756,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1592,584,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11758,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1816,584,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11759,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1848,584,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11760,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1656,224,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11761,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1656,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11762,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1752,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11763,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1624,584,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11764,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1784,584,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11765,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1448,1368,0,72,8,0,0,1,0,0,0,0,[]],67,11766,[],[[1]],[0,0]],[[1176,1416,0,72,8,0,0,1,0,0,0,0,[]],67,11752,[],[[1]],[0,0]],[[1564,1536,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,11767,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[4520,2088,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11784,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4424,2088,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11785,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4456,2088,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11786,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4488,2088,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11787,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4648,2088,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11788,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4552,2088,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11789,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4584,2088,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11790,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4616,2088,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11791,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4776,2088,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11792,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4680,2088,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11793,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4712,2088,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11794,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4744,2088,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11795,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4904,2088,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11796,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4808,2088,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11797,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4840,2088,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11798,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4872,2088,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11799,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4928,1912,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,11800,[[1],[180]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[4928,2016,0,64,32,0,0,1,0.125,0.5,0,0,[]],55,11801,[[1],[180]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[4400,1912,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,11802,[[1],[180]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[4400,2016,0,64,32,0,3.141592741012573,1,0.125,0.5,0,0,[]],55,11803,[[1],[180]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3688,632,0,240,584,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,11804,[[-1],[0],[0],[0],[0],[7],[0]],[[0],[1,0,1,0,"W 0.5;F 5000",600,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[4920,1856,0,216,512,0,1.570796370506287,1,0,0,0,0,[]],51,11805,[],[[0],[1],[1,100,""]],[0,0]],[[144,192,0,8,64,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,0,64,128,0.64]]],62,11807,[[1],[2],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[3696,1288,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,0,64,128,0.64]]],62,11808,[[2],[-1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[4208,1424,0,696,8,0,1.570796370506287,1,0,0,0,0,[]],67,11809,[],[[1]],[0,0]],[[3192,1424,0,688,8,0,1.570796370506287,1,0,0,0,0,[]],67,11810,[],[[1]],[0,0]],[[3184,2112,0,1016,8,0,0,1,0,0,0,0,[]],67,11811,[],[[1]],[0,0]],[[3192,1424,0,352,8,0,0,1,0,0,0,0,[]],67,11812,[],[[1]],[0,0]],[[3848,1424,0,352,8,0,0,1,0,0,0,0,[]],67,11813,[],[[1]],[0,0]],[[3544,1424,0,304,8,0,0,1,0,0,0,0,[]],45,11814,[],[[0],[1]],[0,0]],[[3544,1136,0,296,8,0,1.570796370506287,1,0,0,0,0,[]],67,11815,[],[[1]],[0,0]],[[3856,1136,0,296,8,0,1.570796370506287,1,0,0,0,0,[]],67,11816,[],[[1]],[0,0]],[[3536,1136,0,312,8,0,0,1,0,0,0,0,[]],67,11817,[],[[1]],[0,0]],[[3984,2000,0,40,48,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,11818,[[-1],[0],[0],[0],[0],[7],[0]],[[0],[1,0,1,1,"W 0.5 ; F 650",1300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[4672,1968,0,224,224,0,0,1,0.5,0.5,0,0,[]],191,9017,[],[[1]],[0,"Default",0,1]],[[568,1528,0,224,224,0,0,1,0.5,0.5,0,0,[]],191,11806,[],[[1]],[0,"Default",0,1]],[[3728,664,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11820,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[3392,512,0,576,192,0,0,1,0,0,0,0,[]],51,11821,[],[[0],[1],[1,100,""]],[0,0]],[[3568,560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,11822,[[0]],[[1],[1]],[0,"Default",0,1]],[[3792,560,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,11823,[[0]],[[1],[1]],[0,"Default",0,1]],[[3568,640,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11824,[[0]],[[1],[1]],[0,"Default",0,1]],[[3584,648,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11825,[[0]],[[1],[1]],[0,"Default",0,1]],[[3600,664,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11826,[[0]],[[1],[1]],[0,"Default",0,1]],[[3680,592,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,11827,[[0]],[[1],[1]],[0,"Default",0,1]],[[3552,544,0,32,9,0,0,1,0,0,0,0,[]],52,11828,[],[[0],[0]],[0,0]],[[3776,544,0,32,9,0,0,1,0,0,0,0,[]],52,11829,[],[[0],[0]],[0,0]],[[3624,672,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11830,[[0]],[[1],[1]],[0,"Default",0,1]],[[3648,680,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11831,[[0]],[[1],[1]],[0,"Default",0,1]],[[3672,688,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11832,[[0]],[[1],[1]],[0,"Default",0,1]],[[3696,680,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11833,[[0]],[[1],[1]],[0,"Default",0,1]],[[3784,640,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11834,[[0]],[[1],[1]],[0,"Default",0,1]],[[3760,648,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11835,[[0]],[[1],[1]],[0,"Default",0,1]],[[3744,664,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11836,[[0]],[[1],[1]],[0,"Default",0,1]],[[3720,672,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,11837,[[0]],[[1],[1]],[0,"Default",0,1]],[[3408,712,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11838,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3440,712,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11839,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3472,712,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11840,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3504,712,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11841,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3536,712,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11842,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3568,712,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11843,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3600,712,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11844,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3632,712,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11845,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3664,712,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11846,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3696,712,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11847,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3728,712,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11848,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3760,712,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11849,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3792,712,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11850,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3824,712,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11851,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3856,712,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11852,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3888,712,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11853,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3920,712,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11854,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[3952,712,0,64,32,0,1.570796370506287,1,0.125,0.5,0,0,[]],55,11855,[[1],[90]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[4656,1968,0,584,240,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,11856,[[-1],[0],[0],[0],[0],[7],[0]],[[0],[1,0,1,0,"W 1.5 ; F 5000",600,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3560,1408,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,11857,[],[[0]],[0,"Default",0,1]],[[3592,1408,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,11858,[],[[0]],[0,"Default",0,1]],[[3832,1408,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,11859,[],[[0]],[0,"Default",0,1]],[[3800,1408,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,11860,[],[[0]],[0,"Default",0,1]],[[3704,2096,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,11861,[],[[0]],[0,"Default",0,1]],[[3672,2096,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,11862,[],[[0]],[0,"Default",0,1]],[[3768,2096,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,11863,[],[[0]],[0,"Default",0,1]],[[3736,2096,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,11864,[],[[0]],[0,"Default",0,1]],[[3640,2096,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,11865,[],[[0]],[0,"Default",0,1]],[[3608,2096,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,11866,[],[[0]],[0,"Default",0,1]],[[3688,2064,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,11867,[],[[0]],[0,"Default",0,1]],[[3640,2064,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,11868,[],[[0]],[0,"Default",0,1]],[[3688,2032,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,11870,[],[[0]],[0,"Default",0,1]],[[1485,1344,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,11872,[[8],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[208,1792,0,40,48,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,11873,[[-1],[0],[0],[0],[0],[8],[0]],[[0],[1,0,1,1,"F 168",700,100,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[208,1720,0,8,168,0,0,1,0,0,0,0,[]],48,11874,[],[[0],[1]],[0,0]],[[160,1872,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,11682,[[1.75],[0]],[[0]],[0,"Default",0,1]]],[]],["UI",2,652689914806520,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,109278795548965,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,298762292186450,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,348457652183889,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,546875980785964,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",7,595588691675473,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["AdPlaying",8,987616614921612,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Level 2 Old",1000,640,true,"Levels",651604627896401,[["Layer 0",0,574169250683322,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[32,384,0,416,9,0,0,1,0,0,0,0,[]],51,101,[],[[0],[1],[1,100,""]],[0,0]],[[235,300,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,112,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[856,288,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,113,[],[[0]],[0,"Default",0,1]],[[458,288,0,176,96,0,0,1,0,0,0,0,[]],46,114,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Press \"Up\" to jump",1,0,50,0,0,0,0,0,"",-1,0]],[[640,384,0,337,9,0,0,1,0,0,0,0,[]],51,115,[],[[0],[1],[1,100,""]],[0,0]],[[448,448,0,200,9,0,0,1,0,0,0,0,[]],51,116,[],[[0],[1],[1,100,""]],[0,0]],[[-118,36,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1404,[["Harder"],["{\"c2array\":true,\"size\":[123,6,1],\"data\":[[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.2173458572832],[351.98739903832876],[0],[\"idle\"],[0],[1]],[[427.63387920104407],[351.98739903832876],[0],[\"run\"],[0],[1]],[[428.4737069597617],[351.98739903832876],[0],[\"run\"],[0],[1]],[[429.7072850882941],[351.98739903832876],[0],[\"run\"],[0],[1]],[[431.3744656230571],[351.98739903832876],[0],[\"run\"],[0],[1]],[[433.4487411798826],[351.98739903832876],[0],[\"run\"],[0],[1]],[[435.9402733125753],[351.98739903832876],[0],[\"run\"],[0],[1]],[[438.84793860098824],[351.98739903832876],[0],[\"run\"],[0],[1]],[[442.169415721239],[351.98739903832876],[0],[\"run\"],[0],[1]],[[445.9001881828426],[351.98739903832876],[0],[\"run\"],[0],[1]],[[450.0835730060247],[351.98739903832876],[7.723304703995229e-7],[\"run\"],[0],[1]],[[454.6366492832751],[351.98739903832876],[0.0000013421154177507934],[\"run\"],[0],[1]],[[459.61185142077426],[351.98739903832876],[0.000001703131065542736],[\"run\"],[0],[1]],[[465.02540307792646],[351.98739903832876],[0.0000019594834331456985],[\"run\"],[0],[1]],[[470.50934307601113],[352.4016359240394],[0.000002214867621217865],[\"fall\"],[0],[1]],[[475.99658307041085],[353.230857654625],[0.00000247040548837475],[\"fall\"],[0],[1]],[[481.5145130776013],[354.4841049667334],[0.00000247040548837475],[\"fall\"],[0],[1]],[[487.0047230754075],[356.14624108787876],[0.00000247040548837475],[\"fall\"],[0],[1]],[[492.4536830760566],[358.20485817598365],[0.00000247040548837475],[\"fall\"],[0],[1]],[[497.96105307006786],[360.70332664017064],[0.00000247040548837475],[\"fall\"],[0],[1]],[[503.46776307826207],[363.619179650535],[0.00000247040548837475],[\"fall\"],[0],[1]],[[508.9658930787495],[366.9468728503923],[0.00000247040548837475],[\"fall\"],[0],[1]],[[514.0467996267663],[370.69020030211937],[0.00000247040548837475],[\"fall\"],[0],[1]],[[518.6953993231865],[374.8324616549163],[0.00000247040548837475],[\"fall\"],[0],[1]],[[522.9493252286576],[379.4117751730093],[0.00000247040548837475],[\"fall\"],[0],[1]],[[526.7658497717059],[384.37604681912507],[0.0000017498955400094852],[\"fall\"],[0],[1]],[[530.1927697119788],[389.7961392509533],[0.0000012365760884646863],[\"fall\"],[0],[1]],[[533.1800291416797],[395.58331926968157],[8.765819160840765e-7],[\"fall\"],[0],[1]],[[535.7772565782533],[401.84793663623054],[6.194918882482937e-7],[\"fall\"],[0],[1]],[[537.9308733231545],[408.4364458254648],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[539.6913004116418],[415.51879328706104],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[541.0309148439592],[415.95629328706104],[3.6587501166308444e-7],[\"run\"],[0],[1]],[[541.9549421423864],[415.95629328706104],[3.6587501166308444e-7],[\"run\"],[0],[1]],[[542.4637678856805],[415.95629328706104],[3.6587501166308444e-7],[\"run\"],[0],[1]],[[542.557055556106],[415.95629328706104],[3.6587501166308444e-7],[\"run\"],[0],[1]],[[542.557055556106],[415.95629328706104],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[542.557055556106],[415.95629328706104],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[542.557055556106],[415.95629328706104],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[542.557055556106],[415.95629328706104],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[542.557055556106],[415.95629328706104],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[542.557055556106],[415.95629328706104],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[542.557055556106],[405.1695432911654],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[542.557055556106],[394.7880817839469],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[542.557055556106],[384.793899819148],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[542.557055556106],[375.22950596634945],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[542.557055556106],[366.06309027363346],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[542.557055556106],[357.31255778573995],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[542.557055556106],[349.0022220501449],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[542.557055556106],[341.0734013090142],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[542.557055556106],[333.57231961143816],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[542.9712924418167],[326.5043850894236],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[543.7931225872903],[319.88411562280777],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[545.0413906801244],[313.6150931925779],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[546.7005569976254],[307.7830831993047],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[548.7760054024405],[302.3642035805546],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[551.2647679840203],[297.36449132882683],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[554.1588915753863],[292.79175184109874],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[557.4792445033819],[288.61777673242517],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[561.2141838245374],[284.8601890106251],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[565.3776804394001],[281.50954682831895],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[569.9709452476311],[278.57066302017927],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[574.9508896966561],[276.0643838649349],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[580.3259586876661],[273.9784429540047],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[585.8131986916701],[272.3000625169982],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[591.3067086857914],[271.0354481926251],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[596.8078086896853],[270.18591998709206],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[602.2825086846419],[269.7533108521783],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[607.7905386836787],[269.73595221179403],[3.6587501166308444e-7],[\"jump\"],[0],[1]],[[613.2718386904739],[270.13251596241327],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[618.7603986853205],[270.944540097389],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[624.279318690445],[272.180594214663],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[629.7734886895919],[273.82688895696856],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[635.2204686847685],[275.86771555386014],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[640.3139733715886],[278.351384841754],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[644.9780319999952],[281.2449936002592],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[649.2142547098583],[284.54375621443415],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[653.0395119137097],[288.2598352979665],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[656.448971359605],[292.3885366643835],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[659.4557298263279],[296.95350847253195],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[662.0362734806662],[301.91566204044017],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[664.2061314731001],[307.3057396464865],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[665.9549096903706],[313.09149309509706],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[667.2938852202947],[319.3197114301101],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[668.2124089299325],[325.92256378830234],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[668.7190690627381],[332.9767465306828],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[668.8082593823303],[340.4665447524187],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[668.8082593823303],[348.36007737997085],[3.6587501166308444e-7],[\"fall\"],[0],[1]],[[668.8082593823303],[351.9516391899398],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[668.8082593823303],[351.9516391899398],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[668.8082593823303],[351.9516391899398],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[668.8082593823303],[351.9516391899398],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[668.8082593823303],[351.9516391899398],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[668.8082593823303],[351.9516391899398],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[668.8082593823303],[351.9516391899398],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[668.8082593823303],[351.9516391899398],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[668.8082593823303],[351.9516391899398],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[668.8082593823303],[351.9516391899398],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[668.8082593823303],[351.9516391899398],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[668.8082593823303],[351.9516391899398],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[668.8082593823303],[351.9516391899398],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[668.8082593823303],[351.9516391899398],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[668.8082593823303],[351.9516391899398],[3.6587501166308444e-7],[\"idle\"],[0],[1]],[[668.8082593823303],[351.9516391899398],[3.6587501166308444e-7],[\"idle\"],[0],[1]]]}"],[0]],[],[1,"Default",0,1]],[[648,384,0,71,9,0,1.570796370506287,1,0,0,0,0,[]],51,2702,[],[[0],[1],[1,100,""]],[0,0]],[[456,384,0,71,9,0,1.570796370506287,1,0,0,0,0,[]],51,2703,[],[[0],[1],[1,100,""]],[0,0]],[[40.00001525878906,-1,0,392,9,0,1.570796370506287,1,0,0,0,0,[]],51,2704,[],[[0],[1],[1,100,""]],[0,0]],[[-60.19999694824219,-182.6000061035156,0,4,8,0,0,1,1,0,0,0,[]],38,102,[[0],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-60.19999694824219,-174.6000061035156,0,4,8,0,0,1,1,0,0,0,[]],40,103,[[1],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","righthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[-64.19999694824219,-177.6000061035156,0,8,16,0,0,1,0.5,0.5,0,0,[]],32,104,[[2],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","body",3,1,0,0,1,2]],[0,"Default",0,1]],[[-64.19999694824219,-161.6000061035156,0,4,8,0,0,1,0,0,0,0,[]],39,105,[[4],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-64.19999694824219,-169.6000061035156,0,4,8,0,0,1,0,0,0,0,[]],41,106,[[3],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-68.19999694824219,-161.6000061035156,0,4,8,0,0,1,0,0,0,0,[]],35,107,[[6],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-68.19999694824219,-169.6000061035156,0,4,8,0,0,1,0,0,0,0,[]],37,108,[[5],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-64.19999694824219,-185.6000061035156,0,32,32,0,0,1,0.5,1,0,0,[]],33,109,[[7],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","head",3,1,0,0,1,2]],[0,"Default",0,1]],[[-68.19999694824219,-182.6000061035156,0,4,8,0,0,1,1,0,0,0,[]],34,110,[[8],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-68.19999694824219,-174.6000061035156,0,4,8,0,0,1,1,0,0,0,[]],36,111,[[9],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","lefthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[123,144,0,288,117,0,0,1,0,0,0,0,[[]]],61,4109,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]]],[]],["UI",1,665746120924647,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",2,573868912889221,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",3,465299834397454,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",4,492033650821929,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",5,214571877639684,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]]],[],[]],["Level 4 Old",1280,640,true,"Levels",849895827525541,[["Layer 0",0,666773994833982,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[32,384,0,320,9,0,0,1,0,0,0,0,[]],51,130,[],[[0],[1],[1,100,""]],[0,0]],[[96,256,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,143,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[1184,288,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,144,[],[[0]],[0,"Default",0,1]],[[720.242431640625,384.1343383789063,0,527.7575073242188,8.731283187866211,0,0,1,0,0,0,0,[]],51,145,[],[[0],[1],[1,100,""]],[0,0]],[[352,224,0,369.387451171875,9,0,0,1,0,0,0,0,[]],51,146,[],[[0],[1],[1,100,""]],[0,0]],[[40,232,0,288,64,0,0,1,0,0,0,0,[]],46,147,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Go next to the wall",1,0,50,0,0,0,0,0,"",-1,0]],[[352,224,0,160,9,0,1.570796370506287,1,0,0,0,0,[]],51,148,[],[[0],[1],[1,100,""]],[0,0]],[[730,224,0,160,9,0,1.570796370506287,1,0,0,0,0,[]],51,166,[],[[0],[1],[1,100,""]],[0,0]],[[-129,48,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1406,[["Too Hard"],["{\"c2array\":true,\"size\":[210,6,1],\"data\":[[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.99502211241094],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.9761076507315],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.9539919719672],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.992830121543],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.973564927151],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.94860851101356],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.9891426158899],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.9721849195481],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.9482739576271],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.9853201705979],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.96590470801954],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.93871248970964],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.9810460897413],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.9588804905498],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[334.93786384343],[351.95705707893774],[0],[\"wall\"],[0],[1]],[[330.2649127535397],[341.10595708490416],[0],[\"jump\"],[0],[-1]],[[326.4431510693705],[328.56399521986884],[0],[\"jump\"],[0],[-1]],[[323.4588646646124],[316.48877408113185],[0],[\"jump\"],[0],[-1]],[[321.2855708015145],[304.74608454246686],[0],[\"jump\"],[0],[-1]],[[319.94326342618444],[293.4067274692261],[0],[\"jump\"],[0],[-1]],[[319.43461778229334],[282.477800858852],[0],[\"jump\"],[0],[-1]],[[319.7524094382585],[272.0363376422836],[7.635707531779952e-7],[\"jump\"],[0],[1]],[[320.48876079583545],[261.94652172331024],[0.0000013362422535229006],[\"jump\"],[0],[1]],[[321.63877733675093],[252.2905096747658],[0.0000016977577724896016],[\"jump\"],[0],[1]],[[323.2211209314261],[242.97262760618148],[0.0000019556161966435077],[\"jump\"],[0],[1]],[[325.20194169428106],[234.1604124839746],[0.0000022109389129923334],[\"jump\"],[0],[1]],[[327.58311528825146],[225.8011706126087],[0.0000024650168277262294],[\"jump\"],[0],[1]],[[330.40182393675025],[217.7872156418115],[0.0000024650168277262294],[\"jump\"],[0],[1]],[[333.64616176212996],[210.17355407904557],[0.0000024650168277262294],[\"jump\"],[0],[1]],[[334.967016107706],[203.0288141259841],[0.0000017438548723257917],[\"jump\"],[0],[1]],[[334.9435536013492],[196.28820697038023],[0.00000123320943962814],[\"jump\"],[0],[1]],[[334.98498696634886],[189.9445586969926],[8.71085382280014e-7],[\"jump\"],[0],[1]],[[335.3959896809971],[184.05341220133064],[6.167001089294159e-7],[\"jump\"],[0],[1]],[[336.2304765204575],[178.52216868646812],[3.597483925829656e-7],[\"jump\"],[0],[1]],[[337.47670434441426],[173.43160128173642],[3.597483925829656e-7],[\"jump\"],[0],[1]],[[339.1472101457586],[168.73866107699087],[3.597483925829656e-7],[\"jump\"],[0],[1]],[[341.21307610250665],[164.50123566039272],[3.597483925829656e-7],[\"jump\"],[0],[1]],[[343.7087769256172],[160.6529074817166],[3.597483925829656e-7],[\"jump\"],[0],[1]],[[346.62116087444304],[157.22088168927618],[3.597483925829656e-7],[\"jump\"],[0],[1]],[[349.9332293703744],[154.21709487441845],[3.597483925829656e-7],[\"jump\"],[0],[1]],[[353.6698163800813],[151.61993246046796],[3.597483925829656e-7],[\"jump\"],[0],[1]],[[357.82181264662967],[149.43779858604057],[3.597483925829656e-7],[\"jump\"],[0],[1]],[[362.38480121328456],[147.67198716498382],[3.597483925829656e-7],[\"jump\"],[0],[1]],[[367.38466447309605],[146.31678037700073],[3.597483925829656e-7],[\"jump\"],[0],[1]],[[372.7650706651932],[145.3828541497438],[3.597483925829656e-7],[\"jump\"],[0],[1]],[[378.2523106595929],[144.86124210437052],[3.597483925829656e-7],[\"jump\"],[0],[1]],[[383.7570406623147],[144.75535111661918],[3.597483925829656e-7],[\"jump\"],[0],[1]],[[389.25781066369586],[145.06631964660272],[3.597483925829656e-7],[\"fall\"],[0],[1]],[[394.7391106608868],[145.79002565142378],[3.597483925829656e-7],[\"fall\"],[0],[1]],[[399.81805696292764],[146.93140174979868],[3.597483925829656e-7],[\"fall\"],[0],[1]],[[404.49616349665166],[148.49565826986216],[3.597483925829656e-7],[\"fall\"],[0],[1]],[[408.72276798654775],[150.45836982110217],[3.597483925829656e-7],[\"fall\"],[0],[1]],[[412.5552780648397],[152.84730285238726],[3.597483925829656e-7],[\"fall\"],[0],[1]],[[415.96688906047746],[155.6470485621297],[3.597483925829656e-7],[\"fall\"],[0],[1]],[[418.964124962235],[158.86191650156914],[3.597483925829656e-7],[\"fall\"],[0],[1]],[[421.55985595856004],[162.51639354490575],[3.597483925829656e-7],[\"fall\"],[0],[1]],[[423.71612444482383],[166.54084897808713],[3.597483925829656e-7],[\"fall\"],[0],[1]],[[425.4724929648841],[171.01488926263937],[3.597483925829656e-7],[\"fall\"],[0],[1]],[[426.8043609931641],[175.86449228962132],[3.597483925829656e-7],[\"fall\"],[0],[1]],[[427.7306645059192],[181.1824196865042],[3.597483925829656e-7],[\"fall\"],[0],[1]],[[428.2373945058266],[186.8862992452879],[3.597483925829656e-7],[\"fall\"],[0],[1]],[[428.32924730574587],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[1]],[[428.32924730574587],[191.94815957161117],[3.597483925829656e-7],[\"idle\"],[0],[1]],[[428.32924730574587],[191.94815957161117],[3.597483925829656e-7],[\"idle\"],[0],[1]],[[428.32924730574587],[191.94815957161117],[3.597483925829656e-7],[\"idle\"],[0],[1]],[[428.32924730574587],[191.94815957161117],[3.597483925829656e-7],[\"idle\"],[0],[1]],[[428.32924730574587],[191.94815957161117],[3.597483925829656e-7],[\"idle\"],[0],[1]],[[428.32924730574587],[191.94815957161117],[3.597483925829656e-7],[\"idle\"],[0],[1]],[[428.32924730574587],[191.94815957161117],[3.597483925829656e-7],[\"idle\"],[0],[1]],[[428.32924730574587],[191.94815957161117],[3.597483925829656e-7],[\"idle\"],[0],[1]],[[428.32924730574587],[191.94815957161117],[3.597483925829656e-7],[\"idle\"],[0],[1]],[[428.32924730574587],[191.94815957161117],[3.597483925829656e-7],[\"idle\"],[0],[1]],[[428.32924730574587],[191.94815957161117],[3.597483925829656e-7],[\"idle\"],[0],[1]],[[428.32924730574587],[191.94815957161117],[3.597483925829656e-7],[\"idle\"],[0],[1]],[[428.32924730574587],[191.94815957161117],[3.597483925829656e-7],[\"idle\"],[0],[1]],[[428.32924730574587],[191.94815957161117],[3.597483925829656e-7],[\"idle\"],[0],[1]],[[428.32924730574587],[191.94815957161117],[3.597483925829656e-7],[\"idle\"],[0],[1]],[[427.9152098106521],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[427.09064537078524],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[425.8417254965477],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[424.17726845598133],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[422.1095510910673],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[419.61490058004176],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[416.6932788496706],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[413.39784272025213],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[409.6461577257873],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[405.4913163680915],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[400.9297252235884],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[395.92988700196753],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[390.5341340285233],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[385.05745402809424],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[379.5514040249256],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[374.08924401980784],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[368.5567940269104],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[363.0857240211773],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[357.60145402057987],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[352.11025402483955],[191.94815957161117],[3.597483925829656e-7],[\"run\"],[0],[-1]],[[346.61839402407367],[191.94815957161117],[0.0000010364072763557944],[\"run\"],[0],[-1]],[[341.120594026099],[191.94815957161117],[0.0000014798636227137413],[\"run\"],[0],[-1]],[[335.61619402589],[191.94815957161117],[0.0000018423788840299591],[\"run\"],[0],[-1]],[[330.14182402384193],[191.94815957161117],[0.000002097317402443356],[\"run\"],[0],[-1]],[[324.65392402441665],[192.3629949215243],[0.000002352886005685544],[\"fall\"],[0],[-1]],[[319.1604140206911],[193.19393825082622],[0.000002608715863863745],[\"fall\"],[0],[-1]],[[314.07166791801893],[194.44446217687678],[0.000002608715863863745],[\"fall\"],[0],[-1]],[[309.4059095394999],[196.10999560717204],[0.000002608715863863745],[\"fall\"],[0],[-1]],[[305.18596596314666],[198.17309456861847],[0.000002608715863863745],[\"fall\"],[0],[-1]],[[301.3399447517574],[200.67736094194646],[0.000002608715863863745],[\"fall\"],[0],[-1]],[[297.9308400301124],[203.5809321716057],[0.000002608715863863745],[\"fall\"],[0],[-1]],[[294.935095923497],[206.8997635861449],[0.000002608715863863745],[\"fall\"],[0],[-1]],[[292.35165265307324],[210.6369744869338],[0.000002608715863863745],[\"fall\"],[0],[-1]],[[290.1772875052802],[214.80529861128545],[0.000002608715863863745],[\"fall\"],[0],[-1]],[[288.43032511538826],[219.35695530273117],[0.0000018443613458777097],[\"fall\"],[0],[-1]],[[287.09082869835976],[224.34913060185286],[0.0000012716554825448702],[\"fall\"],[0],[-1]],[[286.1694270691221],[229.74116476070517],[9.104876995250423e-7],[\"fall\"],[0],[-1]],[[285.66212898332424],[235.5564204159704],[6.547346815600986e-7],[\"fall\"],[0],[-1]],[[285.5702651427551],[241.7871103275213],[3.989816631478895e-7],[\"fall\"],[0],[-1]],[[285.5702651427551],[248.45997269915247],[3.989816631478895e-7],[\"fall\"],[0],[-1]],[[285.5702651427551],[255.48851048088108],[3.989816631478895e-7],[\"fall\"],[0],[-1]],[[285.5702651427551],[262.93812761322397],[3.989816631478895e-7],[\"fall\"],[0],[-1]],[[285.5702651427551],[270.8312776839965],[3.989816631478895e-7],[\"fall\"],[0],[-1]],[[285.5702651427551],[279.1663199088782],[3.989816631478895e-7],[\"fall\"],[0],[-1]],[[285.98925169575256],[287.92833577893293],[3.989816631478895e-7],[\"fall\"],[0],[1]],[[286.8155287801578],[297.01976791908857],[3.989816631478895e-7],[\"fall\"],[0],[1]],[[288.06947811582035],[306.62123932296146],[3.989816631478895e-7],[\"fall\"],[0],[1]],[[289.7242507330621],[316.54915410265755],[3.989816631478895e-7],[\"fall\"],[0],[1]],[[291.7949095859822],[326.90593415916175],[3.989816631478895e-7],[\"fall\"],[0],[1]],[[294.2959782634074],[337.7420450614687],[3.989816631478895e-7],[\"fall\"],[0],[1]],[[297.19885137337747],[348.93902648172684],[3.989816631478895e-7],[\"fall\"],[0],[1]],[[300.53873244281783],[351.99893364490043],[3.989816631478895e-7],[\"run\"],[0],[1]],[[304.277065919395],[351.99893364490043],[3.989816631478895e-7],[\"run\"],[0],[1]],[[308.41176557762384],[351.99893364490043],[3.989816631478895e-7],[\"run\"],[0],[1]],[[312.9982452296484],[351.99893364490043],[3.989816631478895e-7],[\"run\"],[0],[1]],[[317.98974807717536],[351.99893364490043],[3.989816631478895e-7],[\"run\"],[0],[1]],[[323.356651097977],[351.99893364490043],[3.989816631478895e-7],[\"run\"],[0],[1]],[[328.88118109779754],[351.99893364490043],[3.989816631478895e-7],[\"run\"],[0],[1]],[[334.3479610996772],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.94601110127843],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.98879518332694],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9705826236962],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.944283998412],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9866175984437],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]],[[334.9626568211936],[351.99893364490043],[3.989816631478895e-7],[\"wall\"],[0],[1]]]}"],[0]],[],[1,"Default",0,1]],[[360,312,0,152,64,0,0,1,0,0,0,0,[]],46,121,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","And jump higher",1,0,50,0,0,0,0,0,"",-1,0]],[[32.00001907348633,-224,0,616,9,0,1.570796370506287,1,0,0,0,0,[]],51,122,[],[[0],[1],[1,100,""]],[0,0]],[[-113.2000122070313,-84.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],38,2614,[[0],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-113.2000122070313,-76.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],40,2615,[[1],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","righthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[-117.2000122070313,-79.5999984741211,0,8,16,0,0,1,0.5,0.5,0,0,[]],32,2616,[[2],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","body",3,1,0,0,1,2]],[0,"Default",0,1]],[[-117.2000122070313,-63.59999847412109,0,4,8,0,0,1,0,0,0,0,[]],39,2617,[[4],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-117.2000122070313,-71.5999984741211,0,4,8,0,0,1,0,0,0,0,[]],41,2618,[[3],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-121.2000122070313,-63.59999847412109,0,4,8,0,0,1,0,0,0,0,[]],35,2619,[[6],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-121.2000122070313,-71.5999984741211,0,4,8,0,0,1,0,0,0,0,[]],37,2620,[[5],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-117.2000122070313,-87.5999984741211,0,32,32,0,0,1,0.5,1,0,0,[]],33,2621,[[7],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","head",3,1,0,0,1,2]],[0,"Default",0,1]],[[-121.2000122070313,-84.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],34,2622,[[8],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-121.2000122070313,-76.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],36,2623,[[9],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","lefthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[-167,238,0,288,117,0,0,1,0,0,0,0,[[]]],61,5595,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]]],[]],["UI",1,310058647178577,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",2,146818677271137,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",3,643546021231677,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",4,435300187615979,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",5,521565674003461,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]]],[],[]],["Level 5 Old",1280,640,true,"Levels",931393148708778,[["Layer 0",0,321236706221512,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[342.7210083007813,599,0,374,9,0,0,1,0,0,0,0,[]],51,149,[],[[0],[1],[1,100,""]],[0,0]],[[85,193,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,160,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[1186,504,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,161,[],[[0]],[0,"Default",0,1]],[[960,599,0,320,9,0,0,1,0,0,0,0,[]],51,162,[],[[0],[1],[1,100,""]],[0,0]],[[725,437,0,203,9,0,0,1,0,0,0,0,[]],51,163,[],[[0],[1],[1,100,""]],[0,0]],[[134,77,0,294.1115112304688,64,0,0,1,0,0,0,0,[]],46,164,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Jump on place and press down to smash the ground!",1,0,50,0,0,0,0,0,"",-1,0]],[[442,428,0,256,64,0,0,1,0,0,0,0,[]],46,165,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Jump after a Smash",1,0,50,0,0,0,0,0,"",-1,0]],[[352,288,0,96,8,0,0,1,0,0,0,0,[]],45,150,[],[[0],[1]],[0,0]],[[0,288,0,352,9,0,0,1,0,0,0,0,[]],51,151,[],[[0],[1],[1,100,""]],[0,0]],[[352,288,0,320,9,0,1.570796370506287,1,0,0,0,0,[]],51,152,[],[[0],[1],[1,100,""]],[0,0]],[[456.8189392089844,-23.9676513671875,0,320,9,0,1.570796370506287,1,0,0,0,0,[]],51,153,[],[[0],[1],[1,100,""]],[0,0]],[[9,-28,0,320,9,0,1.570796370506287,1,0,0,0,0,[]],51,154,[],[[0],[1],[1,100,""]],[0,0]],[[-81,41,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1407,[["Hellish"],["{\"c2array\":true,\"size\":[329,6,1],\"data\":[[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[255.96897453585387],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[245.18482452192092],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[403.49032605897264],[234.75955817593365],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[403.49032605897264],[224.7988302415274],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[403.49032605897264],[215.253593682584],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[403.49032605897264],[206.0894041904431],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[403.49032605897264],[197.3438494068554],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[403.49032605897264],[189.02463508985574],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[403.49032605897264],[181.1152520554886],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[403.49032605897264],[173.62247962943295],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[403.49032605897264],[166.54449141110365],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[403.49032605897264],[159.8464542992634],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[155.29105633444829],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[151.12197328404196],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[147.38509634965072],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[144.03321620958565],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[141.11768853162164],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[138.62966268824607],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[136.53866707345773],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[134.86349912115162],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[133.61545932301945],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[132.7720542930198],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[132.34657631726222],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[132.3362670946361],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[141.11505453974524],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[150.27057020764377],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[159.79608002287043],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[169.7471295441313],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[180.17474218661064],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[191.03566209448394],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[202.20984906161206],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[213.90413166524354],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[225.91233994685348],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[238.40524886662044],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[251.22360114907357],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[264.5427047043553],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[278.2645509027295],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[292.47538838939494],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[307.0016188735815],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[321.96859253885316],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[337.32721825924375],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[353.1370020242945],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[369.3698143257615],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[385.9637030969831],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[403.00694934340106],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[420.49028492136466],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[438.4275269832111],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[456.6278777712252],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[475.4061771025196],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[494.3823601775816],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[514.0842526626028],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[534.0224735384105],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[554.3230291416688],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.49032605897264],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[403.9045629446833],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[404.7358805599772],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[405.97624783263007],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[407.64242690705424],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[409.7083745078261],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[412.19820950563525],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[415.10432680651763],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[418.4255291418569],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[422.174394505004],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[426.3194539706509],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[430.87216539182674],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[435.8760430359131],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[441.26655629838854],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[446.75808629664164],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[452.2238763005872],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[457.75368629259094],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[463.2089162929616],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[468.73905629708236],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[474.2239862931011],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[479.6983562951492],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[485.21199629848627],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[490.7061662976331],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[496.178226291696],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[501.68229629899645],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[507.15270629970394],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[512.6452262958911],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[518.164806296437],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[523.6259762940164],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[529.129716298804],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[534.6321362935406],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[540.104856292629],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[545.5897862982521],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[551.0925362955014],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[556.5807662974395],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[562.0643762930114],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[567.5493062986344],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[573.0708662950484],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[578.5574462940268],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[584.0278562947343],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[589.5266463002473],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[595.0109162912405],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[600.5212562982625],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[605.9956263003106],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[611.4808862988422],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[616.9717562920697],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[622.4675762941762],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[627.5582819241221],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[632.2039688815132],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[636.4574494972652],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[640.2905156559424],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[643.6942737277773],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[646.7048495495287],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[649.2802479715141],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[651.4452292102967],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[653.1941293181219],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[654.5360553872447],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[655.4579250051938],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[655.9659179686427],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[656.0573179593333],[566.9558570358724],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[656.0573179593333],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[656.0573179593333],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[656.0573179593333],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[656.0573179593333],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[656.0573179593333],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[656.0573179593333],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[656.0573179593333],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[656.0573179593333],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[656.0573179593333],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[656.0573179593333],[566.9558570358724],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[656.0573179593333],[556.1522070247968],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[656.0573179593333],[545.7293405316223],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[656.0573179593333],[535.7719641917206],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[656.0573179593333],[526.1709126920263],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[656.0573179593333],[517.0573170768208],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[656.0573179593333],[508.30923610411537],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[656.0573179593333],[499.98346716925346],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[656.0573179593333],[492.0646267277677],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[487.4662155262229],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[483.33182283563605],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[479.5616498940265],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[476.23668532469765],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[473.3336201224479],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[470.8234142061765],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[468.746616470371],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[467.077613219869],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[465.82484755871695],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[464.98577391317957],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[464.56474068926855],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[464.55692586141373],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[473.3131593953937],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[482.4797260410277],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[492.0263307653961],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[501.98777400217534],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[512.387594967246],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[523.2070484538093],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[534.3878157422079],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[546.0327409647208],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[558.126982557094],[3.6647298748364163e-7],[\"pound\"],[0],[1]],[[656.0573179593333],[566.958530818437],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[656.0573179593333],[566.958530818437],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[656.0573179593333],[566.958530818437],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[656.0573179593333],[555.0287558115716],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[656.0573179593333],[543.596379650348],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[656.0573179593333],[532.4834075565815],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[656.0573179593333],[521.7996762613607],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[656.0573179593333],[511.6395328459897],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[656.0573179593333],[501.78436234629135],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[656.0573179593333],[492.37060558893256],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[656.0573179593333],[483.36927541446966],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[656.0573179593333],[474.8103176996753],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[656.0573179593333],[466.63344954997984],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[656.0573179593333],[458.8772374374409],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[656.0573179593333],[451.5759818555806],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[656.4766054011624],[444.6310262857478],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[657.308721124726],[438.1367795530653],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[658.5492332355177],[432.0800003172243],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[660.2110450923719],[426.41060453289674],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[662.2903384023982],[421.1529640670976],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[664.7949088970106],[416.2976962601298],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[667.6998762177831],[411.88334867104214],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[671.0010665783747],[407.9004618280653],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[674.7426449406026],[404.30466595243337],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[678.9045758751511],[401.12261556477034],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[683.4897833005659],[398.35459177295655],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[688.4582947545172],[396.01700244729255],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[693.8531241728725],[394.0885527077408],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[699.3324441741953],[392.5761939715646],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[704.8434441670344],[391.47342617264394],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[710.3376141757855],[390.7898099073648],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[715.8142941762145],[390.52151067368493],[3.6647298748364163e-7],[\"jump\"],[0],[1]],[[721.3068141724017],[390.66796955163693],[3.6647298748364163e-7],[\"fall\"],[0],[1]],[[726.8247441699879],[391.23449375225954],[3.6647298748364163e-7],[\"fall\"],[0],[1]],[[731.9008898470053],[392.21369179418696],[3.6647298748364163e-7],[\"fall\"],[0],[1]],[[736.5294828434753],[393.594593521617],[3.6647298748364163e-7],[\"fall\"],[0],[1]],[[740.79066934968],[395.40876418289406],[3.6647298748364163e-7],[\"fall\"],[0],[1]],[[744.6279763090647],[397.63662573013244],[3.6647298748364163e-7],[\"fall\"],[0],[1]],[[748.0366491464646],[400.2691052611113],[3.6647298748364163e-7],[\"fall\"],[0],[1]],[[751.0422948783416],[403.32899191962804],[3.6647298748364163e-7],[\"fall\"],[0],[1]],[[753.6241163430248],[404.98055326998224],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[755.7973348049719],[404.98055326998224],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[757.5554771245156],[404.98055326998224],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[758.8889996787514],[404.98055326998224],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[759.8138962228319],[404.98055326998224],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[760.3228147825313],[404.98055326998224],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"run\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]],[[760.4169385282163],[404.98055326998224],[3.6647298748364163e-7],[\"idle\"],[0],[1]]]}"],[0]],[],[1,"Default",0,1]],[[718,518,0,256,64,0,0,1,0,0,0,0,[]],46,123,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","To jump higher!",1,0,50,0,0,0,0,0,"",-1,0]],[[314,249,0,137,49,0,0,1,0,0,0,0,[]],46,124,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","(You can smash this)",0.7,0,50,0,0,0,0,0,"",-1,0]],[[1279,190,0,416,9,0,1.570796370506287,1,0,0,0,0,[]],51,125,[],[[0],[1],[1,100,""]],[0,0]],[[-97.20001220703125,-83.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],38,2624,[[0],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-97.20001220703125,-75.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],40,2625,[[1],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","righthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[-101.2000122070313,-78.5999984741211,0,8,16,0,0,1,0.5,0.5,0,0,[]],32,2626,[[2],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","body",3,1,0,0,1,2]],[0,"Default",0,1]],[[-101.2000122070313,-62.59999847412109,0,4,8,0,0,1,0,0,0,0,[]],39,2627,[[4],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-101.2000122070313,-70.5999984741211,0,4,8,0,0,1,0,0,0,0,[]],41,2628,[[3],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-105.2000122070313,-62.59999847412109,0,4,8,0,0,1,0,0,0,0,[]],35,2629,[[6],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-105.2000122070313,-70.5999984741211,0,4,8,0,0,1,0,0,0,0,[]],37,2630,[[5],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-101.2000122070313,-86.5999984741211,0,32,32,0,0,1,0.5,1,0,0,[]],33,2631,[[7],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","head",3,1,0,0,1,2]],[0,"Default",0,1]],[[-105.2000122070313,-83.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],34,2632,[[8],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-105.2000122070313,-75.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],36,2633,[[9],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","lefthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[-219,136,0,288,117,0,0,1,0,0,0,0,[[]]],61,5596,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]]],[]],["UI",1,327772779383549,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",2,614345523289850,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",3,347870773058602,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",4,823929716942182,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",5,754184220861042,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]]],[],[]],["Level 8 Old",1260,500,true,"Levels",355715533881021,[["Layer 0",0,160760948922936,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[32,384,0,475,9,0,0,1,0,0,0,0,[]],51,170,[],[[0],[1],[1,100,""]],[0,0]],[[98,282,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,181,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[1095,291,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,182,[],[[0]],[0,"Default",0,1]],[[160,214,0,231,64,0,0,1,0,0,0,0,[]],46,203,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Jump while sliding to dive",1,0,50,0,0,0,0,0,"",-1,0]],[[398,67,0,270,9,0,1.570796370506287,1,0,0,0,0,[]],51,204,[],[[0],[1],[1,100,""]],[0,0]],[[749,384,0,367,9,0,0,1,0,0,0,0,[]],51,219,[],[[0],[1],[1,100,""]],[0,0]],[[-92,63,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1410,[["Impossibler"],["{\"c2array\":true,\"size\":[138,6,1],\"data\":[[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"idle\"],[0],[1]],[[295.7028513842802],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[299.6586252174692],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[308.04163988846227],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[316.42608854896287],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[324.75889646589746],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[333.1619845747299],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[341.5325701685588],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[349.89072467113607],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[358.2990692327708],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[366.6371384535067],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[375.00628981074266],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[383.3486634569965],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[391.7426713807328],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[400.1787257927945],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[408.4833077791528],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[416.87062433766874],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[425.226388022374],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[433.57545698185436],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[441.9589496569871],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[450.37876157659827],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[458.72591765143096],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[467.0941128173862],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[475.44987650209146],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[483.82954507401774],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[492.17383173883826],[351.94335645729734],[0],[\"slide\"],[1],[1]],[[500.5793091805487],[351.94335645729734],[0],[\"slide\"],[0],[1]],[[508.9430433949228],[343.29575645820296],[0],[\"jump\"],[0],[1]],[[517.3022512442424],[335.06722291169206],[0],[\"jump\"],[0],[1]],[[525.6669913126384],[327.2481787630692],[0],[\"jump\"],[0],[1]],[[534.0186552055632],[319.85499658601907],[0],[\"jump\"],[0],[1]],[[542.376354251894],[312.8707087678287],[0],[\"jump\"],[0],[1]],[[550.7853522046371],[306.26288953372693],[0],[\"jump\"],[0],[1]],[[559.1666889888115],[300.09338987774777],[0],[\"jump\"],[0],[1]],[[567.4876741218274],[294.3789205937719],[0],[\"jump\"],[0],[1]],[[575.8579464239372],[289.04608732501396],[0],[\"jump\"],[0],[1]],[[584.2880674721504],[284.0965704373756],[0],[\"plunge\"],[1],[1]],[[591.9401734642282],[279.61731412953026],[0],[\"plunge\"],[1],[1]],[[599.6634274736692],[275.5155975710462],[0],[\"plunge\"],[1],[1]],[[607.3173814663727],[271.86238355416157],[0],[\"plunge\"],[1],[1]],[[615.0050614738551],[268.608406591532],[0],[\"plunge\"],[1],[1]],[[622.690431463748],[265.7704922302556],[0],[\"plunge\"],[1],[1]],[[630.3767254741227],[263.34742131803694],[0],[\"plunge\"],[1],[1]],[[638.041305467062],[261.3440378050525],[0],[\"plunge\"],[1],[1]],[[645.7816534722054],[259.7418946694394],[0],[\"plunge\"],[1],[1]],[[653.4559354717907],[258.56731424892814],[0],[\"plunge\"],[1],[1]],[[661.1306794748938],[257.8066009332132],[0],[\"plunge\"],[1],[1]],[[668.8188214724481],[257.459943942285],[0],[\"plunge\"],[1],[1]],[[676.5171274667204],[257.5293120113857],[0],[\"plunge\"],[1],[1]],[[684.1858654644287],[258.01170384976973],[0],[\"plunge\"],[1],[1]],[[691.8813994644855],[258.91196472880773],[0],[\"plunge\"],[1],[1]],[[699.5750854639167],[260.227993033211],[0],[\"plunge\"],[1],[1]],[[707.2327354713174],[261.9499532102741],[0],[\"plunge\"],[1],[1]],[[714.9582994714559],[264.10662299472267],[0],[\"plunge\"],[1],[1]],[[722.6311954739334],[266.6623284680886],[0],[\"plunge\"],[1],[1]],[[730.2925414691393],[269.6266806720155],[0],[\"plunge\"],[1],[1]],[[737.9820694638014],[273.01747124765603],[0],[\"plunge\"],[1],[1]],[[745.702551465581],[276.84079764962826],[0],[\"plunge\"],[1],[1]],[[753.3565054717304],[281.04287638392526],[0],[\"plunge\"],[1],[1]],[[761.0682094738999],[285.6945945997755],[0],[\"plunge\"],[1],[1]],[[768.757275465044],[290.7481416860166],[0],[\"plunge\"],[1],[1]],[[776.4546574657264],[296.2235377521005],[7.681350269587803e-7],[\"plunge\"],[1],[1]],[[784.1344834671885],[302.1009318633966],[0.0000013393632508068683],[\"plunge\"],[1],[1]],[[791.821701471153],[308.3992675785364],[0.0000017009874376127648],[\"plunge\"],[1],[1]],[[798.9658234749635],[315.1308851324637],[0.000001957339805215727],[\"plunge\"],[0],[1]],[[794.3809354798583],[322.2159595250555],[0.0000013889637713733403],[\"stun\"],[0],[-1]],[[789.7672186749935],[329.76111747760615],[9.45933312832925e-7],[\"stun\"],[0],[-1]],[[785.1313258787565],[337.76207975936893],[6.889201247631343e-7],[\"stun\"],[0],[-1]],[[780.5198266746423],[346.13607654346583],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[775.9285630793956],[351.9473270461057],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[771.7306076506376],[351.9473270461057],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[767.9242851156298],[351.9473270461057],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[764.5774429662216],[351.9473270461057],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[761.622656603121],[351.9473270461057],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[759.089187205401],[351.9473270461057],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[756.9688097047873],[351.9473270461057],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[755.2657370958591],[351.9473270461057],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[753.9768673466388],[351.9473270461057],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[753.1035592072503],[351.9473270461057],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[752.6455575234218],[351.9473270461057],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[752.6030691158555],[351.9473270461057],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[752.6030691158555],[351.9473270461057],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[752.6030691158555],[351.9473270461057],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[752.6030691158555],[351.9473270461057],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[752.6030691158555],[351.9473270461057],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[752.6030691158555],[351.9473270461057],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[752.6030691158555],[351.9473270461057],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[752.6030691158555],[351.9473270461057],[4.33259313712303e-7],[\"stun\"],[0],[-1]],[[753.8515844620225],[351.9473270461057],[4.33259313712303e-7],[\"run\"],[0],[1]],[[754.6850156657866],[351.9473270461057],[4.33259313712303e-7],[\"run\"],[0],[1]],[[755.1030630133564],[351.9473270461057],[4.33259313712303e-7],[\"run\"],[0],[1]],[[755.1043816810987],[351.9473270461057],[4.33259313712303e-7],[\"run\"],[0],[1]],[[755.1043816810987],[351.9473270461057],[4.33259313712303e-7],[\"idle\"],[0],[1]],[[755.1043816810987],[351.9473270461057],[4.33259313712303e-7],[\"idle\"],[0],[1]],[[755.1043816810987],[351.9473270461057],[4.33259313712303e-7],[\"idle\"],[0],[1]],[[755.1043816810987],[351.9473270461057],[4.33259313712303e-7],[\"idle\"],[0],[1]],[[755.1043816810987],[351.9473270461057],[4.33259313712303e-7],[\"idle\"],[0],[1]],[[755.1043816810987],[351.9473270461057],[4.33259313712303e-7],[\"idle\"],[0],[1]],[[755.1043816810987],[351.9473270461057],[4.33259313712303e-7],[\"idle\"],[0],[1]],[[755.1043816810987],[351.9473270461057],[4.33259313712303e-7],[\"idle\"],[0],[1]],[[755.1043816810987],[351.9473270461057],[4.33259313712303e-7],[\"idle\"],[0],[1]],[[755.1043816810987],[351.9473270461057],[4.33259313712303e-7],[\"idle\"],[0],[1]],[[755.1043816810987],[351.9473270461057],[4.33259313712303e-7],[\"idle\"],[0],[1]],[[755.1043816810987],[351.9473270461057],[4.33259313712303e-7],[\"idle\"],[0],[1]]]}"],[0]],[],[1,"Default",0,1]],[[32.00000762939453,-2,0,395,9,0,1.570796370506287,1,0,0,0,0,[]],51,134,[],[[0],[1],[1,100,""]],[0,0]],[[840,290,0,99,9,0,1.570796370506287,1,0,0,0,0,[]],51,135,[],[[0],[1],[1,100,""]],[0,0]],[[746,223,0,231,64,0,0,1,0,0,0,0,[]],46,136,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Be careful not to hit your head...",1,0,50,0,0,0,0,0,"",-1,0]],[[-79.19999694824219,-68.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],38,2654,[[0],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-79.19999694824219,-60.59999847412109,0,4,8,0,0,1,1,0,0,0,[]],40,2655,[[1],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","righthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[-83.19999694824219,-63.59999847412109,0,8,16,0,0,1,0.5,0.5,0,0,[]],32,2656,[[2],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","body",3,1,0,0,1,2]],[0,"Default",0,1]],[[-83.19999694824219,-47.59999847412109,0,4,8,0,0,1,0,0,0,0,[]],39,2657,[[4],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-83.19999694824219,-55.59999847412109,0,4,8,0,0,1,0,0,0,0,[]],41,2658,[[3],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-87.19999694824219,-47.59999847412109,0,4,8,0,0,1,0,0,0,0,[]],35,2659,[[6],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-87.19999694824219,-55.59999847412109,0,4,8,0,0,1,0,0,0,0,[]],37,2660,[[5],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-83.19999694824219,-71.5999984741211,0,32,32,0,0,1,0.5,1,0,0,[]],33,2661,[[7],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","head",3,1,0,0,1,2]],[0,"Default",0,1]],[[-87.19999694824219,-68.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],34,2662,[[8],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-87.19999694824219,-60.59999847412109,0,4,8,0,0,1,1,0,0,0,[]],36,2663,[[9],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","lefthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[511,182,0,288,117,0,0,1,0,0,0,0,[[]]],61,5599,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]]],[]],["UI",1,532980148800326,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",2,343269707726144,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",3,884546816880089,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",4,536417279914463,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",5,581523160918611,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]]],[],[]],["Level 10 Old",1180,640,true,"Levels",818277003168731,[["Layer 0",0,870156324806537,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[32,384,0,750,9,0,0,1,0,0,0,0,[]],51,220,[],[[0],[1],[1,100,""]],[0,0]],[[96,256,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,231,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[952,288,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,232,[],[[0]],[0,"Default",0,1]],[[341,222,0,231,64,0,0,1,0,0,0,0,[]],46,233,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try to do a smash while going right to dive",1,0,50,0,0,0,0,0,"",-1,0]],[[289,340,0,46,9,0,1.570796370506287,1,0,0,0,0,[]],51,234,[],[[0],[1],[1,100,""]],[0,0]],[[778,384,0,355,9,0,0,1,0,0,0,0,[]],51,235,[],[[0],[1],[1,100,""]],[0,0]],[[366,369,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,251,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[397,369,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,252,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[430,369,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,253,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[462,369,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,254,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[494,369,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,255,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[527,369,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,256,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[559,369,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,257,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[591,369,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,258,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[623,369,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,259,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[647,340,0,46,9,0,1.570796370506287,1,0,0,0,0,[]],51,260,[],[[0],[1],[1,100,""]],[0,0]],[[334,369,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,250,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[303,369,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,261,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[287,349,0,45.73793029785156,9,0,3.141592741012573,1,0,0,0,0,[]],51,262,[],[[0],[1],[1,100,""]],[0,0]],[[684.4901733398438,349,0,46.490234375,9,0,3.141592741012573,1,0,0,0,0,[]],51,263,[],[[0],[1],[1,100,""]],[0,0]],[[-94,45,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1412,[["Hella harder"],["{\"c2array\":true,\"size\":[145,6,1],\"data\":[[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.4772692148135],[307.94611331782755],[0.000004045703814851849],[\"idle\"],[0],[1]],[[259.89090806832195],[307.94611331782755],[0.000004045703814851849],[\"run\"],[0],[1]],[[260.7229744489593],[307.94611331782755],[0.000004045703814851849],[\"run\"],[0],[1]],[[261.97387325795455],[307.94611331782755],[0.000004045703814851849],[\"run\"],[0],[1]],[[263.63735806810075],[307.94611331782755],[0.000004045703814851849],[\"run\"],[0],[1]],[[265.7065425113806],[307.94611331782755],[0.000004045703814851849],[\"run\"],[0],[1]],[[268.1924856190016],[297.15221332424073],[0.000004045703814851849],[\"jump\"],[0],[1]],[[271.1016479753744],[286.74314689441053],[0.000004045703814851849],[\"jump\"],[0],[1]],[[274.4106772725933],[276.7915259329192],[0.000004045703814851849],[\"jump\"],[0],[1]],[[278.1456173181043],[267.2226318124632],[0.000004045703814851849],[\"jump\"],[0],[1]],[[282.31600721225067],[258.0300096445198],[0.000004045703814851849],[\"jump\"],[0],[1]],[[292.3018238790877],[241.35910964449334],[0.000004045703814851849],[\"jump\"],[0],[1]],[[297.6853056791536],[233.4739441565045],[0.000004045703814851849],[\"jump\"],[0],[1]],[[303.22435568388966],[225.91966187289202],[0.000004045703814851849],[\"plunge\"],[1],[1]],[[307.0478676807491],[218.88119698667757],[0.000004045703814851849],[\"plunge\"],[1],[1]],[[314.7129096906522],[212.23903990163376],[0.000004045703814851849],[\"plunge\"],[1],[1]],[[322.42091767812445],[205.97718434767327],[0.000004045703814851849],[\"plunge\"],[1],[1]],[[330.0882696787251],[200.1614978551129],[0.000004045703814851849],[\"plunge\"],[1],[1]],[[337.77825969035104],[194.74422446994618],[0.000004045703814851849],[\"plunge\"],[1],[1]],[[345.48534368423344],[189.73234278111747],[0.0000028432325493672747],[\"plunge\"],[1],[1]],[[353.1734856817878],[185.14816330763617],[0.000001995046718324358],[\"plunge\"],[1],[1]],[[360.86717168121896],[180.97666174647432],[0.0000014227875828357024],[\"plunge\"],[1],[1]],[[368.54976969034243],[177.22595753454243],[9.8015639465682e-7],[\"plunge\"],[1],[1]],[[376.21342568969186],[173.89724357531094],[7.252332442860745e-7],[\"plunge\"],[1],[1]],[[383.9339076780255],[170.96273349110183],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[391.61234768237983],[168.45853991977404],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[399.3143496779033],[166.36354536384198],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[406.98678369030887],[164.69028216615624],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[414.709575682786],[163.4251734975035],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[422.36306768541755],[162.58306573646934],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[430.05028568938206],[162.152531611718],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[437.7712296812336],[162.13904502776285],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[445.4663016777725],[162.5417371394251],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[453.1050096888451],[163.35153939303783],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[460.7977716812405],[164.5829557713514],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[468.50162167738955],[166.23323049534892],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[476.2008516786976],[168.29909888809323],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[483.9010056870414],[170.7818985461284],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[491.56558567998064],[173.66607004343436],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[499.2370956853504],[176.96643833349688],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[506.92292767876125],[180.6881028442032],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[514.6175376852282],[184.8301014179309],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[522.3333996787208],[189.40192500946947],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[530.0012136828393],[194.3584696892487],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[537.7129176850087],[199.7613195590038],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[545.3996736854554],[205.56192532759937],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[553.0850436887943],[211.77657002823815],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[560.7736476898665],[218.4092640926601],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[568.4761116889078],[225.47084807622718],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[576.1175916807499],[232.88687959831427],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[583.8126636772888],[240.77105549058533],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[591.5017296818789],[249.06456196960167],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[599.1773976785719],[257.7576547117431],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[606.8660016796441],[266.88083239696005],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[614.5818636865827],[276.4547391093901],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[622.275087682496],[286.4164900421971],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[629.9271936880198],[296.7364978380421],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[637.625499682292],[307.53529657159527],[4.684198394289566e-7],[\"plunge\"],[1],[1]],[[645.3044016901642],[307.97279657159527],[0.0000018200299003771192],[\"plunge\"],[1],[1]],[[650.8025316810474],[307.97279657159527],[0.0000027780625979236453],[\"plunge\"],[1],[1]],[[656.0141715217901],[307.97279657159527],[0.0000034542742250376037],[\"plunge\"],[1],[1]],[[660.9481007569582],[307.97279657159527],[0.0000038968521767551155],[\"plunge\"],[1],[1]],[[665.6126863104666],[307.97279657159527],[0.000004152789610337346],[\"plunge\"],[1],[1]],[[669.980908157718],[307.97279657159527],[0.000004407543713580722],[\"plunge\"],[1],[1]],[[674.0913740136136],[307.97279657159527],[0.000004407543713580722],[\"plunge\"],[1],[1]],[[677.950196637727],[307.97279657159527],[0.000004407543713580722],[\"plunge\"],[1],[1]],[[681.4844640711083],[307.97279657159527],[0.000004407543713580722],[\"plunge\"],[1],[1]],[[684.7696770339918],[307.97279657159527],[0.0000030748589047056792],[\"plunge\"],[1],[1]],[[687.7639376993027],[307.97279657159527],[0.0000021543351693850233],[\"plunge\"],[1],[1]],[[690.4835296109001],[307.97279657159527],[0.0000015286236447818759],[\"plunge\"],[1],[1]],[[692.9419400954171],[307.97279657159527],[0.0000010830910926988953],[\"plunge\"],[1],[1]],[[695.099518017288],[307.97279657159527],[7.232707886079867e-7],[\"plunge\"],[1],[1]],[[696.9873671341313],[307.97279657159527],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[698.6062187240029],[307.97279657159527],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[699.9436255915729],[307.97279657159527],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[701.001416350853],[307.97279657159527],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[704.8584233472865],[308.39098128432187],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[712.5539573473433],[309.22434765094533],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[720.2250053491952],[310.4686015989641],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[727.9302413558979],[312.1356344124943],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[735.6400973574417],[314.2214007810757],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[743.304677350381],[316.7077606685677],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[751.018229353176],[319.6281415095585],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[758.6703353586998],[322.93675811067703],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[766.364021358131],[326.679336677601],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[774.0563213470085],[330.83707477118855],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[781.724597354645],[335.39506815373977],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[789.4298333479018],[340.39226393301357],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[797.1364553517122],[345.8077422450446],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[804.798725353954],[351.6046475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[812.4840953572929],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[817.9752953530332],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[823.1780321550809],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[828.1284252154661],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[832.7954584660075],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[837.1711968636558],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[841.2719640258987],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[845.1259503546189],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[848.6674696038316],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[851.9392022772591],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[854.9491353977388],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[857.6684923996694],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[860.0962006308249],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[862.2660317569807],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[864.1664402901315],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[865.7796278178648],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[867.1161363496147],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[868.1780034427285],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[868.9609822334627],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]],[[869.4689556430053],[351.9796475417155],[4.681478554718339e-7],[\"plunge\"],[1],[1]]]}"],[0]],[],[1,"Default",0,1]],[[36.00001525878906,2,0,391,9,0,1.570796370506287,1,0,0,0,0,[]],51,175,[],[[0],[1],[1,100,""]],[0,0]],[[-72.19999694824219,-86.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],38,221,[[0],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-72.19999694824219,-78.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],40,222,[[1],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","righthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[-76.19999694824219,-81.5999984741211,0,8,16,0,0,1,0.5,0.5,0,0,[]],32,223,[[2],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","body",3,1,0,0,1,2]],[0,"Default",0,1]],[[-76.19999694824219,-65.5999984741211,0,4,8,0,0,1,0,0,0,0,[]],39,224,[[4],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-76.19999694824219,-73.5999984741211,0,4,8,0,0,1,0,0,0,0,[]],41,225,[[3],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-80.19999694824219,-65.5999984741211,0,4,8,0,0,1,0,0,0,0,[]],35,226,[[6],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-80.19999694824219,-73.5999984741211,0,4,8,0,0,1,0,0,0,0,[]],37,227,[[5],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-76.19999694824219,-89.5999984741211,0,32,32,0,0,1,0.5,1,0,0,[]],33,228,[[7],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","head",3,1,0,0,1,2]],[0,"Default",0,1]],[[-80.19999694824219,-86.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],34,229,[[8],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-80.19999694824219,-78.5999984741211,0,4,8,0,0,1,1,0,0,0,[]],36,230,[[9],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","lefthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[11.49879455566406,170.5813598632813,0,288,117,0,0,1,0,0,0,0,[[]]],61,5601,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]]],[]],["UI",1,731519991195752,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",2,292744140923323,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",3,994659724842613,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",4,784353895593967,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",5,133987850553526,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]]],[],[]],["Level 12 Old",750,640,true,"Levels",884797927610262,[["Layer 0",0,493456400767656,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[32,529,0,307,9,0,0,1,0,0,0,0,[]],51,278,[],[[0],[1],[1,100,""]],[0,0]],[[-37,166,0,4,8,0,0,1,1,0,0,0,[]],38,296,[[0],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-37,174,0,4,8,0,0,1,1,0,0,0,[]],40,297,[[1],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","righthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,171,0,8,16,0,0,1,0.5,0.5,0,0,[]],32,298,[[2],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","body",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,187,0,4,8,0,0,1,0,0,0,0,[]],39,299,[[4],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,179,0,4,8,0,0,1,0,0,0,0,[]],41,300,[[3],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,187,0,4,8,0,0,1,0,0,0,0,[]],35,301,[[6],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,179,0,4,8,0,0,1,0,0,0,0,[]],37,302,[[5],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,163,0,32,32,0,0,1,0.5,1,0,0,[]],33,303,[[7],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","head",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,166,0,4,8,0,0,1,1,0,0,0,[]],34,304,[[8],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,174,0,4,8,0,0,1,1,0,0,0,[]],36,305,[[9],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","lefthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[92,440,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,306,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[679,163,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,307,[],[[0]],[0,"Default",0,1]],[[489,258,0,215,9,0,0,1,0,0,0,0,[]],51,308,[],[[0],[1],[1,100,""]],[0,0]],[[317,513,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,309,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[-85,75,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1414,[["Needs hacks"],["{\"c2array\":true,\"size\":[163,6,1],\"data\":[[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.2707718354626],[496.9951799265888],[0],[\"idle\"],[0],[1]],[[213.68381309021802],[496.9951799265888],[0],[\"run\"],[0],[1]],[[214.51101602989112],[496.9951799265888],[0],[\"run\"],[0],[1]],[[215.75669328802365],[496.9951799265888],[0],[\"run\"],[0],[1]],[[217.4166330378792],[496.9951799265888],[0],[\"run\"],[0],[1]],[[219.49210678461017],[496.9951799265888],[0],[\"run\"],[0],[1]],[[221.979871757852],[496.9951799265888],[0],[\"run\"],[0],[1]],[[228.62202706643998],[496.9951799265888],[0],[\"run\"],[0],[1]],[[232.3592375360036],[496.9951799265888],[0],[\"run\"],[0],[1]],[[236.51417796573352],[496.9951799265888],[0],[\"run\"],[0],[1]],[[241.08595048736262],[496.9951799265888],[0],[\"run\"],[0],[1]],[[246.04688640343525],[496.9951799265888],[0],[\"run\"],[0],[1]],[[251.4330360155788],[496.9951799265888],[0],[\"run\"],[0],[1]],[[256.94700602142865],[496.9951799265888],[0],[\"run\"],[0],[1]],[[262.435896018788],[496.9951799265888],[0],[\"run\"],[0],[1]],[[267.92841602457946],[496.9951799265888],[0],[\"run\"],[0],[1]],[[273.4196160203198],[496.9951799265888],[0],[\"run\"],[0],[1]],[[278.9137860194666],[496.9951799265888],[0],[\"run\"],[0],[1]],[[284.40795601861345],[496.9951799265888],[0],[\"run\"],[0],[1]],[[289.918626018544],[496.9951799265888],[0],[\"run\"],[0],[1]],[[295.3830960220427],[496.9951799265888],[0],[\"run\"],[0],[1]],[[300.862746016274],[479.55992994494375],[0],[\"jump\"],[0],[1]],[[306.38925602156695],[462.39627294240836],[0],[\"jump\"],[0],[1]],[[311.8434960240035],[445.8668267356049],[0],[\"jump\"],[0],[1]],[[317.3581260156704],[429.57325082918015],[0],[\"jump\"],[0],[1]],[[322.86813602017963],[413.71150989299576],[0],[\"jump\"],[0],[1]],[[328.33821601837434],[398.3768616742149],[0],[\"jump\"],[0],[1]],[[333.8214960210377],[383.4193461673094],[0],[\"jump\"],[0],[1]],[[339.3130260192908],[368.8547103061707],[0],[\"jump\"],[0],[1]],[[344.82303602380006],[354.65924648662474],[0],[\"jump\"],[0],[1]],[[350.29344602450755],[340.97799973047574],[0],[\"jump\"],[0],[1]],[[355.78926601700977],[327.64923731271546],[0],[\"jump\"],[0],[1]],[[361.2827760207353],[314.74176111979955],[0],[\"jump\"],[0],[1]],[[366.7627560174794],[302.27971370029485],[0],[\"jump\"],[0],[1]],[[372.2816760226039],[290.1486508955119],[0],[\"jump\"],[0],[1]],[[377.7860760228129],[278.4668379155641],[0],[\"jump\"],[0],[1]],[[383.2429560165389],[267.2960340764275],[0],[\"jump\"],[0],[1]],[[388.73646602026446],[256.46592869138476],[0],[\"jump\"],[0],[1]],[[394.2520860194697],[246.011271551134],[0],[\"jump\"],[0],[1]],[[399.71952601677066],[236.05968578808404],[0],[\"jump\"],[0],[1]],[[405.2235960240711],[226.45871130844066],[0],[\"jump\"],[0],[1]],[[410.72436601584803],[217.28027652112922],[0],[\"jump\"],[0],[1]],[[416.18850601683397],[208.57421258360046],[0],[\"jump\"],[0],[1]],[[421.69323601955574],[200.22085986921903],[0],[\"jump\"],[0],[1]],[[427.18377601987476],[192.30427485603136],[0],[\"jump\"],[0],[1]],[[432.66210602326345],[184.81868473992847],[0],[\"jump\"],[0],[1]],[[438.1744260165494],[177.7051861246137],[0],[\"jump\"],[0],[1]],[[443.67123601658994],[171.02788620608834],[0],[\"jump\"],[0],[1]],[[449.14494602321673],[164.79134006906148],[0],[\"jump\"],[0],[1]],[[454.66947602303725],[158.91728310126697],[0],[\"jump\"],[0],[1]],[[460.14417601799386],[153.50905094137883],[0],[\"jump\"],[0],[1]],[[465.6126060228332],[148.51890971045682],[0],[\"jump\"],[0],[1]],[[471.0816960230938],[143.94016270325238],[0],[\"jump\"],[0],[1]],[[476.61843601984464],[139.7270307369971],[0],[\"jump\"],[0],[1]],[[482.08356601876466],[135.9797898289251],[0],[\"jump\"],[0],[1]],[[487.57905601835836],[132.6277157858307],[0],[\"jump\"],[0],[1]],[[493.06497602191547],[129.69601520035604],[0],[\"jump\"],[0],[1]],[[498.5611260169305],[127.17493119769236],[0],[\"jump\"],[0],[1]],[[504.07344601982066],[125.06496543685536],[0],[\"jump\"],[0],[1]],[[509.56167602175873],[123.37910591317466],[0],[\"jump\"],[0],[1]],[[514.5994229975508],[122.11469321362455],[0],[\"jump\"],[0],[1]],[[519.2684546360027],[121.25466236418482],[0],[\"jump\"],[0],[1]],[[523.5345037219327],[120.81087469543067],[0],[\"jump\"],[0],[1]],[[527.359360887446],[120.78381537662622],[0],[\"jump\"],[0],[1]],[[530.7663599417859],[121.16958427761881],[0],[\"fall\"],[0],[1]],[[533.7672550674233],[121.97128825682563],[0],[\"fall\"],[0],[1]],[[536.3629965977059],[123.19529319803061],[0],[\"fall\"],[0],[1]],[[538.5330994876095],[124.8298471054856],[0],[\"fall\"],[0],[1]],[[540.2872545913771],[126.87874837304419],[0],[\"fall\"],[0],[1]],[[541.6242058733344],[129.33593683255694],[0],[\"fall\"],[0],[1]],[[542.5499380250711],[132.2182909435227],[0],[\"fall\"],[0],[1]],[[543.0597861533068],[135.52681750063707],[0],[\"fall\"],[0],[1]],[[543.1524764516304],[139.2380980932953],[0],[\"fall\"],[0],[1]],[[543.1524764516304],[143.36379435020254],[0],[\"fall\"],[0],[1]],[[543.1524764516304],[147.89385233733992],[0],[\"fall\"],[0],[1]],[[543.1524764516304],[152.83526433277072],[0],[\"fall\"],[0],[1]],[[543.1524764516304],[158.22896349117102],[0],[\"fall\"],[0],[1]],[[543.1524764516304],[164.01706108159914],[0],[\"fall\"],[0],[1]],[[543.1524764516304],[170.21974749408284],[0],[\"fall\"],[0],[1]],[[543.1524764516304],[176.83687300490698],[0],[\"fall\"],[0],[1]],[[543.1524764516304],[183.86112602168558],[0],[\"fall\"],[0],[1]],[[543.1524764516304],[191.3176237432571],[0],[\"fall\"],[0],[1]],[[543.1524764516304],[199.16841254740314],[0],[\"fall\"],[0],[1]],[[543.1524764516304],[207.4661066554014],[0],[\"fall\"],[0],[1]],[[543.1524764516304],[216.19681620128614],[0],[\"fall\"],[0],[1]],[[543.1524764516304],[225.28427119842746],[0],[\"fall\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]],[[543.1524764516304],[225.97177119842746],[0],[\"idle\"],[0],[1]]]}"],[0]],[],[1,"Default",0,1]],[[195,460,0,249,52,0,0,1,0,0,0,0,[]],46,179,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Those are Good guys",1,0,50,0,0,0,0,0,"",-1,0]],[[364,332,0,288,117,0,0,1,0,0,0,0,[[]]],61,5603,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]]],[]],["UI",1,661732305350876,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",2,900703478570537,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",3,358327526894166,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",4,312812025562473,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",5,837051842081280,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]]],[],[]],["Level 13 Old",1080,640,true,"Levels",874556490961798,[["Layer 0",0,754097457094955,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[32,529,0,307,9,0,0,1,0,0,0,0,[]],51,264,[],[[0],[1],[1,100,""]],[0,0]],[[-37,166,0,4,8,0,0,1,1,0,0,0,[]],38,265,[[0],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-37,174,0,4,8,0,0,1,1,0,0,0,[]],40,266,[[1],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","righthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,171,0,8,16,0,0,1,0.5,0.5,0,0,[]],32,267,[[2],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","body",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,187,0,4,8,0,0,1,0,0,0,0,[]],39,268,[[4],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,179,0,4,8,0,0,1,0,0,0,0,[]],41,269,[[3],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,187,0,4,8,0,0,1,0,0,0,0,[]],35,270,[[6],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,179,0,4,8,0,0,1,0,0,0,0,[]],37,271,[[5],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,163,0,32,32,0,0,1,0.5,1,0,0,[]],33,272,[[7],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","head",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,166,0,4,8,0,0,1,1,0,0,0,[]],34,273,[[8],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,174,0,4,8,0,0,1,1,0,0,0,[]],36,274,[[9],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","lefthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[60,457,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,275,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[0,"Default",0,1]],[[969,227,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,276,[],[[0]],[0,"Default",0,1]],[[779,322,0,215,9,0,0,1,0,0,0,0,[]],51,279,[],[[0],[1],[1,100,""]],[0,0]],[[317,513,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,277,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[253,272,0,202,9,0,1.570796370506287,1,0,0,0,0,[]],51,310,[],[[0],[1],[1,100,""]],[0,0]],[[-123,74,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1415,[["Hackser"],[""],[0]],[],[1,"Default",0,1]],[[41.0000114440918,71,0,459,9,0,1.570796370506287,1,0,0,0,0,[]],51,180,[],[[0],[1],[1,100,""]],[0,0]],[[247,207,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,5498,[["level13"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[35,348,0,288,117,0,0,1,0,0,0,0,[[]]],61,5604,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]]],[]],["UI",1,989616594419612,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",2,167385115355515,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",3,312763908659104,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",4,789666684300708,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",5,315382310143576,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]]],[],[]],["Level 14 Old",1080,640,true,"Levels",993135549580914,[["Layer 0",0,748540458828883,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[32,529,0,307,9,0,0,1,0,0,0,0,[]],51,311,[],[[0],[1],[1,100,""]],[0,0]],[[-37,166,0,4,8,0,0,1,1,0,0,0,[]],38,312,[[0],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-37,174,0,4,8,0,0,1,1,0,0,0,[]],40,313,[[1],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","righthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,171,0,8,16,0,0,1,0.5,0.5,0,0,[]],32,314,[[2],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","body",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,187,0,4,8,0,0,1,0,0,0,0,[]],39,315,[[4],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,179,0,4,8,0,0,1,0,0,0,0,[]],41,316,[[3],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,187,0,4,8,0,0,1,0,0,0,0,[]],35,317,[[6],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,179,0,4,8,0,0,1,0,0,0,0,[]],37,318,[[5],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[-41,163,0,32,32,0,0,1,0.5,1,0,0,[]],33,319,[[7],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","head",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,166,0,4,8,0,0,1,1,0,0,0,[]],34,320,[[8],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[-45,174,0,4,8,0,0,1,1,0,0,0,[]],36,321,[[9],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","lefthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[96,401,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,322,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[969,227,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,323,[],[[0]],[0,"Default",0,1]],[[779,322,0,215,9,0,0,1,0,0,0,0,[]],51,324,[],[[0],[1],[1,100,""]],[0,0]],[[317,513,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,325,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[253,30,0,434,9,0,1.570796370506287,1,0,0,0,0,[]],51,326,[],[[0],[1],[1,100,""]],[0,0]],[[501,135,0,172,9,0,1.570796370506287,1,0,0,0,0,[]],51,327,[],[[0],[1],[1,100,""]],[0,0]],[[-111,54,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1416,[["Godlike"],[""],[0]],[],[1,"Default",0,1]],[[1,310,0,288,117,0,0,1,0,0,0,0,[[]]],61,5605,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]]],[]],["UI",1,853314000007595,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",2,566133029091186,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",3,466700819396596,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",4,898607357723536,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",5,700131767500373,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]]],[],[]],["Level 410",10000,2000,true,"Levels",586041728570301,[["Background",0,983486385155511,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[704,1120,0,128,0,0,1.570796370506287,1,0,0,0,0,[]],51,6376,[],[[0],[1],[1,100,""]],[0,0]]],[]],["Layer 0",1,884493255691443,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[408,1200,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,7067,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[280,1000,0,288,117,0,0,1,0,0,0,0,[[]]],61,7068,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]],[[296,1296,0,3344,9,0,0,1,0,0,0,0,[]],51,7075,[],[[0],[1],[1,100,""]],[0,0]],[[3928,1456,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,7182,[],[[0]],[0,"Default",0,1]],[[304.0000305175781,464,0,840,9,0,1.570796370506287,1,0,0,0,0,[]],51,7071,[],[[0],[1],[1,100,""]],[0,0]],[[544,1216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2796,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[548,1232,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6377,[],[[0],[1],[1,100,""]],[0,0]],[[672,1216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6378,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[676,1232,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6379,[],[[0],[1],[1,100,""]],[0,0]],[[576,1216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6389,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[580,1232,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6390,[],[[0],[1],[1,100,""]],[0,0]],[[608,1216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6392,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[640,1216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6393,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[612,1232,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6394,[],[[0],[1],[1,100,""]],[0,0]],[[644,1232,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6395,[],[[0],[1],[1,100,""]],[0,0]],[[800,1216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6380,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[804,1232,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6381,[],[[0],[1],[1,100,""]],[0,0]],[[928,1216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6382,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[932,1232,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6383,[],[[0],[1],[1,100,""]],[0,0]],[[832,1216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6396,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[836,1232,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6397,[],[[0],[1],[1,100,""]],[0,0]],[[864,1216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6398,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[896,1216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6399,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[868,1232,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6400,[],[[0],[1],[1,100,""]],[0,0]],[[900,1232,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6401,[],[[0],[1],[1,100,""]],[0,0]],[[544,1056,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6402,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[548,976,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6403,[],[[0],[1],[1,100,""]],[0,0]],[[672,1056,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6404,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[676,976,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6405,[],[[0],[1],[1,100,""]],[0,0]],[[576,1056,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6406,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[580,976,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6407,[],[[0],[1],[1,100,""]],[0,0]],[[608,1056,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6408,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[640,1056,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6409,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[612,976,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6410,[],[[0],[1],[1,100,""]],[0,0]],[[644,976,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6411,[],[[0],[1],[1,100,""]],[0,0]],[[800,1056,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6385,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[804,976,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6386,[],[[0],[1],[1,100,""]],[0,0]],[[928,1056,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6387,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[932,976,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6388,[],[[0],[1],[1,100,""]],[0,0]],[[832,1056,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6412,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[836,976,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6413,[],[[0],[1],[1,100,""]],[0,0]],[[864,1056,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6414,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[896,1056,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6415,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[868,976,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6416,[],[[0],[1],[1,100,""]],[0,0]],[[900,976,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6417,[],[[0],[1],[1,100,""]],[0,0]],[[304,465,0,4512,512,0,0,1,0,0,0,0,[]],51,6418,[],[[0],[1],[1,100,""]],[0,0]],[[1104,1216,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6420,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1108,976,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,6421,[],[[0],[1],[1,100,""]],[0,0]],[[1232,1216,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6422,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1236,976,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,6423,[],[[0],[1],[1,100,""]],[0,0]],[[1136,1216,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6424,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1140,976,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,6425,[],[[0],[1],[1,100,""]],[0,0]],[[1168,1216,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6426,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,1216,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6427,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1172,976,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,6428,[],[[0],[1],[1,100,""]],[0,0]],[[1204,976,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,6429,[],[[0],[1],[1,100,""]],[0,0]],[[1385,1088,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6430,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1390,1104,0,192,9,0,1.570796370506287,1,0,0,0,0,[]],51,6431,[],[[0],[1],[1,100,""]],[0,0]],[[1513,1120,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6432,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1518,1136,0,160,9,0,1.570796370506287,1,0,0,0,0,[]],51,6433,[],[[0],[1],[1,100,""]],[0,0]],[[1417,1096,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6434,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1422,1112,0,184,9,0,1.570796370506287,1,0,0,0,0,[]],51,6435,[],[[0],[1],[1,100,""]],[0,0]],[[1449,1104,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6436,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1481,1112,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6437,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1454,1120,0,176,9,0,1.570796370506287,1,0,0,0,0,[]],51,6438,[],[[0],[1],[1,100,""]],[0,0]],[[1486,1128,0,168,9,0,1.570796370506287,1,0,0,0,0,[]],51,6439,[],[[0],[1],[1,100,""]],[0,0]],[[1752,1070,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6440,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1756,830,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,6441,[],[[0],[1],[1,100,""]],[0,0]],[[1880,1070,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6442,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1884,830,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,6443,[],[[0],[1],[1,100,""]],[0,0]],[[1784,1070,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6444,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1788,830,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,6445,[],[[0],[1],[1,100,""]],[0,0]],[[1816,1070,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6446,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1848,1070,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6447,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1820,830,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,6448,[],[[0],[1],[1,100,""]],[0,0]],[[1852,830,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,6449,[],[[0],[1],[1,100,""]],[0,0]],[[1896,1054,0,32,312,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,6450,[[-1],[0],[0],[0],[0],[6],[1]],[[0],[1,1,1,0,"F 200 ; W 0.5; B 200 ; W 0.5",700,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1913,1070,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6451,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1917,830,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,6452,[],[[0],[1],[1,100,""]],[0,0]],[[2041,1070,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6453,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2045,830,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,6454,[],[[0],[1],[1,100,""]],[0,0]],[[1945,1070,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6455,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1949,830,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,6456,[],[[0],[1],[1,100,""]],[0,0]],[[1977,1070,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6457,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2009,1070,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6458,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1981,830,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,6459,[],[[0],[1],[1,100,""]],[0,0]],[[2013,830,0,224,9,0,1.570796370506287,1,0,0,0,0,[]],51,6460,[],[[0],[1],[1,100,""]],[0,0]],[[2072,1272,0,1312,9,0,1.570796370506287,1,0,0,0,0,[]],51,6463,[],[[0],[1],[1,100,""]],[0,0]],[[2200,1280,0,1304,9,0,1.570796370506287,1,0,0,0,0,[]],51,6465,[],[[0],[1],[1,100,""]],[0,0]],[[2104,1280,0,1304,9,0,1.570796370506287,1,0,0,0,0,[]],51,6467,[],[[0],[1],[1,100,""]],[0,0]],[[2136,1280,0,1304,9,0,1.570796370506287,1,0,0,0,0,[]],51,6470,[],[[0],[1],[1,100,""]],[0,0]],[[2168,1280,0,1304,9,0,1.570796370506287,1,0,0,0,0,[]],51,6471,[],[[0],[1],[1,100,""]],[0,0]],[[2216,1276,0,24,328,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,6472,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,0,"F 224",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2240,1280,0,1304,9,0,1.570796370506287,1,0,0,0,0,[]],51,6474,[],[[0],[1],[1,100,""]],[0,0]],[[2368,1280,0,1304,9,0,1.570796370506287,1,0,0,0,0,[]],51,6476,[],[[0],[1],[1,100,""]],[0,0]],[[2272,1280,0,1304,9,0,1.570796370506287,1,0,0,0,0,[]],51,6478,[],[[0],[1],[1,100,""]],[0,0]],[[2304,1280,0,1304,9,0,1.570796370506287,1,0,0,0,0,[]],51,6481,[],[[0],[1],[1,100,""]],[0,0]],[[2336,1280,0,1304,9,0,1.570796370506287,1,0,0,0,0,[]],51,6482,[],[[0],[1],[1,100,""]],[0,0]],[[2064,1272,0,304,9,0,0,1,0,0,0,0,[]],51,6461,[],[[0],[1],[1,100,""]],[0,0]],[[1976,1200,0,32,168,0,0,1,0.5,0.5,0,0,[]],49,6462,[[2],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[2088,992,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6464,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2120,992,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6466,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2152,992,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6468,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2184,992,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6469,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2216,992,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6473,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2248,992,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6475,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2280,992,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6477,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2312,992,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6479,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2344,992,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6480,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[2404,1216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6483,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2408,1232,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6484,[],[[0],[1],[1,100,""]],[0,0]],[[2436,1216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6488,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2440,1232,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6489,[],[[0],[1],[1,100,""]],[0,0]],[[2468,1216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6490,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2500,1216,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,6491,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2472,1232,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6492,[],[[0],[1],[1,100,""]],[0,0]],[[2504,1232,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6493,[],[[0],[1],[1,100,""]],[0,0]],[[2516,1056,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,6494,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2520,976,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,6495,[],[[0],[1],[1,100,""]],[0,0]],[[2644,1056,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7069,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2648,976,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,7070,[],[[0],[1],[1,100,""]],[0,0]],[[2548,1056,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7072,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2552,976,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,7073,[],[[0],[1],[1,100,""]],[0,0]],[[2580,1056,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7074,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2612,1056,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7076,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2584,976,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,7077,[],[[0],[1],[1,100,""]],[0,0]],[[2616,976,0,64,9,0,1.570796370506287,1,0,0,0,0,[]],51,7078,[],[[0],[1],[1,100,""]],[0,0]],[[2972,1135,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7079,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2976,1151,0,144,9,0,1.570796370506287,1,0,0,0,0,[]],51,7080,[],[[0],[1],[1,100,""]],[0,0]],[[3100,1135,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7081,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3104,1151,0,144,9,0,1.570796370506287,1,0,0,0,0,[]],51,7082,[],[[0],[1],[1,100,""]],[0,0]],[[3004,1135,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7083,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3008,1151,0,144,9,0,1.570796370506287,1,0,0,0,0,[]],51,7084,[],[[0],[1],[1,100,""]],[0,0]],[[3036,1135,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7085,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3068,1135,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7086,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3040,1151,0,144,9,0,1.570796370506287,1,0,0,0,0,[]],51,7087,[],[[0],[1],[1,100,""]],[0,0]],[[3072,1151,0,144,9,0,1.570796370506287,1,0,0,0,0,[]],51,7088,[],[[0],[1],[1,100,""]],[0,0]],[[2740,1176,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7089,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2744,976,0,184,9,0,1.570796370506287,1,0,0,0,0,[]],51,7090,[],[[0],[1],[1,100,""]],[0,0]],[[2868,1176,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7091,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2872,976,0,184,9,0,1.570796370506287,1,0,0,0,0,[]],51,7092,[],[[0],[1],[1,100,""]],[0,0]],[[2772,1176,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7093,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2776,976,0,184,9,0,1.570796370506287,1,0,0,0,0,[]],51,7094,[],[[0],[1],[1,100,""]],[0,0]],[[2804,1176,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7095,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2836,1176,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7096,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2808,976,0,184,9,0,1.570796370506287,1,0,0,0,0,[]],51,7097,[],[[0],[1],[1,100,""]],[0,0]],[[2840,976,0,184,9,0,1.570796370506287,1,0,0,0,0,[]],51,7098,[],[[0],[1],[1,100,""]],[0,0]],[[3156,1160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7099,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3160,1176,0,120,9,0,1.570796370506287,1,0,0,0,0,[]],51,7100,[],[[0],[1],[1,100,""]],[0,0]],[[3284,1160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7101,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3288,1176,0,120,9,0,1.570796370506287,1,0,0,0,0,[]],51,7102,[],[[0],[1],[1,100,""]],[0,0]],[[3188,1160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7103,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3192,1176,0,120,9,0,1.570796370506287,1,0,0,0,0,[]],51,7104,[],[[0],[1],[1,100,""]],[0,0]],[[3220,1160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7105,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3252,1160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7106,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3224,1176,0,120,9,0,1.570796370506287,1,0,0,0,0,[]],51,7107,[],[[0],[1],[1,100,""]],[0,0]],[[3256,1176,0,120,9,0,1.570796370506287,1,0,0,0,0,[]],51,7108,[],[[0],[1],[1,100,""]],[0,0]],[[3316,1160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7109,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3320,1176,0,120,9,0,1.570796370506287,1,0,0,0,0,[]],51,7110,[],[[0],[1],[1,100,""]],[0,0]],[[3444,1160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7111,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3448,1176,0,120,9,0,1.570796370506287,1,0,0,0,0,[]],51,7112,[],[[0],[1],[1,100,""]],[0,0]],[[3348,1160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7113,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3352,1176,0,120,9,0,1.570796370506287,1,0,0,0,0,[]],51,7114,[],[[0],[1],[1,100,""]],[0,0]],[[3380,1160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7115,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3412,1160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7116,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3384,1176,0,120,9,0,1.570796370506287,1,0,0,0,0,[]],51,7117,[],[[0],[1],[1,100,""]],[0,0]],[[3416,1176,0,120,9,0,1.570796370506287,1,0,0,0,0,[]],51,7118,[],[[0],[1],[1,100,""]],[0,0]],[[3476,1160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7119,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3480,1176,0,120,9,0,1.570796370506287,1,0,0,0,0,[]],51,7120,[],[[0],[1],[1,100,""]],[0,0]],[[3604,1160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7121,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3608,1176,0,120,9,0,1.570796370506287,1,0,0,0,0,[]],51,7122,[],[[0],[1],[1,100,""]],[0,0]],[[3508,1160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7123,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3512,1176,0,120,9,0,1.570796370506287,1,0,0,0,0,[]],51,7124,[],[[0],[1],[1,100,""]],[0,0]],[[3540,1160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7125,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3572,1160,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7126,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3544,1176,0,120,9,0,1.570796370506287,1,0,0,0,0,[]],51,7127,[],[[0],[1],[1,100,""]],[0,0]],[[3576,1176,0,120,9,0,1.570796370506287,1,0,0,0,0,[]],51,7128,[],[[0],[1],[1,100,""]],[0,0]],[[3696,1116,0,152,9,0,0,1,0,0,0,0,[]],51,7129,[],[[0],[1],[1,100,""]],[0,0]],[[3680,1120,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7130,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4960,1119.999755859375,0,2576,24,0,0,1,0.5,0.5,0,0,[]],50,7131,[[-1],[0],[0],[0],[0],[3],[1]],[[0],[1,0,1,0,"B 10000",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2936,1232,0,32,40,0,0,1,0.5,0.5,0,0,[]],49,7132,[[3],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[4064,1116,0,152,9,0,0,1,0,0,0,0,[]],51,7133,[],[[0],[1],[1,100,""]],[0,0]],[[4048,1120,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7134,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4384,1116,0,152,9,0,0,1,0,0,0,0,[]],51,7135,[],[[0],[1],[1,100,""]],[0,0]],[[4368,1120,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7136,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4728,1116,0,152,9,0,0,1,0,0,0,0,[]],51,7137,[],[[0],[1],[1,100,""]],[0,0]],[[4712,1120,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7138,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5048,1116,0,152,9,0,0,1,0,0,0,0,[]],51,7139,[],[[0],[1],[1,100,""]],[0,0]],[[5032,1120,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7140,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5416,1116,0,152,9,0,0,1,0,0,0,0,[]],51,7141,[],[[0],[1],[1,100,""]],[0,0]],[[5400,1120,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7142,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5736,1116,0,152,9,0,0,1,0,0,0,0,[]],51,7143,[],[[0],[1],[1,100,""]],[0,0]],[[5720,1120,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7144,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[6080,1116,0,152,9,0,0,1,0,0,0,0,[]],51,7145,[],[[0],[1],[1,100,""]],[0,0]],[[6064,1120,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7146,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5064,1176,0,320,9,0,1.570796370506287,1,0,0,0,0,[]],52,7147,[],[[0],[0]],[0,0]],[[3640,1304,0,560,9,0,1.570796370506287,1,0,0,0,0,[]],51,7148,[],[[0],[1],[1,100,""]],[0,0]],[[4048,1312,0,552,9,0,1.570796370506287,1,0,0,0,0,[]],51,7149,[],[[0],[1],[1,100,""]],[0,0]],[[3632,1856,0,408,9,0,0,1,0,0,0,0,[]],51,7150,[],[[0],[1],[1,100,""]],[0,0]],[[3656,1840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7151,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3688,1840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7152,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3720,1840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7153,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,1840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7154,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3784,1840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7155,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3816,1840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7156,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3848,1840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7157,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3880,1840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7158,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3912,1840,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7159,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3816,1312,0,232,9,0,0,1,0,0,0,0,[]],51,7160,[],[[0],[1],[1,100,""]],[0,0]],[[3816,1312,0,336,9,0,1.570796370506287,1,0,0,0,0,[]],51,7161,[],[[0],[1],[1,100,""]],[0,0]],[[3992,1840,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7162,[[0.5],[0]],[[0]],[0,"Default",0,1]],[[3832,1296,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7163,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3864,1296,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7164,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3896,1296,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7165,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3928,1296,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7167,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3960,1296,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7168,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3992,1296,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7169,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4024,1296,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7170,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2448,1032,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,1778,[["level41"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]]],[]],["UI",2,189995994790397,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,559336737441017,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,817580077550619,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,493298880098891,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,930227993455952,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]]],[],[]],["Level 420",10000,2000,true,"Levels",187437553567235,[["Background",0,796152199673829,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,663354728148509,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[1328,440,0,248,117,0,0,1,0,0,0,0,[[]]],61,7590,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]],[[928,480,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,7591,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[1,0],[0,10000,360,1]],[1,"Default",0,1]],[[16,560,0,1080,9,0,0,1,0,0,0,0,[]],51,7592,[],[[0],[1],[1,100,""]],[0,0]],[[1096,560,0,256,9,0,1.570796370506287,1,0,0,0,0,[]],51,7593,[],[[0],[1],[1,100,""]],[0,0]],[[1088,808,0,624,9,0,0,1,0,0,0,0,[]],51,7594,[],[[0],[1],[1,100,""]],[0,0]],[[1712,568,0,248,9,0,1.570796370506287,1,0,0,0,0,[]],51,7595,[],[[0],[1],[1,100,""]],[0,0]],[[1704,568,0,256,9,0,0,1,0,0,0,0,[]],51,7596,[],[[0],[1],[1,100,""]],[0,0]],[[1112,792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7597,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1144,792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7598,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1176,640,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7599,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1208,792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7600,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7601,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1272,752,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7602,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1304,792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7603,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1336,680,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7604,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1368,768,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7605,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1400,792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7606,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1432,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7607,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7608,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1496,792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7609,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7610,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1560,680,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7611,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1592,792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7612,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1624,792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7613,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1656,600,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7614,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1688,792,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7615,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1256,560,0,32,9,0,0,1,0,0,0,0,[]],51,7616,[],[[0],[1],[1,100,""]],[0,0]],[[1272,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7617,[[0.3],[0]],[[0]],[0,"Default",0,1]],[[1496,672,0,32,9,0,0,1,0,0,0,0,[]],51,7618,[],[[0],[1],[1,100,""]],[0,0]],[[1512,656,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7619,[[0.6],[0]],[[0]],[0,"Default",0,1]],[[1776,472,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7620,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1808,472,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7621,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2224,296,0,2192,9,0,3.141592741012573,1,0,0,0,0,[]],51,7622,[],[[0],[1],[1,100,""]],[0,0]],[[1112,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7623,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1144,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7624,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1176,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7625,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1208,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7626,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1240,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7627,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1272,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7628,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1304,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7629,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1336,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7630,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1368,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7631,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1400,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7632,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1432,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7633,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7634,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1496,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7635,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7636,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1560,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7637,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1592,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7638,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1624,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7639,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1656,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7640,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1688,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7641,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1720,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7642,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1752,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7643,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1784,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7644,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1816,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7645,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1848,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7646,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1880,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7647,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1912,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7648,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1944,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7649,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1976,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7650,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1840,472,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7651,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1960,568,0,728,9,0,1.570796370506287,1,0,0,0,0,[]],51,7652,[],[[0],[1],[1,100,""]],[0,0]],[[2224,288,0,1312,9,0,1.570796370506287,1,0,0,0,0,[]],51,7653,[],[[0],[1],[1,100,""]],[0,0]],[[2008,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7654,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2040,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7655,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7656,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2104,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7657,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2136,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7658,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2168,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7659,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2200,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7660,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1872,472,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7661,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1180,656,0,152,9,0,1.570796370506287,1,0,0,0,0,[]],51,7662,[],[[0],[1],[1,100,""]],[0,0]],[[1276,768,0,40,9,0,1.570796370506287,1,0,0,0,0,[]],51,7663,[],[[0],[1],[1,100,""]],[0,0]],[[1372,784,0,32,9,0,1.570796370506287,1,0,0,0,0,[]],51,7664,[],[[0],[1],[1,100,""]],[0,0]],[[1340,696,0,112,9,0,1.570796370506287,1,0,0,0,0,[]],51,7665,[],[[0],[1],[1,100,""]],[0,0]],[[1564,696,0,112,9,0,1.570796370506287,1,0,0,0,0,[]],51,7666,[],[[0],[1],[1,100,""]],[0,0]],[[1436,648,0,160,9,0,1.570796370506287,1,0,0,0,0,[]],51,7667,[],[[0],[1],[1,100,""]],[0,0]],[[1660,616,0,192,9,0,1.570796370506287,1,0,0,0,0,[]],51,7668,[],[[0],[1],[1,100,""]],[0,0]],[[856,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7669,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[888,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7670,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[920,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7671,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[952,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7672,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[984,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7673,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1016,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7674,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1048,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7675,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1080,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7676,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[600,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7677,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[632,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7678,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[664,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7679,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[696,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7680,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[728,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7681,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[760,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7682,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[792,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7683,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[824,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7684,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[344,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7685,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[376,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7686,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[408,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7687,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[440,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7688,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[472,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7689,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[504,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7690,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[536,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7691,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[568,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7692,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1780,488,0,80,9,0,1.570796370506287,1,0,0,0,0,[]],51,7693,[],[[0],[1],[1,100,""]],[0,0]],[[1812,488,0,80,9,0,1.570796370506287,1,0,0,0,0,[]],51,7694,[],[[0],[1],[1,100,""]],[0,0]],[[1844,488,0,80,9,0,1.570796370506287,1,0,0,0,0,[]],51,7695,[],[[0],[1],[1,100,""]],[0,0]],[[1876,488,0,80,9,0,1.570796370506287,1,0,0,0,0,[]],51,7696,[],[[0],[1],[1,100,""]],[0,0]],[[312,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7698,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[56,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7699,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[88,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7700,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[120,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7701,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[152,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7702,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[184,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7703,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[216,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7704,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[248,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7705,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[280,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7706,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1976,712,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7707,[[1],[0]],[[0]],[0,"Default",0,1]],[[1976,752,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7719,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2008,712,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7720,[[1],[0]],[[0]],[0,"Default",0,1]],[[2008,752,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7721,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2040,752,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7722,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,752,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7723,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2040,712,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7724,[[1],[0]],[[0]],[0,"Default",0,1]],[[2072,712,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7725,[[1],[0]],[[0]],[0,"Default",0,1]],[[2200,752,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7726,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2200,712,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7727,[[1],[0]],[[0]],[0,"Default",0,1]],[[1976,928,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7728,[[1],[0]],[[0]],[0,"Default",0,1]],[[1976,968,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7729,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2008,928,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7730,[[1],[0]],[[0]],[0,"Default",0,1]],[[2008,968,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7731,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2136,928,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7734,[[1],[0]],[[0]],[0,"Default",0,1]],[[2136,968,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7735,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2168,968,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7736,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2200,968,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7737,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2168,928,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7738,[[1],[0]],[[0]],[0,"Default",0,1]],[[2200,928,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7739,[[1],[0]],[[0]],[0,"Default",0,1]],[[1976,1192,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7740,[[1],[0]],[[0]],[0,"Default",0,1]],[[1976,1232,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7741,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2008,1192,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7742,[[1],[0]],[[0]],[0,"Default",0,1]],[[2008,1232,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7743,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2040,1232,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7744,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,1232,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7745,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2040,1192,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7746,[[1],[0]],[[0]],[0,"Default",0,1]],[[2072,1192,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7747,[[1],[0]],[[0]],[0,"Default",0,1]],[[2104,1192,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7748,[[1],[0]],[[0]],[0,"Default",0,1]],[[2104,1232,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7749,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1960,728,0,128,9,0,0,1,0,0,0,0,[]],52,7752,[],[[0],[0]],[0,0]],[[2120,944,0,96,9,0,0,1,0,0,0,0,[]],52,7753,[],[[0],[0]],[0,0]],[[2184,728,0,32,9,0,0,1,0,0,0,0,[]],52,7754,[],[[0],[0]],[0,0]],[[1960,944,0,96,9,0,0,1,0,0,0,0,[]],52,7755,[],[[0],[0]],[0,0]],[[1960,1208,0,160,9,0,0,1,0,0,0,0,[]],52,7756,[],[[0],[0]],[0,0]],[[2136,720,0,96,32,0,0,1,0.5,0.5,0,0,[]],43,7757,[[0.001],[0]],[[0]],[1,"Default",0,1]],[[2088,936,0,64,32,0,0,1,0.5,0.5,0,0,[]],43,7758,[[0.001],[0]],[[0]],[1,"Default",0,1]],[[2168,1200,0,96,32,0,0,1,0.5,0.5,0,0,[]],43,7759,[[0.001],[0]],[[0]],[1,"Default",0,1]],[[0,1600,0,2224,9,0,0,1,0,0,0,0,[]],51,7760,[],[[0],[1],[1,100,""]],[0,0]],[[0,1288,0,1960,9,0,0,1,0,0,0,0,[]],51,7761,[],[[0],[1],[1,100,""]],[0,0]],[[0,1288,0,320,9,0,1.570796370506287,1,0,0,0,0,[]],51,7762,[],[[0],[1],[1,100,""]],[0,0]],[[1168,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7763,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7764,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1232,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7765,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1264,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7766,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1296,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7767,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1328,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7768,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1424,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7771,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1456,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7772,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1488,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7773,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1520,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7774,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1552,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7775,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1584,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7776,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1648,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7778,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1680,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7779,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1712,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7780,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1744,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7781,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1840,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7784,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1872,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7785,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1904,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7786,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1936,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7787,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1168,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7788,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7789,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1232,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7790,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1264,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7791,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1296,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7792,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1328,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7793,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1360,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7794,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1392,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7795,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1424,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7796,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1456,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7797,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1488,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7798,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1520,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7799,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1552,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7800,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1584,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7801,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1616,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7802,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1648,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7803,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1680,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7804,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1712,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7805,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1744,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7806,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1776,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7807,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1808,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7808,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1840,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7809,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1872,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7810,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1904,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7811,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1936,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7812,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2072,1456,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,7813,[],[[0]],[0,"Default",0,1]],[[2040,928,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,7732,[[1],[0]],[[0]],[0,"Default",0,1]],[[2040,968,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7733,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3059,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[400,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3061,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[432,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7708,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[464,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7709,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[496,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7710,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[528,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7711,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[560,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7712,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[592,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7713,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[624,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7714,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[656,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7715,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[688,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7716,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7717,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[752,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7718,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[784,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7848,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[816,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7849,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[848,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7850,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[880,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7851,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7852,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[944,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7853,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[976,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7854,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1008,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7855,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1040,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7856,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1072,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7857,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7858,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7859,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[368,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7860,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[400,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7861,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[464,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7870,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[496,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7871,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[560,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7873,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[592,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7874,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[624,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7875,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[656,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7876,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[688,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7877,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7878,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[784,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7880,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[816,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7881,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[848,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7882,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[880,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7883,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7884,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[944,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7885,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[976,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7886,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1008,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7887,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1040,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7888,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1072,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7889,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7890,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[176,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7892,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[208,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7893,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[240,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7894,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[272,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7895,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7896,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[336,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7897,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[80,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7898,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[112,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7899,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[144,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7900,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[16,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7901,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[48,1312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7902,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[16,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7904,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[48,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7905,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[80,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7906,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[112,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7907,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[144,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7908,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[176,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7909,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[208,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7910,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[240,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7911,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[272,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7912,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[304,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7913,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[336,1584,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7914,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1232,1504,0,592,9,0,0,1,0,0,0,0,[]],51,7903,[],[[0],[1],[1,100,""]],[0,0]],[[600,1504,0,488,9,0,0,1,0,0,0,0,[]],51,7915,[],[[0],[1],[1,100,""]],[0,0]],[[200,1504,0,288,9,0,0,1,0,0,0,0,[]],51,7916,[],[[0],[1],[1,100,""]],[0,0]],[[1088,1504,0,144,9,0,0,1,0,0,0,0,[]],51,7917,[],[[0],[1],[1,100,""]],[0,0]],[[488,1504,0,112,9,0,0,1,0,0,0,0,[]],51,7918,[],[[0],[1],[1,100,""]],[0,0]],[[2056,1416,0,88,104,0,0,1,0.5,0.5,0,0,[]],50,7919,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,0,1,1,"B 500 ; B 500; W 1; B 500; W 1 ; B 500 ; W 3 ; B 2000",1000,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2168,1248,0,80,48,0,0,1,0.5,0.5,0,0,[]],49,7920,[[1],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[1488,1328,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7921,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"F 176",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1584,1420,0,16,152,0,0,1,0.5,0.5,0,0,[]],49,7922,[[2],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[1456,1328,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7923,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"W 0.25 ; F 176",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1424,1328,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7924,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"W 0.5 ; F 176",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1300,1328,0,24,80,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7925,[[-1],[0],[0],[0],[0],[3],[1]],[[0],[1,0,1,1,"F 176",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1448,1424,0,16,152,0,0,1,0.5,0.5,0,0,[]],49,7926,[[3],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[1008,1328,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7927,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,1,"W 0.5 ; F 176",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1040,1328,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7928,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,1,"W 0.25 ; F 176",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1072,1328,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7929,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,1,"F 176",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1176,1432,0,16,168,0,0,1,0.5,0.5,0,0,[]],49,7930,[[4],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[976,1328,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7931,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,1,"W 0.75 ; F 176",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[944,1328,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7932,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,1,"W 1 ; F 176",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[912,1328,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7933,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,1,"W 1.25 ; F 176",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[880,1328,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7934,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,1,"W 1.25 ; F 176",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1112,1496,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7935,[[-1],[0],[0],[0],[0],[4],[1]],[[0],[1,0,1,1,"W 1 ;F 176",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[608,1424,0,16,168,0,0,1,0.5,0.5,0,0,[]],49,7769,[[5],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[536,1496,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7770,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,0,1,1,"W 1 ;F 176",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[336,1328,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7777,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,0,1,1,"W 0.5 ; F 176",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[368,1328,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7782,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,0,1,1,"W 0.25 ; F 176",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[400,1328,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7783,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,0,1,1,"F 176",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[304,1328,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7862,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,0,1,1,"W 0.75 ; F 176",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[272,1328,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7872,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,0,1,1,"W 1 ; F 176",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[240,1328,0,24,24,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,7879,[[-1],[0],[0],[0],[0],[5],[1]],[[0],[1,0,1,1,"W 1.25 ; F 176",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1112,1488,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,7936,[],[[0]],[0,"Default",0,1]],[[536,1488,0,32,32,0,0,1,0.5,0.5,0,0,[]],163,7937,[],[[0]],[0,"Default",0,1]],[[2440,1448,0,104,288,0,0,1,0.5,0.5,0,0,[]],50,7938,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,0,1,1,"B 2000",225,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2408,1352,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7697,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2408,1384,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7939,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2408,1416,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7940,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2408,1448,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7941,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2408,1480,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7942,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2408,1512,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7943,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2408,1544,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7944,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2479,1336,0,224,56,0,1.570796370506287,1,0,0,0,0,[]],51,7824,[],[[0],[1],[1,100,""]],[0,0]],[[712,296,0,264,1000,0,1.570796370506287,1,0,0,0,0,[]],51,7945,[],[[0],[1],[1,100,""]],[0,0]],[[304,1376,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,7946,[["level1"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[1824,680,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,7750,[[-1],[0],[0],[0],[0],[100],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1824,680,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,7751,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 90 ; W 2; L 90 ; W 2; L 90 ; W 2; L 90 ; W 2",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1824,728,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7863,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1824,632,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7864,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1872,680,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7865,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1776,680,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7866,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1848,656,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,7867,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1848,704,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,7868,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1800,704,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,7869,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1800,656,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,7891,[[0],[0]],[[0],[1]],[0,"Default",0,1]]],[]],["UI",2,883937412361232,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,593437322285580,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,751557522012329,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,844791991429024,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,439592983571037,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]]],[],[]],["Level 430",10000,2000,true,"Levels",114304341622532,[["Background",0,453569908303797,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,550229312903022,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[200,296,0,248,117,0,0,1,0,0,0,0,[[]]],61,7341,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]],[[2240,456,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,7342,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[1,0],[0,10000,360,1]],[1,"Default",0,1]],[[0,560,0,3040,552,0,0,1,0,0,0,0,[]],51,7343,[],[[0],[1],[1,100,""]],[0,0]],[[3048,224.0002136230469,0,3048,552,0,3.141592741012573,1,0,0,0,0,[]],51,7373,[],[[0],[1],[1,100,""]],[0,0]],[[8.000024795532227,-312,0,1408,672,0,1.570796370506287,1,0,0,0,0,[]],51,7344,[],[[0],[1],[1,100,""]],[0,0]],[[992,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7378,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1592,432,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,7957,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1568,456,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,7958,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1584,440,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,7959,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 45 ; F 50; W 1.5; B 50 ; R 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1568,504,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7960,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1568,408,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7961,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1616,456,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7962,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1520,456,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7963,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1592,480,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,7964,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,480,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,7965,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1544,432,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,7966,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1552,440,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,7968,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"R 45 ; B 50; W 1.5; F 50 ; L 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1584,472,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,7969,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 135 ; B 50; W 1.5; F 50 ; R 135; W 1",175,0,0,1080,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1552,472,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,7970,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 45 ; B 50; W 1.5; F 50 ; R 45 ; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2000,456,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,7967,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1976,480,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,7971,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1992,464,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,7972,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 45 ; F 50; W 1.5; B 50 ; R 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1976,528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7973,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1976,432,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7974,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2024,480,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7975,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1928,480,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7976,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2000,504,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,7977,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1952,504,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,7978,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1952,456,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,7979,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1960,464,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,7980,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"R 45 ; B 50; W 1.5; F 50 ; L 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1992,496,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,7981,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 135 ; B 50; W 1.5; F 50 ; R 135; W 1",175,0,0,1080,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1960,496,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,7982,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 45 ; B 50; W 1.5; F 50 ; R 45 ; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1728,224,0,96,320,0,1.570796370506287,1,0,0,0,0,[]],51,7983,[],[[0],[1],[1,100,""]],[0,0]],[[1424,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7984,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1456,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7985,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1488,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7986,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1520,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7987,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1552,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7988,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1584,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7989,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1616,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7990,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1648,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7991,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1680,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7992,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1712,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7993,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1392,304,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7994,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1392,272,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7995,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1392,240,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7996,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1744,304,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7997,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1744,272,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7998,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1744,240,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7999,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1864,224,0,96,32,0,1.570796370506287,1,0,0,0,0,[]],51,8000,[],[[0],[1],[1,100,""]],[0,0]],[[1848,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8001,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1896,224,0,72,32,0,1.570796370506287,1,0,0,0,0,[]],51,8002,[],[[0],[1],[1,100,""]],[0,0]],[[1880,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8003,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1928,216,0,48,32,0,1.570796370506287,1,0,0,0,0,[]],51,8004,[],[[0],[1],[1,100,""]],[0,0]],[[1912,280,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8005,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1960,216,0,32,32,0,1.570796370506287,1,0,0,0,0,[]],51,8006,[],[[0],[1],[1,100,""]],[0,0]],[[1944,264,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8007,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1992,216,0,32,32,0,1.570796370506287,1,0,0,0,0,[]],51,8008,[],[[0],[1],[1,100,""]],[0,0]],[[1976,264,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8009,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2024,216,0,32,32,0,1.570796370506287,1,0,0,0,0,[]],51,8010,[],[[0],[1],[1,100,""]],[0,0]],[[2008,264,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8011,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2056,216,0,48,32,0,1.570796370506287,1,0,0,0,0,[]],51,8012,[],[[0],[1],[1,100,""]],[0,0]],[[2040,280,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8013,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2088,216,0,80,32,0,1.570796370506287,1,0,0,0,0,[]],51,8014,[],[[0],[1],[1,100,""]],[0,0]],[[2072,312,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8015,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2120,224,0,96,32,0,1.570796370506287,1,0,0,0,0,[]],51,8016,[],[[0],[1],[1,100,""]],[0,0]],[[2104,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8017,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2448,368,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8018,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2424,392,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8019,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2440,376,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8020,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 45 ; F 50; W 1.5; B 50 ; R 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2424,440,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8021,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2424,344,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8022,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2472,392,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8023,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2376,392,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8024,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2448,416,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8025,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2400,416,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8026,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2400,368,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8027,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2408,376,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8028,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"R 45 ; B 50; W 1.5; F 50 ; L 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2440,408,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8029,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 135 ; B 50; W 1.5; F 50 ; R 135; W 1",175,0,0,1080,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2408,408,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8030,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 45 ; B 50; W 1.5; F 50 ; R 45 ; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2720,456,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8031,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2696,480,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8032,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2712,464,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8033,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 45 ; F 50; W 1.5; B 50 ; R 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2696,528,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8034,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2696,432,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8035,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2744,480,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8036,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2648,480,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8037,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2720,504,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8038,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2672,504,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8039,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2672,456,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8040,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2680,464,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8041,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"R 45 ; B 50; W 1.5; F 50 ; L 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2712,496,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8042,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 135 ; B 50; W 1.5; F 50 ; R 135; W 1",175,0,0,1080,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2680,496,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8043,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 45 ; B 50; W 1.5; F 50 ; R 45 ; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2904,280,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8044,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2880,304,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8045,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2896,288,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8046,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 45 ; F 50; W 1.5; B 50 ; R 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2880,352,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8047,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2880,256,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8048,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2928,304,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8049,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2832,304,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8050,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2904,328,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8051,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2856,328,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8052,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2856,280,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8053,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2864,288,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8054,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"R 45 ; B 50; W 1.5; F 50 ; L 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2896,320,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8055,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 135 ; B 50; W 1.5; F 50 ; R 135; W 1",175,0,0,1080,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2864,320,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8056,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 45 ; B 50; W 1.5; F 50 ; R 45 ; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3240,496,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8057,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3240,496,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,8058,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3240,544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8059,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3240,448,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8060,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3288,496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8061,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3192,496,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8062,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3264,472,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8063,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3264,520,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8064,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3216,520,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8065,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3216,472,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8066,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3368,496,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8067,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3368,496,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,8068,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3368,544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8069,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3368,448,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8070,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3416,496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8071,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3320,496,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8072,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3392,472,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8073,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3392,520,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8074,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3344,520,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8075,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3344,472,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8076,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3496,496,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8077,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3496,496,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,8078,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3496,544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8079,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3496,448,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8080,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3544,496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8081,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3448,496,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8082,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3520,472,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8083,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3520,520,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8084,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3472,520,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8085,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3472,472,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8086,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3624,496,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8087,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3624,496,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,8088,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3624,544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8089,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3624,448,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8090,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3672,496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8091,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3576,496,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8092,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3648,472,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8093,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3648,520,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8094,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3600,520,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8095,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3600,472,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8096,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,496,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8097,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3752,496,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,8098,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3752,544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8099,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,448,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8100,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3800,496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8101,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3704,496,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8102,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3776,472,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8103,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3776,520,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8104,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3728,520,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8105,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3728,472,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8106,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3880,496,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8107,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3880,496,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,8108,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3880,544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8109,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3880,448,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8110,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3928,496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8111,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3832,496,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8112,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3904,472,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8113,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3904,520,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8114,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3856,520,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8115,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3856,472,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8116,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3240,288,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8117,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3240,288,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,8118,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3240,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8119,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3240,240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8120,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3288,288,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8121,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3192,288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8122,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3264,264,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8123,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3264,312,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8124,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3216,312,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8125,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3216,264,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8126,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3368,288,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8127,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3368,288,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,8128,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3368,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8129,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3368,240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8130,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3416,288,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8131,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3320,288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8132,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3392,264,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8133,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3392,312,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8134,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3344,312,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8135,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3344,264,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8136,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3496,288,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8137,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3496,288,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,8138,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3496,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8139,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3496,240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8140,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3544,288,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8141,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3448,288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8142,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3520,264,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8143,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3520,312,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8144,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3472,312,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8145,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3472,264,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8146,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3624,288,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8147,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3624,288,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,8148,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3624,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8149,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3624,240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8150,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3672,288,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8151,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3576,288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8152,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3648,264,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8153,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3648,312,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8154,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3600,312,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8155,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3600,264,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8156,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,288,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8157,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3752,288,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,8158,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3752,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8159,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3752,240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8160,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3800,288,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8161,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3704,288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8162,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3776,264,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8163,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3776,312,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8164,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3728,312,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8165,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3728,264,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8166,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3880,288,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8167,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3880,288,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,8168,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3880,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8169,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3880,240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8170,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3928,288,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8171,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3832,288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8172,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3904,264,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8173,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3904,312,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8174,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3856,312,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8175,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3856,264,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8176,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3336,424,0,8,232,0,1.570796370506287,1,0,0,0,0,[]],51,8178,[],[[0],[1],[1,100,""]],[0,0]],[[4096,392,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8179,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[4096,392,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,8180,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[4096,440,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8181,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4096,344,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8182,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4144,392,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8183,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4048,392,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8184,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4120,368,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8185,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4120,416,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8186,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4072,416,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8187,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4072,368,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8188,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4528,392,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8189,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[4528,392,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,8190,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[4528,440,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8191,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4528,344,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8192,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4576,392,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8193,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4480,392,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8194,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4552,368,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8195,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4552,416,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8196,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4504,416,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8197,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4504,368,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8198,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4304,288,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8199,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[4304,288,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,8200,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[4304,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8201,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4304,240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8202,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4352,288,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8203,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4256,288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8204,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4328,264,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8205,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4328,312,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8206,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4280,312,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8207,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4280,264,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8208,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4304,496,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8209,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[4304,496,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,8210,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[4304,544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8211,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4304,448,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8212,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4352,496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8213,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4256,496,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8214,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4328,472,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8215,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4328,520,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8216,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4280,520,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8217,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4280,472,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8218,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4856,368,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8219,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4832,392,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8220,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[4848,376,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8221,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 45 ; F 50; W 1.5; B 50 ; R 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[4832,440,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8222,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4832,344,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8223,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4880,392,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8224,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4784,392,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8225,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4856,416,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8226,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4808,416,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8227,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4808,368,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8228,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4816,376,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8229,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"R 45 ; B 50; W 1.5; F 50 ; L 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[4848,408,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8230,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 135 ; B 50; W 1.5; F 50 ; R 135; W 1",175,0,0,1080,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[4816,408,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8231,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 45 ; B 50; W 1.5; F 50 ; R 45 ; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[5128,264,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8232,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5104,288,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8233,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[5120,272,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8234,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 45 ; F 50; W 1.5; B 50 ; R 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[5104,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8235,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5104,240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8236,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5152,288,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8237,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5056,288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8238,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5128,312,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8239,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5080,312,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8240,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5080,264,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8241,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5088,272,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8242,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"R 45 ; B 50; W 1.5; F 50 ; L 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[5120,304,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8243,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 135 ; B 50; W 1.5; F 50 ; R 135; W 1",175,0,0,1080,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[5088,304,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8244,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 45 ; B 50; W 1.5; F 50 ; R 45 ; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[5128,472,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,8245,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5104,496,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,8246,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[5120,480,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8247,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 45 ; F 50; W 1.5; B 50 ; R 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[5104,544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8248,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5104,448,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8249,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5152,496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8250,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5056,496,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8251,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5128,520,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,8252,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5080,520,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,8253,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5080,472,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,8254,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5088,480,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8255,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"R 45 ; B 50; W 1.5; F 50 ; L 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[5120,512,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8256,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 135 ; B 50; W 1.5; F 50 ; R 135; W 1",175,0,0,1080,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[5088,512,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,8257,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 45 ; B 50; W 1.5; F 50 ; R 45 ; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[5456,392,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,8258,[],[[0]],[0,"Default",0,1]],[[5528,-312,0,1056,1424,0,0,1,0,0,0,0,[]],51,8259,[],[[0],[1],[1,100,""]],[0,0]],[[3204,408,0,136,32,0,0,1,0.5,0.5,0,0,[]],49,8260,[[200],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[3120,424,0,24,40,0,0,1,0.5,0.5,0,0,[]],50,8261,[[-1],[0],[0],[0],[0],[200],[1]],[[0],[1,0,1,1,"F 2000",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[3984,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8262,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4016,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8263,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4048,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8264,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4080,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8265,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4016,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8266,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4112,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8267,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4176,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8268,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4208,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8269,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4144,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8270,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4408,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8271,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4472,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8272,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4504,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8273,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4440,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8274,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4536,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8275,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4600,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8276,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4632,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8277,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4568,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8278,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4664,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8279,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4728,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8280,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4760,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8281,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4696,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8282,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4792,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8283,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4856,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8284,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4824,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8286,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5016,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8289,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5416,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8295,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5480,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8296,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5512,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8297,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5448,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8298,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5352,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8300,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5384,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8301,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5320,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8302,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5192,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8291,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5256,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8292,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5288,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8293,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[5224,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8294,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,496,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,7947,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1160,496,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,7948,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 90 ; W 2; L 90 ; W 2; L 90 ; W 2; L 90 ; W 2",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1160,544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7949,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,448,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7950,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1208,496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7951,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1184,472,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,7952,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1184,520,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,7953,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,520,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,7954,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,472,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,7955,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1112,496,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7956,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[992,288,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,7376,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[992,288,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,7377,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 90 ; W 2; L 90 ; W 2; L 90 ; W 2; L 90 ; W 2",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[992,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7379,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[992,240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7380,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1040,288,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7381,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1016,264,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,7382,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1016,312,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,7383,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[968,312,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,7384,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[968,264,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,7385,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[944,288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8299,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[800,496,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,7365,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[800,496,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,7366,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 90 ; W 2; L 90 ; W 2; L 90 ; W 2; L 90 ; W 2",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[800,544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7367,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[800,448,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7368,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[848,496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7369,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[824,472,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,7370,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[824,520,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,7371,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[776,520,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,7372,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[776,472,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,7374,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[752,496,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7375,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[632,288,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,7355,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[632,288,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,7356,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 90 ; W 2; L 90 ; W 2; L 90 ; W 2; L 90 ; W 2",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[632,336,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7357,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[632,240,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7358,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[680,288,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7359,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[656,264,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,7360,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[656,312,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,7361,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[608,312,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,7362,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[608,264,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,7363,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[584,288,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7364,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[432,496,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,7345,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[432,496,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,7346,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 90 ; W 2; L 90 ; W 2; L 90 ; W 2; L 90 ; W 2",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[432,544,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7347,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[432,448,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7348,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[480,496,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7349,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[456,472,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,7350,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[456,520,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,7351,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[408,520,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,7352,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[408,472,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,7353,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[384,496,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7354,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[4936,520,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,8285,[["level43"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[88,544,0,88,64,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,8287,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"F 64 ; W 0.5; B 64",160,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[96,216,0,88,64,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,8288,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"F 64 ; W 0.5; B 64",160,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[152,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8290,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[184,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8303,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[216,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8304,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[248,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8305,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[280,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8306,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[312,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8307,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[344,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8308,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[376,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8309,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[504,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8310,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[536,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8311,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[568,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8312,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[600,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8313,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[632,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8314,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[664,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8315,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[696,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8316,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[728,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8317,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[872,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8318,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[904,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8319,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[936,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8320,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[968,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8321,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1000,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8322,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1032,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8323,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1064,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8324,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1096,544,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,8325,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[3040,560,0,2512,552,0,0,1,0,0,0,0,[]],51,8326,[],[[0],[1],[1,100,""]],[0,0]],[[6056,224,0,3008,552,0,3.141592741012573,1,0,0,0,0,[]],51,8327,[],[[0],[1],[1,100,""]],[0,0]]],[]],["UI",2,409815147834546,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,575014400932759,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,180351207901906,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,313726709889958,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,232043411249068,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]]],[[null,174,8177,[],[],[""]]],[]],["Level 440",10000,2000,true,"Levels",219711835604511,[["Background",0,478208297841509,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,249160163605015,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[760,1648,0,248,117,0,0,1,0,0,0,0,[[]]],61,8329,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]],[[952,1712,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,8330,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[1,0],[0,10000,360,1]],[1,"Default",0,1]],[[664,1776,0,440,8,0,0,1,0,0,0,0,[]],67,8345,[],[[1]],[0,0]],[[672,1320,0,464,8,0,1.570796370506287,1,0,0,0,0,[]],67,8331,[],[[1]],[0,0]],[[1112,1320,0,464,8,0,1.570796370506287,1,0,0,0,0,[]],67,8332,[],[[1]],[0,0]],[[688,1616,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8336,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,1616,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8337,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[736,1600,0,64,8,0,3.141592741012573,1,0,0,0,0,[]],51,8338,[],[[0],[1],[1,100,""]],[0,0]],[[752,1616,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8333,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[784,1616,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8334,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[800,1600,0,64,8,0,3.141592741012573,1,0,0,0,0,[]],51,8335,[],[[0],[1],[1,100,""]],[0,0]],[[816,1616,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8339,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[848,1616,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8340,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[864,1600,0,64,8,0,3.141592741012573,1,0,0,0,0,[]],51,8341,[],[[0],[1],[1,100,""]],[0,0]],[[880,1616,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8342,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,1616,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8343,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[928,1600,0,64,8,0,3.141592741012573,1,0,0,0,0,[]],51,8344,[],[[0],[1],[1,100,""]],[0,0]],[[944,1616,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8346,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[976,1616,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8347,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[992,1600,0,64,8,0,3.141592741012573,1,0,0,0,0,[]],51,8348,[],[[0],[1],[1,100,""]],[0,0]],[[744,1328,0,264,72,0,1.570796370506287,1,0,0,0,0,[]],51,8349,[],[[0],[1],[1,100,""]],[0,0]],[[992,1496,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8351,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1024,1496,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8352,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1040,1480,0,64,8,0,3.141592741012573,1,0,0,0,0,[]],51,8353,[],[[0],[1],[1,100,""]],[0,0]],[[1056,1496,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8354,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1088,1496,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8355,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1104,1480,0,64,8,0,3.141592741012573,1,0,0,0,0,[]],51,8356,[],[[0],[1],[1,100,""]],[0,0]],[[864,1496,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8350,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[896,1496,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8357,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[912,1480,0,64,8,0,3.141592741012573,1,0,0,0,0,[]],51,8358,[],[[0],[1],[1,100,""]],[0,0]],[[928,1496,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8359,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[960,1496,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,8360,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[976,1480,0,64,8,0,3.141592741012573,1,0,0,0,0,[]],51,8361,[],[[0],[1],[1,100,""]],[0,0]],[[1104,1328,0,144,128,0,1.570796370506287,1,0,0,0,0,[]],51,8362,[],[[0],[1],[1,100,""]],[0,0]],[[576,1760,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8364,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[560,1328,0,448,8,0,1.570796370506287,1,0,0,0,0,[]],51,8369,[],[[0],[1],[1,100,""]],[0,0]],[[576,1728,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8365,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1696,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8366,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1664,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8367,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1632,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8368,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1600,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8370,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1568,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8371,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1536,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8372,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1504,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8373,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1472,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8374,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1440,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8375,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1408,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8376,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1376,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8377,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1344,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8378,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1760,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8379,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1216,1776,0,448,8,0,-1.570796489715576,1,0,0,0,0,[]],51,8380,[],[[0],[1],[1,100,""]],[0,0]],[[1200,1728,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8381,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1696,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8382,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1664,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8383,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1632,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8384,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1600,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8385,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1568,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8386,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1536,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8387,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1504,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8388,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1472,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8389,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1440,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8390,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1408,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8391,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1376,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8392,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1344,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8393,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[560,1552,0,32,456,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,8395,[[-1],[0],[0],[0],[0],[6],[1]],[[0],[1,1,1,1,"B 296",50,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1216,1552,0,32,456,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,8396,[[-1],[0],[0],[0],[0],[6],[1]],[[0],[1,1,1,1,"F 296",50,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[672,1320,0,432,8,0,0,1,0,0,0,0,[]],45,8397,[],[[0],[1]],[0,0]],[[672,856,0,464,8,0,1.570796370506287,1,0,0,0,0,[]],67,8399,[],[[1]],[0,0]],[[1112,856,0,464,8,0,1.570796370506287,1,0,0,0,0,[]],67,8400,[],[[1]],[0,0]],[[576,1296,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8430,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[560,864,0,448,8,0,1.570796370506287,1,0,0,0,0,[]],51,8431,[],[[0],[1],[1,100,""]],[0,0]],[[576,1264,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8432,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1232,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8433,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1200,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8434,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1168,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8435,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1136,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8436,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1104,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8437,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1072,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8438,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1040,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8439,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,1008,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8440,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,976,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8441,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,944,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8442,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,912,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8443,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,880,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8444,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1296,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8445,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1216,1312,0,448,8,0,-1.570796489715576,1,0,0,0,0,[]],51,8446,[],[[0],[1],[1,100,""]],[0,0]],[[1200,1264,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8447,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1232,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8448,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1200,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8449,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1168,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8450,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1136,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8451,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1104,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8452,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1072,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8453,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1040,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8454,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,1008,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8455,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,976,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8456,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,944,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8457,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,912,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8458,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,880,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8459,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[560,1088,0,32,456,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,8460,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"B 296",60,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1216,1088,0,32,456,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,8461,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,1,"F 296",60,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[672,856,0,432,8,0,0,1,0,0,0,0,[]],45,8462,[],[[0],[1]],[0,0]],[[1048,1232,0,328,8,0,3.141592741012573,1,0,0,0,0,[]],51,8363,[],[[0],[1],[1,100,""]],[0,0]],[[848,1136,0,64,8,0,3.141592741012573,1,0,0,0,0,[]],51,8398,[],[[0],[1],[1,100,""]],[0,0]],[[928,1040,0,80,8,0,3.141592741012573,1,0,0,0,0,[]],51,8401,[],[[0],[1],[1,100,""]],[0,0]],[[856,856,0,64,8,0,1.570796370506287,1,0,0,0,0,[]],51,8402,[],[[0],[1],[1,100,""]],[0,0]],[[928,856,0,64,8,0,1.570796370506287,1,0,0,0,0,[]],51,8403,[],[[0],[1],[1,100,""]],[0,0]],[[888,1272,0,432,32,0,0,1,0.5,0.5,0,0,[]],49,8404,[[2],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[984,1136,0,64,8,0,3.141592741012573,1,0,0,0,0,[]],51,8405,[],[[0],[1],[1,100,""]],[0,0]],[[672,392,0,464,8,0,1.570796370506287,1,0,0,0,0,[]],67,8406,[],[[1]],[0,0]],[[1112,392,0,464,8,0,1.570796370506287,1,0,0,0,0,[]],67,8407,[],[[1]],[0,0]],[[576,832,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8408,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[560,400,0,448,8,0,1.570796370506287,1,0,0,0,0,[]],51,8409,[],[[0],[1],[1,100,""]],[0,0]],[[576,800,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8410,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,768,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8411,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,736,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8412,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,704,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8413,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,672,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8414,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,640,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8415,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,608,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8416,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,576,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8417,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,544,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8418,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,512,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8419,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,480,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8420,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,448,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8421,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[576,416,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8422,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,832,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8423,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1216,848,0,448,8,0,-1.570796489715576,1,0,0,0,0,[]],51,8424,[],[[0],[1],[1,100,""]],[0,0]],[[1200,800,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8425,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,768,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8426,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,736,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8427,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,704,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8428,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,672,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8429,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,640,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8463,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,608,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8464,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,576,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8465,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,544,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8466,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,512,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8467,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,480,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8468,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,448,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8469,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[1200,416,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8470,[[0],[0]],[[0],[0]],[0,"Default",0,1]],[[560,624,0,32,456,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,8471,[[-1],[0],[0],[0],[0],[3],[1]],[[0],[1,0,1,1,"B 296",60,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1216,624,0,32,456,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,8472,[[-1],[0],[0],[0],[0],[3],[1]],[[0],[1,0,1,1,"F 296",60,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[672,392,0,432,8,0,0,1,0,0,0,0,[]],45,8473,[],[[0],[1]],[0,0]],[[888,808,0,432,32,0,0,1,0.5,0.5,0,0,[]],49,8479,[[3],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[1032,400,0,376,8,0,1.570796370506287,1,0,0,0,0,[]],51,8474,[],[[0],[1],[1,100,""]],[0,0]],[[744,400,0,376,8,0,1.570796370506287,1,0,0,0,0,[]],51,8475,[],[[0],[1],[1,100,""]],[0,0]],[[720,744,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8476,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,712,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8480,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,680,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8481,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,648,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8482,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,616,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8483,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,584,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8484,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,552,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8485,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,520,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8486,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,488,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8487,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,456,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8488,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[720,424,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8489,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1048,744,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8490,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1048,712,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8491,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1048,680,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8492,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1048,648,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8493,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1048,616,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8494,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1048,584,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8495,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1048,552,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8496,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1048,520,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8497,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1048,488,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8498,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1048,456,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8499,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1048,424,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8500,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,832,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8501,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[152,400,0,448,656,0,1.570796370506287,1,0,0,0,0,[]],51,8502,[],[[0],[1],[1,100,""]],[0,0]],[[168,800,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8503,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,768,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8504,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,736,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8505,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,704,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8506,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,672,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8507,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,640,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8508,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,608,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8509,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,576,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8510,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,544,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8511,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,512,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8512,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,480,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8513,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,448,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8514,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,416,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,8515,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[152,640,0,32,456,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,8516,[[-1],[0],[0],[0],[0],[3],[1]],[[0],[1,0,1,1,"W 6 ; B 668",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1600,832,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8517,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1616,848,0,448,856,0,-1.570796489715576,1,0,0,0,0,[]],51,8518,[],[[0],[1],[1,100,""]],[0,0]],[[1600,800,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8519,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,768,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8520,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,736,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8521,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,704,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8522,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,672,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8523,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,640,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8524,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,608,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8525,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,576,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8526,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,544,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8527,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,512,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8528,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,480,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8529,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,448,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8530,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,416,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,8531,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1616,616,0,32,456,0,3.141592741012573,1,0.5,0.5,0,0,[]],50,8532,[[-1],[0],[0],[0],[0],[3],[1]],[[0],[1,0,1,1,"W 6; F 668;",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[888.0000610351562,168,0,320,8,0,0.7853981852531433,1,0,0,0,0,[]],51,8533,[],[[0],[1],[1,100,""]],[0,0]],[[890.3624267578125,177.6375122070313,0,312,8,0,2.356194496154785,1,0,0,0,0,[]],51,8534,[],[[0],[1],[1,100,""]],[0,0]],[[892,312,0,48,88,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,8394,[],[[0]],[0,"Default",0,1]],[[888,1080,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,8477,[["level44"]],[[1],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[1288,1040,0,64,8,0,3.141592741012573,1,0,0,0,0,[]],51,8478,[],[[0],[1],[1,100,""]],[0,0]],[[552,1040,0,64,8,0,3.141592741012573,1,0,0,0,0,[]],51,8535,[],[[0],[1],[1,100,""]],[0,0]]],[]],["UI",2,263589349667344,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,252023214966233,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,171569403964202,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,109444973848987,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,829384335690664,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]]],[],[]],["Level 441",10000,2000,true,"Levels",372781167653761,[["Background",0,873674128239720,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,557013081654922,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[2824,1256,0,200,96,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,12125,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,0,1,1,"R 45",400,0,100,90,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1404,454.0000610351563,0,32,184,0,-0.1745333671569824,1,0,0,0,0,[]],51,10036,[],[[0],[1],[1,100,""]],[0,0]],[[2581,1123,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,5935,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[1,0],[0,10000,360,1]],[1,"Default",0,1]],[[1032,1176,0,1640,8,0,0,1,0,0,0,0,[]],67,10029,[],[[1]],[0,0]],[[1884,326,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,5934,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1548,150,0,568,216,0,0,1,0,0,0,0,[]],51,10030,[],[[0],[1],[1,100,""]],[0,0]],[[1604,382,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10055,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1636,382,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10056,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1668,382,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10057,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1700,382,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,41,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1732,382,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10059,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1764,382,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10060,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1796,382,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10061,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1828,382,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10062,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1860,382,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10063,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1892,382,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10064,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1924,382,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10065,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1956,382,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10066,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1988,382,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10067,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2020,382,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10068,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2052,382,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,42,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1724,222,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,10071,[[0]],[[1],[1]],[0,"Default",0,1]],[[1948,222,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],58,10072,[[0]],[[1],[1]],[0,"Default",0,1]],[[1724,294,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,10073,[[0]],[[1],[1]],[0,"Default",0,1]],[[1740,310,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,10074,[[0]],[[1],[1]],[0,"Default",0,1]],[[1756,326,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,10075,[[0]],[[1],[1]],[0,"Default",0,1]],[[1836,254,0,32,32,0,0,1,0.5,0.5,0,0,[]],58,10076,[[0]],[[1],[1]],[0,"Default",0,1]],[[1708,206,0,32,9,0,0,1,0,0,0,0,[]],52,10077,[],[[0],[0]],[0,0]],[[1932,206,0,32,9,0,0,1,0,0,0,0,[]],52,10078,[],[[0],[0]],[0,0]],[[1780,334,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,10079,[[0]],[[1],[1]],[0,"Default",0,1]],[[1804,342,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,10080,[[0]],[[1],[1]],[0,"Default",0,1]],[[1828,342,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,10081,[[0]],[[1],[1]],[0,"Default",0,1]],[[1852,342,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,10082,[[0]],[[1],[1]],[0,"Default",0,1]],[[1940,302,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,10083,[[0]],[[1],[1]],[0,"Default",0,1]],[[1916,310,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,10084,[[0]],[[1],[1]],[0,"Default",0,1]],[[1900,326,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,43,[[0]],[[1],[1]],[0,"Default",0,1]],[[1876,334,0,24,24,0,0,1,0.5,0.5,0,0,[]],58,10086,[[0]],[[1],[1]],[0,"Default",0,1]],[[1580,-114,0,264,8,0,1.570796370506287,1,0,0,0,0,[]],45,10031,[],[[0],[1]],[0,0]],[[1836,-114,0,264,8,0,1.570796370506287,1,0,0,0,0,[]],45,10032,[],[[0],[1]],[0,0]],[[2092,-114,0,264,8,0,1.570796370506287,1,0,0,0,0,[]],45,10033,[],[[0],[1]],[0,0]],[[2084,310,0,32,216,0,-0.7853984832763672,1,0,0,0,0,[]],51,10034,[],[[0],[1],[1,100,""]],[0,0]],[[1564,286,0,32,216,0,0.7853981852531433,1,0,0,0,0,[]],51,10035,[],[[0],[1],[1,100,""]],[0,0]],[[2228,445.9999389648438,0,32,182,0,0.1745329201221466,1,0,0,0,0,[]],51,10037,[],[[0],[1],[1,100,""]],[0,0]],[[1425,597,0,64,64,0,0,1,0,0,0,0,[]],51,10039,[],[[0],[1],[1,100,""]],[0,0]],[[1457,585,0,64,64,0,0.7853981852531433,1,0,0,0,0,[]],51,10040,[],[[0],[1],[1,100,""]],[0,0]],[[1457,669,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10038,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1457,589,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10041,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1497,630,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,10042,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1417,630,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10043,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1489,597,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,10044,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1489,661,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,10045,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1425,661,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,10046,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[1425,597,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,10047,[[0],[0]],[[1],[1]],[0,"Default",0,1]],[[2212,630,0,64,32,0,1.745329260826111,1,0.125,0.5,0,0,[]],55,10048,[[1],[300]],[[1],[300,1,1,180,0,0,600,1,1],[0,10000,360,1]],[0,"Default",0,1]],[[2239.939453125,638.6946411132812,0,32,40,0,1.745329260826111,1,0.5,0.5,0,0,[]],43,10049,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[2180,630,0,32,40,0,-1.396263599395752,1,0.5,0.5,0,0,[]],43,10050,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[2260,558,0,72,8,0,1.919862151145935,1,0,0,0,0,[]],45,10051,[],[[0],[1]],[0,0]],[[2192,618,0,72,8,0,-1.570796489715576,1,0,0,0,0,[]],45,10052,[],[[0],[1]],[0,0]],[[2768,1312,0,104,8,0,0,1,0,0,0,0,[]],51,12121,[],[[0],[1],[1,100,""]],[0,0]],[[2776,1160,0,160,8,0,1.570796370506287,1,0,0,0,0,[]],51,12122,[],[[0],[1],[1,100,""]],[0,0]],[[2872,1160,0,160,8,0,1.570796370506287,1,0,0,0,0,[]],51,12123,[],[[0],[1],[1,100,""]],[0,0]],[[2728,1336,0,104,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],43,12124,[[2],[0]],[[0]],[1,"Default",0,1]],[[2728,1344,0,16,24,0,-0.7853981852531433,1,0.5,0.5,0,0,[]],50,12126,[[-1],[0],[10],[0],[0],[2],[1]],[[0],[1,0,1,1,"W 1 ; F 200",400,0,100,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2824,1168,0,96,32,0,0,1,0.5,0.5,0,0,[]],49,12127,[[1],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[2816,1168,0,80,32,0,0,1,0.5,0.5,0,0,[]],49,12128,[[2],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[2848,392,0,1640,8,0,0,1,0,0,0,0,[]],67,12129,[],[[1]],[0,0]],[[2803.3916015625,798.8800048828125,0,152,96,0,1.570796370506287,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,10070,[],[[0]],[0,"Default",0,1]]],[]],["UI",2,783340289678257,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,472433177406513,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,428085210967404,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,204310953259864,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,486046277306627,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]]],[],[]],["Level 57",5000,5000,true,"Levels",380123893848947,[["Background",0,487946333902901,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,908950909188047,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[952,40,0,248,117,0,0,1,0,0,0,0,[[]]],61,10602,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]],[[1128,480,0,544,8,0,0,1,0,0,0,0,[]],67,10607,[],[[1]],[0,0]],[[4600,3936,0,2952,2176,0,3.141592741012573,1,0,0,0,0,[]],64,10610,[],[],[0,0]],[[-9696,3062.3359375,0,4520,2872,0,0,1,-2.380000114440918,0.6399999856948853,0,0,[]],159,10605,[],[[0]],[0,"Default",0,1]],[[3288,1776,0,760,8,0,0,1,0,0,0,0,[]],56,10606,[],[[1],[1]],[0,0]],[[1136,0,0,488,8,0,1.570796370506287,1,0,0,0,0,[]],67,10608,[],[[1]],[0,0]],[[1304,496,0,8,8,0,0,1,0,0,0,0,[]],56,10609,[],[[1],[0]],[0,0]],[[1432,464,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10611,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1464,464,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10612,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1496,464,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10613,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528,464,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10614,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1560,464,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10615,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1592,464,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10616,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1624,464,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10617,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1656,464,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10618,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1872,2256,0,8,8,0,0,1,0,0,0,0,[]],56,10633,[],[[1],[0]],[0,0]],[[1320,2792,0,8,8,0,0,1,0,0,0,0,[]],56,10634,[],[[1],[0]],[0,0]],[[1792,3288,0,8,8,0,0,1,0,0,0,0,[]],56,10635,[],[[1],[0]],[0,0]],[[2336,2656,0,8,8,0,0,1,0,0,0,0,[]],56,10636,[],[[1],[0]],[0,0]],[[2480,3312,0,8,8,0,0,1,0,0,0,0,[]],56,10637,[],[[1],[0]],[0,0]],[[1936,3592,0,8,8,0,0,1,0,0,0,0,[]],56,10638,[],[[1],[0]],[0,0]],[[2376,2928,0,8,8,0,0,1,0,0,0,0,[]],56,10639,[],[[1],[0]],[0,0]],[[2144,2776,0,8,8,0,0,1,0,0,0,0,[]],56,10640,[],[[1],[0]],[0,0]],[[2488,3744,0,8,8,0,0,1,0,0,0,0,[]],56,10641,[],[[1],[0]],[0,0]],[[2960,3040,0,8,8,0,0,1,0,0,0,0,[]],56,10642,[],[[1],[0]],[0,0]],[[2856,3904,0,8,8,0,0,1,0,0,0,0,[]],56,10643,[],[[1],[0]],[0,0]],[[2072,3648,0,8,8,0,0,1,0,0,0,0,[]],56,10644,[],[[1],[0]],[0,0]],[[1784,3344,0,8,8,0,0,1,0,0,0,0,[]],56,10645,[],[[1],[0]],[0,0]],[[3304,3936,0,8,8,0,0,1,0,0,0,0,[]],56,10648,[],[[1],[0]],[0,0]],[[3376,3224,0,8,8,0,0,1,0,0,0,0,[]],56,10649,[],[[1],[0]],[0,0]],[[2968,3152,0,8,8,0,0,1,0,0,0,0,[]],56,10650,[],[[1],[0]],[0,0]],[[3024,4000,0,8,8,0,0,1,0,0,0,0,[]],56,10651,[],[[1],[0]],[0,0]],[[1288,2328,0,8,8,0,0,1,0,0,0,0,[]],56,10655,[],[[1],[0]],[0,0]],[[3768,1192,0,8,8,0,0,1,0,0,0,0,[]],56,10726,[],[[1],[0]],[0,0]],[[2384,1192,0,8,8,0,0,1,0,0,0,0,[]],56,10729,[],[[1],[0]],[0,0]],[[3368,1688,0,8,8,0,0,1,0,0,0,0,[]],56,10730,[],[[1],[0]],[0,0]],[[4216,1224,0,8,8,0,0,1,0,0,0,0,[]],56,10731,[],[[1],[0]],[0,0]],[[3936,1288,0,8,8,0,0,1,0,0,0,0,[]],56,10734,[],[[1],[0]],[0,0]],[[4448,1648,0,8,8,0,0,1,0,0,0,0,[]],56,10735,[],[[1],[0]],[0,0]],[[4224,1856,0,8,8,0,0,1,0,0,0,0,[]],56,10736,[],[[1],[0]],[0,0]],[[3832,2112,0,8,8,0,0,1,0,0,0,0,[]],56,10737,[],[[1],[0]],[0,0]],[[3992,1848,0,8,8,0,0,1,0,0,0,0,[]],56,10739,[],[[1],[0]],[0,0]],[[3440,2384,0,8,8,0,0,1,0,0,0,0,[]],56,10740,[],[[1],[0]],[0,0]],[[3912,2880,0,8,8,0,0,1,0,0,0,0,[]],56,10741,[],[[1],[0]],[0,0]],[[4456,2248,0,8,8,0,0,1,0,0,0,0,[]],56,10742,[],[[1],[0]],[0,0]],[[4600,2904,0,8,8,0,0,1,0,0,0,0,[]],56,10743,[],[[1],[0]],[0,0]],[[4056,3184,0,8,8,0,0,1,0,0,0,0,[]],56,10744,[],[[1],[0]],[0,0]],[[4496,2520,0,8,8,0,0,1,0,0,0,0,[]],56,10745,[],[[1],[0]],[0,0]],[[4264,2368,0,8,8,0,0,1,0,0,0,0,[]],56,10746,[],[[1],[0]],[0,0]],[[4608,3336,0,8,8,0,0,1,0,0,0,0,[]],56,10747,[],[[1],[0]],[0,0]],[[5080,2632,0,8,8,0,0,1,0,0,0,0,[]],56,10748,[],[[1],[0]],[0,0]],[[4976,3496,0,8,8,0,0,1,0,0,0,0,[]],56,10749,[],[[1],[0]],[0,0]],[[4192,3240,0,8,8,0,0,1,0,0,0,0,[]],56,10750,[],[[1],[0]],[0,0]],[[3904,2936,0,8,8,0,0,1,0,0,0,0,[]],56,10751,[],[[1],[0]],[0,0]],[[3592,3496,0,8,8,0,0,1,0,0,0,0,[]],56,10752,[],[[1],[0]],[0,0]],[[4576,3992,0,8,8,0,0,1,0,0,0,0,[]],56,10753,[],[[1],[0]],[0,0]],[[5424,3528,0,8,8,0,0,1,0,0,0,0,[]],56,10754,[],[[1],[0]],[0,0]],[[5496,2816,0,8,8,0,0,1,0,0,0,0,[]],56,10755,[],[[1],[0]],[0,0]],[[5088,2744,0,8,8,0,0,1,0,0,0,0,[]],56,10756,[],[[1],[0]],[0,0]],[[5144,3592,0,8,8,0,0,1,0,0,0,0,[]],56,10757,[],[[1],[0]],[0,0]],[[5656,3952,0,8,8,0,0,1,0,0,0,0,[]],56,10758,[],[[1],[0]],[0,0]],[[3408,1920,0,8,8,0,0,1,0,0,0,0,[]],56,10761,[],[[1],[0]],[0,0]],[[5320,2944,0,8,8,0,0,1,0,0,0,0,[]],56,10763,[],[[1],[0]],[0,0]],[[5472,4056,0,8,8,0,0,1,0,0,0,0,[]],56,10775,[],[[1],[0]],[0,0]],[[7304,4088,0,8,8,0,0,1,0,0,0,0,[]],56,10777,[],[[1],[0]],[0,0]],[[7376,3376,0,8,8,0,0,1,0,0,0,0,[]],56,10778,[],[[1],[0]],[0,0]],[[7536,4512,0,8,8,0,0,1,0,0,0,0,[]],56,10781,[],[[1],[0]],[0,0]],[[7312,4720,0,8,8,0,0,1,0,0,0,0,[]],56,10782,[],[[1],[0]],[0,0]],[[5288,2480,0,8,8,0,0,1,0,0,0,0,[]],56,10784,[],[[1],[0]],[0,0]],[[6616,232,0,8,8,0,0,1,0,0,0,0,[]],56,10785,[],[[1],[0]],[0,0]],[[6064,768,0,8,8,0,0,1,0,0,0,0,[]],56,10786,[],[[1],[0]],[0,0]],[[7080,632,0,8,8,0,0,1,0,0,0,0,[]],56,10788,[],[[1],[0]],[0,0]],[[7224,1288,0,8,8,0,0,1,0,0,0,0,[]],56,10789,[],[[1],[0]],[0,0]],[[7120,904,0,8,8,0,0,1,0,0,0,0,[]],56,10791,[],[[1],[0]],[0,0]],[[6888,752,0,8,8,0,0,1,0,0,0,0,[]],56,10792,[],[[1],[0]],[0,0]],[[7232,1720,0,8,8,0,0,1,0,0,0,0,[]],56,10793,[],[[1],[0]],[0,0]],[[7704,1016,0,8,8,0,0,1,0,0,0,0,[]],56,10794,[],[[1],[0]],[0,0]],[[7600,1880,0,8,8,0,0,1,0,0,0,0,[]],56,10795,[],[[1],[0]],[0,0]],[[7200,2376,0,8,8,0,0,1,0,0,0,0,[]],56,10799,[],[[1],[0]],[0,0]],[[7712,1128,0,8,8,0,0,1,0,0,0,0,[]],56,10800,[],[[1],[0]],[0,0]],[[7768,1976,0,8,8,0,0,1,0,0,0,0,[]],56,10801,[],[[1],[0]],[0,0]],[[7664,2800,0,8,8,0,0,1,0,0,0,0,[]],56,10802,[],[[1],[0]],[0,0]],[[6032,304,0,8,8,0,0,1,0,0,0,0,[]],56,10803,[],[[1],[0]],[0,0]],[[4552,1296,0,8,8,0,0,1,0,0,0,0,[]],56,10807,[],[[1],[0]],[0,0]],[[5240,1320,0,8,8,0,0,1,0,0,0,0,[]],56,10809,[],[[1],[0]],[0,0]],[[4696,1600,0,8,8,0,0,1,0,0,0,0,[]],56,10810,[],[[1],[0]],[0,0]],[[1312,3776,0,8,8,0,0,1,0,0,0,0,[]],56,10816,[],[[1],[0]],[0,0]],[[4056,3680,0,8,8,0,0,1,0,0,0,0,[]],56,10827,[],[[1],[0]],[0,0]],[[4520,4080,0,8,8,0,0,1,0,0,0,0,[]],56,10830,[],[[1],[0]],[0,0]],[[3472,3752,0,8,8,0,0,1,0,0,0,0,[]],56,10840,[],[[1],[0]],[0,0]],[[2072,3712,0,8,8,0,0,1,0,0,0,0,[]],56,10841,[],[[1],[0]],[0,0]],[[5504,3872,0,8,8,0,0,1,0,0,0,0,[]],56,10849,[],[[1],[0]],[0,0]],[[5272,3720,0,8,8,0,0,1,0,0,0,0,[]],56,10850,[],[[1],[0]],[0,0]],[[4416,3272,0,8,8,0,0,1,0,0,0,0,[]],56,10861,[],[[1],[0]],[0,0]],[[7312,4320,0,8,8,0,0,1,0,0,0,0,[]],56,10865,[],[[1],[0]],[0,0]],[[7456,4976,0,8,8,0,0,1,0,0,0,0,[]],56,10866,[],[[1],[0]],[0,0]],[[1048,1296,0,8,8,0,0,1,0,0,0,0,[]],56,10882,[],[[1],[0]],[0,0]],[[968,2328,0,8,8,0,0,1,0,0,0,0,[]],56,10884,[],[[1],[0]],[0,0]],[[1512,1696,0,8,8,0,0,1,0,0,0,0,[]],56,10885,[],[[1],[0]],[0,0]],[[1656,2352,0,8,8,0,0,1,0,0,0,0,[]],56,10886,[],[[1],[0]],[0,0]],[[1112,2632,0,8,8,0,0,1,0,0,0,0,[]],56,10887,[],[[1],[0]],[0,0]],[[1552,1968,0,8,8,0,0,1,0,0,0,0,[]],56,10888,[],[[1],[0]],[0,0]],[[1320,1816,0,8,8,0,0,1,0,0,0,0,[]],56,10889,[],[[1],[0]],[0,0]],[[1664,2784,0,8,8,0,0,1,0,0,0,0,[]],56,10890,[],[[1],[0]],[0,0]],[[2136,2080,0,8,8,0,0,1,0,0,0,0,[]],56,10891,[],[[1],[0]],[0,0]],[[2032,2944,0,8,8,0,0,1,0,0,0,0,[]],56,10892,[],[[1],[0]],[0,0]],[[1248,2688,0,8,8,0,0,1,0,0,0,0,[]],56,10893,[],[[1],[0]],[0,0]],[[960,2384,0,8,8,0,0,1,0,0,0,0,[]],56,10894,[],[[1],[0]],[0,0]],[[1632,3440,0,8,8,0,0,1,0,0,0,0,[]],56,10896,[],[[1],[0]],[0,0]],[[2480,2976,0,8,8,0,0,1,0,0,0,0,[]],56,10897,[],[[1],[0]],[0,0]],[[2552,2264,0,8,8,0,0,1,0,0,0,0,[]],56,10898,[],[[1],[0]],[0,0]],[[2144,2192,0,8,8,0,0,1,0,0,0,0,[]],56,10899,[],[[1],[0]],[0,0]],[[2200,3040,0,8,8,0,0,1,0,0,0,0,[]],56,10900,[],[[1],[0]],[0,0]],[[2712,3400,0,8,8,0,0,1,0,0,0,0,[]],56,10901,[],[[1],[0]],[0,0]],[[2488,3608,0,8,8,0,0,1,0,0,0,0,[]],56,10902,[],[[1],[0]],[0,0]],[[1792,-880,0,8,8,0,0,1,0,0,0,0,[]],56,10905,[],[[1],[0]],[0,0]],[[1712,152,0,8,8,0,0,1,0,0,0,0,[]],56,10907,[],[[1],[0]],[0,0]],[[1704,208,0,8,8,0,0,1,0,0,0,0,[]],56,10917,[],[[1],[0]],[0,0]],[[2376,1264,0,8,8,0,0,1,0,0,0,0,[]],56,10919,[],[[1],[0]],[0,0]],[[3456,1224,0,8,8,0,0,1,0,0,0,0,[]],56,10924,[],[[1],[0]],[0,0]],[[3232,1432,0,8,8,0,0,1,0,0,0,0,[]],56,10925,[],[[1],[0]],[0,0]],[[2840,1688,0,8,8,0,0,1,0,0,0,0,[]],56,10926,[],[[1],[0]],[0,0]],[[1208,-808,0,8,8,0,0,1,0,0,0,0,[]],56,10927,[],[[1],[0]],[0,0]],[[-192,-848,0,8,8,0,0,1,0,0,0,0,[]],56,10928,[],[[1],[0]],[0,0]],[[1312,120,0,8,8,0,0,1,0,0,0,0,[]],56,10942,[],[[1],[0]],[0,0]],[[1472,1256,0,8,8,0,0,1,0,0,0,0,[]],56,10945,[],[[1],[0]],[0,0]],[[1248,1464,0,8,8,0,0,1,0,0,0,0,[]],56,10946,[],[[1],[0]],[0,0]],[[1304,360,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,10603,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[1,0],[0,10000,360,1]],[1,"Default",0,1]]],[]],["UI",2,167809678204360,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,309751664252834,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,543872967356355,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,931724801875457,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,379698997454154,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]]],[],[]],["Level 58",10000,2000,true,"Levels",713422322742733,[["Background",0,419778871687850,true,[255,255,255],false,0,0,1,false,false,1,0,0,[],[]],["Layer 0",1,228748842487977,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[316,1064,0,32,328,0,1.570796370506287,1,0.5,0.5,0,0,[]],49,12022,[[2],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[2368,2001.000122070313,0,2216,616,0,3.141592741012573,1,0,0,0,0,[]],64,11960,[],[],[1,0]],[[2072,1049,0,1048,296,0,-1.570796489715576,1,0,0,0,0,[]],64,11769,[],[],[1,0]],[[480,1049,0,368,1600,0,-1.570796489715576,1,0,0,0,0,[]],64,11779,[],[],[1,0]],[[272,120,0,248,117,0,0,1,0,0,0,0,[[]]],61,10660,[],[[1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","1",7,0,50,0,0,0,0,0,"",-1,0]],[[1296,984,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,10661,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["fallen"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[1,0],[0,10000,360,1]],[1,"Default",0,1]],[[2240,1480,0,97,199,0,3.141592741012573,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,10662,[],[[0]],[0,"Default",0,1]],[[152,312,0,752,368,0,0,1,0,0,0,0,[]],67,10663,[],[[1]],[0,0]],[[152,1,0,2224,8,0,0,1,0,0,0,0,[]],67,10664,[],[[1]],[0,0]],[[-8,0,0,160,2008,0,0,1,0,0,0,0,[]],67,10665,[],[[1]],[0,0]],[[904,313,0,1176,368,0,0,1,0,0,0,0,[]],67,10666,[],[[1]],[0,0]],[[1992,137,0,1360,128,0,3.141592741012573,1,0,0,0,0,[]],64,10667,[],[],[1,0]],[[168,25,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10668,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[200,25,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10669,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[232,25,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10670,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[264,25,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10671,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[296,25,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10672,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[328,25,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10673,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[360,25,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10674,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[392,25,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10675,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[424,25,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10676,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[456,25,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10677,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[488,25,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10678,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[520,25,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10679,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[552,25,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10680,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[584,25,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10681,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[616,25,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10682,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[632,296,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10683,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[664,296,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10684,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[696,296,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10685,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[864,1,0,32,80,0,0,1,0,0,0,0,[]],67,10686,[],[[1]],[0,0]],[[880,97,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10687,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[896,1,0,32,112,0,0,1,0,0,0,0,[]],67,10688,[],[[1]],[0,0]],[[912,129,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10689,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[928,1,0,32,144,0,0,1,0,0,0,0,[]],67,10690,[],[[1]],[0,0]],[[944,161,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10691,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1136,313,0,32,80,0,3.141592741012573,1,0,0,0,0,[]],67,10692,[],[[1]],[0,0]],[[1120,217,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10693,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1168,313,0,32,112,0,3.141592741012573,1,0,0,0,0,[]],67,10694,[],[[1]],[0,0]],[[1152,185,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10695,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1200,321,0,32,144,0,3.141592741012573,1,0,0,0,0,[]],67,10696,[],[[1]],[0,0]],[[1184,161,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10697,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1352,1,0,32,80,0,0,1,0,0,0,0,[]],67,10698,[],[[1]],[0,0]],[[1368,97,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10699,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1384,1,0,32,112,0,0,1,0,0,0,0,[]],67,10700,[],[[1]],[0,0]],[[1400,129,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10701,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1416,1,0,32,144,0,0,1,0,0,0,0,[]],67,10702,[],[[1]],[0,0]],[[1432,161,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,10703,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1648,313,0,32,80,0,3.141592741012573,1,0,0,0,0,[]],67,10704,[],[[1]],[0,0]],[[1632,217,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10705,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1680,313,0,32,112,0,3.141592741012573,1,0,0,0,0,[]],67,10706,[],[[1]],[0,0]],[[1664,185,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10707,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1712,321,0,32,144,0,3.141592741012573,1,0,0,0,0,[]],67,10708,[],[[1]],[0,0]],[[1696,161,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,10709,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1088,257,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10710,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1088,289,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10711,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[848,25,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10712,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[848,57,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10713,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1336,25,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10714,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1336,57,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10715,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,257,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10716,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600,289,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,10717,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2375.999755859375,2001,0,8,1992,0,3.141592741012573,1,0,0,0,0,[]],67,11768,[],[[1]],[0,0]],[[480,1049,0,1896,336,0,0,1,0,0,0,0,[]],67,11770,[],[[1]],[0,0]],[[1976,9,0,32,80,0,0,1,0,0,0,0,[]],67,11723,[],[[1]],[0,0]],[[1992,105,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11772,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2008,9,0,32,112,0,0,1,0,0,0,0,[]],67,11773,[],[[1]],[0,0]],[[2024,137,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11774,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2040,9,0,32,144,0,0,1,0,0,0,0,[]],67,11775,[],[[1]],[0,0]],[[2056,169,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11776,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1960,33,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11777,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1960,65,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11778,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2296,409,0,8,144,0,1.570796370506287,1,0,0,0,0,[]],67,11880,[],[[1]],[0,0]],[[2352,641,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11781,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2352,673,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11782,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2352,705,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11783,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2312,433,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,11875,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2312,465,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,11876,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2312,497,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,11877,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2312,529,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,11878,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2296,545,0,8,144,0,1.570796370506287,1,0,0,0,0,[]],67,11879,[],[[1]],[0,0]],[[2288,417,0,8,128,0,0,1,0,0,0,0,[]],67,11881,[],[[1]],[0,0]],[[2096,481,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,11882,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2152,417,0,8,128,0,0,1,0,0,0,0,[]],67,11883,[],[[1]],[0,0]],[[2352,841,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11884,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2352,873,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11885,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2352,905,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11886,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2352,937,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11887,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2352,969,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11888,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2352,1001,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11889,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2352,1033,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11890,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2224,481,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,11891,[[-1],[0],[0],[0],[0],[-2],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2224,481,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,11892,[[1],[1],[10],[0],[0],[-2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2224,529,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11893,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2224,433,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11894,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2272,481,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,11895,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2176,481,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11896,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2248,457,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,11897,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2248,505,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,11898,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2200,505,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,11899,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2200,457,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,11900,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[2304,921,0,8,128,0,0,1,0,0,0,0,[]],67,11901,[],[[1]],[0,0]],[[2288,993,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,11902,[[0.65],[0]],[[0]],[0,"",1,1]],[[2016,921,0,128,8,0,1.570796370506287,1,0,0,0,0,[]],45,11771,[],[[0],[1]],[0,0]],[[2008,681,0,8,240,0,0,1,0,0,0,0,[]],67,11780,[],[[1]],[0,0]],[[1864,681,0,144,120,0,0,1,0,0,0,0,[]],67,11903,[],[[1]],[0,0]],[[1696,681,0,168,48,0,0,1,0,0,0,0,[]],67,11904,[],[[1]],[0,0]],[[1792,849,0,208,8,0,1.570796370506287,1,0,0,0,0,[]],45,11905,[],[[0],[1]],[0,0]],[[1848,745,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11906,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1848,777,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11907,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1608,889,0,8,160,0,0,1,0,0,0,0,[]],67,11908,[],[[1]],[0,0]],[[1496,681,0,8,240,0,0,1,0,0,0,0,[]],67,11909,[],[[1]],[0,0]],[[1344,737,0,8,312,0,0,1,0,0,0,0,[]],67,11910,[],[[1]],[0,0]],[[1136,681,0,8,280,0,0,1,0,0,0,0,[]],67,11911,[],[[1]],[0,0]],[[1592,1033,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11912,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1592,1001,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11913,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1416,905,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11914,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1416,873,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11915,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1368,753,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,11917,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1216,697,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11918,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1328,753,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11920,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,913,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,11921,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1328,785,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11923,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1160,945,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,11926,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1432,913,0,64,8,0,0,1,0,0,0,0,[]],45,11927,[],[[0],[1]],[0,0]],[[1432,857,0,64,8,0,0,1,0,0,0,0,[]],45,11928,[],[[0],[1]],[0,0]],[[1432,857,0,8,64,0,0,1,0,0,0,0,[]],67,11929,[],[[1]],[0,0]],[[1328,817,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11916,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[968,785,0,8,64,0,0,1,0,0,0,0,[]],67,11919,[],[[1]],[0,0]],[[808,897,0,8,64,0,0,1,0,0,0,0,[]],67,11922,[],[[1]],[0,0]],[[656,753,0,8,64,0,0,1,0,0,0,0,[]],67,11924,[],[[1]],[0,0]],[[800,1033,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11931,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[812,889,0,16,16,0,0,1,0.5,0.5,0,0,[]],47,11932,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[660,825,0,16,16,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11933,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[660,744,0,16,16,0,0,1,0.5,0.5,0,0,[]],47,11934,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1328,1033,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11935,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1120,801,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11936,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1120,833,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11937,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1120,865,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11938,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1120,697,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11939,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1088,697,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11940,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1056,697,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11941,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[1024,697,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11942,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[992,697,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11943,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[960,697,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11944,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[928,697,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11945,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[896,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11946,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[864,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11947,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[832,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11948,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[800,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11949,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[768,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11950,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[736,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11951,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[704,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11952,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[672,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11953,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[640,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11954,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[608,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11955,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[576,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11956,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[544,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11957,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[512,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11958,[[0],[1]],[[0],[1]],[0,"Default",0,1]],[[960,1033,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11968,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[928,1033,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11969,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[896,1033,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11970,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[864,1033,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11971,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[832,1033,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11972,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[812,969,0,16,16,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11973,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[768,1033,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11974,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[736,1033,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11975,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[704,1033,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11976,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[672,1033,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11977,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[640,1033,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11978,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[608,1033,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11979,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[576,1033,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11980,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[544,1033,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11981,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[512,1033,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11982,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[496,681,0,368,8,0,1.570796370506287,1,0,0,0,0,[]],45,11925,[],[[0],[1]],[0,0]],[[408,880,0,32,352,0,0,1,0.5,0.5,0,0,[]],43,11930,[[0.001],[0]],[[0]],[1,"",1,1]],[[472,1664,0,1904,344,0,0,1,0,0,0,0,[]],67,11959,[],[[1]],[0,0]],[[0,2000,0,1848,8,0,0,1,0,0,0,0,[]],67,11961,[],[[1]],[0,0]],[[360,1984,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11962,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[520,1984,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11963,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[488,1984,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11964,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[424,1984,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11966,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[392,1984,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11967,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[328,1984,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11983,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[296,1984,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11984,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[264,1984,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11985,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[232,1984,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11986,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[200,1984,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11987,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[136,1984,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11989,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[104,1984,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11990,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[72,1984,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,11991,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[456,1680,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11992,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[456,1712,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11993,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[456,1744,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11994,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[456,1776,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11995,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[456,1808,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11996,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[456,1840,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11997,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[456,1872,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11998,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[456,1904,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,11999,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[456,1936,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12000,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[456,1968,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,12001,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,1680,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,12002,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,1712,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,12003,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,1744,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,12004,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,1776,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,12005,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,1808,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,12006,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,1840,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,12007,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,1872,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,12008,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,1904,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,12009,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,1936,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,12010,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,1968,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,12011,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[152,672,0,320,8,0,0,1,0,0,0,0,[]],51,11965,[],[[0],[1],[1,100,""]],[0,0]],[[456,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,11988,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[424,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12012,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[392,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12013,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[360,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12014,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[328,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12015,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[296,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12016,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[264,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12017,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[232,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12018,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[200,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12019,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,696,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,12020,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[318,680,0,32,288,0,-1.570796489715576,1,0.5,0.5,0,0,[]],50,12021,[[-1],[0],[0],[0],[0],[2],[1]],[[0],[1,0,1,0,"B 3000",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[152.0000152587891,1376,0,288,8,0,1.570796370506287,1,0,0,0,0,[]],51,10659,[],[[0],[1],[1,100,""]],[0,0]],[[152,1504,0,32,288,0,0,1,0.5,0.5,0,0,[]],50,12033,[[-1],[0],[0],[0],[0],[3],[1]],[[0],[1,0,1,0,"F 3000",300,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[168,1392,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,12024,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,1424,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,12025,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,1456,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,12026,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,1488,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,12027,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,1520,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,12028,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,1552,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,12029,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,1584,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,12030,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,1616,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,12031,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[168,1648,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,12032,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[536,1524,0,32,288,0,0,1,0.5,0.5,0,0,[]],49,12023,[[3],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[1,"Default",0,1]],[[856,1536,0,128,8,0,1.570796370506287,1,0,0,0,0,[]],45,12034,[],[[0],[1]],[0,0]],[[848,1384,0,8,152,0,0,1,0,0,0,0,[]],67,12035,[],[[1]],[0,0]],[[1064,1384,0,128,8,0,1.570796370506287,1,0,0,0,0,[]],45,12036,[],[[0],[1]],[0,0]],[[1056,1512,0,8,152,0,0,1,0,0,0,0,[]],67,12037,[],[[1]],[0,0]],[[1272,1480,0,128,8,0,1.570796370506287,1,0,0,0,0,[]],45,12038,[],[[0],[1]],[0,0]],[[1264,1384,0,8,96,0,0,1,0,0,0,0,[]],67,12039,[],[[1]],[0,0]],[[1264,1608,0,8,56,0,0,1,0,0,0,0,[]],67,12040,[],[[1]],[0,0]],[[1528,1384,0,48,8,0,1.570796370506287,1,0,0,0,0,[]],45,12041,[],[[0],[1]],[0,0]],[[1520,1416,0,8,176,0,0,1,0,0,0,0,[]],67,12042,[],[[1]],[0,0]],[[1520,1592,0,8,72,0,0,1,0,0,0,0,[]],67,12043,[],[[1]],[0,0]],[[1760,1544,0,56,8,0,1.570796370506287,1,0,0,0,0,[]],45,12044,[],[[0],[1]],[0,0]],[[1752,1384,0,8,160,0,0,1,0,0,0,0,[]],67,12045,[],[[1]],[0,0]],[[1752,1600,0,8,64,0,0,1,0,0,0,0,[]],67,12046,[],[[1]],[0,0]],[[256,1520,0,152,64,0,0,1,0,0,0,0,[]],46,12047,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","!",1,0,50,0,0,0,0,0,"",-1,0]],[[368,-80,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,12048,[["Motion Blur"],[""],[0]],[],[1,"Default",0,1]]],[]],["UI",2,184669714796134,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,133128240730973,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,662487426301616,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,126492777831023,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,259715304976516,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]]],[],[]],["Platforms",3000,3000,true,"Levels",690535640844964,[["Background",0,899981170570826,true,[255,255,255],false,0,0,1,false,false,1,0,0,[[[-82,44,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,1623,[["The chamber"],[""],[0]],[],[1,"Default",0,1]]],[]],["Layer 0",1,443402015814826,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[93,2879,0,264,9,0,0,1,0,0,0,0,[]],51,1624,[],[[0],[1],[1,100,""]],[0,0]],[[186.1044158935547,80.30842590332031,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,1625,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[95,21,0,2865,9,0,1.570796370506287,1,0,0,0,0,[]],51,1626,[],[[0],[1],[1,100,""]],[0,0]],[[591,604,0,97,192,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,1627,[],[[0]],[0,"Default",0,1]],[[281.1397705078125,21,0,2654,9,0,1.570796370506287,1,0,0,0,0,[]],51,1628,[],[[0],[1],[1,100,""]],[0,0]],[[96.41244506835938,154,0,176.5566711425781,64,0,0,1,0,0,0,0,[]],46,1629,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Down you go",1,0,50,0,0,0,0,0,"",-1,0]],[[357,2879,0,264,9,0,0,1,0,0,0,0,[]],51,1630,[],[[0],[1],[1,100,""]],[0,0]],[[492,2860,0,166,78,0,0,1,0.5,0.5,0,0,[]],50,1631,[[-1],[0],[0],[0],[0],[0],[0]],[[0],[1,0,1,0,"F 1000",600,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[496,2847,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,1632,[[0],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[2120,2900,0,687,9,0,0,1,0,0,0,0,[]],51,1633,[],[[0],[1],[1,100,""]],[0,0]],[[2384,2561,0,264,9,0,0,1,0,0,0,0,[]],51,1634,[],[[0],[1],[1,100,""]],[0,0]],[[2519,2542,0,166,78,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,1635,[[-1],[0],[0],[0],[0],[1],[0]],[[0],[1,1,1,0,"F 200;W 1;B 200;W 1",200,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[2174,2561,0,210,9,0,0,1,0,0,0,0,[]],51,1636,[],[[0],[1],[1,100,""]],[0,0]],[[2173,2247,0,320,9,0,1.570796370506287,1,0,0,0,0,[]],51,1637,[],[[0],[1],[1,100,""]],[0,0]],[[2272,921,0,1476,9,0,1.570796370506287,1,0,0,0,0,[]],51,2031,[],[[0],[1],[1,100,""]],[0,0]],[[2167,2252,0,1576,9,0,3.141592741012573,1,0,0,0,0,[]],51,2569,[],[[0],[1],[1,100,""]],[0,0]],[[1753,2229,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,2570,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[773,2143,0,352,9,0,3.141592741012573,1,0,0,0,0,[]],51,2577,[],[[0],[1],[1,100,""]],[0,0]],[[777,659,0,1482,9,0,1.570796370506287,1,0,0,0,0,[]],51,3014,[],[[0],[1],[1,100,""]],[0,0]],[[1045,1729,0,312,9,0,1.570796370506287,1,0,0,0,0,[]],51,3015,[],[[0],[1],[1,100,""]],[0,0]],[[1262,1686,0,312,9,0,0,1,0,0,0,0,[]],51,3016,[],[[0],[1],[1,100,""]],[0,0]],[[1621,1286,0,312,9,0,2.530727386474609,1,0,0,0,0,[]],51,3017,[],[[0],[1],[1,100,""]],[0,0]],[[1737,1024,0,312,9,0,0.7853981852531433,1,0,0,0,0,[]],51,3018,[],[[0],[1],[1,100,""]],[0,0]],[[1179,953,0,312,9,0,0.7853981852531433,1,0,0,0,0,[]],51,3019,[],[[0],[1],[1,100,""]],[0,0]],[[2449,834,0,1546,9,0,3.141592741012573,1,0,0,0,0,[]],51,3020,[],[[0],[1],[1,100,""]],[0,0]],[[2627,927,0,361,9,0,3.141592741012573,1,0,0,0,0,[]],51,3021,[],[[0],[1],[1,100,""]],[0,0]],[[915,508,0,320,9,0,1.570796370506287,1,0,0,0,0,[]],51,3022,[],[[0],[1],[1,100,""]],[0,0]],[[1515,1535,0,1606.340209960938,1708.898071289063,0,1.570796370506287,1,0.5,0.5,0,0,[]],50,3023,[[-1],[0],[0],[0],[0],[1],[0]],[[0],[1,1,1,0,"L 90; W 10;",200,0,0,10,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]]],[]],["UI",2,654280034016059,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",3,919134056991806,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",4,162589830408064,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",5,550065494499744,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",6,494593603968384,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]]],[],[]],["Sandbox Level",2000,1100,true,"Levels",138917027031498,[["Layer 0",0,240388268951302,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[644,0,0,184,9,0,1.570796370506287,1,0,0,0,0,[]],51,3026,[],[[0],[1],[1,100,""]],[0,0]],[[381.5,341.5,0,4,8,0,0,1,1,0,0,0,[]],38,3027,[[0],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[381.5,349.5,0,4,8,0,0,1,1,0,0,0,[]],40,3028,[[1],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","righthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[377.5,362.5,0,4,8,0,0,1,0,0,0,0,[]],39,3029,[[4],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[377.5,354.5,0,4,8,0,0,1,0,0,0,0,[]],41,3030,[[3],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[373.5,362.5,0,4,8,0,0,1,0,0,0,0,[]],35,3031,[[6],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[373.5,354.5,0,4,8,0,0,1,0,0,0,0,[]],37,3032,[[5],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[377.5,346.5,0,8,16,0,0,1,0.5,0.5,0,0,[]],32,3033,[[2],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","body",3,1,0,0,1,2]],[0,"Default",0,1]],[[377.5,338.5,0,32,32,0,0,1,0.5,1,0,0,[]],33,3034,[[7],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","head",3,1,0,0,1,2]],[0,"Default",0,1]],[[373.5,341.5,0,4,8,0,0,1,1,0,0,0,[]],34,3035,[[8],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[373.5,349.5,0,4,8,0,0,1,1,0,0,0,[]],36,3036,[[9],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","lefthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[1591,672,0,268,9,0,0,1,0,0,0,0,[]],51,3037,[],[[0],[1],[1,100,""]],[0,0]],[[132.5,919.5,0,1735,9,0,0,1,0,0,0,0,[]],51,3038,[],[[0],[1],[1,100,""]],[0,0]],[[344.5,820.5,0,102,9,0,1.570796370506287,1,0,0,0,0,[]],51,3039,[],[[0],[1],[1,100,""]],[0,0]],[[1941.5,368.5,0,220,9,0,1.570796370506287,1,0,0,0,0,[]],51,3040,[],[[0],[1],[1,100,""]],[0,0]],[[1772.5,217.5,0,214,9,0,1.570796370506287,1,0,0,0,0,[]],51,3041,[],[[0],[1],[1,100,""]],[0,0]],[[1912.5,403.5,0,26,9,0,0,1,0,0,0,0,[]],51,3042,[],[[0],[1],[1,100,""]],[0,0]],[[1739.5,422.5,0,29,9,0,0,1,0,0,0,0,[]],51,3043,[],[[0],[1],[1,100,""]],[0,0]],[[344.5,870.5,0,187,9,0,0.2617993950843811,1,0,0,0,0,[]],51,3045,[],[[0],[1],[1,100,""]],[0,0]],[[273.5,905.5,0,32,32,0,0,1,0.5,0.5,0,0,[]],43,3047,[[0.7],[0]],[[0]],[0,"Default",0,1]],[[334,192,0,249.030517578125,64,0,0,1,0,0,0,0,[]],46,3048,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[[1],["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Welcome to the training level",1,0,50,0,0,0,0,0,"",-1,0]],[[185,904,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,3049,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[72,576,0,32,32,0,0.7877870798110962,1,0.5,0.5,0,0,[]],43,3051,[[0.5],[1]],[[0]],[0,"Default",0,1]],[[863,852,0,232,8,0,-1.221730589866638,1,0,0,0,0,[]],51,3455,[],[[0],[1],[1,100,""]],[0,0]],[[577,252,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,3044,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[608.1904296875,921.53271484375,0,120,8,0,-0.0872664749622345,1,0,0,0,0,[]],51,3448,[],[[0],[1],[1,100,""]],[0,0]],[[723,912,0,72.84906768798828,8,0,-0.2617994248867035,1,0,0,0,0,[]],51,4604,[],[[0],[1],[1,100,""]],[0,0]],[[787,896,0,52,8,0,-0.4363324046134949,1,0,0,0,0,[]],51,4608,[],[[0],[1],[1,100,""]],[0,0]],[[831,876,0,48,8,0,-0.698131799697876,1,0,0,0,0,[]],51,4609,[],[[0],[1],[1,100,""]],[0,0]],[[540,576,0,256,7.886388778686523,0,0,1,0,0,0,0,[]],51,3025,[],[[0],[1],[1,100,""]],[0,0]],[[880,812,0,72,8,0,-1.570796370506287,1,0,0,0,0,[]],51,4671,[],[[0],[1],[1,100,""]],[0,0]],[[872,688,0,100,8,0,-2.094395160675049,1,0,0,0,0,[]],51,4680,[],[[0],[1],[1,100,""]],[0,0]],[[876,680,0,72.84906768798828,8,0,1.396263360977173,1,0,0,0,0,[]],51,4688,[],[[0],[1],[1,100,""]],[0,0]],[[832,608,0,52,8,0,-2.668806791305542,1,0,0,0,0,[]],51,4694,[],[[0],[1],[1,100,""]],[0,0]],[[1292,268,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,5456,[[""]],[[0],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]],[[504,316,0,988,9,0,0,1,0,0,0,0,[]],51,5479,[],[[0],[1],[1,100,""]],[0,0]],[[1145.919677734375,15.06920623779297,0,512,84,0,0,1,0,0,0,0,[]],162,3063,[],[],[0,0]],[[-140,600,0,60.93439102172852,60.93439102172852,0,0,1,0.5,0.5,0,0,[]],53,3024,[["Buttons!"],[""],[1]],[],[1,"Default",0,1]],[[784,764,0,96,8,0,0,1,0,0,0,0,[]],45,1075,[],[[0],[1]],[0,0]],[[624,824,0,96,8,0,1.570796370506287,1,0,0,0,0,[]],45,1076,[],[[0],[1]],[0,0]],[[640,320,0,168,9,0,1.570796370506287,1,0,0,0,0,[]],51,1077,[],[[0],[1],[1,100,""]],[0,0]],[[368,-0.05680561065673828,0,516,8,0,0,1,0,0,0,0,[]],51,4682,[],[[0],[1],[1,100,""]],[0,0]],[[1700,139,0,25,25,0,0,1,0,0.5199999809265137,0,0,[]],165,5633,[],[],[0,"Default",0,1]],[[1206,775,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,7814,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1206,775,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,7815,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 90 ; W 2; L 90 ; W 2; L 90 ; W 2; L 90 ; W 2",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1206,823,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7816,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1206,727,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7817,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1254,775,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7818,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1158,775,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7819,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1230,751,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,7820,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1230,799,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,7821,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1182,799,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,7822,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1182,751,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,7823,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1210,759,0,32,8,0,1.570796370506287,1,0,0,0,0,[]],67,7825,[],[[1]],[0,0]],[[1392,775,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,7826,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 360",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1392,775,0,40,40,0,0,1,0.5,0.5,0,0,[]],50,7827,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,1,0,"L 360",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1392,823,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7828,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1392,727,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7829,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1440,775,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7830,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1344,775,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7831,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1416,751,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,7832,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1416,799,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,7833,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1368,799,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,7834,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1368,751,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,7835,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1396,759,0,32,8,0,1.570796370506287,1,0,0,0,0,[]],67,7836,[],[[1]],[0,0]],[[1600.002685546875,749.7665405273438,0,32,32,0,0.7853981852531433,1,0.5,0.5,0,0,[]],47,7843,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1577.21826171875,772.6513671875,0,88,88,0,0,1,0.5,0.5,0,0,[]],50,7837,[[-1],[0],[0],[0],[0],[1],[1]],[[0],[1,1,1,0,"R 90 ; W 1; R 90 ; W 1; R 90 ; W 1; R 90 ; W 1",175,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1595.2802734375,752.5615844726562,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,7838,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 45 ; F 50; W 1.5; B 50 ; R 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1576.002685546875,821.7665405273438,0,32,32,0,3.141592741012573,1,0.5,0.5,0,0,[]],47,7839,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1576.002685546875,725.7665405273438,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,7840,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1624.002685546875,773.7665405273438,0,32,32,0,1.570796370506287,1,0.5,0.5,0,0,[]],47,7841,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1528.002685546875,773.7665405273438,0,32,32,0,-1.570796489715576,1,0.5,0.5,0,0,[]],47,7842,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1600.002685546875,797.7665405273438,0,32,32,0,2.356194496154785,1,0.5,0.5,0,0,[]],47,7844,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1552.002685546875,797.7665405273438,0,32,32,0,-2.356194734573364,1,0.5,0.5,0,0,[]],47,7845,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1552.002685546875,749.7665405273438,0,32,32,0,-0.7853984832763672,1,0.5,0.5,0,0,[]],47,7846,[[0],[0]],[[0],[1]],[0,"Default",0,1]],[[1580.002685546875,757.7665405273438,0,32,8,0,1.570796370506287,1,0,0,0,0,[]],67,7847,[],[[1]],[0,0]],[[1558.478881835938,753.4974365234375,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,1079,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"R 45 ; B 50; W 1.5; F 50 ; L 45; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1592.589965820313,791.0340576171875,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,785,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 135 ; B 50; W 1.5; F 50 ; R 135; W 1",175,0,0,1080,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[1557.3876953125,789.7631225585938,0,16,16,0,0,1,0.5,0.5,0,0,[]],50,1078,[[1],[1],[10],[0],[0],[2],[1]],[[0],[1,1,0,0,"L 45 ; B 50; W 1.5; F 50 ; R 45 ; W 1",175,0,0,360,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[968.3872680664062,250.6834869384766,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,44,[[1],[0],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[918.5987548828125,250.6844787597656,0,8,64,0,3.141592741012573,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,45,[[0],[1],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1089.912841796875,251.2826080322266,0,8,64,0,1.570796370506287,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,46,[[3],[2],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[1090.7314453125,223.4662628173828,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,47,[[2],[3],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[793.4739990234375,235.6983184814453,0,8,64,0,0,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,49,[[5],[4],[0],[0],[0],[0],[0]],[[0]],[0,"Default",0,1]],[[735.6422119140625,268.5438842773438,0,8,64,0,-1.570796489715576,1,0.5,0.5,0,0,[[255,255,255,255,0,0,0.01]]],62,51,[[4],[5],[0],[0],[0],[0],[1]],[[0]],[0,"Default",0,1]],[[738,131,0,32,32,0,0,1,0.5,0.5,0,0,[]],47,53,[[0],[0]],[[0],[1]],[0,"Default",0,1]]],[]],["UI",1,707855211978893,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",2,123988229054377,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",3,433581487312939,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",4,292911961945988,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",5,446705927282897,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]]],[[null,1,3064,[[0],[0],[0],[0],[0],[16],[1],[0],[""],[52],[0],[0],[0],[1],[""],[0],[1],[0],[0],[0],[0],[0],[0],[1]],[],[]],[null,14,3065,[],[],[]],[null,16,3066,[[37],[38],[39],[40],[0],[0]],[],[]],[null,17,3067,[],[],["main"]],[null,18,3068,[],[],[0,1,1]],[null,20,3062,[],[],[0,1,0.1]],[null,21,3069,[],[],[0,1,0.1]]],[]],["Level Base",2000,1100,true,"Levels",451614616852985,[["Layer 0",0,462738890423227,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[32,384,0,576,9,0,0,1,0,0,0,0,[]],51,3070,[],[[0],[1],[1,100,""]],[0,0]],[[381.5,341.5,0,4,8,0,0,1,1,0,0,0,[]],38,3071,[[0],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[381.5,349.5,0,4,8,0,0,1,1,0,0,0,[]],40,3072,[[1],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","righthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[377.5,346.5,0,8,16,0,0,1,0.5,0.5,0,0,[]],32,3073,[[2],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","body",3,1,0,0,1,2]],[0,"Default",0,1]],[[377.5,362.5,0,4,8,0,0,1,0,0,0,0,[]],39,3074,[[4],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[377.5,354.5,0,4,8,0,0,1,0,0,0,0,[]],41,3075,[[3],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[373.5,362.5,0,4,8,0,0,1,0,0,0,0,[]],35,3076,[[6],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[373.5,354.5,0,4,8,0,0,1,0,0,0,0,[]],37,3077,[[5],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[377.5,338.5,0,32,32,0,0,1,0.5,1,0,0,[]],33,3078,[[7],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","head",3,1,0,0,1,2]],[0,"Default",0,1]],[[373.5,341.5,0,4,8,0,0,1,1,0,0,0,[]],34,3079,[[8],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[373.5,349.5,0,4,8,0,0,1,1,0,0,0,[]],36,3080,[[9],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","lefthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[0,0,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,3081,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[544,288,0,97,199,0,0,1,0.5257731676101685,0.4974874258041382,0,0,[]],44,3082,[],[[0]],[0,"Default",0,1]]],[]],["UI",1,225950177159953,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",2,626719004201972,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",3,585892581990080,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["Overlay",4,852880645616979,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",5,434903756665635,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]]],[],[]],["Gif",20000,640,false,"Levels",644165948526643,[["Layer 0",0,338761107171451,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[-32,534,0,20064,9,0,0,1,0,0,0,0,[]],51,5571,[],[[0],[1],[1,100,""]],[0,0]],[[490,-126,0,4,8,0,0,1,1,0,0,0,[]],38,5572,[[0],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[490,-118,0,4,8,0,0,1,1,0,0,0,[]],40,5573,[[1],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","righthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[486,-121,0,8,16,0,0,1,0.5,0.5,0,0,[]],32,5574,[[2],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","body",3,1,0,0,1,2]],[0,"Default",0,1]],[[486,-105,0,4,8,0,0,1,0,0,0,0,[]],39,5575,[[4],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[486,-113,0,4,8,0,0,1,0,0,0,0,[]],41,5576,[[3],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","rightleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[482,-105,0,4,8,0,0,1,0,0,0,0,[]],35,5577,[[6],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[482,-113,0,4,8,0,0,1,0,0,0,0,[]],37,5578,[[5],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[486,-129,0,32,32,0,0,1,0.5,1,0,0,[]],33,5579,[[7],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","head",3,1,0,0,1,2]],[0,"Default",0,1]],[[482,-126,0,4,8,0,0,1,1,0,0,0,[]],34,5580,[[8],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","leftarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[482,-118,0,4,8,0,0,1,1,0,0,0,[]],36,5581,[[9],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","skin4","lefthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[832,480,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,5582,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[736,480,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,5583,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[640,480,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,5584,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["electrical"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[544,480,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,5585,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["pole"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[448,480,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,5586,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["knight"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[352,480,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,5587,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["dknight"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[256,480,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,5588,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["astronaut"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[160,480,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,5589,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["erigato"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[928,480,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,5591,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[1024,480,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,5592,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[1120,480,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,5593,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[1216,480,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,5594,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],[""],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,0,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]]],[]],["UI",1,363011105075888,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["End Card",2,827348826472844,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",3,968075901458017,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["End Game",4,373724987413844,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Layer 1",5,342458220949705,true,[255,255,255],true,0,0,1,false,false,1,0,0,[[[288,128,0,429,151,0,0,1,0.501165509223938,0.503311276435852,0,0,[]],71,5590,[],[[1,2,0,4,2,0,4,5,0],[1,1,0,4,3,0,4,5,0],[1,5,0,4,0,0,0,2,0],[1,0,0,4,0,2,4,5,0]],[0,"Default",0,1]]],[]]],[],[]],["Skins",1708,960,false,null,645895866588789,[["Layer 0",0,286840365390464,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[223.6230316162109,-27.96358489990234,0,32,16,0,0,1,0,0.5,0,0,[]],54,3556,[[0],[0]],[[400,0,0,0,1,1]],[0,"Default",0,1]],[[56.29624938964844,71.82901000976562,0,32,32,0,0,1,0.5,1,0,0,[]],131,54,[["frank"]],[],[0,"Default",0,1]],[[97.35780334472656,71.66355895996094,0,32,32,0,0,1,0.5,1,0,0,[]],133,55,[["pole"]],[],[0,"Default",0,1]],[[136.0782318115234,72.12991333007812,0,32,32,0,0,1,0.5,1,0,0,[]],132,56,[["elec"]],[],[0,"Default",0,1]],[[188.3089294433594,72.59646606445312,0,52.49001312255859,52.49001312255859,0,0,1,0.5,1,0,0,[]],134,57,[["skin4"]],[],[0,"Default",0,1]],[[241.5090789794922,70.49690246582031,0,35,36,0,0,1,0.5142857432365417,0.9722222089767456,0,0,[]],135,58,[["kinght"]],[],[0,"Default",0,1]],[[286.7602844238281,70.4967041015625,0,19.5,16.5,0,0,1,0.3333333432674408,0.9090909361839294,0,0,[]],136,60,[["batter"]],[],[0,"Default",0,1]],[[330.61181640625,69.09727478027344,0,32,32,0,0,1,0.5,1,0,0,[]],137,61,[["erigato"]],[],[0,"Default",0,1]],[[377.7291870117188,67.23129272460938,0,35,36,0,0,1,0.5142857432365417,0.9722222089767456,0,0,[]],138,62,[["dknight"]],[],[0,"Default",0,1]],[[419.2485046386719,67.23129272460938,0,35,36,0,0,1,0.5142857432365417,0.9722222089767456,0,0,[]],139,63,[["lknight"]],[],[0,"Default",0,1]],[[461.7467651367188,68.25721740722656,0,32,32,0,0,1,0.5,1,0,0,[]],140,64,[["astronaut"]],[],[0,"Default",0,1]],[[500.4203491210938,67.50692749023438,0,32,32,0,0,1,0.5,1,0,0,[]],141,65,[["alien"]],[],[0,"Default",0,1]],[[136.1212310791016,109.4919586181641,0,32,32,0,0,1,0.5,1,0,0,[]],142,66,[["ovo+"]],[],[0,"Default",0,1]],[[191.4658813476563,115.0052947998047,0,32,32,0,0,1,0.5,1,0,0,[]],143,67,[["ada"]],[],[0,"Default",0,1]],[[237.2630615234375,113.2882232666016,0,32,33,0,0,1,0.5,0.9696969985961914,0,0,[]],144,68,[["thefall"]],[],[0,"Default",0,1]],[[239.4215545654297,189.6714630126953,0,64,66,0,0,1,0.5,0.9696969985961914,0,0,[]],145,70,[["thefallwhite"]],[],[0,"Default",0,1]],[[428.0129699707031,118.4389190673828,0,32,32,0,0,1,0.5,1,0,0,[]],146,72,[["pulse"]],[],[0,"Default",0,1]],[[475.1413269042969,116.3897399902344,0,32,32,0,0,1,0.5,1,0,0,[]],151,176,[["materwelon"]],[],[0,"Default",0,1]],[[296.7437438964844,120.1106414794922,0,32,32,0,0,1,0.53125,1,0,0,[]],148,3083,[["fl1ckd"]],[],[0,"Default",0,1]],[[342.5328063964844,120.0699157714844,0,32,32,0,0,1,0.53125,1,0,0,[]],149,3084,[["theliljoker"]],[],[0,"Default",0,1]],[[382.7881774902344,104.2079925537109,0,25.48147964477539,25.48148155212402,0,0,1,0.4418604671955109,0.4186046421527863,0,0,[]],150,3085,[["amongus"]],[],[0,"body",0,1]],[[320.9842529296875,179.6083374023438,0,44,32,0,0,1,0.5227272510528564,1,0,0,[]],152,5,[["cmg"]],[],[0,"Default",0,1]],[[377.8988342285156,183.8073425292969,0,31,36,0,0,1,0.4838709533214569,0.9722222089767456,0,0,[]],153,528,[["french"]],[],[0,"Default",0,1]],[[425.4819030761719,185.2071533203125,0,35,40,0,0,1,0.5142857432365417,1,0,0,[]],154,649,[["english"]],[],[0,"Default",0,1]],[[480.0628967285156,181.474853515625,0,68,40,0,0,1,0.5,0.925000011920929,0,0,[]],155,1008,[["spanish"]],[],[0,"Default",0,1]],[[535.57666015625,182.8739013671875,0,29,32,0,0,1,0.5517241358757019,1,0,0,[]],156,1015,[["brazilian"]],[],[0,"Default",0,1]],[[575.2310180664062,185.6737365722656,0,33,32,0,0,1,0.4848484992980957,1,0,0,[]],157,1017,[["shyguy"]],[],[0,"Default",0,1]]],[]]],[],[]],["Ad",1708,960,false,"Ad",680483274299272,[["Layer 0",0,893601207899477,true,[255,255,255],false,1,1,1,false,false,1,0,0,[],[]]],[],[]],["CrazyGamesTestRoom",1708,960,true,"CrazyGamesTestRoom",595310783398288,[["Layer 0",0,650947221470295,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[218.5,156.5,0,203,32,0,0,1,0,0,0,0,[]],189,183,[["crazyHappyTime()"]],[],[0,"happyTime","",1,1,1,"",0]],[[218.5,230.5,0,203,32,0,0,1,0,0,0,0,[]],189,345,[["crazyRewarded()"]],[],[0,"rewarded","",1,1,1,"",0]],[[218.5,304.5,0,203,32,0,0,1,0,0,0,0,[]],189,346,[["crazyMidRoll()"]],[],[0,"midroll","",1,1,1,"",0]],[[218.5,377.5,0,203,32,0,0,1,0,0,0,0,[]],189,367,[["crazyGameplayStart()"]],[],[0,"gameplayStart","",1,1,1,"",0]],[[218.5,451.5,0,203,32,0,0,1,0,0,0,0,[]],189,372,[["crazyGameplayStop()"]],[],[0,"gameplayStop","",1,1,1,"",0]],[[218.5,586,0,203,32,0,0,1,0,0,0,0,[]],190,373,[],[],[0,"Back to game","",1,1,1,"",0]]],[]]],[],[]],["Main Menu",640,640,true,"Main Menu",794952083725119,[["Layer 0",0,623719239705738,true,[255,255,255],false,0,0,1,false,false,0,0,0,[[[320,351,0,353,639,0,-1.570796370506287,1,0,0.5,0,0,[]],81,374,[],[],[50,60,0,200,4,100,-2,700,700,0,4,4,-150,0,0,800,0,0,1]],[[-80,-132,0,128,128,0,0,1,0,0.5,0,0,[]],89,375,[],[],[10,360,1,200,6,100,-4,0,0,0,2,0,-150,300,0,800,0,0,0.5]]],[]],["Layer 1",1,540172260555628,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[119,293,0,145,30,0,0,1,0.5034482479095459,0.5,0,0,[]],198,4434,[[97],[188]],[[1,"","","","Click",3,"Hover",4,"Menu > Languages",""],["langbutton",""]],[0,"Default",0,1]],[[320.5,120.0719528198242,0,429,151,0,0,1,0.501165509223938,0.503311276435852,0,0,[]],71,377,[],[[1,2,0,4,2,0,4,5,0],[1,1,0,4,3,0,4,5,0],[1,5,0,4,0,0,0,2,0],[1,0,0,4,0,2,4,5,0]],[0,"Default",0,1]],[[320,310,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,378,[[0],[1],[0],[0],["play"],["{\"size\": 30}"],[1],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Resume",""],[""],[2,2,0,0,0],["",""]],[0,"Play",0,1]],[[283,492,0,128,64,0,0,1,0.5,0.5,0,0,[]],70,379,[[0],[1],[0],[0],["levels"],["{\"size\": 15}"],[1],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Transition","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Levels",0,1]],[[389,410,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,380,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Transition","Skins Menu"],[""],[2,2,0,0,0],["",""]],[0,"Skins",0,1]],[[283,410,0,128,64,0,0,1,0.5,0.5,0,0,[]],70,5519,[[0],[1],[0],[0],["restart"],["{\"size\": 15}"],[1],[0],[0],[0]],[[1,"1","2","3","Click",1,"Hover",4,"Menu > Play",""],[""],[2,2,0,0,0],["",""]],[0,"Resume",0,1]],[[201,323.5,0,16,16,0,0,1,0.5,0.5,0,0,[]],88,5561,[],[],[0,"Default",0,1]],[[201,618.5,0,16,16,0,3.141592741012573,1,0.5,0.5,0,0,[]],88,5562,[],[],[0,"Default",0,1]],[[201,471,0,11,274,0,0,1,0.5,0.5,0,0,[]],113,5564,[],[["TipScroll"]],[0,"Default",0,1]],[[201,346,0,11,24,0,0,1,0.5,0.5,0,0,[]],99,5443,[],[["TipSlider"]],[0,"Default",0,1]],[[23.26832580566406,292.5997619628906,0,40,45,0,0,1,0.5,0.5111111402511597,0,0,[]],70,383,[[0],[1],[0],[0],[""],[""],[1],[0],[0],[0]],[[1,"1","2","3","Click",1,"Hover",4,"Menu > Discord",""],[""],[2,2,0,0,0],["",""]],[0,"Discord",0,1]],[[97,243,0,188,48,0,0,1,0.5,0.5,0,0,[]],70,384,[[0],[1],[999],[1],[""],["{\"size\": 10, \"left\": 30, \"right\": 7}"],[1],[0],[0],[0]],[[1,"1","2","3","Click",3,"Hover",4,"Menu > RemoveAds",""],[""],[2,2,0,0,0],["",""]],[0,"RemoveMidrollAds",0,1]],[[49,281,0,30,24,0,0,1,0,0,0,0,[]],197,2250,[],[["","langbutton"]],[0,"Default",0,1]],[[80,281,0,108,25.61749267578125,0,0,1,0,0,0,0,[]],93,2539,[[2]],[["","langbutton"]],["English (US)",0,"9pt Retron2000","rgb(0,0,0)",0,10,100,0,0,0]],[[283,572,0,128,64,0,0,1,0.5,0.5,0,0,[]],70,385,[[0],[1],[0],[0],["credits"],["{\"size\": 15}"],[1],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Transition","Credits"],[""],[2,2,0,0,0],["",""]],[0,"Credits",0,1]],[[389,492,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,386,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Transition","Achievements Menu"],[""],[2,2,0,0,0],["",""]],[0,"Achievements",0,1]],[[389,572,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,387,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Transition","Options Menu"],[""],[2,2,0,0,0],["",""]],[0,"Options",0,1]],[[270,605,0,100,30,0,0,1,0,0,0,0,[]],86,2612,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","1.4.4",1,0,50,50,0,0,-2,0,"",-1,0]],[[535.5,595,0,157.5,48,0,0,1,0.5,0.5,0,0,[]],70,376,[[0],[1],[0],[1],[""],["{\"size\": 11, \"left\": 30, \"right\": 7}"],[1],[0],[0],[0]],[[1,"1","2","3","Click",1,"Hover",4,"Menu > RandomSkin",""],[""],[2,2,0,0,0],["",""]],[0,"RandomSkin",0,1]]],[]],["Tips",2,339920086021683,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[97,472,0,188,305,0,0,1,0.5,0.5,0,0,[]],76,5559,[],[[0,1,1,"TipList","TipSlider","TipScroll","","",1,1,""]],[0,"Default",0,1]],[[97,472,0,188,305,0,0,1,0.5,0.5,0,0,[]],75,5560,[],[["tipItem",1,-1,8,8,4,4,""],["TipList"],["list","TipList"]],[0,"Default",0,1]],[[97,429.5,0,180,211,0,0,0,0.5,0.5,0,0,[]],91,5563,[],[["tipItem"],[0,1,0,0,1]],[1,"Default",0,1]],[[97,429.5,0,180,211,0,0,1,0.5,0.5,0,0,[]],74,5556,[],[[0,"","","","Click",2,"Hover",2,"",""],[1,1,0,0,1],["frame",2]],[0,"Default",0,1]],[[97,429.5,0,180,211,0,0,1,0.5,0.5,0,0,[]],161,5570,[],[["text",1]],["The game will tell you when an update is found, will download it in the background and will tell you when you can reload to get the new update.",0,"bold 12pt Arial","rgb(0,0,0)",1,1,4,0,0]]],[]],["Tips Overlay",3,569870538596908,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[97,317,0,188,5,0,3.141592741012573,1,0.5,0.5,0,0,[]],88,2613,[],[],[0,"Default",1,1]],[[97,622,0,188,5,0,3.141592741012573,1,0.5,0.5,0,0,[]],88,2880,[],[],[0,"Default",1,1]],[[527.5,435,0,128,256,0,0,1,0.5,0.5,0,0,[]],42,2992,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[0],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,0],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[535.5,246.9999847412109,0,203,4,0,3.141592741012573,1,0.5,0.5,0,0,[]],88,3191,[],[],[0,"Default",1,1]],[[535.5,623,0,203,4,0,3.141592741012573,1,0.5,0.5,0,0,[]],88,3200,[],[],[0,"Default",1,1]],[[635,435,0,380,4,0,1.570796370506287,1,0.5,0.5,0,0,[]],88,3204,[],[],[0,"Default",1,1]],[[436,435,0,380,4,0,1.570796370506287,1,0.5,0.5,0,0,[]],88,3206,[],[],[0,"Default",1,1]],[[766,366,0,4,8,0,0,1,1,0,0,0,[]],38,3169,[[0],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","rightarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[766,374,0,4,8,0,0,1,1,0,0,0,[]],40,3170,[[1],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","righthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[762,387,0,4,8,0,0,1,0,0,0,0,[]],39,3171,[[4],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","rightfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[762,379,0,4,8,0,0,1,0,0,0,0,[]],41,3172,[[3],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","rightleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[762,371,0,8,16,0,0,1,0.5,0.5,0,0,[]],32,3181,[[2],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","body",3,1,0,0,1,2]],[0,"Default",0,1]],[[758,387,0,4,8,0,0,1,0,0,0,0,[]],35,3185,[[6],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","leftfoot",3,1,0,0,1,2]],[0,"Default",0,1]],[[758,379,0,4,8,0,0,1,0,0,0,0,[]],37,3187,[[5],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","leftleg",3,1,0,0,1,2]],[0,"Default",0,1]],[[762,363,0,32,32,0,0,1,0.5,1,0,0,[]],33,3188,[[7],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","head",3,1,0,0,1,2]],[0,"Default",0,1]],[[758,366,0,4,8,0,0,1,1,0,0,0,[]],34,3189,[[8],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","leftarm",3,1,0,0,1,2]],[0,"Default",0,1]],[[758,374,0,4,8,0,0,1,1,0,0,0,[]],36,3190,[[9],[0],[0],[0],[0]],[[200,-400,1500,1,0,0],[0,0,0,1,1],[0],["main","","lefthand",3,1,0,0,1,2]],[0,"Default",0,1]],[[197,208,0,246,46,0,0,1,0,0,0,0,[]],121,388,[[1],[1],["besttime"],["en-us"],[0],[1],[0],["{\"alignY\":0}"],[0],[1],[0],[0],[0]],[["",""],["tag",1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Best Time",1,0,50,0,0,0,0,0,"",-1,0]],[[186,229.5,0,268,41,0,0,1,0,0,0,0,[]],122,389,[[0],[1],[""],["en-us"],[0],[1],[1],["{\"alignY\":0}"],[0],[1],[0],[0],[0]],[["",""],["tag",1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","00:00:00",1.5,0,50,0,0,0,0,0,"",-1,0]]],[]],["Adblock",4,151913819037723,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-244.0064697265625,0,425,123.55908203125,0,0,1,0.5,0.5,0,0,[]],115,5634,[],[[6,1,"",300,1,1,"",300,"overlay",0,"PauseClose",1,1]],[0,"Default",0,1]],[[511.4325561523438,-283.2252807617188,0,32,32,0,0,1,0.5,0.5,0,0,[]],114,5635,[],[[1,"1","2","","Return",1,"Hover",1,"",""],["PauseClose"],[2,2,0,0,0]],[0,"Close",0,1]],[[142.1003723144531,-224.6805267333984,0,64,64,0,0,1,0.5,0.5,0,0,[]],108,4535,[],[],[0,"Default",0,1]],[[110.5696411132813,-301.7151794433594,0,383.1528625488281,47.28652954101563,0,0,1,0,0,0,0,[]],86,4536,[[1],[0],["adblocktitle"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Adblock detected",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[176.0726318359375,-262.8081665039063,0,316.9914245605469,76.83514404296875,0,0,1,0,0,0,0,[]],86,4537,[[1],[0],["adblockdescription"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Disable adblock and try again",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Ads",5,643906312418124,true,[255,255,255],true,0,0,1,false,false,0,0,0,[],[]],["AdPlaying",6,327120266869076,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-203.5,0,250,97,0,0,1,0.5,0.5,0,0,[]],125,390,[],[[6,1,"",300,1,1,"",300,"overlay",1,"",1,1],[]],[0,"Default",0,1]],[[209,-275,0,222,139,0,0,1,0,0,0,0,[]],86,391,[[1],[1],["adplaying"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","An ad is playing right now...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-154.5756988525391,-294.3137512207031,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,5508,[],[["overlay"]],[0,"Default",0,1]]],[]],["NoAd",7,549340491059294,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-226.25,0,250,97,0,0,1,0.5,0.5,0,0,[]],126,392,[],[[6,1,"",300,1,1,"",300,"overlay",0,"NoAdClose",1,1]],[0,"Default",0,1]],[[209,-297.75,0,222,139,0,0,1,0,0,0,0,[]],86,393,[[1],[1],["ad1"],["en-us"],[0],[1],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","No ad available...",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[429,-259,0,32,32,0,0,1,0.5,0.5,0,0,[]],114,394,[],[[1,"1","2","","Return",1,"Hover",1,"",""],["NoAdClose"],[2,2,0,0,0]],[0,"Close",0,1]]],[]],["Banner",8,131442299412979,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]],["NoMoreAds",9,646916076276542,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[320,-218,0,425,200,0,0,1,0.5,0.5,0,0,[]],127,395,[],[[6,1,"",300,1,1,"",300,"overlay",0,"MidrollClose",1,1]],[0,"Default",0,1]],[[116,-311,0,396,48.57135009765625,0,0,1,0,0,0,0,[]],86,396,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Midrolls are no more",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[120,-274,0,401,144,0,0,1,0,0,0,0,[]],86,397,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Midroll ads will no longer appear in the game",1.1,0,50,50,0,0,-2,0,"",-1,0]],[[512,-296,0,32,32,0,0,1,0.5,0.5,0,0,[]],114,398,[],[[1,"1","2","","Return",1,"Hover",1,"",""],["MidrollClose"],[2,2,0,0,0]],[0,"Close",0,1]]],[]],["Langages",10,952189195647780,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[-195,853.98681640625,0,204.302001953125,314.5870971679688,0,0,1,0.5,0.5,0,0,[]],129,4435,[],[[6,1,"",300,1,1,"",300,"overlay",0,"LanguagesClose",1,1],["LanguagesDialog"]],[0,"Default",0,1]],[[-113,717,0,32,32,0,0,1,0.5,0.5,0,0,[]],114,4439,[],[[1,"1","2","","Return",1,"Hover",1,"",""],["LanguagesClose"],[2,2,0,0,0]],[0,"Close",0,1]],[[-296,700,0,169.3356018066406,44.21400451660156,0,0,1,0,0,0,0,[]],86,4440,[[1],[1],["selectlang"],["en-us"],[0],[0],[0],["{\"size\": 12}"],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Select language",1.2,0,50,50,0,0,-2,0,"",-1,0]],[[-82.15546417236328,747,0,16,16,0,0,1,0.5,0.5,0,0,[]],88,4441,[],[],[1,"Default",0,1]],[[-82.15546417236328,996,0,16,16,0,3.141592741012573,1,0.5,0.5,0,0,[]],88,4442,[],[],[1,"Default",0,1]],[[-195.2174987792969,743,0,193.5649871826172,10,0,3.141592741012573,1,0.5,0.5,0,0,[]],88,4463,[],[],[0,"Default",1,1]],[[-195.2174987792969,999,0,193.5649871826172,10,0,3.141592741012573,1,0.5,0.5,0,0,[]],88,4515,[],[],[0,"Default",1,1]]],[]],["LanguagesList",11,424370021120819,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[-195.2174987792969,875,0,193.5649871826172,260,0,0,1,0.5,0.5,0,0,[]],76,4445,[],[[0,1,1,"LanguagesList","LanguagesSlider","LanguagesScroll","","",1,1,"LanguagesDialog"]],[0,"Default",0,1]],[[-195.2174987792969,875,0,193.5649871826172,260,0,0,1,0.5,0.5,0,0,[]],75,4446,[],[["languagesItem",1,-1,4,4,0,4,""],["LanguagesList"],["list","LanguagesList"]],[0,"Default",0,1]],[[-196.2174987792969,780,0,185.5649871826172,60,0,0,0,0.5,0.5,0,0,[]],91,4472,[],[["languagesItem"],[0,1,0,0,1]],[1,"Default",0,1]],[[-196.2174987792969,780,0,185.5649871826172,60,0,0,1,0.5,0.5,0,0,[]],200,4534,[],[[1,"","","","Click",0,"Hover",0,"",""],["",0]],[0,"Default",0,1]],[[-281.8966674804688,757,0,55,45,0,0,1,0,0,0,0,[]],199,4528,[],[["anim",3]],[0,"Default",0,1]],[[-82.15546417236328,872,0,11,228,0,0,1,0.5,0.5,0,0,[]],113,4443,[],[["LanguagesScroll"]],[1,"Default",0,1]],[[-82.15546417236328,770,0,11,24,0,0,1,0.5,0.5,0,0,[]],99,4444,[],[["LanguagesSlider"]],[1,"Default",0,1]],[[-227.2174987792969,755.308837890625,0,121.5649871826172,54.69110107421875,0,0,1,0,0,0,0,[]],161,4538,[],[["name",1]],["test",0,"11pt Retron2000","rgb(0,0,0)",1,1,0,0,0]]],[]]],[[null,22,401,[],[],[0,6,1]],[null,24,5440,[],[],[]],[null,27,2609,[],[],[10,1,1]],[null,28,5489,[],[],[]],[null,31,1219,[],[],["lang",""]]],[]],["Credits",640,640,true,"Main Menu",137477814501701,[["Layer 0",0,253005755209792,true,[255,255,255],false,0,0,1,false,false,0,0,0,[[[320,352,0,353,639,0,-1.570796370506287,1,0,0.5,0,0,[]],81,402,[],[],[50,60,0,200,4,100,-2,700,700,0,4,4,-150,0,0,800,0,0,1]],[[132,378,0,376,26,0,0,1,0,0,0,0,[]],73,1050,[[1],[1],["madebydedra"],["en-us"],[0],[0],[0],["{\"alignY\":0}"],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Made by Dedra",1,0,50,0,0,0,0,0,"",-1,0]]],[]],["Layer 1",1,823045848862222,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,527,0,256,128,0,0,1,0.5,0.5,0,0,[]],70,403,[[0],[1],[0],[0],[""],["{\"size\": 32, \"alignY\": 63}"],[1],[0],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Transition","Main Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[139,409,0,362,26,0,0,1,0,0,0,0,[]],73,404,[[1],[1],["poweredby"],["en-us"],[0],[0],[0],["{\"alignY\":0}"],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Powered by Construct 2",1,0,50,0,0,0,0,0,"",-1,0]],[[320,200,0,360,288,0,0,1,0.5,0.5,0,0,[]],112,405,[],[],[0,"Default",0,1]]],[]]],[],[]],["Options Menu",640,640,true,"Main Menu",159079742952632,[["Layer 0",0,217581173958401,true,[255,255,255],false,0,0,1,false,false,0,0,0,[[[320,352,0,353,639,0,-1.570796370506287,1,0,0.5,0,0,[]],81,406,[],[],[50,60,0,200,4,100,-2,700,700,0,4,4,-150,0,0,800,0,0,1]]],[]],["Layer 1",1,619305038670525,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,467,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,414,[[0],[1],[0],[0],["inputs"],["{\"size\": 28, \"alignY\": 61}"],[1],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Options > Inputs",""],[""],[2,2,0,0,0],["",""]],[0,"Inputs",0,1]],[[146,238,0,64,64,0,0,1,0.5,0.5,0,0,[]],96,2545,[[1]],[[1,1,"0,2","1,3","","Click",3,"Hover",2,"Options > Hard",""]],[0,"Default",0,1]],[[178.25,206,0,151,64,0,0,1,0,0,0,0,[]],73,5417,[[1],[1],["hard"],["en-us"],[0],[0],[0],["{\"alignX\": 5, \"alignY\": 55}"],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Hard Mode",1,0,50,50,0,0,0,0,"",-1,0]],[[366,238,0,64,64,0,0,1,0.5,0.5,0,0,[]],96,2605,[[2]],[[1,1,"0,2","1,3","","Click",3,"Hover",2,"Options > Advanced",""]],[0,"Default",0,1]],[[396.75,206,0,220,64,0,0,1,0,0,0,0,[]],73,2606,[[1],[1],["advanced"],["en-us"],[0],[0],[0],["{\"alignX\": 5, \"alignY\": 55}"],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Advanced Mode",1,0,50,50,0,0,0,0,"",-1,0]],[[210,346,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3209,[[0],[1],[0],[0],["savedata"],["{\"size\": 28, \"alignY\": 61}"],[1],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Options > Save",""],[""],[2,2,0,0,0],["",""]],[0,"Save",0,1]],[[430,346,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,4142,[[0],[1],[0],[0],["mobilemode"],["{\"size\": 28, \"alignY\": 61}"],[1],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Options > Mode",""],[""],[2,2,0,0,0],["",""]],[0,"MobileMode",0,1]],[[320,568,0,128,64,0,0,1,0.5,0.5,0,0,[]],70,4540,[[0],[1],[0],[0],["back"],["{\"size\": 18, \"alignY\": 65}"],[1],[0],[0],[0]],[[1,"1","2","","Return",1,"Hover",2,"Menu > Transition","Main Menu"],[""],[0,0,0,0,0],["",""]],[0,"Back",0,1]]],[]],["NoSafari",2,647761798668948,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[329,94,0,382,22,0,0,1,0.5,0.5,0,0,[]],98,408,[["Music"]],[[1,0,"MusicSliderButton",0,1,0.01]],[0,"Default",0,1]],[[516,94,0,22,48,0,0,1,0.5,0.5,0,0,[]],99,409,[],[["MusicSliderButton"]],[0,"Default",0,1]],[[329,169,0,382,22,0,0,1,0.5,0.5,0,0,[]],98,410,[["Sounds"]],[[1,0,"SoundSliderButton",0,1,0.01]],[0,"Default",0,1]],[[516,169,0,22,48,0,0,1,0.5,0.5,0,0,[]],99,411,[],[["SoundSliderButton"]],[0,"Default",0,1]],[[148,46,0,362,26,0,0,1,0,0,0,0,[]],73,412,[[1],[1],["music"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Music",1,0,50,0,0,0,0,0,"",-1,0]],[[148,121,0,362,26,0,0,1,0,0,0,0,[]],73,413,[[1],[1],["sounds"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Sound",1,0,50,0,0,0,0,0,"",-1,0]],[[107,169,0,32,32,0,0,1,0.5,0.5,0,0,[]],96,4529,[[-1]],[[1,1,"0,2","1,3","","Click",3,"Hover",2,"Options > Hard",""]],[0,"Audio",0,1]],[[107,94,0,32,32,0,0,1,0.5,0.5,0,0,[]],96,4539,[[-2]],[[1,1,"0,2","1,3","","Click",3,"Hover",2,"Options > Hard",""]],[0,"Audio",0,1]]],[]],["Inputs",3,603693529082332,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,-217.2737731933594,0,524,320,0,0,1,0.5,0.5,0,0,[]],92,415,[],[[1,1,"",300,1,1,"",300,"",0,"OptionsDialogClose",1,1]],[2,2,2,2,1,1,0,4,1]],[[556.3807373046875,-352,0,32,32,0,0,1,0.5,0.5,0,0,[]],70,416,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["OptionsDialogClose"],[2,2,0,0,0],["",""]],[0,"Close",0,1]],[[529.5689086914062,-256.949462890625,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,417,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Options > Edit","3"],[""],[2,2,0,0,0],["",""]],[0,"Edit",0,1]],[[529.5689086914062,-111.8217315673828,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,418,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Options > Edit","2"],[""],[2,2,0,0,0],["",""]],[0,"Edit",0,1]],[[276.0244750976563,-256.949462890625,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,419,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Options > Edit","1"],[""],[2,2,0,0,0],["",""]],[0,"Edit",0,1]],[[276.0244750976563,-111.8217315673828,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,420,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Options > Edit","0"],[""],[2,2,0,0,0],["",""]],[0,"Edit",0,1]],[[139,-365.4052734375,0,362,48.62753295898438,0,0,1,0,0,0,0,[]],73,652,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Inputs",2,0,50,0,0,0,0,0,"",-1,0]],[[72,-287,0,167,24.43899917602539,0,0,1,0,0,0,0,[]],73,1051,[[1],[1],["up"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Up",1,0,50,0,0,0,0,0,"",-1,0]],[[324,-287,0,167,24.43899917602539,0,0,1,0,0,0,0,[]],73,1052,[[1],[1],["down"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Down",1,0,50,0,0,0,0,0,"",-1,0]],[[324,-142,0,167,24.43899917602539,0,0,1,0,0,0,0,[]],73,1220,[[1],[1],["right"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Right",1,0,50,0,0,0,0,0,"",-1,0]],[[72,-142,0,167,24.43899917602539,0,0,1,0,0,0,0,[]],73,1222,[[1],[1],["left"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Left",1,0,50,0,0,0,0,0,"",-1,0]],[[72,-266,0,167,59,0,0,1,0,0,0,0,[]],93,1223,[[1]],[["",""]],["Text",0,"14pt Arial","rgb(0,0,0)",0,50,0,0,0,0]],[[325.4230041503906,-266,0,167,59,0,0,1,0,0,0,0,[]],93,1224,[[3]],[["",""]],["Text",0,"14pt Arial","rgb(0,0,0)",0,50,0,0,0,0]],[[324,-121,0,167,59,0,0,1,0,0,0,0,[]],93,1225,[[2]],[["",""]],["Text",0,"14pt Arial","rgb(0,0,0)",0,50,0,0,0,0]],[[72,-121,0,167,59,0,0,1,0,0,0,0,[]],93,1226,[[0]],[["",""]],["Text",0,"14pt Arial","rgb(0,0,0)",0,50,0,0,0,0]]],[]],["Save",4,610679346274423,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[320,810,0,524,320,0,0,1,0.5,0.5,0,0,[]],117,3210,[],[[1,1,"",300,1,1,"",300,"",0,"SaveDialogClose",1,1]],[2,2,2,2,1,1,0,4,1]],[[129.9087829589844,662,0,380.1824340820313,48.62753295898438,0,0,1,0,0,0,0,[]],73,3219,[[1],[1],["savedatatext"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Save data",2,0,50,0,0,0,0,0,"",-1,0]],[[554,676,0,32,32,0,0,1,0.5,0.5,0,0,[]],70,3223,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["SaveDialogClose"],[2,2,0,0,0],["",""]],[0,"Close",0,1]],[[58,767.058349609375,0,524,134.941650390625,0,0,1,0,0,0,0,[]],118,3225,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","24/24",4,0,50,50,0,0,0,0,"",-1,0]],[[150,939,0,170,48,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3226,[[0],[1],[0],[0],["clearsave"],["{\"size\": 14, \"alignY\": 70, \"left\": 40, \"right\": 10}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Options > ClearSave",""],[""],[2,2,0,0,0],["",""]],[0,"ClearSave",0,1]],[[109.6605682373047,735.2481689453125,0,420.6788635253906,48.62753295898438,0,0,1,0,0,0,0,[]],73,3227,[[1],[1],["collectedcoins"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Collected coins:",1.5,0,50,0,0,0,0,0,"",-1,0]],[[302,939,0,32,32,0,0,1,0.5,0.5,0,0,[]],70,3228,[[0],[1],[1],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","3","Click",1,"Hover",0,"Options > Confirm",""],[""],[2,2,0,0,0],["",""]],[1,"Confirm",0,1]],[[260,939,0,32,32,0,0,1,0.5,0.5,0,0,[]],70,3229,[[0],[1],[2],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","3","Click",1,"Hover",0,"Options > Cancel",""],[""],[2,2,0,0,0],["",""]],[1,"Cancel",0,1]],[[491,939,0,170,48,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3238,[[0],[1],[0],[0],["clearcoins"],["{\"size\": 14, \"alignY\": 70, \"left\": 40, \"right\": 10}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Options > ClearCoins",""],[""],[2,2,0,0,0],["",""]],[0,"ClearCoins",0,1]],[[338,939,0,32,32,0,0,1,0.5,0.5,0,0,[]],70,3242,[[0],[1],[3],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","3","Click",1,"Hover",0,"Options > Confirm2",""],[""],[2,2,0,0,0],["",""]],[1,"Confirm",0,1]],[[380,939,0,32,32,0,0,1,0.5,0.5,0,0,[]],70,3244,[[0],[1],[4],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","3","Click",1,"Hover",0,"Options > Cancel2",""],[""],[2,2,0,0,0],["",""]],[1,"Cancel",0,1]]],[]],["Mode",5,699790696933878,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[-341,321,0,524,320,0,0,1,0.5,0.5,0,0,[]],128,4348,[],[[1,1,"",300,1,1,"",300,"",0,"ModeDialogClose",1,1]],[2,2,2,2,1,1,0,4,1]],[[-103.0413208007813,184.5704040527344,0,32,32,0,0,1,0.5,0.5,0,0,[]],70,4349,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["ModeDialogClose"],[2,2,0,0,0],["",""]],[0,"Close",0,1]],[[-461.5,260,0,64,64,0,0,1,0.5,0.5,0,0,[]],96,4417,[[10]],[[1,1,"0,2","1,3","","Click",3,"Hover",2,"Options > Mode Auto",""]],[0,"Default",0,1]],[[-428.5,228,0,240,64,0,0,1,0,0,0,0,[]],73,4418,[[1],[1],["autodetectinput"],["en-us"],[0],[0],[0],["{\"alignX\": 5, \"alignY\": 55}"],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Auto detect",1,0,50,50,0,0,0,0,"",-1,0]],[[-461.5,340,0,64,64,0,0,1,0.5,0.5,0,0,[]],96,4421,[[11]],[[1,1,"0,2","1,3","","Click",3,"Hover",2,"Options > Mode Mobile",""]],[0,"Default",0,1]],[[-428.5,308,0,240,64,0,0,1,0,0,0,0,[]],73,4422,[[1],[1],["forcemobile"],["en-us"],[0],[0],[0],["{\"alignX\": 5, \"alignY\": 55}"],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Force Mobile",1,0,50,50,0,0,0,0,"",-1,0]],[[-461.5,420,0,64,64,0,0,1,0.5,0.5,0,0,[]],96,4378,[[12]],[[1,1,"0,2","1,3","","Click",3,"Hover",2,"Options > Mode Desktop",""]],[0,"Default",0,1]],[[-428.5,388,0,240,64,0,0,1,0,0,0,0,[]],73,4428,[[1],[1],["forcedesktop"],["en-us"],[0],[0],[0],["{\"alignX\": 5, \"alignY\": 55}"],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Force Desktop",1,0,50,50,0,0,0,0,"",-1,0]],[[-563.1651611328125,161.5516204833984,0,444.3302612304688,64,0,0,1,0,0,0,0,[]],73,4429,[[1],[1],["whatdeviceinput"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","What is your device?",1,0,50,50,0,0,0,0,"",-1,0]]],[]]],[],[]],["Level Menu",640,640,true,"Main Menu",822562428873563,[["BG",0,616650339615023,true,[255,255,255],false,0,0,1,false,false,0,0,0,[[[320,320,0,640,640,0,0,0.300000011920929,0.5,0.5,0,0,[]],171,4705,[],[[1,0.5,0,0,0]],[0,"Default",0,1]]],[]],["Layer 0",1,671483369834853,true,[255,255,255],true,0,1,1,false,true,0,0,0,[[[100,393,0,128,128,0,0,1,0.5,0.5,0,0,[]],119,4676,[[0]],[[1,"1","2","3","Click",2,"Hover",0,"",""],[1,1,0,0,1],["frame",2],["",""]],[0,"Default",0,1]],[[36,329,0,128,128,0,0,1,0,0,0,0,[]],120,4679,[[0],[0],[""],["en-us"],[0],[0],[0],["{\"alignX\": 50, \"alignY\": 60}"],[1],[0],[0],[0],[0]],[["",""],["tag",1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","40",3,0,65,55,0,0,0,0,"",-1,0]],[[247,393,0,128,128,0,0,1,0.5,0.5,0,0,[]],119,2572,[[1]],[[1,"1","2","3","Click",2,"Hover",0,"",""],[1,1,0,0,1],["frame",2],["",""]],[0,"Default",0,1]],[[393,393,0,128,128,0,0,1,0.5,0.5,0,0,[]],119,4681,[[2]],[[1,"1","2","3","Click",2,"Hover",0,"",""],[1,1,0,0,1],["frame",2],["",""]],[0,"Default",0,1]],[[540,393,0,128,128,0,0,1,0.5,0.5,0,0,[]],119,4696,[[3]],[[1,"1","2","3","Click",2,"Hover",0,"",""],[1,1,0,0,1],["frame",2],["",""]],[0,"Default",0,1]],[[100,536,0,128,128,0,0,1,0.5,0.5,0,0,[]],119,2573,[[4]],[[1,"1","2","3","Click",2,"Hover",0,"",""],[1,1,0,0,1],["frame",2],["",""]],[0,"Default",0,1]],[[247,536,0,128,128,0,0,1,0.5,0.5,0,0,[]],119,4695,[[5]],[[1,"1","2","3","Click",2,"Hover",0,"",""],[1,1,0,0,1],["frame",2],["",""]],[0,"Default",0,1]],[[393,536,0,128,128,0,0,1,0.5,0.5,0,0,[]],119,4697,[[6]],[[1,"1","2","3","Click",2,"Hover",0,"",""],[1,1,0,0,1],["frame",2],["",""]],[0,"Default",0,1]],[[540,536,0,128,128,0,0,1,0.5,0.5,0,0,[]],119,4698,[[7]],[[1,"1","2","3","Click",2,"Hover",0,"",""],[1,1,0,0,1],["frame",2],["",""]],[0,"Default",0,1]],[[41,289.5,0,568,38,0,0,1,0,0,0,0,[]],121,4699,[[1],[1],["individuallevels"],["en-us"],[0],[0],[0],["{\"alignX\": 0, \"alignY\":0}"],[0],[1],[0],[0],[0]],[["",""],["tag",1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Individual Levels",1.5,0,0,0,0,0,0,0,"",-1,0]],[[257,234,0,128,64,0,0,1,0.5,0.5,0,0,[]],70,4702,[[0],[1],[0],[0],["playlevelmenu"],["{\"size\": 22, \"alignY\": 75}"],[1],[0],[0],[0]],[[1,"1","2","3","Click",1,"Hover",4,"Menu > PlaySection",""],[""],[2,2,0,0,0],["",""]],[0,"Play",0,1]],[[329.3125,233,0,265.6874694824219,41,0,0,1,0,0,0,0,[]],122,4703,[[0],[1],[""],["en-us"],[0],[1],[1],["{\"alignX\": 0, \"alignY\":0}"],[0],[1],[0],[0],[0]],[["",""],["tag",1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","--:--:--",2,0,50,0,0,0,0,0,"",-1,0]],[[330.7169189453125,212,0,251.7830810546875,46,0,0,1,0,0,0,0,[]],121,4704,[[1],[1],["besttime"],["en-us"],[0],[0],[0],["{\"alignX\": 0, \"alignY\":0}"],[0],[1],[0],[0],[0]],[["",""],["tag",1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Best Time",1,0,0,0,0,0,0,0,"",-1,0]],[[11,82.5,0,618,121,0,0,1,0,0,0,0,[]],123,5491,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""],["tag",1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","OvO Space Progam",3,0,50,0,0,0,0,0,"",-1,0]],[[326.3499755859375,38,0,676.408203125,84,0,0,1,0.5,0.5,6,0,[]],172,2574,[],[],[0,"Default",0,1]],[[163.36279296875,452.3695983886719,0,48,48,0,0,1,0.75,0.75,0,0,[]],66,5513,[["level10"]],[[0],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]]],[]],["Locked",2,264385062734674,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[70,38,0,128,64,0,0,1,0.5,0.5,0,0,[]],70,2575,[[0],[1],[0],[0],["back"],["{\"size\": 18, \"alignY\": 65}"],[1],[0],[0],[0]],[[1,"1","2","","Return",1,"Hover",2,"Menu > Transition","Main Menu"],[""],[0,0,0,0,0],["",""]],[0,"Back",0,1]],[[10,78.24189758300781,0,620,4,0,0,1,0,0,0,0,[]],51,2576,[],[[0],[1],[1,100,""]],[0,0]],[[603,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,2578,[[0],[1],[2],[0],[""],[""],[1],[0],[0],[0]],[[1,"1","2","3","Click",1,"Hover",0,"Menu > NextSection",""],[""],[2,0,1,0,0],["",""]],[0,"ArrowRight",0,1]],[[533,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,2579,[[0],[1],[1],[0],[""],[""],[1],[0],[0],[0]],[[1,"1","2","3","Click",1,"Hover",0,"Menu > PrevSection",""],[""],[2,0,1,0,0],["",""]],[0,"ArrowLeft",0,1]],[[318,8,0,180,60,0,0,1,0,0,0,0,[]],124,5500,[[0],[1],[""],["en-us"],[0],[1],[1],["{\"alignX\": 100, \"alignY\": 80}"],[0],[1],[0],[0],[0]],[["",""],["tag",1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","1/5",2,0,100,50,0,0,0,0,"",-1,0]]],[]],["Ads",3,331859507310583,true,[255,255,255],true,0,0,1,false,false,0,0,0,[],[]],["Camera",4,649931801375900,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[320,320,0,32,32,0,0,1,0.5,0.5,0,0,[]],170,2580,[],[[1],[0,0,23,"100,100",0,2.5,1]],[1,"Default",0,1]]],[]]],[[null,7,2581,[],[],["list","lang"]]],[]],["Achievements Menu",640,640,true,"Main Menu",388152367234853,[["Layer 0",0,561555676564209,true,[255,255,255],false,0,0,1,false,false,0,0,0,[[[320,353,0,353,639,0,-1.570796370506287,1,0,0.5,0,0,[]],81,2582,[],[],[50,60,0,200,4,100,-2,700,700,0,4,4,-150,0,0,800,0,0,1]]],[]],["Layer 1",1,558698212988182,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[341,157,0,287,55,0,0,1,0,0,0,0,[]],105,5418,[],[],[2,2,2,2,0,1,0,0,1]],[[341,411,0,287,54,0,0,1,0,0,0,0,[]],105,5419,[],[],[2,2,2,2,0,1,0,0,1]],[[341,225,0,287,178,0,0,1,0,0,0,0,[]],105,5423,[],[],[2,2,2,2,0,1,0,0,1]],[[483,78,0,132,132,0,0,1,0.5,0.5,0,0,[]],105,5422,[],[],[2,2,2,2,0,1,0,4,1]],[[320,570,0,256,128,0,0,1,0.5,0.5,0,0,[]],70,2583,[[0],[1],[0],[0],[""],["{\"size\": 32, \"alignY\": 63}"],[1],[0],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Transition","Main Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[323,28,0,16,16,0,0,1,0.5,0.5,0,0,[]],88,2585,[],[],[0,"Default",0,1]],[[323,477,0,16,16,0,3.141592741012573,1,0.5,0.5,0,0,[]],88,2586,[],[],[0,"Default",0,1]],[[483,78,0,128,128,0,0,1,0.5,0.5,0,0,[]],95,2587,[],[["icon",4],[1,1,0,0,1]],[0,4]],[[343,160,0,283,50,0,0,1,0,0,0,0,[]],94,2588,[[1],[0],[""],["en-us"],[0],[1],[0],[""],[0],[1],[0],[0],[0],["title"]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","",1,0,50,50,0,0,0,0,"",-1,0]],[[343,227,0,283,174,0,0,1,0,0,0,0,[]],94,2589,[[1],[0],[""],["en-us"],[0],[1],[0],[""],[0],[1],[0],[0],[0],["description"]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","",1,0,50,50,0,0,0,0,"",-1,0]],[[343,413,0,283,50,0,0,1,0,0,0,0,[]],94,2590,[[1],[0],[""],["en-us"],[1],[0],[0],[""],[0],[1],[0],[0],[0],["acquired"]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","",1,0,50,50,0,0,0,0,"",-1,0]],[[323,252,0,11,428,0,0,1,0.5,0.5,0,0,[]],113,2591,[],[["Scroll"]],[0,"Default",0,1]],[[323,50,0,11,24,0,0,1,0.5,0.5,0,0,[]],99,5567,[],[["Slider"]],[0,"Default",0,1]]],[]],["Levels",2,512966525676444,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-92,58,0,128,128,0,0,0,0.5,0.5,0,0,[]],91,2592,[],[["achievementItem"],[0,1,0,0,1]],[1,"Default",0,1]],[[167,252.5,0,292,465,0,0,1,0.5,0.5,0,0,[]],76,2593,[],[[0,1,1,"AchievementList","Slider","Scroll","","",1,1,""]],[0,"Default",0,1]],[[167,252.5,0,292,465,0,0,1,0.5,0.5,0,0,[]],75,2595,[],[["achievementItem",2,-1,12,12,12,12,""],["AchievementList"],["list","Achievements"]],[0,"Default",0,1]],[[-92,58,0,128,128,0,0,1,0.5,0.5,0,0,[]],74,2596,[],[[1,"","","","Click",2,"Hover",2,"",""],[1,1,0,0,1],["title",3]],[0,"Default",0,1]],[[-92,58,0,128,128,0,0,1,0.5,0.5,0,0,[]],97,2598,[],[["icon",4],[1,1,0,0,1]],[0,4]]],[]],["Ads",3,147874670421458,true,[255,255,255],true,0,0,1,false,false,0,0,0,[],[]]],[],[]],["Skins Menu",640,640,true,"Main Menu",105863768299262,[["Layer 0",0,283939012159318,true,[255,255,255],false,0,0,1,false,false,0,0,0,[[[320,353,0,353,639,0,-1.570796370506287,1,0,0.5,0,0,[]],81,5420,[],[],[50,60,0,200,4,100,-2,700,700,0,4,4,-150,0,0,800,0,0,1]],[[5,418,0,630,9,0,0,1,0,0,0,0,[]],51,5432,[],[[0],[1],[1,100,""]],[0,0]],[[535,316,0,91,9,0,0,1,0,0,0,0,[]],52,5444,[],[[0],[0]],[0,0]],[[11,281,0,71,8,0,0,1,0,0,0,0,[]],45,5445,[],[[0],[1]],[0,0]],[[14.00000381469727,189,0,231,9,0,1.570796370506287,1,0,0,0,0,[]],51,5446,[],[[0],[1],[1,100,""]],[0,0]],[[125,189,0,101,9,0,1.570796370506287,1,0,0,0,0,[]],51,5447,[],[[0],[1],[1,100,""]],[0,0]],[[587,165.0000457763672,0,488,9,0,3.141592741012573,1,0,0,0,0,[]],51,5448,[],[[0],[1],[1,100,""]],[0,0]],[[635,189,0,231,9,0,1.570796370506287,1,0,0,0,0,[]],51,5449,[],[[0],[1],[1,100,""]],[0,0]],[[587,38,0,555,9,0,3.141592741012573,1,0,0,0,0,[]],51,5425,[],[[0],[1],[1,100,""]],[0,0]],[[41,29,0,136,9,0,1.570796370506287,1,0,0,0,0,[]],51,5426,[],[[0],[1],[1,100,""]],[0,0]],[[41,156,0,58,9,0,0,1,0,0,0,0,[]],52,5430,[],[[0],[0]],[0,0]],[[62,108,0,32,32,0,0,1,0.5,0.5,0,0,[]],49,5450,[[0],[1],[0],[-1],[-1],[999],[0]],[[0],[]],[0,"Default",0,1]],[[70,162,0,50,55,0,0,1,0.5,0.5,0,0,[]],50,5451,[[-1],[0],[0],[0],[0],[0],[1]],[[0],[1,0,1,1,"F 200",200,0,0,180,0,0,0,0,0,0],[0,0,0,0,1]],[1,"Default",0,1]],[[65,76,0,64,64,0,0,1,0.5,0.5,0,0,[]],60,5478,[["level0"]],[[0],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,1]]],[]],["Layer 1",1,439068306650109,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[97.5,433,0,202,55,0,0,1,0,0,0,0,[]],105,5421,[],[],[2,2,2,2,0,1,0,0,1]],[[610,28,0,16,16,0,0,1,0.5,0.5,0,0,[]],88,5428,[],[],[0,"Default",0,1]],[[610,165,0,16,16,0,3.141592741012573,1,0.5,0.5,0,0,[]],88,5429,[],[],[0,"Default",0,1]],[[99.5,435,0,198,51,0,0,1,0,0,0,0,[]],94,5431,[[1],[0],[""],["en-us"],[0],[1],[0],["{\"alignY\": 65}"],[0],[1],[0],[0],[0],["title"]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","",1,0,50,50,0,0,-3,0,"",-1,0]],[[320,320,0,32,64,0,0,1,0.5,0.5,0,0,[]],42,5441,[["run"],[0],[1],[1],[0],[0.8],[0.5],[0],[1],[0],[0],[0],["ovo+"],[2],[0],[0],[0],[""],[0],[3],[0],[0],[0],[0],[0],[0],[0]],[[330,1500,1500,650,1500,1000,1,0,0,1],[],[0,0],[0,10000,360,1]],[1,"Default",0,1]],[[6,433,0,87,55,0,0,1,0,0,0,0,[]],105,5454,[],[],[2,2,2,2,0,1,0,0,1]],[[8,435,0,83,51,0,0,1,0,0,0,0,[]],94,5455,[[0],[1],[""],["en-us"],[0],[1],[1],["{\"alignX\": 80, \"alignY\": 65}"],[0],[1],[0],[0],[0],["money"]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","0",1,0,100,50,0,0,-3,0,"",-1,0]],[[24,460,0,26,26,0,0,1,0.5,0.5,0,0,[]],60,5457,[[""]],[[0],[400,-200,800,0,0,0],[0,0,0,1,1]],[0,"Default",0,0]],[[304.5,433,0,198,55,0,0,1,0,0,0,0,[]],105,5424,[],[],[2,2,2,2,0,1,0,0,1]],[[306.5,435,0,194,51,0,0,1,0,0,0,0,[]],94,5433,[[1],[0],[""],["en-us"],[0],[1],[0],["{\"alignY\": 65}"],[0],[1],[0],[0],[0],["price"]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","",1,0,50,50,0,0,-3,0,"",-1,0]],[[571,461,0,128,55,0,0,1,0.5,0.5090909004211426,0,0,[]],106,5473,[],[[1,"1","2","3","Click",1,"Hover",1,"",""],[""],[2,2,0,0,0]],[0,"Default",0,1]],[[511,437,0,120,47,0,0,1,0,0,0,0,[]],94,5458,[[1],[0],[""],["en-us"],[0],[1],[0],["{\"alignY\": 65}"],[0],[1],[0],[0],[0],["button"]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","",1,0,50,50,0,0,-3,0,"",-1,0]],[[320,565,0,256,128,0,0,1,0.5,0.5,0,0,[]],70,5427,[[0],[1],[0],[0],["back"],["{\"size\": 32, \"alignY\": 63}"],[1],[0],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Transition","Main Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[610,96.5,0,11,117,0,0,1,0.5,0.5,0,0,[]],113,5568,[],[["Scroll"]],[0,"Default",0,1]],[[610,50,0,11,24,0,0,1,0.5,0.5,0,0,[]],99,5569,[],[["Slider"]],[0,"Default",0,1]]],[]],["MenuUI",2,336486667513286,false,[255,255,255],true,0,0,1,false,false,0,0,0,[[[244.4479522705078,424.5482788085938,0,118.6138687133789,474.4554748535156,0,0,1,0.5,1,0,0,[]],69,5514,[["right"]],[[2,1,0,1,0]],[0,"Default",0,1]],[[84.44795227050781,424.5482788085938,0,118.6138687133789,474.4554748535156,0,0,1,0.5,1,0,0,[]],69,5515,[["left"]],[[2,1,0,1,0]],[0,"Default",1,1]],[[564.4481201171875,424.5482788085938,0,118.6138687133789,474.4554748535156,0,0,1,0.5,1,0,0,[]],69,5516,[["up"]],[[2,1,0,1,0]],[0,"Default",3,1]],[[404.447998046875,424.5482788085938,0,118.6138687133789,474.4554748535156,0,0,1,0.5,1,0,0,[]],69,5517,[["down"]],[[2,1,0,1,0]],[0,"Default",2,1]]],[]],["Levels",3,915135473507469,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-92,58,0,110,110,0,0,0,0.5,0.5,0,0,[]],91,5434,[],[["achievementItem"],[0,1,0,0,1]],[1,"Default",0,1]],[[310,96.5,0,572,153,0,0,1,0.5,0.5,0,0,[]],76,5436,[],[[0,1,1,"AchievementList","Slider","Scroll","","",1,1,""]],[0,"Default",0,1]],[[310,96.5,0,572,153,0,0,1,0.5,0.5,0,0,[]],75,5437,[],[["achievementItem",4,-1,12,12,12,40,""],["AchievementList"],["list","Skins"]],[0,"Default",0,1]],[[-92,58,0,110,110,0,0,1,0.5,0.5,0,0,[]],74,5438,[],[[1,"","","","Click",2,"Hover",2,"",""],[1,1,0,0,1],["title",3]],[0,"Default",0,1]],[[-92,58,0,110,110,0,0,1,0.5,0.5,0,0,[]],97,5439,[],[["icon",4],[1,1,0,0,1]],[0,4]]],[]],["Ads",4,284290074541066,true,[255,255,255],true,0,0,1,false,false,0,0,0,[],[]]],[],[]],["Common Menus",640,640,true,"Common Menus",303725593686539,[["End Card",0,432267425014390,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],78,2607,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[12.04449462890625,194,0,615.9109497070312,67,0,0,1,0,0,0,0,[]],79,2608,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Timer for this level",2.5,0,0,0,0,0,-10,0,"",-1,0]],[[17.546875,248,0,604.90625,105,0,0,1,0,0,0,0,[]],80,2610,[[0],[0],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","13:40:40",4,0,63,50,0,0,-10,0,"",-1,0]],[[115.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,2611,[[0],[1],[0],[0],["replay"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Replay",""],[""],[2,2,0,0,0],["",""]],[0,"Replay",0,1]],[[524.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3086,[[0],[1],[0],[0],["next"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Next",""],[""],[2,2,0,0,0],["",""]],[0,"Next",0,1]],[[320.5,396,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3087,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > Back","Level Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[320.75,521.8050537109375,0,384,96,0,0,1,0.5,0.5,0,0,[]],70,3088,[[1],[1],[0],[0],[""],["{\"size\": 22, \"left\": 70, \"right\": 18, \"alignY\": 60}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > DownloadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"DownloadReplay",0,1]]],[]],["Pause",1,412143330869125,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-310,678,0,274,31,0,0,1,0,0,0,0,[]],168,3089,[],[],[".ovo",0,1,"file"]],[[320,320,0,425,250,0,0,1,0.5,0.5,0,0,[]],82,3090,[],[[6,1,"",300,1,1,"",300,"overlay",1,"PauseClose",1,1]],[0,"Default",0,1]],[[214,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3091,[[0],[1],[0],[0],["back"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"",""],["PauseClose"],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[426,385,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3092,[[0],[1],[0],[0],["quit"],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Return",1,"Hover",4,"Menu > GiveUp",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[115.5,202,0,409,118,0,0,1,0,0,0,0,[]],83,3093,[[1],[1],["pause"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Pause",4,0,57,50,0,0,-10,0,"",-1,0]],[[320.5,88,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3094,[[1],[1],[0],[0],["loadreplay"],["{\"size\": 16, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > LoadReplay",""],[""],[2,2,0,0,0],["",""]],[0,"LoadReplay",0,1]],[[320.5,157,0,227,64,0,0,1,0.5022026300430298,0.5,0,0,[]],70,3095,[[1],[0],[0],[0],["toggledebug"],["{\"size\": 15, \"left\": 60, \"right\": 14}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Debug > Toggle",""],[""],[2,2,0,0,0],["",""]],[0,"ToggleDebug",0,1]],[[78,448,0,484,134,0,0,1,0,0,0,0,[]],193,3096,[],[],[0,"Default",0,1]]],[]],["UI",2,525014068763414,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[240,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3097,[["right"]],[[0,1,0,1,1]],[0,"Default",0,1]],[[80,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3098,[["left"]],[[0,1,0,1,1]],[0,"Default",1,1]],[[560,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3099,[["up"]],[[1,1,1,1,1]],[0,"Default",3,1]],[[400,640,0,160,640,0,0,1,0.5,1,0,0,[]],69,3100,[["down"]],[[1,1,1,1,1]],[0,"Default",2,1]]],[]],["Overlay",3,794496253237207,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[432,4,0,203.0009155273438,64,0,0,1,0,0,0,0,[]],107,5488,[],[[1,0,1,0,1]],[2,2,2,2,0,1,0,0,1]],[[432,4,0,203,64,0,0,1,0,0,0,0,[]],84,3101,[[0],[0],[""],["en-us"],[0],[1],[1],["{\"alignY\": 85, \"alignX\": 45, \"size\": 28}"],[0],[1],[0],[0],[0]],[["",""],[1,0,1,0,1]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",2,0,100,50,0,0,-10,0,"",-1,0]],[[88,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3102,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Pause",""],[""],[0,0,0,0,1],["",""]],[0,"Pause",0,1]],[[158,38,0,64,64,0,0,1,0.5,0.5,0,0,[]],70,3103,[[0],[1],[0],[0],[""],[""],[0],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",1,"Menu > Replay","1"],[""],[0,0,0,0,1],["",""]],[0,"Reload",0,1]]],[]],["End Game",4,254947929720124,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[320,320,0,616,266,0,0,1,0.5,0.5,0,0,[]],85,3104,[],[[6,1,"Hover",300,1,1,"Hover",300,"overlay",1,"",1,1]],[0,"Default",0,1]],[[73,194,0,494,72,0,0,1,0,0,0,0,[]],86,3105,[[1],[1],["yourfinaltime"],["en-us"],[0],[0],[0],["{alignY:50}"],[0],[1],[0],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Your final time",2.5,0,50,50,0,0,-10,0,"",-1,0]],[[320,403,0,192,96,0,0,1,0.5,0.5,0,0,[]],70,3106,[[0],[1],[0],[0],[""],["{\"size\": 24, \"alignY\": 59}"],[1],[1],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Quit",""],[""],[2,2,0,0,0],["",""]],[0,"Quit",0,1]],[[73,243,0,494,85,0,0,1,0,0,0,0,[]],87,3108,[[0],[1],[""],["en-us"],[0],[1],[1],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","03:03:03",3,0,50,50,0,0,-10,0,"",-1,0]],[[73,318,0,494,25,0,0,1,0,0,0,0,[]],86,5480,[[1],[1],["tryagainhardmode"],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0],[1]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","Try again in hard mode!",1,0,50,50,0,0,-2,0,"",-1,0]]],[]],["Banner",5,861214288401435,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[-237,-189,0,62.27638626098633,62.27638626098633,0,0,1,0.5,0.5,0,0,[]],109,3109,[],[["overlay"]],[0,"Default",0,1]]],[]]],[],[]],["Parse Auth",1708,960,true,"Parse Auth",318758436191215,[["Login",0,230113926697692,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[204,239.5,0,232,24,0,0,1,0,0,0,0,[]],101,3207,[[0],["Username"]],[],["","Username","",1,1,0,0,0,1,"textbox"]],[[204,276.5,0,232,24,0,0,1,0,0,0,0,[]],101,3208,[[1],["Password"]],[],["","Password","",1,1,0,0,1,1,"textbox"]],[[206,312.5,0,114,24,0,0,1,0,0,0,0,[]],100,4675,[["rememberme"]],[],[1," Remember me","",1,1,1,"check",0]],[[320,312.5,0,116,24,0,0,1,0,0,0,0,[]],100,5452,[["login"]],[],[0,"Log in","",1,1,1,"button",0]],[[204,349.5,0,232,24,0,0,1,0,0,0,0,[]],100,5503,[["toregister"]],[],[0,"Don't have an account?","",1,1,1,"link",0]],[[204,376.5,0,232,24,0,0,1,0,0,0,0,[]],100,5509,[["toforgotpass"]],[],[0,"Forgot password?","",1,1,1,"link",0]]],[]],["Register",1,308536761977922,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[204,234,0,232,24,0,0,1,0,0,0,0,[]],101,5520,[[3],["Username"]],[],["","Username","",1,1,0,0,0,1,"textbox"]],[[204,271,0,232,24,0,0,1,0,0,0,0,[]],101,5521,[[4],["E-mail"]],[],["","E-mail","",1,1,0,0,0,1,"textbox"]],[[204,308,0,232,24,0,0,1,0,0,0,0,[]],101,5522,[[5],["Password"]],[],["","Password","",1,1,0,0,1,1,"textbox"]],[[204,344,0,232,24,0,0,1,0,0,0,0,[]],100,5523,[["register"]],[],[0,"Register","",1,1,1,"button",0]],[[204,381,0,232,24,0,0,1,0,0,0,0,[]],100,5857,[["tologin"]],[],[0,"Already have an account?","",1,1,1,"link",0]]],[]],["ForgotPass",2,618879877485583,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[204,271,0,232,24,0,0,1,0,0,0,0,[]],101,5858,[[10],["E-mail"]],[],["","E-mail","",1,1,0,0,0,1,"textbox"]],[[204,307,0,232,24,0,0,1,0,0,0,0,[]],100,6372,[["forgotpass"]],[],[0,"Send password reset e-mail","",1,1,1,"button",0]],[[204,344.5,0,232,24,0,0,1,0,0,0,0,[]],100,6373,[["tologin"]],[],[0,"Back","",1,1,1,"link",0]]],[]],["AccountInfo",3,654517051650785,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[206,266.5,0,232,30,0,0,1,0,0,0,0,[]],102,7166,[[0]],[[0,0,0,1,1]],["Username: ",0,"12pt Arial","rgb(0,0,0)",0,0,0,0,0,0]],[[205,308.5,0,297,30,0,0,1,0,0,0,0,[]],102,8920,[[1]],[[0,0,0,1,1]],["E-mail: ",0,"12pt Arial","rgb(0,0,0)",0,0,0,0,0,0]],[[202,349.5,0,232,24,0,0,1,0,0,0,0,[]],100,8921,[["logout"]],[],[0,"Log out","",1,1,1,"button",0]]],[]],["Above",4,700797910318196,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[320,597,0,128,64,0,0,1,0.5,0.5,0,0,[]],70,8922,[[0],[1],[0],[0],[""],[""],[1],[0],[0],[0]],[[1,"1","2","","Click",1,"Hover",4,"Menu > Transition","Main Menu"],[""],[2,2,0,0,0],["",""]],[0,"Back",0,1]],[[52,85,0,536,81,0,0,0,0,0,0,0,[]],102,8923,[[42]],[[0,0.1,5,1,0]],["Help message",0,"12pt Arial","rgb(0,0,0)",0,50,50,0,0,0]]],[]]],[[null,19,8924,[],[],["style.css"]]],[]],["Fake Parse",1708,960,true,"Fake Parse",928287007773377,[["Layer 0",0,287793658810316,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[0,0,0,640,640,0,0,1,0,0,0,0,[]],104,8926,[],[],[0,"Default",0,1]],[[320,310,0,200,200,0,0,1,0.5,0.5,0,0,[]],103,9714,[],[],[0,"Default",0,1]]],[]]],[],[]],["LoaderLayout",1708,960,true,"Loader Layout",245791299910343,[["Layer 0",0,200586069124774,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[320,320,0,360,288,0,0,1,0.5,0.5,0,0,[]],112,9715,[],[],[0,"Default",0,1]],[[137,163,0,379,313,0,0,0.699999988079071,0,0,0,0,[]],56,9716,[],[[1],[1]],[0,0]],[[330,320,0,188,42,0,0,1,0.5,0.5,0,0,[]],111,9717,[[100],[1],[0.5],["0.2"]],[[0,0,23,"current","100, 100",2.5,"0,0",0,0,1,0,""],[1,5,0,1.2,0,0,0,10,0]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>","Loading...",1,0,50,50,1,0,0,0,"",-1,0]],[[78,459,0,484,134,0,0,1,0,0,0,0,[]],192,9718,[[200],[484]],[[]],[1,"","position:absolute; overflow: visible;","banner-container"]],[[-191,219,0,200,30,0,0,1,0,0,0,0,[]],196,4432,[[0],[0],[0],[0],[0],[0],[0],[0]],[["",""]],["",0,"12pt Arial","rgb(0,0,0)",0,0,0,0,0,0]]],[]]],[[null,110,9719,[],[],[10,5,1]]],[]],["Level Editor",1708,960,false,"Level Editor",888340642319740,[["Layer 0",0,548264056099828,true,[255,255,255],false,1,1,1,false,false,1,0,0,[],[]],["ObjectList",1,160283437277274,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[320,580,0,620,100,0,0,1,0.5,0.5,0,0,[]],116,10053,[],[["",0,1,10,10,10,10,""]],[2,2,2,2,1,1,0,4,1]]],[]]],[],[]],["Splash Screen",1708,960,true,"Splash Screen",404899983884372,[["Layer 0",0,832845546307768,true,[36,36,36],false,1,1,1,false,false,1,0,0,[[[320,320,0,800,600,0,0,1,0.5,0.5,0,0,[]],166,12120,[],[],[0,"Default",0,1]]],[]]],[],[]],["Site Locking",1708,960,true,"Site Locking",782851519379115,[["Layer 0",0,626646186151461,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[132,260.5,0,376,106,0,0,1,0,0,0,0,[]],73,12417,[[1],[1],[""],["en-us"],[0],[0],[0],[""],[0],[1],[0],[0],[0]],[["",""]],[16,16,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@°+=*$£€<>ÄäÀàÂâÁáÃãÅ寿ÈèÊêÉéÇçĞğÎîÍíİıÑñÖöÒòÔôÓóÕõŒœØøŞşÜüÙùÛûÚúŸÿ¿¡ß","You're not playing this game on an authorized website, please play it here on coolmath games:",1,0,50,0,0,0,0,0,"",-1,0]],[[168.5,355.5,0,303,24,0,0,1,0,0,0,0,[]],100,12418,[["login"]],[],[0,"Coolmath games","",1,1,1,"button",0]]],[]]],[],[]]],[["Gameplay",[[1,"UnlockAchievement",0,-1,false,false,617479371695415,false],[2,"Debug",false],[2,"Common Menus",false],[0,[true,"Enemies"],false,null,817517233824430,[[-1,72,null,0,false,false,false,817517233824430,false,[[1,[2,"Enemies"]]]]],[],[[0,[true,"Enemies > Spikes"],false,null,798193702646536,[[-1,72,null,0,false,false,false,798193702646536,false,[[1,[2,"Enemies > Spikes"]]]]],[],[[0,null,false,null,150656990047087,[[42,73,null,0,false,false,false,909359155734417,false,[[10,0],[8,0],[7,[2,"dead"]]]]],[[47,74,"Solid",124347435776538,false,[[3,1]]],[58,74,"Solid",286840385748564,false,[[3,1]]]]],[0,null,false,null,319383041334756,[[-1,75,null,0,false,false,false,892502809345956,false]],[[47,74,"Solid",695125869112333,false,[[3,0]]],[58,74,"Solid",902425964778148,false,[[3,0]]]]]]],[0,null,false,null,829319559625942,[[42,76,null,0,false,false,false,764856751145562,false,[[4,204]]],[42,73,null,0,false,true,false,558752642017839,false,[[10,0],[8,0],[7,[2,"dead"]]]],[42,77,null,0,false,true,false,278700364341164,false,[[10,16]]]],[[42,78,null,853993977575063,false,[[10,14],[7,[6,[6,[0,1],[19,79]],[0,60]]]]]],[[0,null,false,null,966106561576403,[[42,73,null,0,false,false,false,232612793796245,false,[[10,14],[8,5],[7,[21,42,false,null,13]]]]],[[0,80,null,309938790786540,false,[[1,[2,"Gameplay > Death"]],[13]]]],[[0,null,false,null,316734215688468,[[204,77,null,0,false,false,false,529364119637173,false,[[10,0]]]],[[204,81,null,409484968063477,false]]]]]]],[0,null,false,null,592386007772312,[[-1,75,null,0,false,false,false,812809402188421,false],[42,73,null,0,false,false,false,313064679806543,false,[[10,14],[8,4],[7,[0,0]]]]],[[42,82,null,166351368722714,false,[[10,14],[7,[0,0]]]]]]]],[0,[true,"Jump Boost"],false,null,540406129165503,[[-1,72,null,0,false,false,false,540406129165503,false,[[1,[2,"Jump Boost"]]]]],[],[[0,null,false,null,558500188667790,[[42,83,null,0,false,false,true,170161209500788,false,[[4,43]]],[42,77,null,0,false,true,false,598831587684794,false,[[10,8]]],[42,77,null,0,false,true,false,497095828681308,false,[[10,7]]],[42,77,null,0,false,true,false,705415163603497,false,[[10,9]]]],[[42,84,"Platform",116092953129615,false,[[0,[6,[6,[22,42,"Platform",85,false,null],[21,43,false,null,0]],[19,86,[[4,[20,43,87,false,null],[0,270]]]]]]]],[42,88,"Platform",341626096438500,false,[[0,[19,89,[[6,[6,[22,42,"Platform",85,false,null],[21,43,false,null,0]],[19,90,[[4,[20,43,87,false,null],[0,270]]]]],[0,330]]]]]],[42,91,"Platform",121361528745025,false,[[0,[4,[6,[6,[22,42,"Platform",85,false,null],[21,43,false,null,0]],[19,90,[[4,[20,43,87,false,null],[0,270]]]]],[22,42,"Platform",92,false,null]]]]],[201,93,null,469888107079478,false,[[2,["jumpboost",false]],[1,[2,"sounds"]]]]],[[0,null,false,null,534608861064089,[[43,77,null,0,false,false,false,571894215802774,false,[[10,1]]]],[[42,94,"Platform",669607740636976,false,[[0,[0,0]]]]]]]],[0,null,false,null,238577669602631,[[203,83,null,0,false,false,true,636538411301879,false,[[4,43]]],[42,73,null,0,false,false,false,100843965170533,false,[[10,0],[8,0],[7,[2,"dead"]]]]],[[203,95,"Bullet",976734589507321,false,[[0,[4,[0,270],[20,43,87,false,null]]]]],[203,96,"Bullet",525629416541543,false,[[0,[6,[22,203,"Bullet",97,false,null],[21,43,false,null,0]]]]]]]]],[0,[true,"TP"],false,null,487442456114779,[[-1,72,null,0,false,false,false,487442456114779,false,[[1,[2,"TP"]]]]],[],[[0,null,false,null,798274928593214,[[-1,98,null,1,false,false,false,686987629843082,false]],[[-1,99,null,145729446632000,false,[[0,[1,1]]]]],[[0,null,false,null,393501063824987,[[-1,100,null,0,false,false,false,605534092982955,false,[[11,"UnlockAchievement"],[8,1],[7,[0,-1]]]]],[[0,80,null,107337355179901,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[23,"UnlockAchievement"]]]]],[-1,101,null,579647739410040,false,[[11,"UnlockAchievement"],[7,[0,-1]]]]]]]],[0,null,false,null,149476609751529,[[42,76,null,0,false,false,false,839752528935810,false,[[4,44]]],[42,77,null,0,false,true,false,925862418578616,false,[[10,16]]],[-1,102,null,0,false,false,false,815917620843442,false]],[[194,103,null,437288196561753,false,[[3,2],[1,[19,104]],[1,[2,""]],[1,[2,""]]]]],[[1,"ID",0,0,true,false,651458185400498,false],[0,null,false,null,386099809151427,[],[[-1,101,null,482275405956776,false,[[11,"ID"],[7,[19,105,[[19,106,[[19,104],[0,1],[2," "]]]]]]]]]],[0,null,false,null,174185499592548,[[-1,100,null,0,false,false,false,270726603265149,false,[[11,"ID"],[8,0],[7,[0,8]]]]],[[-1,101,null,897334891353849,false,[[11,"UnlockAchievement"],[7,[0,3]]]]]],[0,null,false,null,129477236498970,[[-1,100,null,0,false,false,false,240795562792672,false,[[11,"ID"],[8,0],[7,[0,16]]]]],[[-1,101,null,407966422969438,false,[[11,"UnlockAchievement"],[7,[0,4]]]]]],[0,null,false,null,968649019067156,[[-1,100,null,0,false,false,false,723374594827934,false,[[11,"ID"],[8,0],[7,[0,24]]]]],[[-1,101,null,343679789204913,false,[[11,"UnlockAchievement"],[7,[0,5]]]]]],[0,null,false,null,669882669771626,[[-1,100,null,0,false,false,false,638706238153179,false,[[11,"ID"],[8,0],[7,[0,32]]]]],[[-1,101,null,935004685923671,false,[[11,"UnlockAchievement"],[7,[0,6]]]]]],[0,null,false,null,706463416026314,[[-1,100,null,0,false,false,false,793500271293311,false,[[11,"ID"],[8,0],[7,[0,40]]]]],[[-1,101,null,267005123162857,false,[[11,"UnlockAchievement"],[7,[0,7]]]]]],[0,null,false,null,510399322431641,[[-1,100,null,0,false,false,false,262851734053250,false,[[11,"ID"],[8,0],[7,[0,48]]]]],[[-1,101,null,730963262878942,false,[[11,"UnlockAchievement"],[7,[0,8]]]]]],[0,null,false,null,590613378428006,[[-1,100,null,0,false,false,false,371991566328258,false,[[11,"ID"],[8,0],[7,[0,52]]]]],[[-1,101,null,660313744076151,false,[[11,"UnlockAchievement"],[7,[0,9]]]]]],[0,null,false,null,948761321422102,[[1,107,null,0,false,false,false,277086741670455,false,[[10,3]]]],[[0,80,null,257320941282235,false,[[1,[2,"Menu > End"]],[13]]]],[[0,null,false,null,376185364606687,[[-1,100,null,0,false,false,false,181759053071889,false,[[11,"UnlockAchievement"],[8,1],[7,[0,-1]]]]],[[0,80,null,153846071231581,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[23,"UnlockAchievement"]]]]],[-1,101,null,298017840871591,false,[[11,"UnlockAchievement"],[7,[0,-1]]]]]]]],[0,null,false,null,600890669847699,[[-1,75,null,0,false,false,false,459981123918630,false],[1,107,null,0,false,false,false,291334912575442,false,[[10,21]]]],[],[[0,null,false,null,392563633641833,[[1,108,null,0,false,false,false,105452162252624,false,[[10,20],[8,4],[7,[19,105,[[19,106,[[19,104],[0,1],[2," "]]]]]]]]],[],[[0,null,true,null,747973930009222,[[-1,109,null,0,false,false,false,703426847404900,false],[-1,110,null,0,false,false,false,804301584785363,false,[[3,10]]],[1,107,null,0,false,false,false,119352123383371,false,[[10,12]]],[1,107,null,0,false,false,false,235688253540502,false,[[10,13]]]],[[0,80,null,321462479511729,false,[[1,[2,"Menu > Next"]],[13]]]]]]],[0,null,false,null,748959070218175,[[-1,75,null,0,false,false,false,362933450419035,false]],[[12,111,null,724855818897912,false,[[1,[2,"Levels"]],[7,[19,89,[[20,12,112,false,null,[[2,"Levels"]]],[4,[19,105,[[19,106,[[19,104],[0,1],[2," "]]]]],[0,1]]]]]]],[12,113,null,677888245728033,false],[0,80,null,724813211688974,false,[[1,[2,"Menu > EndSection"]],[13,[7,[0,1]]]]]]]]],[0,null,false,null,767294840153446,[[-1,75,null,0,false,false,false,889130853284105,false]],[],[[0,null,false,null,651107060139585,[[1,108,null,0,false,false,false,792679126932503,false,[[10,9],[8,4],[7,[19,105,[[19,106,[[19,104],[0,1],[2," "]]]]]]]]],[],[[0,null,true,null,837910573871268,[[-1,109,null,0,false,false,false,159384116669939,false],[-1,110,null,0,false,false,false,608557143278274,false,[[3,10]]],[1,107,null,0,false,false,false,388622695521257,false,[[10,12]]],[1,107,null,0,false,false,false,896006252218961,false,[[10,13]]]],[[0,80,null,789626617247197,false,[[1,[2,"Menu > Next"]],[13]]]]]]],[0,null,false,null,182514247752239,[[-1,75,null,0,false,false,false,878519327188342,false]],[[0,80,null,698089568575990,false,[[1,[2,"Menu > EndGame"]],[13,[7,[0,1]]]]]]]]]]]]],[0,[true,"Buttons"],false,null,508180762397505,[[-1,72,null,0,false,false,false,508180762397505,false,[[1,[2,"Buttons"]]]]],[],[[0,null,false,null,902955938570994,[[42,77,null,0,false,true,false,819694607383468,false,[[10,16]]]],[],[[0,null,true,null,642371373962835,[[42,83,null,0,false,false,true,352103356460442,false,[[4,49]]],[33,83,null,0,false,false,true,597916209539078,false,[[4,49]]]],[],[[0,null,false,null,936629351434192,[[49,77,null,0,false,false,false,294006780722284,false,[[10,1]]]],[[49,114,null,526300921309243,false,[[10,1],[3,0]]],[49,115,null,552067581246204,false,[[0,[5,[0,1],[21,49,false,null,1]]]]]],[[0,null,false,null,945312009452096,[[49,116,null,0,false,false,false,967948815180281,false]],[[201,93,null,766369654270585,false,[[2,["button",false]],[1,[2,"sounds"]]]]]],[0,null,false,null,743203908752598,[[50,73,null,0,false,false,false,159114570291117,false,[[10,5],[8,0],[7,[21,49,false,null,0]]]],[-1,117,null,0,true,false,false,175155984018472,false,[[4,50]]]],[],[[0,null,false,null,487703960112722,[[50,77,null,0,false,false,false,780727798536287,false,[[10,6]]]],[],[[0,null,false,null,962028631556252,[[50,76,null,0,false,false,false,226793124479602,false,[[4,205]]]],[[205,118,"SkymenPin",548525204835581,false,[[4,50],[3,0]]]]],[0,null,false,null,383328890319792,[[50,76,null,0,false,false,false,655194200426509,false,[[4,206]]]],[[206,118,"SkymenPin",670255726921916,false,[[4,50],[3,0]]]]],[0,null,false,null,643290193210626,[[50,76,null,0,false,false,false,251234267325714,false,[[4,209]]]],[[209,118,"SkymenPin",164530002567242,false,[[4,50],[3,0]]]]]]],[0,null,false,null,423193213230728,[],[[50,119,"Zigzag",827322568071143,false]]]]]]]]]]],[0,null,false,null,658506795810972,[[-1,98,null,1,false,false,false,862782746536643,false]],[],[[0,null,false,null,406173925048443,[[-1,117,null,0,true,false,false,755673292652676,false,[[4,49]]]],[[49,120,null,283693193820755,false,[[0,[18,[12,[21,49,false,null,3],[0,-1]],[20,49,121,false,null],[21,49,false,null,3]]],[0,[18,[12,[21,49,false,null,4],[0,-1]],[20,49,122,false,null],[21,49,false,null,4]]]]],[49,123,null,241855671655582,false,[[0,[18,[12,[21,49,false,null,5],[0,999]],[20,49,87,false,null],[21,49,false,null,5]]]]],[49,82,null,295321496106524,false,[[10,3],[7,[20,49,121,false,null]]]],[49,82,null,668580951060570,false,[[10,4],[7,[20,49,122,false,null]]]],[49,82,null,765455086450546,false,[[10,5],[7,[20,49,87,false,null]]]]],[[0,null,false,null,968476180543512,[[49,77,null,0,false,true,false,445894409534634,false,[[10,1]]]],[[49,115,null,467355071915063,false,[[0,[5,[0,1],[21,49,false,null,1]]]]]],[[0,null,false,null,121500755098797,[[49,77,null,0,false,false,false,152378740043540,false,[[10,2]]],[1,108,null,0,false,false,false,983939611117620,false,[[10,14],[8,0],[7,[19,104]]]],[1,107,null,0,false,false,false,754635947633677,false,[[10,16]]]],[],[[0,null,false,null,171534935856519,[[-1,117,null,0,true,false,false,654444139799719,false,[[4,50]]],[50,73,null,0,false,false,false,321429922339418,false,[[10,5],[8,0],[7,[21,49,false,null,0]]]]],[[50,119,"Zigzag",940657765419910,false]]]]],[0,null,false,null,977557424786587,[[-1,75,null,0,false,false,false,212094976796817,false]],[[49,114,null,385601338193014,false,[[10,1],[3,1]]],[49,115,null,280509589880977,false,[[0,[5,[0,1],[21,49,false,null,1]]]]]]]]]]]]]]],[0,[true,"MovingArea"],false,null,904588067133589,[[-1,72,null,0,false,false,false,904588067133589,false,[[1,[2,"MovingArea"]]]]],[],[[0,null,false,null,167228592949210,[[-1,98,null,1,false,false,false,794671769229875,false]],[],[[0,null,false,null,745148900092535,[[-1,117,null,0,true,false,false,143824916063120,false,[[4,50]]]],[],[[0,null,false,null,141306624089218,[[50,76,null,0,false,false,false,665048178008046,false,[[4,207]]]],[],[[0,null,false,null,337038643543639,[[-1,117,null,0,true,false,false,578827976416521,false,[[4,207]]]],[],[[1,"CurImportance",0,0,false,false,615627086078896,false],[1,"CurUID",0,0,false,false,725648213075367,false],[0,null,false,null,534680483129626,[[207,77,null,0,false,false,false,755266752968829,false,[[10,1]]]],[[-1,101,null,434681276548446,false,[[11,"CurImportance"],[7,[21,50,false,null,2]]]],[-1,101,null,210583706734876,false,[[11,"CurUID"],[7,[20,50,124,false,null]]]]],[[0,null,false,null,100792502340868,[[-1,125,null,0,false,false,false,986707027884520,false,[[4,50]]],[50,126,null,0,false,false,true,747064261642000,false,[[0,[21,207,false,null,0]]]]],[],[[0,null,false,null,873047682791911,[[-1,127,null,0,false,false,false,516672485473776,false,[[7,[23,"CurImportance"]],[8,4],[7,[21,50,false,null,2]]]]],[],[[0,null,false,null,542132450158482,[[-1,125,null,0,false,false,false,139783287480773,false,[[4,50]]],[50,126,null,0,false,false,true,238495426396428,false,[[0,[23,"CurUID"]]]]],[],[[0,null,false,null,750399560056762,[[-1,127,null,0,false,false,false,945206978259047,false,[[7,[21,207,false,null,2]],[8,4],[7,[21,50,false,null,2]]]]],[[207,82,null,186931137229608,false,[[10,0],[7,[20,50,124,false,null]]]],[207,114,null,817251491373655,false,[[10,1],[3,1]]],[207,82,null,948320763579813,false,[[10,3],[7,[5,[20,207,121,false,null],[20,50,121,false,null]]]]],[207,82,null,734170979213931,false,[[10,3],[7,[5,[20,207,122,false,null],[20,50,122,false,null]]]]]]],[0,null,false,null,497370283446743,[[-1,127,null,0,false,false,false,648485699553719,false,[[7,[21,207,false,null,2]],[8,2],[7,[21,50,false,null,2]]]]],[[50,82,null,876241630848121,false,[[10,0],[7,[20,207,124,false,null]]]],[50,114,null,110387348199515,false,[[10,1],[3,1]]],[50,82,null,882752541497752,false,[[10,3],[7,[5,[20,50,121,false,null],[20,207,121,false,null]]]]],[50,82,null,741989885311350,false,[[10,4],[7,[5,[20,50,122,false,null],[20,207,122,false,null]]]]]]]]]]]]]]],[0,null,false,null,638778869444803,[[-1,75,null,0,false,false,false,898850007028291,false]],[],[[0,null,false,null,548686648969102,[[-1,127,null,0,false,false,false,903453735204728,false,[[7,[21,207,false,null,2]],[8,4],[7,[21,50,false,null,2]]]]],[[207,82,null,655305170037748,false,[[10,0],[7,[20,50,124,false,null]]]],[207,114,null,329843414872670,false,[[10,1],[3,1]]],[207,82,null,834541701984000,false,[[10,3],[7,[5,[20,207,121,false,null],[20,50,121,false,null]]]]],[207,82,null,962014219404534,false,[[10,3],[7,[5,[20,207,122,false,null],[20,50,122,false,null]]]]]]],[0,null,false,null,664410892122281,[[-1,127,null,0,false,false,false,563532501216306,false,[[7,[21,207,false,null,2]],[8,2],[7,[21,50,false,null,2]]]]],[[50,82,null,929764597035863,false,[[10,0],[7,[20,207,124,false,null]]]],[50,114,null,337878281255467,false,[[10,1],[3,1]]],[50,82,null,986246388282786,false,[[10,3],[7,[5,[20,50,121,false,null],[20,207,121,false,null]]]]],[50,82,null,392217519036617,false,[[10,4],[7,[5,[20,50,122,false,null],[20,207,122,false,null]]]]]]]]]]]]]]],[0,null,false,null,495209427441512,[[-1,117,null,0,true,false,false,551114269868589,false,[[4,50]]]],[],[[0,null,false,null,359418109233930,[[50,77,null,0,false,false,false,284005694360484,false,[[10,1]]]],[[50,128,"Zigzag",967591894594695,false,[[3,1]]],[50,129,"PolarCoordinates",702721524503720,false,[[3,0]]],[50,115,null,345401432259852,false,[[0,[0,1]]]]]]]],[0,null,false,null,776864796568203,[[-1,117,null,0,true,false,false,323509012912686,false,[[4,205]]]],[],[[0,null,false,null,865816497884485,[[50,76,null,0,false,false,false,824868405943703,false,[[4,205]]],[50,130,null,0,false,false,true,361298335117262,false,[[3,1],[10,2]]]],[[205,118,"SkymenPin",738731819020303,false,[[4,50],[3,0]]]]]]],[0,null,false,null,425757021478604,[[-1,117,null,0,true,false,false,673890063596772,false,[[4,209]]]],[],[[0,null,false,null,693065561368178,[[50,76,null,0,false,false,false,222641781984759,false,[[4,209]]],[50,130,null,0,false,false,true,909657105600037,false,[[3,1],[10,2]]]],[[209,118,"SkymenPin",404316209793545,false,[[4,50],[3,0]]]]]]],[0,null,false,null,157023248301650,[[-1,117,null,0,true,false,false,546201128171560,false,[[4,206]]]],[],[[0,null,false,null,877371937655740,[[50,76,null,0,false,false,false,594583177963440,false,[[4,206]]],[50,130,null,0,false,false,true,589243968736765,false,[[3,1],[10,2]]]],[[206,118,"SkymenPin",221463562231372,false,[[4,50],[3,0]]]]]]]]],[0,null,false,null,813051797789613,[[-1,117,null,0,true,false,false,483426909665626,false,[[4,50]]]],[],[[0,null,false,null,471076546839299,[[50,77,null,0,false,false,false,796234832555981,false,[[10,1]]]],[],[[1,"ParX",0,0,false,false,715365549297791,false],[1,"ParY",0,0,false,false,615315466616089,false],[1,"ParAngle",0,0,false,false,488192487309853,false],[0,null,false,null,463244225677382,[[207,126,null,0,false,false,true,326643880622102,false,[[0,[21,50,false,null,0]]]]],[[-1,101,null,835631189997491,false,[[11,"ParX"],[7,[20,207,121,false,null]]]],[-1,101,null,209780820821914,false,[[11,"ParY"],[7,[20,207,122,false,null]]]],[-1,101,null,303686801706156,false,[[11,"ParAngle"],[7,[20,207,87,false,null]]]],[50,131,"PolarCoordinates",663187526849578,false,[[0,[4,[23,"ParX"],[6,[19,132,[[0,0],[0,0],[21,50,false,null,3],[21,50,false,null,4]]],[19,90,[[4,[19,133,[[0,0],[0,0],[21,50,false,null,3],[21,50,false,null,4]]],[23,"ParAngle"]]]]]]],[0,[4,[23,"ParY"],[6,[19,132,[[0,0],[0,0],[21,50,false,null,3],[21,50,false,null,4]]],[19,86,[[4,[19,133,[[0,0],[0,0],[21,50,false,null,3],[21,50,false,null,4]]],[23,"ParAngle"]]]]]]]]],[50,134,"PolarCoordinates",626389494729110,false,[[0,[19,132,[[0,0],[0,0],[22,50,"Zigzag",135,false,null],[22,50,"Zigzag",136,false,null]]]],[0,[4,[19,133,[[0,0],[0,0],[22,50,"Zigzag",135,false,null],[22,50,"Zigzag",136,false,null]]],[23,"ParAngle"]]]]],[50,123,null,669851426250991,false,[[0,[4,[23,"ParAngle"],[22,50,"Zigzag",137,false,null]]]]]]]]]]]]],[0,[true,"GroudPoundSolid"],false,null,492475194697945,[[-1,72,null,0,false,false,false,492475194697945,false,[[1,[2,"GroudPoundSolid"]]]]],[],[[0,null,false,null,662222996520295,[[42,77,null,0,false,true,false,153657532399537,false,[[10,16]]],[42,77,null,0,false,true,false,468531551045040,false,[[10,18]]]],[],[[0,null,false,null,883146632734165,[[42,77,null,0,false,true,false,277442949937267,false,[[10,8]]],[42,76,null,0,false,true,false,282562966097522,false,[[4,45]]]],[[45,138,"Jumpthru",361517237070169,false,[[3,1]]]]],[0,null,false,null,571534718329416,[[42,77,null,0,false,true,false,317164334119389,false,[[10,8]]],[42,76,null,0,false,true,false,642655778849958,false,[[4,68]]]],[[68,138,"Jumpthru",911707609123969,false,[[3,1]]]]],[0,null,false,null,492367381446997,[[42,77,null,0,false,true,false,319209342190573,false,[[10,8]]],[42,76,null,0,false,true,false,454272673244056,false,[[4,52]]]],[[52,74,"Solid",295651419863401,false,[[3,1]]]]]]]]],[0,[true,"RocketLauncher"],false,null,192789956493627,[[-1,72,null,0,false,false,false,192789956493627,false,[[1,[2,"RocketLauncher"]]]]],[],[[0,null,false,null,777173910549523,[[-1,98,null,1,false,false,false,391616240895367,false],[42,77,null,0,false,true,false,556590585111010,false,[[10,16]]]],[[55,139,"Turret",474263712742605,false,[[4,42]]]]],[0,null,false,null,749983096070953,[[55,140,"Turret",1,false,false,false,336140798754307,false],[55,77,null,0,false,false,false,856760561395989,false,[[10,0]]]],[[55,114,null,971553812347711,false,[[10,0],[3,0]]],[-1,99,null,606631913237770,false,[[0,[1,0.2]]]],[201,93,null,824685422565539,false,[[2,["rocket-2",false]],[1,[2,"sounds"]]]],[55,141,null,749690754090173,false,[[4,54],[5,[20,55,142,true,null]],[7,[0,1]]]],[54,82,null,451505195388333,false,[[10,1],[7,[20,55,124,false,null]]]],[54,96,"Bullet",293484470756343,false,[[0,[18,[13,[21,55,false,null,1],[0,-1]],[21,55,false,null,1],[22,54,"Bullet",143,false,null]]]]]]],[0,null,false,null,144641948971650,[[42,77,null,0,false,true,false,914846130232944,false,[[10,16]]],[55,144,"LineOfSight",0,false,false,true,849530282743892,false,[[4,42]]]],[[55,145,"Turret",882549382432237,false,[[3,1]]]]],[0,null,false,null,968496039315631,[[42,77,null,0,false,true,false,127440019731546,false,[[10,16]]],[55,144,"LineOfSight",0,false,true,true,886452279449538,false,[[4,42]]]],[[55,145,"Turret",801900307586725,false,[[3,0]]]]],[0,[true,"Rocket"],false,null,208862693197073,[[-1,72,null,0,false,false,false,208862693197073,false,[[1,[2,"Rocket"]]]]],[],[[0,null,false,null,881781032217730,[[-1,146,null,0,false,false,false,573446189354330,false],[42,77,null,0,false,true,false,120346975020679,false,[[10,16]]]],[[54,147,null,974419686917347,false,[[0,[0,3]],[0,[20,42,121,false,null]],[0,[20,42,122,false,null]]]]]],[0,null,false,null,412829219196926,[[54,148,null,1,false,false,false,197425302647346,false],[55,126,null,0,false,false,true,174310842828542,false,[[0,[21,54,false,null,1]]]]],[[55,114,null,937090996993651,false,[[10,0],[3,1]]]]],[0,null,false,null,559922652136731,[[54,76,null,0,false,false,false,612850265831041,false,[[4,208]]]],[[54,81,null,988659206297056,false],[201,93,null,142582953243310,false,[[2,["hurt",false]],[1,[2,"sounds"]]]]]]]]]],[0,[true,"Coin"],false,null,610053379239775,[[-1,72,null,0,false,false,false,610053379239775,false,[[1,[2,"Coin"]]]]],[],[[0,null,false,null,781860972346237,[[-1,98,null,1,false,false,false,435096492543288,false]],[],[[0,null,false,null,174250042545386,[[-1,117,null,0,true,false,false,986712664670712,false,[[4,60]]]],[],[[0,null,false,null,329423880048447,[[12,149,null,0,false,false,false,568927665542643,false,[[1,[10,[2,"Coin"],[21,60,true,null,0]]]]]],[[60,150,null,126983096854299,false,[[0,[0,20]]]]]]]]]],[0,null,false,null,638084587700225,[[42,83,null,0,false,false,true,471252147382572,false,[[4,60]]],[42,77,null,0,false,true,false,119478504775756,false,[[10,16]]],[60,151,"Bullet",0,false,false,false,602298311856320,false,[[8,0],[0,[0,0]]]]],[[201,93,null,517944324813027,false,[[2,["coin1",false]],[1,[2,"sounds"]]]],[60,152,"Bullet",356712068570731,false,[[3,1]]],[60,95,"Bullet",723323301603338,false,[[0,[0,270]]]],[60,153,"Fade",585968662104051,false]],[[0,null,false,null,553699073841255,[[42,77,null,0,false,true,false,866082612074941,false,[[10,18]]]],[],[[0,null,false,null,850651083900177,[[12,149,null,0,false,true,false,450073700028019,false,[[1,[10,[2,"Coin"],[21,60,true,null,0]]]]]],[[12,111,null,266758589101539,false,[[1,[10,[2,"Coin"],[21,60,true,null,0]]],[7,[0,1]]]],[0,80,null,668957708024811,false,[[1,[2,"Save > UpdateNbCoins"]],[13]]],[0,80,null,585749039474643,false,[[1,[2,"Skins > Gold"]],[13,[7,[0,10]],[7,[2,"coin"]],[7,[21,60,true,null,0]]]]]],[[0,null,false,null,145933097162145,[[-1,154,null,0,false,false,false,723688855441844,false,[[4,94],[7,[21,94,true,null,13]],[8,0],[7,[2,"money"]]]]],[[94,155,null,862964535237520,false,[[7,[20,12,112,false,null,[[2,"Gold"]]]]]]]]]]]]]]]],[0,[true,"Portal"],false,null,307271499653043,[[-1,72,null,0,false,false,false,307271499653043,false,[[1,[2,"Portal"]]]]],[],[[1,"JustCollided",0,0,true,false,344349118038214,false],[0,null,false,null,117818488913664,[[-1,98,null,1,false,false,false,544389669167733,false],[62,77,null,0,false,false,false,108659871731841,false,[[10,6]]]],[[62,156,null,347839771706692,false,[[3,0]]],[62,123,null,628362523601327,false,[[0,[4,[20,62,87,false,null],[0,180]]]]]]],[0,null,false,null,640223326190029,[[42,157,null,0,false,false,false,284547737854565,false,[[4,62],[0,[6,[22,42,"Platform",92,false,null],[19,79]]],[0,[6,[22,42,"Platform",158,false,null],[19,79]]]]],[42,144,"LineOfSight",0,false,false,true,249592473618981,false,[[4,62]]],[42,159,null,0,false,false,true,124546823398841,false,[[3,0],[0,[20,62,121,false,null]],[0,[20,62,122,false,null]]]],[-1,100,null,0,false,false,false,744637760358725,false,[[11,"JustCollided"],[8,0],[7,[0,0]]]],[-1,127,null,0,false,false,false,891978708761939,false,[[7,[20,0,160,false,null,[[2,"PortalExists"],[21,62,false,null,1]]]],[8,0],[7,[0,1]]]]],[[-1,101,null,725251558901742,false,[[11,"JustCollided"],[7,[0,1]]]],[42,161,null,312290955888035,false,[[3,0]]]],[[1,"Target",0,0,false,false,984329452873764,false],[1,"InitAngle",0,0,false,false,119952797419937,false],[1,"speed",0,0,false,false,673936231611882,false],[1,"newAngle",0,0,false,false,288230369368679,false],[0,null,false,null,792585926331277,[],[[-1,101,null,286256617359828,false,[[11,"Target"],[7,[21,62,false,null,1]]]],[-1,101,null,519270582810577,false,[[11,"InitAngle"],[7,[4,[20,62,87,false,null],[6,[21,62,false,null,6],[0,180]]]]]]]],[0,null,false,null,169207246720608,[[-1,125,null,0,false,false,false,714285544513840,false,[[4,62]]],[-1,154,null,0,false,false,false,865070932920193,false,[[4,62],[7,[21,62,false,null,0]],[8,0],[7,[23,"Target"]]]]],[[-1,101,null,120298919648925,false,[[11,"speed"],[7,[18,[21,62,false,null,4],[21,62,false,null,5],[22,42,"Platform",162,false,null]]]]],[-1,101,null,156485652373797,false,[[11,"newAngle"],[7,[18,[21,62,false,null,2],[21,62,false,null,3],[4,[5,[4,[22,42,"Platform",163,false,null],[0,180]],[23,"InitAngle"]],[20,62,87,false,null]]]]]],[42,120,null,239556871038482,false,[[0,[20,62,164,false,null,[[0,1]]]],[0,[20,62,165,false,null,[[0,1]]]]]],[42,91,"Platform",786097994326707,false,[[0,[6,[19,90,[[6,[23,"newAngle"],[18,[21,62,false,null,6],[0,-1],[0,1]]]]],[23,"speed"]]]]],[42,84,"Platform",954279228239211,false,[[0,[6,[19,86,[[6,[23,"newAngle"],[18,[21,62,false,null,6],[0,-1],[0,1]]]]],[23,"speed"]]]]],[42,161,null,824802431077976,false,[[3,1]]]],[[0,null,true,null,991284308318970,[[42,157,null,0,false,false,false,984224813254441,false,[[4,208],[0,[0,0]],[0,[0,1]]]],[42,157,null,0,false,false,false,279341671173437,false,[[4,45],[0,[0,0]],[0,[0,1]]]]],[[42,166,null,440706781388326,false,[[0,[5,[20,42,122,false,null],[0,1]]]]]]],[0,null,false,null,970877941223723,[],[[42,161,null,612752459395941,false,[[3,0]]]]]]],[0,null,false,null,140128020291500,[],[[-1,99,null,377359185081384,false,[[0,[1,0.02]]]],[42,161,null,292924157930893,false,[[3,1]]]]]]],[0,null,false,null,566541167465031,[[42,73,null,0,false,false,false,346122380728791,false,[[10,0],[8,0],[7,[2,"dead"]]]],[203,157,null,0,false,false,false,211550470608036,false,[[4,62],[0,[6,[6,[19,90,[[22,203,"Bullet",167,false,null]]],[22,203,"Bullet",143,false,null]],[19,79]]],[0,[6,[6,[19,86,[[22,203,"Bullet",167,false,null]]],[22,203,"Bullet",143,false,null]],[19,79]]]]],[203,159,null,0,false,false,true,272642135757539,false,[[3,0],[0,[20,62,121,false,null]],[0,[20,62,122,false,null]]]],[-1,127,null,0,false,false,false,317102578632877,false,[[7,[20,0,160,false,null,[[2,"PortalExists"],[21,62,false,null,1]]]],[8,0],[7,[0,1]]]]],[],[[1,"Target",0,0,false,false,840781792592097,false],[1,"InitAngle",0,0,false,false,172881254203042,false],[1,"speed",0,0,false,false,696053828858877,false],[1,"newAngle",0,0,false,false,963168793860633,false],[0,null,false,null,745089561639135,[],[[-1,101,null,450305254434424,false,[[11,"Target"],[7,[21,62,false,null,1]]]],[-1,101,null,683095828471648,false,[[11,"InitAngle"],[7,[4,[20,62,87,false,null],[6,[21,62,false,null,6],[0,180]]]]]]]],[0,null,false,null,228595700589634,[[-1,125,null,0,false,false,false,889881120601918,false,[[4,62]]],[-1,154,null,0,false,false,false,692232896422692,false,[[4,62],[7,[21,62,false,null,0]],[8,0],[7,[23,"Target"]]]]],[[-1,101,null,501643993500060,false,[[11,"speed"],[7,[18,[21,62,false,null,4],[21,62,false,null,5],[22,203,"Bullet",143,false,null]]]]],[-1,101,null,330855058759606,false,[[11,"newAngle"],[7,[18,[21,62,false,null,2],[21,62,false,null,3],[4,[5,[4,[22,203,"Bullet",167,false,null],[0,180]],[23,"InitAngle"]],[20,62,87,false,null]]]]]],[203,120,null,272681967075299,false,[[0,[20,62,164,false,null,[[0,1]]]],[0,[20,62,165,false,null,[[0,1]]]]]],[203,95,"Bullet",387534864209000,false,[[0,[6,[23,"newAngle"],[18,[21,62,false,null,6],[0,-1],[0,1]]]]]],[203,96,"Bullet",997611053185961,false,[[0,[23,"speed"]]]]]],[0,null,false,null,664152685186553,[],[[-1,99,null,632881929884814,false,[[0,[1,0.02]]]],[203,161,null,617028694489580,false,[[3,1]]]]]]],[0,null,false,null,659314141891608,[[42,168,null,0,false,false,false,625185955991560,false],[42,76,null,0,false,true,false,672542996184996,false,[[4,62]]],[-1,100,null,0,false,false,false,752323044251589,false,[[11,"JustCollided"],[8,0],[7,[0,1]]]]],[[-1,99,null,581480505208886,false,[[0,[1,0.1]]]],[-1,101,null,224269478219969,false,[[11,"JustCollided"],[7,[0,0]]]]]],[0,null,false,null,708934789572638,[[0,169,null,2,false,false,false,987768858311828,false,[[1,[2,"PortalExists"]]]]],[],[[1,"Target",0,0,false,false,670339968882488,false],[0,null,false,null,639735049739766,[],[[-1,101,null,617549616520206,false,[[11,"Target"],[7,[20,0,170,false,null,[[0,0]]]]]]]],[0,null,false,null,893749878656184,[[-1,154,null,0,false,false,false,482205822136063,false,[[4,62],[7,[21,62,false,null,0]],[8,0],[7,[23,"Target"]]]]],[[0,171,null,444121838589462,false,[[7,[0,1]]]]]],[0,null,false,null,548303110752330,[[-1,75,null,0,false,false,false,258362858636533,false]],[[0,171,null,920304485389246,false,[[7,[0,0]]]]]]]]]],[0,[true,"GravityModifier"],false,null,685129349237703,[[-1,72,null,0,false,false,false,685129349237703,false,[[1,[2,"GravityModifier"]]]]],[],[[1,"cooldown",0,0,true,false,480186584362648,false],[1,"laststate",0,0,true,false,703710979706237,false],[0,null,false,null,764705808348460,[[-1,102,null,0,false,false,false,122688132624896,false]],[[-1,101,null,128987473830969,false,[[11,"cooldown"],[7,[0,0]]]],[-1,101,null,381591877928087,false,[[11,"laststate"],[7,[0,0]]]]]],[0,null,false,null,173786138800555,[[42,172,"Timer",0,false,false,false,217954447752586,false,[[1,[2,"gravityCooldown"]]]]],[[-1,101,null,166771761466916,false,[[11,"cooldown"],[7,[0,0]]]]]],[0,null,false,null,664147285572350,[[42,76,null,0,false,false,false,191476512090739,false,[[4,64]]],[-1,100,null,0,false,false,false,269035633657247,false,[[11,"cooldown"],[8,0],[7,[0,0]]]]],[],[[1,"startAngle",0,0,false,false,101240763580271,false],[0,null,false,null,798987350297156,[[-1,100,null,0,false,false,false,514991713773749,false,[[11,"laststate"],[8,0],[7,[0,0]]]],[-1,102,null,0,false,false,false,945585433154623,false]],[[-1,101,null,197355287270236,false,[[11,"startAngle"],[7,[22,42,"Platform",173,false,null]]]],[42,174,"Platform",401409928409540,false,[[0,[4,[20,64,175,false,null],[0,90]]]]],[42,91,"Platform",246374773260340,false,[[0,[5,[6,[22,42,"Platform",92,false,null],[19,90,[[3,[19,176,[[23,"startAngle"],[22,42,"Platform",173,false,null]]]]]]],[6,[22,42,"Platform",158,false,null],[19,86,[[3,[19,176,[[23,"startAngle"],[22,42,"Platform",173,false,null]]]]]]]]]]],[42,84,"Platform",691524706641798,false,[[0,[4,[6,[22,42,"Platform",158,false,null],[19,90,[[3,[19,176,[[23,"startAngle"],[22,42,"Platform",173,false,null]]]]]]],[6,[22,42,"Platform",92,false,null],[19,86,[[3,[19,176,[[23,"startAngle"],[22,42,"Platform",173,false,null]]]]]]]]]]],[42,123,null,254092729597449,false,[[0,[5,[22,42,"Platform",173,false,null],[0,90]]]]],[42,177,"Timer",414418575786425,false,[[0,[1,0.1]],[3,0],[1,[2,"gravityCooldown"]]]],[-1,101,null,100359847170940,false,[[11,"cooldown"],[7,[0,1]]]],[-1,101,null,307106799694441,false,[[11,"laststate"],[7,[0,1]]]],[42,177,"Timer",595869118190293,false,[[0,[1,0.1]],[3,0],[1,[2,"gravityCooldown"]]]],[-1,101,null,234999175535584,false,[[11,"cooldown"],[7,[0,1]]]],[0,80,null,647640646829084,false,[[1,[2,"Player > Update Controls"]],[13]]]]]]],[0,null,false,null,880840812667687,[[-1,75,null,0,false,false,false,253974437048243,false],[-1,100,null,0,false,false,false,561952468057546,false,[[11,"cooldown"],[8,0],[7,[0,0]]]]],[],[[1,"startAngle",0,0,false,false,378168274091704,false],[0,null,false,null,866930301300976,[[-1,100,null,0,false,false,false,288026142628092,false,[[11,"laststate"],[8,0],[7,[0,1]]]],[-1,102,null,0,false,false,false,972024744486087,false]],[[-1,101,null,995979263713003,false,[[11,"startAngle"],[7,[22,42,"Platform",173,false,null]]]],[42,174,"Platform",962213521729336,false,[[0,[0,90]]]],[42,91,"Platform",358086231966437,false,[[0,[5,[6,[22,42,"Platform",92,false,null],[19,90,[[3,[19,176,[[23,"startAngle"],[22,42,"Platform",173,false,null]]]]]]],[6,[22,42,"Platform",158,false,null],[19,86,[[3,[19,176,[[23,"startAngle"],[22,42,"Platform",173,false,null]]]]]]]]]]],[42,84,"Platform",487013144987218,false,[[0,[4,[6,[22,42,"Platform",158,false,null],[19,90,[[3,[19,176,[[23,"startAngle"],[22,42,"Platform",173,false,null]]]]]]],[6,[22,42,"Platform",92,false,null],[19,86,[[3,[19,176,[[23,"startAngle"],[22,42,"Platform",173,false,null]]]]]]]]]]],[42,123,null,225351416893313,false,[[0,[5,[22,42,"Platform",173,false,null],[0,90]]]]],[0,80,null,375923096288383,false,[[1,[2,"Player > Update Controls"]],[13]]],[-1,101,null,536544559642652,false,[[11,"laststate"],[7,[0,0]]]],[42,177,"Timer",275580806182986,false,[[0,[1,0.1]],[3,0],[1,[2,"gravityCooldown"]]]],[-1,101,null,211487344272421,false,[[11,"cooldown"],[7,[0,1]]]]]]]],[0,null,false,null,935787613356154,[[-1,146,null,0,false,false,false,211216742320522,false]],[[165,120,null,625689852404397,false,[[0,[20,32,121,false,null]],[0,[20,32,122,false,null]]]],[165,178,null,798008546917223,false,[[0,[19,132,[[20,165,121,false,null],[20,165,122,false,null],[4,[20,165,121,false,null],[6,[22,42,"Platform",92,false,null],[19,79]]],[4,[20,165,122,false,null],[6,[22,42,"Platform",158,false,null],[19,79]]]]]],[0,[0,10]]]],[165,179,null,406200134672372,false,[[0,[4,[20,165,121,false,null],[22,42,"Platform",92,false,null]]],[0,[4,[20,165,122,false,null],[22,42,"Platform",158,false,null]]]]],[165,123,null,935118120233219,false,[[0,[4,[20,165,87,false,null],[20,42,87,false,null]]]]]]]]],[0,null,false,null,251145131090409,[],[]]]],["Player",[[2,"Inputs",false],[1,"VibratePtrn",1,"25",false,false,404570459311652,false],[0,[true,"Player"],false,null,611919123152529,[[-1,72,null,0,false,false,false,611919123152529,false,[[1,[2,"Player"]]]]],[],[[1,"Inverted",0,0,true,false,142546222875684,false],[0,null,false,null,222471026120080,[[42,77,null,0,false,true,false,299857350779876,false,[[10,16]]]],[],[[0,[true,"Player > Initialisation"],false,null,311991729341677,[[-1,72,null,0,false,false,false,311991729341677,false,[[1,[2,"Player > Initialisation"]]]]],[],[[0,null,true,null,695705595441808,[[-1,98,null,1,false,false,false,561579168352558,false]],[[42,82,null,938707018834186,false,[[10,12],[7,[21,1,true,null,8]]]]],[[0,null,false,null,965263383313761,[[-1,180,null,0,true,false,false,475619460788218,false,[[4,203],[7,[21,203,false,null,0]],[3,1]]]],[[203,181,null,799476829368724,false,[[3,0],[4,42]]]]],[0,null,false,null,609799635511282,[],[[-1,99,null,489026715020074,false,[[0,[0,0]]]]],[[0,null,false,null,630769856715792,[[42,73,null,0,false,false,false,916287859599748,false,[[10,12],[8,0],[7,[2,"spanish"]]]]],[[32,181,null,593567642189931,false,[[3,1],[4,33]]]]],[0,null,false,null,903004188327531,[[42,73,null,0,false,false,false,537116052858869,false,[[10,12],[8,0],[7,[2,""]]]]],[[203,182,"Skin",172513228022747,false]]],[0,null,false,null,206781635794602,[[-1,75,null,0,false,false,false,617843830175889,false]],[[203,183,"Skin",110983869807050,false,[[1,[21,42,true,null,12]]]],[203,184,"Skin",547029390719523,false,[[3,1]]]]],[0,null,false,null,729123524972897,[],[[203,178,null,724254348184846,false,[[0,[6,[7,[20,42,185,false,null],[20,42,186,false,null]],[20,203,186,false,null]]],[0,[6,[7,[20,42,187,false,null],[20,42,188,false,null]],[20,203,188,false,null]]]]]]]]],[0,null,false,null,160867454186983,[[-1,127,null,0,false,false,false,253863230623412,false,[[7,[19,189,[[19,104],[2,"Level"]]]],[8,5],[7,[0,0]]]]],[[25,190,null,415926411414526,false,[[1,[2,"Player"]],[0,[20,42,121,false,null]],[0,[20,42,122,false,null]],[0,[0,1]],[3,1]]],[25,191,null,243568413934290,false,[[1,[2,"Player"]],[4,42],[0,[0,1]],[7,[0,0]]]],[25,192,null,396711831267182,false,[[1,[2,"Player"]],[3,0]]],[25,193,null,879904038902192,false,[[1,[2,"Player"]],[0,[0,50]]]]]],[0,null,false,null,772619519119564,[[-1,75,null,0,false,false,false,384511928985335,false]],[[-1,194,null,192402281456738,false,[[0,[7,[19,195],[0,2]]],[0,[7,[19,196],[0,2]]]]]]],[0,null,false,null,465824268572830,[[1,107,null,0,false,false,false,756263485323418,false,[[10,18]]]],[[42,114,null,999467865036388,false,[[10,18],[3,1]]],[-1,99,null,199329300191530,false,[[0,[0,0]]]],[1,197,null,313383739076360,false,[[10,18],[3,0]]]]]]]]],[0,null,false,null,536751646237692,[[42,77,null,0,false,true,false,444152157040405,false,[[10,18]]]],[],[[0,[true,"Player > Death"],false,null,703647380856614,[[-1,72,null,0,false,false,false,703647380856614,false,[[1,[2,"Player > Death"]]]]],[],[[1,"Reload",0,0,true,false,720725094289766,false],[0,null,true,null,994290894875405,[[203,73,null,0,false,false,false,598946884206893,false,[[10,1],[8,1],[7,[20,203,121,false,null]]]],[203,73,null,0,false,false,false,748152737746933,false,[[10,2],[8,1],[7,[20,203,122,false,null]]]]],[[203,82,null,818129925795969,false,[[10,3],[7,[19,133,[[21,203,false,null,1],[21,203,false,null,2],[20,203,121,false,null],[20,203,122,false,null]]]]]],[203,82,null,365531185064939,false,[[10,4],[7,[19,132,[[21,203,false,null,1],[21,203,false,null,2],[20,203,121,false,null],[20,203,122,false,null]]]]]],[203,82,null,409788904091401,false,[[10,1],[7,[20,203,121,false,null]]]],[203,82,null,746113980889542,false,[[10,2],[7,[20,203,122,false,null]]]]]],[0,null,false,null,100692862973133,[[0,169,null,2,false,false,false,317984783736533,false,[[1,[2,"Gameplay > Death"]]]],[-1,125,null,0,false,false,false,955957225841565,false,[[4,203]]],[42,73,null,0,false,false,false,891108422609590,false,[[10,0],[8,1],[7,[2,"dead"]]]]],[[201,93,null,452012762805525,false,[[2,["death",false]],[1,[2,"sounds"]]]],[201,93,null,577794210083520,false,[[2,["death-2",false]],[1,[2,"sounds"]]]],[4,198,null,757533544581354,false,[[1,[2,"WebSdkWrapper.gameplayStop()"]]]]],[[0,null,false,null,388660541599371,[[42,73,null,0,false,false,false,772673506258535,false,[[10,12],[8,0],[7,[2,"amongus"]]]]],[],[[0,null,false,null,907313177397629,[[42,199,null,0,false,false,false,791955334047369,false]],[[201,93,null,187210056981686,false,[[2,["among us death",false]],[1,[2,"sounds"]]]]]],[0,null,false,null,827429724627074,[[-1,75,null,0,false,false,false,193717619932586,false]],[[201,93,null,479987673881857,false,[[2,["among us slice",false]],[1,[2,"sounds"]]]]]]]],[0,null,false,null,925276944419925,[],[[203,95,"Bullet",967135246481237,false,[[0,[21,203,false,null,3]]]],[203,96,"Bullet",263616075709037,false,[[0,[7,[21,203,false,null,4],[19,79]]]]],[203,200,"Bullet",930114452643498,false,[[0,[7,[7,[7,[3,[21,203,false,null,4]],[19,79]],[22,203,"Fade",201,false,null]],[0,2]]]]],[203,152,"Bullet",171090466000044,false,[[3,1]]],[42,82,null,750509417298385,false,[[10,0],[7,[2,"dead"]]]],[203,153,"Fade",538683964134631,false],[42,202,"Platform",742878953157599,false,[[3,0]]],[194,103,null,649380245768172,false,[[3,3],[1,[19,104]],[1,[2,""]],[1,[2,""]]]],[-1,99,null,103914881686088,false,[[0,[22,203,"Fade",201,false,null]]]],[-1,203,null,329531296352914,false]],[[0,null,false,null,933838668096089,[[49,77,null,0,false,false,false,202745271234599,false,[[10,2]]],[1,107,null,0,false,false,false,372895041536422,false,[[10,16]]]],[[1,197,null,825389824061635,false,[[10,23],[3,0]]]]]]],[0,null,false,null,584898329503183,[],[[-1,99,null,261183733211957,false,[[0,[1,0.1]]]],[201,93,null,769622196867013,false,[[2,["transition",false]],[1,[2,"sounds"]]]]]]]],[0,null,false,null,166452097410063,[[42,199,null,0,false,false,false,747236391839549,false],[42,73,null,0,false,false,false,362594800233900,false,[[10,0],[8,1],[7,[2,"dead"]]]]],[[0,80,null,950641217725306,false,[[1,[2,"Gameplay > Death"]],[13]]]]]]],[0,[true,"Player > WallSlide/Jump"],false,null,756773847233278,[[-1,72,null,0,false,false,false,756773847233278,false,[[1,[2,"Player > WallSlide/Jump"]]]]],[],[[0,null,false,null,419290695000157,[[42,204,"Platform",0,false,false,false,107358381159348,false],[42,77,null,0,false,true,false,721506661251965,false,[[10,8]]],[42,77,null,0,false,true,false,244130475414842,false,[[10,9]]]],[],[[0,null,false,null,963165931674392,[[-1,100,null,0,false,false,false,746526023282297,false,[[11,"Inverted"],[8,0],[7,[0,0]]]]],[],[[0,null,false,null,247770236124322,[[42,205,"Platform",0,false,false,false,951511903399889,false,[[3,0]]],[1,107,null,0,false,false,false,559544520621972,false,[[10,0]]]],[[42,84,"Platform",455624441398169,false,[[0,[7,[22,42,"Platform",158,false,null],[1,1.5]]]]],[42,114,null,906852178593184,false,[[10,1],[3,1]]],[42,115,null,555096587954172,false,[[0,[0,0]]]]]],[0,null,false,null,808811610369680,[[42,205,"Platform",0,false,false,false,525975802545173,false,[[3,1]]],[1,107,null,0,false,false,false,694577381124749,false,[[10,1]]]],[[42,84,"Platform",767414451997432,false,[[0,[7,[22,42,"Platform",158,false,null],[1,1.5]]]]],[42,114,null,345909971204675,false,[[10,1],[3,1]]],[42,115,null,389100514309378,false,[[0,[0,0]]]]]]]],[0,null,false,null,519425445016447,[[-1,75,null,0,false,false,false,991913596874637,false]],[],[[0,null,false,null,140343974474509,[[42,205,"Platform",0,false,false,false,918988254288049,false,[[3,0]]],[1,107,null,0,false,false,false,380398014379296,false,[[10,1]]]],[[42,84,"Platform",840923293564087,false,[[0,[7,[22,42,"Platform",158,false,null],[1,1.5]]]]],[42,114,null,660510260641505,false,[[10,1],[3,1]]],[42,115,null,636835331062297,false,[[0,[0,0]]]]],[[0,null,false,null,363189458201053,[[42,73,null,0,false,false,false,166669398982182,false,[[10,2],[8,0],[7,[0,1]]]]],[[0,80,null,278967976853928,false,[[1,[2,"Player > Mirror"]],[13]]]]]]],[0,null,false,null,931019007278236,[[42,205,"Platform",0,false,false,false,294571593929933,false,[[3,1]]],[1,107,null,0,false,false,false,765769481828771,false,[[10,0]]]],[[42,84,"Platform",489078398197151,false,[[0,[7,[22,42,"Platform",158,false,null],[1,1.5]]]]],[42,114,null,548003317394052,false,[[10,1],[3,1]]],[42,115,null,473573539443508,false,[[0,[0,0]]]]],[[0,null,false,null,938716305858812,[[42,73,null,0,false,false,false,975224556687209,false,[[10,2],[8,0],[7,[0,-1]]]]],[[0,80,null,719637011854503,false,[[1,[2,"Player > Unmirror"]],[13]]]]]]]]]]],[0,null,false,null,649168603453041,[[42,206,"Platform",1,false,false,false,575737793678411,false],[42,77,null,0,false,true,false,362324836777059,false,[[10,4]]]],[],[[0,null,true,null,207824824826524,[[42,205,"Platform",0,false,false,false,283988943663898,false,[[3,0]]],[42,205,"Platform",0,false,false,false,882618223779794,false,[[3,1]]]],[[42,91,"Platform",303245881019558,false,[[0,[6,[3,[21,42,false,null,2]],[22,42,"Platform",207,false,null]]]]],[-1,99,null,268305987783492,false,[[0,[0,0]]]],[42,84,"Platform",463178130888534,false,[[0,[6,[3,[22,42,"Platform",208,false,null]],[1,1.2]]]]],[201,93,null,742359688520845,false,[[2,["superjump",false]],[1,[2,"sounds"]]]]]]]],[0,null,false,null,881305590255112,[[0,169,null,2,false,false,false,353375039744012,false,[[1,[2,"Controls > Jump"]]]],[42,209,"Platform",0,false,true,false,514849441734088,false],[42,77,null,0,false,true,false,979643219341583,false,[[10,8]]],[42,77,null,0,false,true,false,368127081640151,false,[[10,9]]]],[],[[0,null,true,null,112232987900131,[[42,205,"Platform",0,false,false,false,420278566576251,false,[[3,0]]],[42,205,"Platform",0,false,false,false,245028335370593,false,[[3,1]]]],[[42,91,"Platform",338813858655594,false,[[0,[6,[3,[21,42,false,null,2]],[22,42,"Platform",207,false,null]]]]],[42,94,"Platform",310108071975863,false,[[0,[0,0]]]],[42,210,"Platform",469024885817592,false,[[3,1]]],[201,93,null,372677199798333,false,[[2,["walljump",false]],[1,[2,"sounds"]]]],[0,80,null,543399298042383,false,[[1,[2,"Controls > Clear Buffer"]],[13]]],[42,84,"Platform",353647297754898,false,[[0,[6,[3,[22,42,"Platform",208,false,null]],[1,0.8]]]]],[-1,99,null,603946370145239,false,[[0,[0,0]]]],[42,114,null,392625502572694,false,[[10,1],[3,1]]]],[[0,null,true,null,889291250836348,[[1,107,null,0,false,false,false,458034844110622,false,[[10,0]]],[1,107,null,0,false,false,false,605601992479987,false,[[10,1]]]],[],[[0,null,false,null,837431421500875,[[42,205,"Platform",0,false,false,false,192858133401906,false,[[3,0]]],[42,73,null,0,false,false,false,470980842571103,false,[[10,2],[8,0],[7,[0,1]]]]],[[0,80,null,252332830130475,false,[[1,[2,"Player > Mirror"]],[13,[7,[20,42,124,false,null]]]]]]],[0,null,false,null,687701523433150,[[42,205,"Platform",0,false,false,false,201458025094707,false,[[3,1]]],[42,73,null,0,false,false,false,621685835589986,false,[[10,2],[8,0],[7,[0,-1]]]]],[[0,80,null,847248967294844,false,[[1,[2,"Player > Unmirror"]],[13,[7,[20,42,124,false,null]]]]]]]]]]]]],[0,null,false,null,288987895310972,[[42,77,null,0,false,false,false,580716659821990,false,[[10,1]]],[42,204,"Platform",0,false,false,false,841359689150379,false],[42,205,"Platform",0,false,true,false,799866353904932,false,[[3,0]]],[42,205,"Platform",0,false,true,false,372758628768929,false,[[3,1]]]],[[42,114,null,989381910286378,false,[[10,1],[3,0]]]]],[0,null,false,null,651347113241493,[[42,77,null,0,false,false,false,313424466172390,false,[[10,1]]],[42,209,"Platform",0,false,false,false,809641831184818,false]],[[42,114,null,781117275459109,false,[[10,1],[3,0]]]]]]],[0,[true,"Player > Mirroring"],false,null,788445689487855,[[-1,72,null,0,false,false,false,788445689487855,false,[[1,[2,"Player > Mirroring"]]]]],[],[[1,"lastMirrorTime",0,0,true,false,847195757140915,false],[1,"nbMirrorsNeeded",0,4,true,false,512590942036373,false],[1,"curNbMirror",0,0,true,false,999994579713845,false],[1,"maxMirrorDelay",0,0.5,true,false,712224370881504,false],[0,null,false,null,483549912426703,[[42,77,null,0,false,true,false,185686571738319,false,[[10,15]]],[42,77,null,0,false,true,false,931129726030186,false,[[10,21]]],[42,77,null,0,false,true,false,221944859475033,false,[[10,23]]]],[],[[0,null,false,null,309019718657994,[[42,73,null,0,false,false,false,498338820155898,false,[[10,2],[8,4],[7,[0,0]]]]],[],[[0,null,false,null,774322911567924,[[-1,127,null,0,false,false,false,588795239826025,false,[[7,[22,42,"Platform",92,false,null]],[8,2],[7,[0,0]]]]],[[0,80,null,441482357624294,false,[[1,[2,"Player > Mirror"]],[13,[7,[20,42,124,false,null]]]]]]]]],[0,null,false,null,304369263826212,[[42,73,null,0,false,false,false,552262113970447,false,[[10,2],[8,2],[7,[0,0]]]]],[],[[0,null,false,null,773033750027538,[[-1,127,null,0,false,false,false,982751115549204,false,[[7,[22,42,"Platform",92,false,null]],[8,4],[7,[0,0]]]]],[[0,80,null,166732662715480,false,[[1,[2,"Player > Unmirror"]],[13,[7,[20,42,124,false,null]]]]]]]]]]],[0,null,false,null,536561708929046,[[0,169,null,2,false,false,false,298345945494330,false,[[1,[2,"Player > Mirror"]]]]],[],[[0,null,false,null,263494337490672,[[42,209,"Platform",0,false,false,false,288306850388891,false],[42,211,"Platform",0,false,false,false,262485002816915,false],[42,77,null,0,false,true,false,207308544531415,false,[[10,22]]]],[[-1,101,null,806275300670141,false,[[11,"lastMirrorTime"],[7,[19,212]]]]],[[0,null,false,null,312590310044943,[[-1,127,null,0,false,false,false,520666100704795,false,[[7,[5,[19,212],[23,"lastMirrorTime"]]],[8,3],[7,[23,"maxMirrorDelay"]]]]],[[-1,213,null,197336124102168,false,[[11,"curNbMirror"],[7,[0,1]]]]],[[0,null,false,null,231191796662136,[[-1,100,null,0,false,false,false,259137093913557,false,[[11,"curNbMirror"],[8,5],[7,[23,"nbMirrorsNeeded"]]]]],[[42,114,null,314371777263009,false,[[10,22],[3,1]]],[-1,101,null,701480047617526,false,[[11,"curNbMirror"],[7,[0,0]]]]]]]],[0,null,false,null,460625645662284,[[-1,75,null,0,false,false,false,708662602911122,false]],[[-1,101,null,738145411898240,false,[[11,"curNbMirror"],[7,[0,1]]]]]]]],[0,null,false,null,120402788886166,[[-1,75,null,0,false,false,false,382904202254737,false]],[[-1,101,null,344404693416870,false,[[11,"curNbMirror"],[7,[0,0]]]]]]]]]],[0,[true,"Player > States"],false,null,691170587589756,[[-1,72,null,0,false,false,false,691170587589756,false,[[1,[2,"Player > States"]]]]],[],[[0,null,false,null,365334319207043,[[42,73,null,0,false,false,false,487642474176428,false,[[10,0],[8,1],[7,[2,"dead"]]]]],[],[[0,null,false,null,772177277725175,[[42,209,"Platform",0,false,false,false,578041127296899,false]],[],[[0,null,true,null,841197150335354,[[42,205,"Platform",0,false,false,false,550018608464953,false,[[3,1]]],[42,205,"Platform",0,false,false,false,634127236895506,false,[[3,0]]]],[[42,82,null,573056175141292,false,[[10,0],[7,[2,"wall"]]]]]],[0,null,false,null,938072579500169,[[-1,75,null,0,false,false,false,669601944839990,false],[42,77,null,0,false,false,false,874486525942314,false,[[10,15]]]],[[42,82,null,295430485483083,false,[[10,0],[7,[2,"slip"]]]]]],[0,null,false,null,662423429444711,[[-1,75,null,0,false,false,false,540143150321449,false],[42,77,null,0,false,false,false,146912380348786,false,[[10,4]]]],[[42,82,null,961413717467038,false,[[10,0],[7,[2,"slide"]]]]]],[0,null,false,null,915468017588539,[[-1,75,null,0,false,false,false,433699678326971,false],[42,211,"Platform",0,false,false,false,724256939668784,false],[42,77,null,0,false,false,false,308169221057692,false,[[10,22]]]],[[42,82,null,766521005851009,false,[[10,0],[7,[2,"dancing"]]]]]],[0,null,false,null,461324225597614,[[-1,75,null,0,false,false,false,783545845344897,false],[42,211,"Platform",0,false,false,false,927778244215716,false],[42,77,null,0,false,false,false,318679739014858,false,[[10,21]]]],[[42,82,null,471776416651567,false,[[10,0],[7,[2,"wavedash"]]]]]],[0,null,false,null,127869997114178,[[-1,75,null,0,false,false,false,256848986081910,false],[42,211,"Platform",0,false,false,false,591957950033748,false]],[[42,82,null,179817547998943,false,[[10,0],[7,[2,"run"]]]]]],[0,null,false,null,174494803007621,[[-1,75,null,0,false,false,false,863221064292302,false]],[[42,82,null,889298161020188,false,[[10,0],[7,[2,"idle"]]]]]]]],[0,null,false,null,108561763805288,[[-1,75,null,0,false,false,false,283006012171817,false],[42,214,"Platform",0,false,true,false,962271403230216,false]],[],[[0,null,true,null,410781216237656,[[42,205,"Platform",0,false,false,false,447679676554500,false,[[3,1]]],[42,205,"Platform",0,false,false,false,282804201753922,false,[[3,0]]]],[[42,82,null,106395543792028,false,[[10,0],[7,[2,"wallslide"]]]]]],[0,null,false,null,634034304315596,[[-1,75,null,0,false,false,false,934269637663244,false],[42,204,"Platform",0,false,false,false,374704680374179,false]],[[42,82,null,974996045650701,false,[[10,0],[7,[2,"fall"]]]]]]]],[0,null,false,null,480055683239038,[[-1,75,null,0,false,false,false,497693645446123,false],[42,73,null,0,false,true,false,315955031235247,false,[[10,0],[8,0],[7,[2,"gpjump"]]]],[42,73,null,0,false,true,false,203152588400306,false,[[10,0],[8,0],[7,[2,"triplejump"]]]]],[[42,82,null,724977437829410,false,[[10,0],[7,[2,"jump"]]]]]],[0,null,false,null,991991554591831,[[42,77,null,0,false,false,false,535332068373284,false,[[10,8]]],[42,209,"Platform",0,false,true,false,940191543603060,false]],[[42,82,null,590048493493372,false,[[10,0],[7,[2,"pound"]]]]]],[0,null,false,null,219474227370741,[[42,77,null,0,false,false,false,785719819786893,false,[[10,8]]],[42,209,"Platform",0,false,false,false,702331426105038,false]],[[42,82,null,593808500082171,false,[[10,0],[7,[2,"poundFloor"]]]]]],[0,null,false,null,708979458211209,[[42,77,null,0,false,false,false,656237787934013,false,[[10,7]]]],[[42,82,null,159444926068036,false,[[10,0],[7,[2,"plunge"]]]]]],[0,null,false,null,454094226038354,[[42,77,null,0,false,false,false,775099755147749,false,[[10,9]]]],[[42,82,null,396583149177702,false,[[10,0],[7,[2,"stun"]]]]]],[0,null,true,null,430752751541234,[[42,76,null,0,false,false,false,145702857378290,false,[[4,51]]],[42,76,null,0,false,false,false,465510120606619,false,[[4,59]]],[42,76,null,0,false,false,false,698410053005777,false,[[4,48]]]],[[0,80,null,248065759133436,false,[[1,[2,"Player > SolidCollide"]],[13]]]]],[0,null,false,null,307419554101622,[[42,76,null,0,false,false,false,737021520013945,false,[[4,56]]],[56,215,"Solid",0,false,false,false,773312664991372,false]],[[0,80,null,617131426746346,false,[[1,[2,"Player > SolidCollide"]],[13]]]]],[0,null,false,null,431875627554592,[[42,76,null,0,false,false,false,403317186805152,false,[[4,52]]],[52,215,"Solid",0,false,false,false,493550569352031,false]],[[0,80,null,546385582989277,false,[[1,[2,"Player > SolidCollide"]],[13]]]]]]],[0,null,false,null,274577329636626,[[0,169,null,2,false,false,false,531118484884435,false,[[1,[2,"Player > SolidCollide"]]]]],[[42,78,null,807734866741220,false,[[10,20],[7,[0,1]]]]],[[0,null,false,null,286638327994891,[[42,73,null,0,false,false,false,825042826102583,false,[[10,20],[8,5],[7,[21,42,false,null,19]]]]],[[42,82,null,739420521147516,false,[[10,20],[7,[0,0]]]],[42,216,"PushOutSolid",536238443169339,false,[[3,1]]],[42,217,"PushOutSolid",220851704157402,false,[[0,[0,100]]]],[42,216,"PushOutSolid",148808559923978,false,[[3,0]]]]]]]]],[0,[false,"Player > Slopes"],false,null,976552025905797,[[-1,72,null,0,false,false,false,976552025905797,false,[[1,[2,"Player > Slopes"]]]]],[],[[0,null,false,null,695380159970420,[],[[20,218,null,689271926724801,false,[[0,[20,42,121,false,null]],[0,[20,42,122,false,null]],[0,[20,42,164,false,null,[[0,1]]]],[0,[20,42,165,false,null,[[0,1]]]]]],[21,218,null,544672994598797,false,[[0,[20,42,121,false,null]],[0,[20,42,122,false,null]],[0,[20,42,164,false,null,[[18,[16,[21,42,false,null,2],[0,0]],[0,3],[0,4]]]]],[0,[20,42,165,false,null,[[18,[16,[21,42,false,null,2],[0,0]],[0,3],[0,4]]]]]]]]],[0,null,false,null,728211652982944,[[21,219,null,0,false,false,false,715218382824547,false],[20,219,null,0,false,true,false,606265049322254,false]],[],[[1,"SlopeAngle",0,0,false,false,529303812680273,false],[0,null,false,null,340988331442485,[],[[-1,101,null,762274679592202,false,[[11,"SlopeAngle"],[7,[4,[20,21,220,false,null],[0,180]]]]]],[[0,null,true,null,477251842829911,[[-1,221,null,0,false,false,false,738118798256837,false,[[0,[23,"SlopeAngle"]],[0,[0,0]],[0,[0,30]]]],[-1,221,null,0,false,false,false,800623960320869,false,[[0,[23,"SlopeAngle"]],[0,[0,150]],[0,[0,180]]]]],[[42,174,"Platform",611602333331513,false,[[0,[4,[23,"SlopeAngle"],[6,[0,90],[21,42,false,null,2]]]]]]]]]]]],[0,null,false,null,612315725708972,[[20,219,null,0,false,false,false,870667097605101,false],[42,209,"Platform",0,false,false,false,322365763986867,false]],[],[[1,"SlopeAngle",0,0,false,false,974281029821255,false],[0,null,false,null,744784957729824,[],[[-1,101,null,627084559763304,false,[[11,"SlopeAngle"],[7,[4,[20,20,220,false,null],[0,180]]]]],[161,222,null,878645268291733,false,[[7,[23,"SlopeAngle"]]]]]],[0,null,false,null,755017279225060,[[42,223,"Platform",0,false,false,false,631778567950868,false,[[8,5],[0,[0,50]]]]],[],[[0,null,false,null,615557969700593,[[-1,221,null,0,false,false,false,879555554607765,false,[[0,[19,224,[[19,176,[[22,42,"Platform",173,false,null],[23,"SlopeAngle"]]]]]],[0,[0,0]],[0,[0,45]]]]],[[42,174,"Platform",328647829317294,false,[[0,[23,"SlopeAngle"]]]]]],[0,null,true,null,838362947694223,[[-1,221,null,0,false,false,false,847355661406360,false,[[0,[23,"SlopeAngle"]],[0,[0,0]],[0,[0,45]]]],[-1,221,null,0,false,false,false,162453729565543,false,[[0,[23,"SlopeAngle"]],[0,[0,135]],[0,[0,225]]]],[-1,221,null,0,false,false,false,169645907291632,false,[[0,[23,"SlopeAngle"]],[0,[0,180]],[0,[0,360]]]]],[[42,114,null,337116283834176,false,[[10,4],[3,0]]],[42,114,null,123171880016045,false,[[10,7],[3,0]]],[42,114,null,554127991134717,false,[[10,9],[3,0]]]]]]],[0,null,false,null,547321736029348,[[42,223,"Platform",0,false,false,false,510789482130003,false,[[8,2],[0,[0,50]]]]],[],[[0,null,false,null,713745663247367,[[-1,221,null,0,false,false,false,679835878431618,false,[[0,[23,"SlopeAngle"]],[0,[0,180]],[0,[0,360]]]]],[[42,114,null,889474842301223,false,[[10,11],[3,1]]]]],[0,null,true,null,194705879603610,[[-1,221,null,0,false,false,false,661427986908166,false,[[0,[23,"SlopeAngle"]],[0,[0,0]],[0,[0,45]]]],[-1,221,null,0,false,false,false,376336147138338,false,[[0,[23,"SlopeAngle"]],[0,[0,135]],[0,[0,225]]]]],[[42,82,null,940413739632072,false,[[10,2],[7,[0,1]]]],[42,114,null,925631332223759,false,[[10,15],[3,1]]]]],[0,null,false,null,136187638133406,[[-1,221,null,0,false,false,false,587085632654524,false,[[0,[23,"SlopeAngle"]],[0,[0,45]],[0,[0,135]]]]],[[42,174,"Platform",352806600689566,false,[[0,[23,"SlopeAngle"]]]]]]]]]],[0,null,false,null,506764414929522,[[-1,75,null,0,false,false,false,777181238146584,false],[21,219,null,0,false,true,false,734146853512279,false],[20,219,null,0,false,true,false,466377197057649,false]],[[-1,99,null,114510103945489,false,[[0,[1,0.05]]]]],[[0,null,false,null,342984894011255,[[21,219,null,0,false,true,false,505429410435493,false],[20,219,null,0,false,true,false,289884044949552,false]],[[42,114,null,566400165294802,false,[[10,11],[3,1]]]]]]],[0,null,false,null,101084980225245,[],[[42,123,null,329672571451253,false,[[0,[19,225,[[20,42,87,false,null],[5,[22,42,"Platform",173,false,null],[0,90]],[6,[6,[1,0.3],[19,79]],[0,60]]]]]]]]],[0,null,false,null,979771158849875,[[42,77,null,0,false,false,false,863439185951053,false,[[10,11]]]],[],[[1,"startAngle",0,0,false,false,704584737237915,false],[0,null,false,null,733588820380398,[],[[-1,101,null,363404284752787,false,[[11,"startAngle"],[7,[22,42,"Platform",173,false,null]]]],[42,174,"Platform",241385793810352,false,[[0,[19,225,[[22,42,"Platform",173,false,null],[0,90],[1,0.3]]]]]],[42,91,"Platform",477821071558060,false,[[0,[5,[6,[22,42,"Platform",92,false,null],[19,90,[[3,[19,176,[[23,"startAngle"],[22,42,"Platform",173,false,null]]]]]]],[6,[22,42,"Platform",158,false,null],[19,86,[[3,[19,176,[[23,"startAngle"],[22,42,"Platform",173,false,null]]]]]]]]]]],[42,84,"Platform",716454807663193,false,[[0,[4,[6,[22,42,"Platform",158,false,null],[19,90,[[3,[19,176,[[23,"startAngle"],[22,42,"Platform",173,false,null]]]]]]],[6,[22,42,"Platform",92,false,null],[19,86,[[3,[19,176,[[23,"startAngle"],[22,42,"Platform",173,false,null]]]]]]]]]]],[42,94,"Platform",645473313235388,false,[[0,[0,500]]]]]],[0,null,false,null,938883530769901,[[-1,221,null,0,false,false,false,740551229659674,false,[[0,[22,42,"Platform",173,false,null]],[0,[0,89]],[0,[0,91]]]]],[[-1,101,null,231024391910069,false,[[11,"startAngle"],[7,[22,42,"Platform",173,false,null]]]],[42,174,"Platform",863164628893295,false,[[0,[0,90]]]],[42,91,"Platform",948533621148569,false,[[0,[5,[6,[22,42,"Platform",92,false,null],[19,90,[[3,[19,176,[[23,"startAngle"],[22,42,"Platform",173,false,null]]]]]]],[6,[22,42,"Platform",158,false,null],[19,86,[[3,[19,176,[[23,"startAngle"],[22,42,"Platform",173,false,null]]]]]]]]]]],[42,84,"Platform",639119190641677,false,[[0,[4,[6,[22,42,"Platform",158,false,null],[19,90,[[3,[19,176,[[23,"startAngle"],[22,42,"Platform",173,false,null]]]]]]],[6,[22,42,"Platform",92,false,null],[19,86,[[3,[19,176,[[23,"startAngle"],[22,42,"Platform",173,false,null]]]]]]]]]]],[42,94,"Platform",251631673511878,false,[[0,[0,1500]]]],[42,114,null,368136511183625,false,[[10,11],[3,0]]]]]]]]],[0,[true,"Player > Controls"],false,null,886105852205779,[[-1,72,null,0,false,false,false,886105852205779,false,[[1,[2,"Player > Controls"]]]]],[],[[0,[true,"Player > Controls > Inputs"],false,null,823929961941068,[[-1,72,null,0,false,false,false,823929961941068,false,[[1,[2,"Player > Controls > Inputs"]]]]],[],[[1,"DEADZONE",0,0.25,false,true,965801597637059,false],[0,null,false,null,798643964847074,[[-1,127,null,0,false,false,false,867552163701943,false,[[7,[19,226]],[8,1],[7,[0,0]]]],[16,107,null,0,false,true,false,181626391342655,false,[[10,4]]]],[],[[0,null,true,null,757593264803895,[[2,227,null,1,false,false,false,677260429724933,false,[[0,[21,16,false,null,1]]]],[3,228,null,1,false,false,false,693718677405989,false,[[4,69]]],[169,229,null,0,false,false,false,993891042787258,false,[[0,[0,0]],[3,1]]],[169,229,null,0,false,false,false,287437332569168,false,[[0,[0,0]],[3,7]]],[169,229,null,0,false,false,false,912806490183312,false,[[0,[0,0]],[3,3]]]],[],[[0,null,false,null,978674883094863,[[69,73,null,0,false,false,false,806489454084693,false,[[10,0],[8,0],[7,[2,"up"]]]]],[],[[0,null,false,null,774246659634667,[[-1,230,null,0,false,false,false,578969652562450,false]],[[4,231,null,440250864669173,false,[[1,[23,"VibratePtrn"]]]],[0,80,null,697969900207877,false,[[1,[2,"Controls > Buffer"]],[13,[7,[2,"Jump"]],[7,[0,10]]]]]]],[0,null,false,null,859999590370793,[[-1,75,null,0,false,false,false,136067501079734,false]],[[0,80,null,939391542338706,false,[[1,[2,"Controls > Buffer"]],[13,[7,[2,"Jump"]],[7,[0,5]]]]]]]]]]],[0,null,true,null,985512435830358,[[2,227,null,1,false,false,false,922409609619713,false,[[0,[21,16,false,null,3]]]],[3,228,null,1,false,false,false,214729213378416,false,[[4,69]]],[169,229,null,0,false,false,false,439893663021523,false,[[0,[0,0]],[3,0]]],[169,229,null,0,false,false,false,915265148095670,false,[[0,[0,0]],[3,6]]],[169,229,null,0,false,false,false,649702921358863,false,[[0,[0,0]],[3,2]]]],[],[[0,null,false,null,800805527840444,[[69,73,null,0,false,false,false,944460842290175,false,[[10,0],[8,0],[7,[2,"down"]]]]],[[0,80,null,143929143416327,false,[[1,[2,"Controls > Down"]],[13]]]]]]],[0,null,true,null,101112671549247,[[2,227,null,1,false,false,false,102606565784440,false,[[0,[21,16,false,null,0]]]],[3,228,null,1,false,false,false,994657629749514,false,[[4,69]]],[169,229,null,0,false,false,false,764766912928415,false,[[0,[0,0]],[3,14]]]],[],[[0,null,false,null,291978251728377,[[69,73,null,0,false,false,false,160319987043963,false,[[10,0],[8,0],[7,[2,"left"]]]]],[[0,80,null,373950571600023,false,[[1,[2,"Controls > Left In"]],[13]]]]]]],[0,null,true,null,866786361230880,[[2,227,null,1,false,false,false,507833559278697,false,[[0,[21,16,false,null,2]]]],[3,228,null,1,false,false,false,439281305756680,false,[[4,69]]],[169,229,null,0,false,false,false,160358613277183,false,[[0,[0,0]],[3,15]]]],[],[[0,null,false,null,776216112880362,[[69,73,null,0,false,false,false,504410973385736,false,[[10,0],[8,0],[7,[2,"right"]]]]],[[0,80,null,448123307381582,false,[[1,[2,"Controls > Right In"]],[13]]]]]]],[0,null,false,null,430555247179932,[[-1,154,null,0,false,false,false,401857038531782,false,[[4,69],[7,[21,69,true,null,0]],[8,0],[7,[2,"left"]]]]],[],[[0,null,false,null,608879741711760,[[3,232,null,0,false,true,false,963841130941860,false,[[4,69]]],[-1,102,null,0,false,false,false,650944373072462,false]],[[0,80,null,649495344571573,false,[[1,[2,"Controls > Left Out"]],[13]]]]],[0,null,false,null,840563605824173,[[3,232,null,0,false,false,false,608045244890565,false,[[4,69]]],[-1,102,null,0,false,false,false,164726037765808,false]],[[0,80,null,448488508117407,false,[[1,[2,"Controls > Left In"]],[13]]]]]]],[0,null,false,null,493099835103524,[[-1,154,null,0,false,false,false,595168418902040,false,[[4,69],[7,[21,69,true,null,0]],[8,0],[7,[2,"right"]]]]],[],[[0,null,false,null,757749243608708,[[3,232,null,0,false,true,false,310888647214145,false,[[4,69]]],[-1,102,null,0,false,false,false,428642563577871,false]],[[0,80,null,142404356065969,false,[[1,[2,"Controls > Right Out"]],[13]]]]],[0,null,false,null,720827895028426,[[3,232,null,0,false,false,false,934368641082896,false,[[4,69]]],[-1,102,null,0,false,false,false,647286745775147,false]],[[0,80,null,714251384862761,false,[[1,[2,"Controls > Right In"]],[13]]]]]]],[0,null,false,null,521500076914960,[[169,233,null,0,false,false,false,764299625474317,false,[[0,[0,0]],[3,0],[8,4],[0,[23,"DEADZONE"]]]],[-1,102,null,0,false,false,false,300086564157868,false]],[[0,80,null,489464080417457,false,[[1,[2,"Controls > Right In"]],[13]]]]],[0,null,false,null,575150608288982,[[169,233,null,0,false,false,false,724727422518019,false,[[0,[0,0]],[3,0],[8,3],[0,[23,"DEADZONE"]]]],[-1,102,null,0,false,false,false,831996135157760,false]],[[0,80,null,987952363547244,false,[[1,[2,"Controls > Right Out"]],[13]]]]],[0,null,false,null,784198250410556,[[169,233,null,0,false,false,false,806281934502223,false,[[0,[0,0]],[3,0],[8,2],[0,[3,[23,"DEADZONE"]]]]],[-1,102,null,0,false,false,false,667377346824358,false]],[[0,80,null,941420699710940,false,[[1,[2,"Controls > Left In"]],[13]]]]],[0,null,false,null,459245801993335,[[169,233,null,0,false,false,false,454082760330744,false,[[0,[0,0]],[3,0],[8,5],[0,[3,[23,"DEADZONE"]]]]],[-1,102,null,0,false,false,false,839570806945625,false]],[[0,80,null,535676470319510,false,[[1,[2,"Controls > Left Out"]],[13]]]]],[0,null,true,null,560163830078652,[[2,234,null,1,false,false,false,802710456441647,false,[[0,[21,16,false,null,2]]]],[169,235,null,0,false,false,false,713350492660419,false,[[0,[0,0]],[3,15]]]],[[0,80,null,480828289459769,false,[[1,[2,"Controls > Right Out"]],[13]]]]],[0,null,true,null,660529212224859,[[2,234,null,1,false,false,false,536627815365158,false,[[0,[21,16,false,null,0]]]],[169,235,null,0,false,false,false,201234275442276,false,[[0,[0,0]],[3,14]]]],[[0,80,null,765764043572018,false,[[1,[2,"Controls > Left Out"]],[13]]]]]]],[0,null,false,null,716075351175236,[[0,169,null,2,false,false,false,973284870683443,false,[[1,[2,"Controls > Left In"]]]]],[[1,197,null,435183338914561,false,[[10,0],[3,1]]],[4,231,null,137681839008129,false,[[1,[23,"VibratePtrn"]]]],[0,80,null,693294275928430,false,[[1,[2,"Player > Update Controls"]],[13]]]]],[0,null,false,null,235491262106860,[[0,169,null,2,false,false,false,754797402914491,false,[[1,[2,"Controls > Left Out"]]]]],[[1,197,null,202212652916979,false,[[10,0],[3,0]]]]],[0,null,false,null,529298193633468,[[0,169,null,2,false,false,false,426549686156353,false,[[1,[2,"Controls > Right In"]]]]],[[1,197,null,912385440950602,false,[[10,1],[3,1]]],[4,231,null,384358683146879,false,[[1,[23,"VibratePtrn"]]]],[0,80,null,249610848175024,false,[[1,[2,"Player > Update Controls"]],[13]]]]],[0,null,false,null,131478670778004,[[0,169,null,2,false,false,false,837127616805212,false,[[1,[2,"Controls > Right Out"]]]]],[[1,197,null,689374339648023,false,[[10,1],[3,0]]]]],[0,null,false,null,577996062195257,[[0,169,null,2,false,false,false,307061671341280,false,[[1,[2,"Controls > Down"]]]]],[[4,231,null,148607203699902,false,[[1,[23,"VibratePtrn"]]]]],[[0,null,false,null,290875036723816,[[42,209,"Platform",0,false,false,false,370380781119735,false],[42,77,null,0,false,false,false,411516228686388,false,[[10,3]]],[42,77,null,0,false,true,false,802848156258173,false,[[10,7]]],[42,77,null,0,false,true,false,845420949536284,false,[[10,9]]],[42,77,null,0,false,true,false,328300317870651,false,[[10,15]]]],[[1,197,null,968886620823687,false,[[10,2],[3,1]]],[-1,99,null,954029282635918,false,[[0,[1,0.05]]]]],[[0,null,false,null,598666103798881,[[18,236,null,0,false,false,false,271561393507275,false,[[3,0],[8,4],[0,[0,0]]]],[42,77,null,0,false,true,false,929283679817413,false,[[10,4]]]],[[1,197,null,982188859923733,false,[[10,2],[3,0]]],[42,94,"Platform",464723191222887,false,[[0,[0,0]]]],[42,84,"Platform",750284061203688,false,[[0,[6,[3,[22,42,"Platform",208,false,null]],[1,0.8]]]]],[201,93,null,790509670990368,false,[[2,["jump",false]],[1,[2,"sounds"]]]],[0,80,null,402706078828503,false,[[1,[2,"Controls > Clear Buffer"]],[13,[7,[2,"Jump"]]]]],[-1,99,null,901552156092393,false,[[0,[1,0.15]]]],[42,114,null,228809631767409,false,[[10,7],[3,1]]]]],[0,null,false,null,235407024412591,[[-1,75,null,0,false,false,false,859621616452075,false]],[[1,197,null,501849789321380,false,[[10,2],[3,0]]]],[[0,null,false,null,287550945835933,[],[[42,114,null,180707654537739,false,[[10,4],[3,1]]]]]]]]],[0,null,false,null,674690005073812,[[42,209,"Platform",0,false,true,false,137771904142347,false]],[],[[0,null,true,null,296037556846492,[[1,107,null,0,false,false,false,787572431816924,false,[[10,0]]],[1,107,null,0,false,false,false,947988528704650,false,[[10,1]]]],[],[[0,null,false,null,744678385437263,[[42,77,null,0,false,true,false,999856157380997,false,[[10,8]]],[42,77,null,0,false,true,false,167793312816489,false,[[10,9]]],[42,77,null,0,false,true,false,181437011026590,false,[[10,10]]]],[],[[0,null,false,null,237566276052056,[[42,77,null,0,false,true,false,256515140737938,false,[[10,7]]]],[[42,114,null,243251260249829,false,[[10,7],[3,1]]]]],[0,null,false,null,355090883444414,[[-1,75,null,0,false,false,false,704811510345137,false]],[[42,114,null,328160539662691,false,[[10,8],[3,1]]],[42,114,null,133033630400327,false,[[10,7],[3,0]]]]]]]]],[0,null,false,null,776426800056314,[[-1,75,null,0,false,false,false,845694050237654,false]],[],[[0,null,false,null,890150920018840,[[42,77,null,0,false,true,false,349203847803959,false,[[10,9]]]],[[42,114,null,376642493049789,false,[[10,8],[3,1]]],[42,114,null,200082814010546,false,[[10,7],[3,0]]]]]]]]]]],[0,null,false,null,787365756692921,[[0,169,null,2,false,false,false,434845305505344,false,[[1,[2,"Controls > Buffer"]]]]],[],[[1,"Length",0,5,false,false,250756514300551,false],[1,"Input",1,"",false,false,645609993880248,false],[0,null,false,null,544498446813569,[],[[-1,101,null,131845755658139,false,[[11,"Input"],[7,[20,0,170,false,null,[[0,0]]]]]],[-1,101,null,131990013019710,false,[[11,"Length"],[7,[18,[12,[20,0,170,false,null,[[0,1]]],[0,0]],[23,"Length"],[20,0,170,false,null,[[0,1]]]]]]]]],[0,null,false,null,471029487332544,[[-1,237,null,0,true,false,false,422955904147317,false,[[0,[23,"Length"]]]]],[[18,238,null,541994231213228,false,[[3,0],[7,[23,"Input"]],[3,0]]]]]]],[0,null,false,null,495109701861065,[[0,169,null,2,false,false,false,588179034482036,false,[[1,[2,"Controls > Clear Buffer"]]]]],[[18,239,null,623168694447919,false,[[0,[0,0]],[0,[0,1]],[0,[0,1]]]]]],[0,null,false,null,852522602340434,[[42,77,null,0,false,true,false,658754257138830,false,[[10,21]]]],[],[[0,null,true,null,758185804928598,[[1,107,null,0,false,false,false,373367329142514,false,[[10,1]]],[1,107,null,0,false,false,false,416179047406949,false,[[10,0]]]],[],[[0,null,false,null,621907986973923,[[-1,100,null,0,false,false,false,302359767744989,false,[[11,"Inverted"],[8,0],[7,[0,0]]]]],[],[[0,null,false,null,868809679079789,[[1,107,null,0,false,false,false,327340049666832,false,[[10,0]]]],[[42,240,"Platform",822572512259894,false,[[3,0]]]]],[0,null,false,null,925120304506499,[[1,107,null,0,false,false,false,800870744243534,false,[[10,1]]]],[[42,240,"Platform",169433429511949,false,[[3,1]]]]]]],[0,null,false,null,211206089338948,[[-1,75,null,0,false,false,false,383455295883676,false]],[],[[0,null,false,null,508370783197560,[[1,107,null,0,false,false,false,366639356525243,false,[[10,0]]]],[[42,240,"Platform",516557842251802,false,[[3,1]]]]],[0,null,false,null,228922403212596,[[1,107,null,0,false,false,false,885856427437085,false,[[10,1]]]],[[42,240,"Platform",979906914973760,false,[[3,0]]]]]]]]]]],[0,null,false,null,816319954411908,[[18,236,null,0,false,false,false,699916884943934,false,[[3,0],[8,4],[0,[0,0]]]],[-1,241,null,0,false,false,false,458926654683300,false,[[0,[1,0.03]]]]],[[-1,99,null,991333363816052,false,[[0,[1,0.05]]]],[0,80,null,631583189581228,false,[[1,[10,[2,"Controls > "],[20,18,242,false,null,[[0,0]]]]],[13]]],[18,243,null,109805058586508,false,[[3,1],[3,0]]]]]]],[0,[true,"Player > Controls > Special Movements"],false,null,363053825355751,[[-1,72,null,0,false,false,false,363053825355751,false,[[1,[2,"Player > Controls > Special Movements"]]]]],[],[[0,null,false,null,234151200155398,[[42,209,"Platform",0,false,false,false,633425257668606,false],[42,77,null,0,false,true,false,123558431860533,false,[[10,4]]]],[],[[0,null,false,null,794360659217055,[[42,77,null,0,false,false,false,126028473875206,false,[[10,23]]],[42,77,null,0,false,true,false,449235096313453,false,[[10,7]]],[42,77,null,0,false,true,false,633278401000515,false,[[10,9]]]],[[42,114,null,784078599706659,false,[[10,23],[3,0]]],[42,114,null,769666761762470,false,[[10,21],[3,1]]]]],[0,null,false,null,138162063845322,[[-1,127,null,0,false,false,false,900846157803891,false,[[7,[5,[19,212],[21,42,false,null,25]]],[8,4],[7,[19,79]]]]],[[42,94,"Platform",412061506384571,false,[[0,[0,1500]]]],[42,88,"Platform",529014027071057,false,[[0,[0,330]]]],[42,210,"Platform",729231104702418,false,[[3,0]]]]]]],[0,null,false,null,611907762886215,[[42,77,null,0,false,false,false,312455868864623,false,[[10,22]]]],[[42,88,"Platform",529440291614446,false,[[0,[0,450]]]]],[[0,null,true,null,426548083760066,[[42,209,"Platform",0,false,true,false,130935118925915,false],[42,211,"Platform",0,false,true,false,942529375362234,false]],[[-1,99,null,733431664393461,false,[[0,[1,0.2]]]]],[[0,null,true,null,520339018057197,[[42,209,"Platform",0,false,true,false,516641182318195,false],[42,211,"Platform",0,false,true,false,766516486480773,false]],[[42,114,null,889255989187974,false,[[10,22],[3,0]]]]]]],[0,null,false,null,610420678978043,[[42,77,null,0,false,false,false,704540255368555,false,[[10,4]]]],[[42,114,null,537008673798183,false,[[10,22],[3,0]]]]]]],[0,null,false,null,569858679980113,[[42,77,null,0,false,false,false,571470368547165,false,[[10,26]]]],[[42,88,"Platform",325242182074794,false,[[0,[19,89,[[22,42,"Platform",207,false,null],[0,380]]]]]]],[[0,null,true,null,459218799201131,[[42,209,"Platform",0,false,false,false,824474909563929,false],[42,205,"Platform",0,false,false,false,620908376827032,false,[[3,0]]],[42,205,"Platform",0,false,false,false,380893851150332,false,[[3,1]]],[42,205,"Platform",0,false,false,false,436304788321559,false,[[3,1]]],[42,77,null,0,false,false,false,865866958801757,false,[[10,7]]]],[[42,114,null,161072743921074,false,[[10,26],[3,0]]]]]]],[0,null,false,null,688522682926390,[[42,77,null,0,false,false,false,268611126756265,false,[[10,21]]]],[[42,88,"Platform",241478928172269,false,[[0,[0,700]]]],[42,94,"Platform",782346954165456,false,[[0,[0,100]]]],[42,115,null,455990636542360,false,[[0,[0,2]]]]],[[0,null,false,null,211852139719691,[[-1,102,null,0,false,false,false,429106015634381,false]],[[201,93,null,391430948041386,false,[[2,["slide",false]],[1,[2,"sounds"]]]]],[[0,null,false,null,582626501728137,[[1,107,null,0,false,false,false,843473232322003,false,[[10,0]]],[42,73,null,0,false,false,false,491971852347534,false,[[10,2],[8,0],[7,[0,1]]]]],[[42,91,"Platform",946200696636764,false,[[0,[0,-550]]]]]],[0,null,false,null,850678311227510,[[-1,75,null,0,false,false,false,921406343109791,false],[1,107,null,0,false,false,false,666243466310714,false,[[10,1]]]],[[42,91,"Platform",854828596840148,false,[[0,[0,550]]]]]],[0,null,false,null,463293337769137,[[-1,75,null,0,false,false,false,913350117351669,false],[42,73,null,0,false,false,false,588550704254702,false,[[10,2],[8,0],[7,[0,1]]]]],[[42,91,"Platform",768104234539159,false,[[0,[0,550]]]]]],[0,null,false,null,984405175640277,[[-1,75,null,0,false,false,false,855140576194044,false]],[[42,91,"Platform",841345119154130,false,[[0,[0,-550]]]]]]]],[0,null,true,null,455543835012033,[[42,209,"Platform",0,false,true,false,590657579263759,false],[42,211,"Platform",0,false,true,false,589118068591016,false]],[[42,114,null,375863947012170,false,[[10,21],[3,0]]]]],[0,null,false,null,836547563493698,[[42,209,"Platform",0,false,false,false,338778183174668,false],[42,211,"Platform",0,false,false,false,539745865335194,false]],[[42,94,"Platform",135398754705231,false,[[0,[0,400]]]]],[[0,null,false,null,213211032057746,[[0,169,null,2,false,false,false,882971242594561,false,[[1,[2,"Controls > Jump"]]]]],[[42,84,"Platform",333156160338518,false,[[0,[6,[3,[22,42,"Platform",208,false,null]],[1,0.7]]]]],[201,93,null,160333512383321,false,[[2,["jumpboost",false]],[1,[2,"sounds"]]]],[42,114,null,453798787599105,false,[[10,21],[3,0]]],[42,114,null,586865016512066,false,[[10,10],[3,1]]],[0,80,null,520682762765632,false,[[1,[2,"Controls > Clear Buffer"]],[13,[7,[2,"Jump"]]]]]]]]],[0,null,false,null,634382156731601,[],[[-1,99,null,802589379717344,false,[[0,[1,0.4]]]],[42,114,null,690955693268396,false,[[10,21],[3,0]]]]],[0,null,false,null,512771997713136,[[-1,127,null,0,false,false,false,583767623007596,false,[[7,[22,42,"Platform",162,false,null]],[8,3],[7,[0,335]]]]],[[42,114,null,692683567693318,false,[[10,21],[3,0]]]]]]],[0,null,false,null,149697714522515,[[42,77,null,0,false,false,false,893326844858346,false,[[10,4]]]],[[42,115,null,643262095837352,false,[[0,[0,1]]]],[42,210,"Platform",708058542680396,false,[[3,1]]],[42,91,"Platform",582648154283970,false,[[0,[6,[6,[22,42,"Platform",207,false,null],[1,0.8]],[21,42,false,null,2]]]]],[42,88,"Platform",531100416915484,false,[[0,[0,660]]]]],[[0,null,false,null,949239644479790,[[-1,102,null,0,false,false,false,613411643457291,false]],[[201,93,null,839898145323238,false,[[2,["slide",false]],[1,[2,"sounds"]]]],[42,114,null,144975376700173,false,[[10,3],[3,0]]],[42,114,null,503742870282340,false,[[10,8],[3,0]]],[-1,99,null,683247520265486,false,[[0,[21,42,false,null,5]]]],[42,114,null,456413201611895,false,[[10,4],[3,0]]],[-1,99,null,390040252374842,false,[[0,[21,42,false,null,6]]]]],[[0,null,false,null,215731007074017,[[42,77,null,0,false,true,false,591370287776237,false,[[10,3]]]],[[42,114,null,509728627590603,false,[[10,3],[3,1]]],[201,93,null,198605345162292,false,[[2,["slide_recover",false]],[1,[2,"sounds"]]]]]]]],[0,null,false,null,671699291995199,[[0,169,null,2,false,false,false,861878792069515,false,[[1,[2,"Controls > Jump"]]]]],[[42,94,"Platform",196130927424202,false,[[0,[0,0]]]],[42,84,"Platform",191538897194715,false,[[0,[6,[3,[22,42,"Platform",208,false,null]],[1,0.8]]]]],[42,114,null,928097913066387,false,[[10,4],[3,0]]],[201,93,null,520342871639641,false,[[2,["jump",false]],[1,[2,"sounds"]]]],[0,80,null,646114125670202,false,[[1,[2,"Controls > Clear Buffer"]],[13,[7,[2,"Jump"]]]]],[-1,99,null,536906843429536,false,[[0,[1,0.15]]]],[42,114,null,451164878067401,false,[[10,7],[3,1]]]]],[0,null,false,null,243846958569722,[[42,209,"Platform",0,false,true,false,726201385370051,false]],[],[[0,null,false,null,404278600345537,[[-1,102,null,0,false,false,false,746891947160625,false]],[[42,177,"Timer",234551718073909,false,[[0,[1,0.1]],[3,0],[1,[2,"slideEnd"]]]]]],[0,null,false,null,243966505511514,[[42,172,"Timer",0,false,false,false,826174321638238,false,[[1,[2,"slideEnd"]]]]],[[42,94,"Platform",840796500758957,false,[[0,[0,0]]]],[42,114,null,196084792400539,false,[[10,4],[3,0]]],[42,115,null,683538051132814,false,[[0,[0,0]]]]]]]],[0,null,false,null,150051602975663,[[42,209,"Platform",0,false,false,false,134827211896509,false]],[[42,244,"Timer",692876129793336,false,[[1,[2,"slideEnd"]]]]]],[0,null,false,null,990247662493409,[[42,205,"Platform",0,false,false,false,308992508514478,false,[[3,0]]],[42,73,null,0,false,false,false,454449863392065,false,[[10,2],[8,2],[7,[0,0]]]]],[[42,114,null,454136502654359,false,[[10,4],[3,0]]],[42,114,null,734922125268928,false,[[10,3],[3,1]]],[201,93,null,450924068025923,false,[[2,["slide_recover",false]],[1,[2,"sounds"]]]]]],[0,null,false,null,927960791100859,[[42,205,"Platform",0,false,false,false,536069859736383,false,[[3,1]]],[42,73,null,0,false,false,false,646051920783423,false,[[10,2],[8,4],[7,[0,0]]]]],[[42,114,null,608856341514888,false,[[10,4],[3,0]]],[42,114,null,377741565204735,false,[[10,3],[3,1]]],[201,93,null,364806382641198,false,[[2,["slide_recover",false]],[1,[2,"sounds"]]]]]]]],[0,null,false,null,295115445478936,[[42,77,null,0,false,false,false,426799706126589,false,[[10,7]]]],[[42,245,null,739234623223014,false,[[1,[2,"Dive"]],[3,1]]],[42,210,"Platform",647036875001244,false,[[3,1]]]],[[0,null,false,null,291492786195840,[[-1,102,null,0,false,false,false,341245115795112,false]],[[201,93,null,674792430682167,false,[[2,["plunge",false]],[1,[2,"sounds"]]]]]],[0,null,false,null,948548544197326,[[42,205,"Platform",0,false,false,false,887275194330134,false,[[3,0]]],[42,73,null,0,false,false,false,543111482145418,false,[[10,2],[8,2],[7,[0,0]]]]],[[42,114,null,845568670928387,false,[[10,7],[3,0]]],[42,114,null,584330671650497,false,[[10,9],[3,1]]]]],[0,null,false,null,598770997813210,[[42,205,"Platform",0,false,false,false,170653372213439,false,[[3,1]]],[42,73,null,0,false,false,false,154932316823163,false,[[10,2],[8,4],[7,[0,0]]]]],[[42,114,null,980613528881365,false,[[10,7],[3,0]]],[42,114,null,797036182890270,false,[[10,9],[3,1]]]]],[0,null,false,null,145282778952449,[[42,209,"Platform",0,false,true,false,842767136564938,false]],[[42,91,"Platform",275301996895491,false,[[0,[6,[6,[22,42,"Platform",207,false,null],[1,0.7]],[21,42,false,null,2]]]]],[42,88,"Platform",774177221332522,false,[[0,[0,660]]]],[42,94,"Platform",727377977992170,false,[[0,[0,0]]]]]],[0,null,false,null,222243477406380,[[42,209,"Platform",0,false,false,false,844919359169178,false],[42,211,"Platform",0,false,false,false,979470601217414,false]],[[42,94,"Platform",165322303639700,false,[[0,[0,1000]]]]],[[0,null,false,null,185284095006238,[[0,169,null,2,false,false,false,641995135276923,false,[[1,[2,"Controls > Jump"]]]]],[[42,84,"Platform",242147824459377,false,[[0,[6,[3,[22,42,"Platform",208,false,null]],[1,0.7]]]]],[201,93,null,181320688640716,false,[[2,["jumpboost",false]],[1,[2,"sounds"]]]],[42,114,null,730729412907676,false,[[10,7],[3,0]]],[42,114,null,410184176037931,false,[[10,10],[3,1]]],[0,80,null,457320271768626,false,[[1,[2,"Controls > Clear Buffer"]],[13,[7,[2,"Jump"]]]]]]]]],[0,null,false,null,646607498301793,[[42,209,"Platform",0,false,false,false,367656668673651,false],[42,211,"Platform",0,false,true,false,364597386438180,false]],[[42,114,null,665747695236702,false,[[10,7],[3,0]]]]]]],[0,null,false,null,156875482546822,[[42,77,null,0,false,true,false,382746562020733,false,[[10,7]]],[42,246,null,0,false,false,false,442881764337654,false,[[1,[2,"Dive"]]]]],[[42,245,null,265327227357440,false,[[1,[2,"Default"]],[3,1]]]]],[0,null,false,null,934734420905879,[[42,77,null,0,false,false,false,549003062898579,false,[[10,10]]]],[[42,115,null,721908313349610,false,[[0,[0,0]]]],[42,210,"Platform",569182247863497,false,[[3,0]]],[42,88,"Platform",566364099637377,false,[[0,[0,660]]]],[42,91,"Platform",192896584717466,false,[[0,[6,[6,[22,42,"Platform",207,false,null],[0,2]],[21,42,false,null,2]]]]],[42,94,"Platform",642671025830788,false,[[0,[0,0]]]]],[[0,null,true,null,110446374893991,[[42,205,"Platform",0,false,false,false,554708956189875,false,[[3,0]]],[42,205,"Platform",0,false,false,false,193953298902279,false,[[3,1]]]],[[42,114,null,822678230115321,false,[[10,10],[3,0]]]]],[0,null,false,null,251993110207656,[[42,209,"Platform",0,false,false,false,110939718393033,false]],[[42,114,null,504264503331625,false,[[10,10],[3,0]]]]]]],[0,null,false,null,339268782131627,[[42,77,null,0,false,false,false,677012648112752,false,[[10,8]]]],[[42,115,null,968228659036443,false,[[0,[0,0]]]],[42,91,"Platform",353564076139514,false,[[0,[0,0]]]],[42,247,"Platform",512361875108767,false,[[0,[6,[22,42,"Platform",85,false,null],[0,2]]]]],[42,210,"Platform",402513405805144,false,[[3,1]]]],[[0,null,false,null,963368301073653,[[-1,102,null,0,false,false,false,479550046911456,false]],[[45,138,"Jumpthru",976560061507965,false,[[3,0]]],[68,138,"Jumpthru",243061084410162,false,[[3,0]]],[52,74,"Solid",889858337611395,false,[[3,0]]]]],[0,null,false,null,815393364606998,[[42,209,"Platform",0,false,false,false,824364844850936,false]],[],[[0,null,false,null,796315182690396,[[0,169,null,2,false,false,false,843773121114078,false,[[1,[2,"Controls > Jump"]]]]],[[0,80,null,338110813588658,false,[[1,[2,"Controls > Clear Buffer"]],[13]]],[42,84,"Platform",934504163476757,false,[[0,[6,[3,[22,42,"Platform",208,false,null]],[1,1.1]]]]],[42,114,null,767606467765704,false,[[10,8],[3,0]]],[42,82,null,191642327665652,false,[[10,0],[7,[2,"gpjump"]]]],[201,93,null,571296941569114,false,[[2,["jumpstrong",false]],[1,[2,"sounds"]]]],[42,114,null,642975499221718,false,[[10,23],[3,0]]]]],[0,null,false,null,767022326931793,[[-1,102,null,0,false,false,false,664368721197360,false]],[[201,93,null,201241292365051,false,[[2,["stun",false]],[1,[2,"sounds"]]]],[25,248,null,380894253458116,false,[[1,[2,"Player"]],[0,[0,30]],[0,[0,30]],[0,[1,0.1]],[0,[0,0]],[0,[1,0.1]],[0,[1,0.2]]]],[-1,99,null,226294170737269,false,[[0,[1,0.25]]]]],[[0,null,false,null,854513940128563,[[42,77,null,0,false,false,false,713986977275120,false,[[10,8]]],[42,209,"Platform",0,false,true,false,641895530349819,false]],[[42,114,null,328010380539615,false,[[10,23],[3,1]]],[-1,99,null,366043767170955,false,[[0,[1,0.5]]]],[42,114,null,277644095629144,false,[[10,23],[3,0]]]]],[0,null,false,null,622780094202269,[],[[42,114,null,706546148420929,false,[[10,8],[3,0]]]]]]]]],[0,null,false,null,816379556195353,[[-1,102,null,0,false,false,false,435257581947974,false]],[[201,93,null,671469099359503,false,[[2,["prepound",false]],[1,[2,"sounds"]]]],[42,84,"Platform",147173804863668,false,[[0,[7,[3,[22,42,"Platform",85,false,null]],[0,5]]]]],[-1,99,null,419910408689091,false,[[0,[1,0.2]]]],[42,84,"Platform",321944822457609,false,[[0,[7,[22,42,"Platform",85,false,null],[0,3]]]]]]]]],[0,null,false,null,310443411342945,[[42,77,null,0,false,false,false,406471942627452,false,[[10,15]]]],[[42,115,null,667904969000301,false,[[0,[0,1]]]],[42,210,"Platform",810228066015481,false,[[3,1]]]],[[1,"HasMoved",0,0,true,false,648002617674966,false],[0,null,false,null,267845189682378,[[-1,102,null,0,false,false,false,354678911170284,false]],[[-1,101,null,633679420683557,false,[[11,"HasMoved"],[7,[0,0]]]],[42,114,null,137779026198230,false,[[10,4],[3,0]]],[42,114,null,636284802422337,false,[[10,7],[3,0]]],[42,114,null,385877455010294,false,[[10,9],[3,0]]]]],[0,null,false,null,228461296983364,[[42,249,null,0,false,true,false,929443244984241,false,[[0,[0,0]],[0,[0,45]]]],[42,249,null,0,false,true,false,511623738861655,false,[[0,[0,315]],[0,[0,360]]]]],[[42,91,"Platform",948856888378105,false,[[0,[6,[3,[22,42,"Platform",207,false,null]],[21,42,false,null,2]]]]],[42,88,"Platform",913470149851894,false,[[0,[0,700]]]],[42,94,"Platform",252625228899587,false,[[0,[0,0]]]]]],[0,null,false,null,538667103688894,[[-1,75,null,0,false,false,false,492970077304098,false],[42,211,"Platform",0,false,false,false,417792675029875,false]],[[42,94,"Platform",239512324450997,false,[[0,[0,500]]]]]],[0,null,false,null,701571947653122,[[-1,75,null,0,false,false,false,308225476051091,false]],[[42,114,null,384797355988514,false,[[10,15],[3,0]]]]]]],[0,null,false,null,889385577070764,[[42,77,null,0,false,false,false,826777966534400,false,[[10,9]]]],[[42,115,null,907464667784307,false,[[0,[0,0]]]],[42,210,"Platform",253184080153398,false,[[3,1]]]],[[0,null,false,null,304912021288356,[[42,209,"Platform",0,false,false,false,863777075014988,false],[-1,102,null,0,false,false,false,442185400781011,false]],[[201,93,null,968847686252746,false,[[2,["stun",false]],[1,[2,"sounds"]]]],[-1,99,null,306345634303416,false,[[0,[1,0.3]]]],[42,114,null,709741391790074,false,[[10,9],[3,0]]],[42,91,"Platform",881043551343636,false,[[0,[6,[3,[21,42,false,null,2]],[0,100]]]]]]],[0,null,false,null,190351955319994,[[-1,102,null,0,false,false,false,155729367259746,false]],[[42,91,"Platform",505741491876053,false,[[0,[6,[22,42,"Platform",92,false,null],[1,-0.6]]]]],[201,93,null,459298654192874,false,[[2,["pound",false]],[1,[2,"sounds"]]]],[25,248,null,245428759770685,false,[[1,[2,"Player"]],[0,[0,50]],[0,[0,30]],[0,[1,0.25]],[0,[0,0]],[0,[1,0.1]],[0,[1,0.5]]]]]]]],[0,null,false,null,809238165586064,[[42,250,"Platform",1,false,false,false,970430710827143,false]],[[42,82,null,573821466374265,false,[[10,25],[7,[19,212]]]]]],[0,null,false,null,327986592568436,[[42,204,"Platform",0,false,false,false,736309745205108,false]],[[20,218,null,724840615189425,false,[[0,[20,42,121,false,null]],[0,[20,42,122,false,null]],[0,[20,42,121,false,null]],[0,[4,[20,42,122,false,null],[20,42,187,false,null]]]]]],[[0,null,false,null,986799436102462,[[20,219,null,0,false,false,false,997650823224230,false]],[[42,82,null,596172872649892,false,[[10,25],[7,[19,212]]]]]]]],[0,null,false,null,697109131792845,[[42,77,null,0,false,true,false,328586785690808,false,[[10,4]]],[42,77,null,0,false,true,false,848799512958797,false,[[10,7]]],[42,77,null,0,false,true,false,431761652489517,false,[[10,8]]],[42,77,null,0,false,true,false,279587680706069,false,[[10,9]]],[42,77,null,0,false,true,false,763177634916047,false,[[10,1]]],[42,77,null,0,false,true,false,754335624538479,false,[[10,15]]],[42,77,null,0,false,true,false,427875792263002,false,[[10,21]]],[1,107,null,0,false,true,false,268094222355594,false,[[10,2]]]],[[42,115,null,993314453946783,false,[[0,[0,0]]]],[42,210,"Platform",986286268712447,false,[[3,0]]]],[[0,null,false,null,235871184204619,[[0,169,null,2,false,false,false,288319760480956,false,[[1,[2,"Controls > Jump"]]]],[42,209,"Platform",0,false,false,false,464754659632466,false],[18,236,null,0,false,false,false,427557156322740,false,[[3,0],[8,4],[0,[0,0]]]]],[[0,80,null,505045592662932,false,[[1,[2,"Controls > Clear Buffer"]],[13]]],[4,231,null,396370909876961,false,[[1,[23,"VibratePtrn"]]]],[42,240,"Platform",910622627141946,false,[[3,2]]]],[[0,null,false,null,967880756819220,[[-1,127,null,0,false,false,false,591509576401018,false,[[7,[5,[19,212],[21,42,false,null,25]]],[8,3],[7,[1,0.1]]]]],[[42,78,null,824337290971704,false,[[10,24],[7,[0,1]]]],[-1,99,null,437588189261928,false,[[0,[0,0]]]]],[[0,null,false,null,758136673128243,[[42,73,null,0,false,false,false,640176111970724,false,[[10,24],[8,0],[7,[0,0]]]]],[[201,93,null,330198253049861,false,[[2,["jump",false]],[1,[2,"sounds"]]]]]],[0,null,false,null,553358567984277,[[42,73,null,0,false,false,false,229493038025303,false,[[10,24],[8,0],[7,[0,1]]]]],[[42,84,"Platform",965846211193367,false,[[0,[6,[3,[22,42,"Platform",208,false,null]],[1,1.05]]]]],[42,82,null,413406224282301,false,[[10,0],[7,[2,"gpjump"]]]],[201,93,null,769989193186885,false,[[2,["jumpstrong",false]],[1,[2,"sounds"]]]]]],[0,null,false,null,239129126161759,[[42,73,null,0,false,false,false,393160903676857,false,[[10,24],[8,0],[7,[0,2]]]]],[[42,84,"Platform",292216881114001,false,[[0,[6,[22,42,"Platform",158,false,null],[1,1.15]]]]],[42,82,null,821349012206638,false,[[10,24],[7,[0,-1]]]],[42,114,null,853241982725288,false,[[10,26],[3,1]]],[42,82,null,231357453666471,false,[[10,0],[7,[2,"triplejump"]]]],[201,93,null,876471365518828,false,[[2,["superjump",false]],[1,[2,"sounds"]]]]]]]],[0,null,false,null,353951668756337,[[-1,75,null,0,false,false,false,243104479886662,false]],[[42,82,null,735437148341193,false,[[10,24],[7,[0,0]]]],[201,93,null,482292118586285,false,[[2,["jump",false]],[1,[2,"sounds"]]]]]]]]]],[0,null,false,null,751201020040414,[[-1,75,null,0,false,false,false,127529581561110,false]],[[42,82,null,397801520086061,false,[[10,24],[7,[0,0]]]]]]]]]]]],[0,null,false,null,156141046873126,[[42,77,null,0,false,false,false,586881239706411,false,[[10,18]]]],[[42,202,"Platform",137936592884535,false,[[3,0]]]],[[1,"totdt",0,0,true,false,267859146352348,false],[1,"x",0,0,false,false,730136266388836,false],[1,"y",0,0,false,false,410003952550462,false],[1,"ang",0,0,false,false,481960375392541,false],[1,"state",1,"",false,false,899685984069302,false],[1,"frame",0,0,false,false,393964444703393,false],[1,"side",0,0,false,false,230399022519980,false],[1,"isValid",0,0,false,false,654599994298413,false],[1,"isOnCorrectMap",0,0,true,false,730720099939731,false],[0,null,false,null,829468374598519,[],[[-1,213,null,285016637825401,false,[[11,"totdt"],[7,[19,79]]]]]],[0,null,false,null,514911305231830,[[-1,102,null,0,false,false,false,703672072706211,false]],[[-1,101,null,218431225400741,false,[[11,"isOnCorrectMap"],[7,[12,[20,27,242,false,null,[[5,[20,27,251,false,null],[0,1]],[0,1],[0,1]]],[19,104]]]]]]],[0,null,false,null,480109356137061,[[-1,252,null,0,true,false,false,205905386554800,false],[-1,100,null,0,false,false,false,152102123632622,false,[[11,"totdt"],[8,4],[7,[1,0.01666666666666667]]]]],[[-1,253,null,758473408262674,false,[[11,"totdt"],[7,[1,0.01666666666666667]]]]],[[0,null,false,null,954510659548701,[[27,236,null,0,false,false,false,970026099032795,false,[[3,0],[8,4],[0,[0,0]]]],[-1,127,null,0,false,false,false,209877549521096,false,[[7,[19,226]],[8,4],[7,[0,0]]]]],[],[[0,null,false,null,982737016137921,[],[[-1,101,null,118573791856926,false,[[11,"x"],[7,[20,27,242,false,null,[[0,0],[0,0]]]]]],[-1,101,null,487251042128727,false,[[11,"y"],[7,[20,27,242,false,null,[[0,0],[0,1]]]]]],[-1,101,null,476154440719399,false,[[11,"ang"],[7,[20,27,242,false,null,[[0,0],[0,2]]]]]],[-1,101,null,176403210531315,false,[[11,"state"],[7,[20,27,242,false,null,[[0,0],[0,3]]]]]],[-1,101,null,549261333934504,false,[[11,"frame"],[7,[20,27,242,false,null,[[0,0],[0,4]]]]]],[-1,101,null,559526079359235,false,[[11,"side"],[7,[20,27,242,false,null,[[0,0],[0,5]]]]]],[-1,101,null,386877770239437,false,[[11,"isValid"],[7,[0,1]]]]]],[0,null,false,null,620937857771709,[],[[27,243,null,178703592861039,false,[[3,1],[3,0]]]]]]]]],[0,null,false,null,184661524664614,[[-1,100,null,0,false,false,false,725017395327013,false,[[11,"isValid"],[8,0],[7,[0,1]]]]],[[42,120,null,796825404433314,false,[[0,[23,"x"]],[0,[23,"y"]]]],[42,123,null,877488677237217,false,[[0,[23,"ang"]]]],[42,82,null,139104162117140,false,[[10,0],[7,[23,"state"]]]],[42,115,null,898912722617471,false,[[0,[23,"frame"]]]]],[[0,null,false,null,304172650272537,[[42,73,null,0,false,false,false,209161752053109,false,[[10,2],[8,1],[7,[23,"side"]]]]],[[42,82,null,589004259808866,false,[[10,2],[7,[23,"side"]]]]],[[0,null,false,null,378353106018284,[[42,73,null,0,false,false,false,918342218185485,false,[[10,2],[8,4],[7,[0,0]]]]],[[0,80,null,421107392963534,false,[[1,[2,"Player > Unmirror"]],[13,[7,[20,42,124,false,null]]]]]]],[0,null,false,null,340066436124507,[[42,73,null,0,false,false,false,881465647986947,false,[[10,2],[8,2],[7,[0,0]]]]],[[0,80,null,619772545284765,false,[[1,[2,"Player > Mirror"]],[13,[7,[20,42,124,false,null]]]]]]]]],[0,null,false,null,850197117058349,[[42,254,null,0,false,false,false,609799091916248,false,[[8,0],[0,[0,0]]]],[42,255,null,0,false,false,false,479427184656509,false,[[8,0],[0,[0,0]]]]],[[42,120,null,100962656481671,true,[[0,[23,"x"]],[0,[23,"y"]]]]]]]],[0,null,false,null,899574254781975,[[27,236,null,0,false,false,false,919736463104254,false,[[3,0],[8,0],[0,[0,0]]]]],[[42,114,null,133778970016206,false,[[10,18],[3,0]]],[42,114,null,241553301807067,false,[[10,8],[3,0]]],[42,202,"Platform",322938491218574,false,[[3,1]]]],[[0,null,false,null,462454853335087,[[-1,100,null,0,false,false,false,472314589649868,false,[[11,"isOnCorrectMap"],[8,0],[7,[0,1]]]]],[[42,120,null,473658434695112,false,[[0,[20,44,121,false,null]],[0,[20,44,122,false,null]]]]]]]]]]]],[0,null,false,null,215995300983103,[[42,77,null,0,false,false,false,159282898938938,false,[[10,16]]]],[[42,202,"Platform",467034861694278,false,[[3,0]]]],[[1,"GHOSTOPACITY",0,50,false,true,755712497155555,false],[0,null,false,null,610244726479499,[],[[33,150,null,411857087181546,false,[[0,[23,"GHOSTOPACITY"]]]],[32,150,null,434348739424253,false,[[0,[23,"GHOSTOPACITY"]]]],[34,150,null,175400980252283,false,[[0,[23,"GHOSTOPACITY"]]]],[35,150,null,434544860943530,false,[[0,[23,"GHOSTOPACITY"]]]],[36,150,null,204816322929772,false,[[0,[23,"GHOSTOPACITY"]]]],[37,150,null,181634839520543,false,[[0,[23,"GHOSTOPACITY"]]]],[38,150,null,143359813385219,false,[[0,[23,"GHOSTOPACITY"]]]],[39,150,null,763723398257762,false,[[0,[23,"GHOSTOPACITY"]]]],[40,150,null,243775356095169,false,[[0,[23,"GHOSTOPACITY"]]]],[41,150,null,891346351943445,false,[[0,[23,"GHOSTOPACITY"]]]],[33,182,"Skin",304460098943416,false],[32,182,"Skin",348066667867423,false],[34,182,"Skin",754659264853425,false],[35,182,"Skin",548557473702159,false],[36,182,"Skin",746668420967360,false],[37,182,"Skin",985800214032272,false],[38,182,"Skin",646067373379263,false],[39,182,"Skin",386261090503461,false],[40,182,"Skin",750106142855077,false],[41,182,"Skin",613777555742141,false]]],[0,null,false,null,654143178408526,[[42,256,null,1,false,false,false,968744484478835,false],[42,77,null,0,false,false,false,571244564999171,false,[[10,16]]]],[],[[0,null,false,null,281995551381876,[[1,107,null,0,false,false,false,383173458826215,false,[[10,15]]]],[[42,81,null,801812598964691,false]]],[0,null,false,null,107420606062321,[[-1,75,null,0,false,false,false,794412130833875,false]],[[22,257,null,756631897176540,false,[[1,[21,42,true,null,17]]]]],[[0,null,false,null,417506777740632,[[42,73,null,0,false,false,false,505052368901354,false,[[10,17],[8,0],[7,[2,""]]]]],[]]]]]],[1,"totdt",0,0,true,false,927846616028760,false],[0,null,false,null,160422064182649,[],[[-1,213,null,940889766913763,false,[[11,"totdt"],[7,[19,79]]]]]],[0,null,false,null,129781886011280,[[-1,252,null,0,true,false,false,908468482309613,false],[-1,100,null,0,false,false,false,419709005302300,false,[[11,"totdt"],[8,4],[7,[1,0.01666666666666667]]]]],[[-1,253,null,786188170554211,false,[[11,"totdt"],[7,[1,0.01666666666666667]]]]],[[0,null,false,null,246482095747891,[[22,236,null,0,false,false,false,753880760047912,false,[[3,0],[8,4],[0,[0,0]]]]],[],[[0,null,false,null,580742570341402,[[-1,127,null,0,false,false,false,690869706291923,false,[[7,[19,226]],[8,4],[7,[0,0]]]]],[[42,120,null,107352578889989,false,[[0,[20,22,242,false,null,[[0,0],[0,0]]]],[0,[20,22,242,false,null,[[0,0],[0,1]]]]]],[42,123,null,444293655275431,false,[[0,[20,22,242,false,null,[[0,0],[0,2]]]]]],[42,82,null,922969489693796,false,[[10,0],[7,[20,22,242,false,null,[[0,0],[0,3]]]]]],[42,115,null,383792607061486,false,[[0,[20,22,242,false,null,[[0,0],[0,4]]]]]]],[[0,null,false,null,105719951577974,[[22,258,null,0,false,false,false,213965162854967,false,[[0,[0,0]],[0,[0,5]],[8,1],[7,[21,42,false,null,2]]]]],[[42,82,null,666308483532413,false,[[10,2],[7,[20,22,242,false,null,[[0,0],[0,5]]]]]]],[[0,null,false,null,763833858762548,[[42,73,null,0,false,false,false,574868771374962,false,[[10,2],[8,4],[7,[0,0]]]]],[[0,80,null,863877730958315,false,[[1,[2,"Player > Unmirror"]],[13,[7,[20,42,124,false,null]]]]]]],[0,null,false,null,321004727863768,[[42,73,null,0,false,false,false,598344183294855,false,[[10,2],[8,2],[7,[0,0]]]]],[[0,80,null,277094610951174,false,[[1,[2,"Player > Mirror"]],[13,[7,[20,42,124,false,null]]]]]]]]],[0,null,false,null,853520435221701,[],[[22,243,null,393785217846335,false,[[3,1],[3,0]]]]]]]]],[0,null,false,null,883079616802522,[[22,236,null,0,false,false,false,434906052745167,false,[[3,0],[8,0],[0,[0,0]]]]],[],[[0,null,false,null,737757264553076,[[-1,102,null,0,false,false,false,291036687902187,false]],[[-1,99,null,138186168140597,false,[[0,[1,1]]]],[22,257,null,738223005910939,false,[[1,[21,42,true,null,17]]]]]]]]]]]],[0,[true,"Player > API"],false,null,310778656544186,[[-1,72,null,0,false,false,false,310778656544186,false,[[1,[2,"Player > API"]]]]],[],[[0,null,false,null,666684004601444,[[0,169,null,2,false,false,false,230911075847446,false,[[1,[2,"Player > Mirror"]]]]],[],[[1,"UID",0,0,false,false,214985796778577,false],[0,null,false,null,444017504116743,[],[[-1,101,null,905792860560439,false,[[11,"UID"],[7,[20,0,170,false,null,[[0,0]]]]]]]],[0,null,false,null,934223386933652,[[42,126,null,0,false,false,true,850803206820198,false,[[0,[23,"UID"]]]]],[[42,82,null,484762860301695,false,[[10,2],[7,[0,-1]]]],[42,156,null,739757915878079,false,[[3,0]]],[38,156,null,433706518374110,false,[[3,0]]],[40,156,null,614033754410790,false,[[3,0]]],[34,156,null,346445005175917,false,[[3,0]]],[36,156,null,673158429981905,false,[[3,0]]],[41,156,null,744022138485777,false,[[3,0]]],[39,156,null,829001401043935,false,[[3,0]]],[37,156,null,428695071211299,false,[[3,0]]],[35,156,null,345550748842253,false,[[3,0]]],[33,156,null,566160608722986,false,[[3,0]]],[32,156,null,222340057935942,false,[[3,0]]]]]]],[0,null,false,null,639840547395723,[[0,169,null,2,false,false,false,889393957717644,false,[[1,[2,"Player > Unmirror"]]]]],[],[[1,"UID",0,0,false,false,641016828248015,false],[0,null,false,null,925461952490355,[],[[-1,101,null,311976308380890,false,[[11,"UID"],[7,[20,0,170,false,null,[[0,0]]]]]]]],[0,null,false,null,899966522959813,[[42,126,null,0,false,false,true,476265351964623,false,[[0,[23,"UID"]]]]],[[42,82,null,533717445989646,false,[[10,2],[7,[0,1]]]],[42,156,null,520478777224339,false,[[3,1]]],[38,156,null,896204914481771,false,[[3,1]]],[40,156,null,967856229726762,false,[[3,1]]],[34,156,null,342588685006876,false,[[3,1]]],[36,156,null,827069188194492,false,[[3,1]]],[41,156,null,604237736167475,false,[[3,1]]],[39,156,null,842731416358022,false,[[3,1]]],[37,156,null,258261400934643,false,[[3,1]]],[35,156,null,978663955444557,false,[[3,1]]],[33,156,null,581051287480842,false,[[3,1]]],[32,156,null,511650866812460,false,[[3,1]]]]]]],[0,null,false,null,423936173939520,[[0,169,null,2,false,false,false,161402772590571,false,[[1,[2,"Player > Update Controls"]]]],[42,77,null,0,false,true,false,919950137978691,false,[[10,16]]]],[],[[0,null,false,null,471899662998867,[],[[-1,101,null,149714195771140,false,[[11,"Inverted"],[7,[0,0]]]]],[[0,null,false,null,760434055072290,[[-1,221,null,0,false,false,false,137757818750170,false,[[0,[22,42,"Platform",173,false,null]],[0,[0,181]],[0,[0,359]]]]],[[-1,101,null,653127214837167,false,[[11,"Inverted"],[7,[0,1]]]]]]]]]]]],[0,[true,"Player > Animations"],false,null,281099492903291,[[-1,72,null,0,false,false,false,281099492903291,false,[[1,[2,"Player > Animations"]]]]],[],[[0,null,false,null,271150416590545,[[-1,117,null,0,true,false,false,470551344768546,false,[[4,42]]]],[],[[0,null,false,null,400283323424766,[[42,73,null,0,false,false,false,342223258668987,false,[[10,0],[8,0],[7,[2,"idle"]]]]],[[32,120,null,635775977241362,false,[[0,[20,42,164,false,null,[[0,2]]]],[0,[20,42,165,false,null,[[0,2]]]]]],[32,123,null,270612262898026,false,[[0,[19,225,[[20,32,87,false,null],[20,42,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,690285446819830,[],[[33,259,null,349744207916067,false,[[4,32],[7,[2,"Head"]]]],[33,123,null,850879159254308,false,[[0,[19,225,[[20,33,87,false,null],[20,32,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]],[0,null,false,null,871273679678469,[],[[34,259,null,147449485136856,false,[[4,32],[7,[2,"LeftA"]]]],[34,123,null,405281745083498,false,[[0,[19,225,[[20,34,87,false,null],[20,32,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,361686910422164,[],[[36,259,null,547444547996008,false,[[4,34],[7,[0,1]]]],[36,123,null,330943956852297,false,[[0,[19,225,[[20,36,87,false,null],[20,34,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,483495424085668,[],[[38,259,null,613544955559107,false,[[4,32],[7,[2,"RightA"]]]],[38,123,null,905798844555936,false,[[0,[19,225,[[20,38,87,false,null],[20,32,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,317406717265707,[],[[40,259,null,282184550657003,false,[[4,38],[7,[0,1]]]],[40,123,null,706774377998064,false,[[0,[19,225,[[20,40,87,false,null],[20,38,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,370093733085246,[],[[37,259,null,362916160703906,false,[[4,32],[7,[2,"LeftL"]]]],[37,123,null,965006232035947,false,[[0,[19,225,[[20,37,87,false,null],[20,32,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,188199813232892,[],[[35,259,null,382845654783847,false,[[4,37],[7,[0,1]]]],[35,123,null,953533920754343,false,[[0,[19,225,[[20,35,87,false,null],[20,37,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,569930363813218,[],[[41,259,null,225138866018364,false,[[4,32],[7,[2,"RightL"]]]],[41,123,null,834887088989131,false,[[0,[19,225,[[20,41,87,false,null],[20,32,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,920268353481039,[],[[39,259,null,762780972140463,false,[[4,41],[7,[0,1]]]],[39,123,null,548442102604359,false,[[0,[19,225,[[20,39,87,false,null],[20,41,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]]]]]],[0,null,false,null,409921586480001,[[-1,75,null,0,false,false,false,429049799024204,false],[42,73,null,0,false,false,false,620441225373352,false,[[10,0],[8,0],[7,[2,"wavedash"]]]]],[[32,120,null,370514849483233,false,[[0,[20,42,164,false,null,[[0,2]]]],[0,[4,[20,42,165,false,null,[[0,2]]],[0,8]]]]],[32,123,null,267182862554413,false,[[0,[19,225,[[20,32,87,false,null],[4,[20,42,87,false,null],[6,[0,8],[21,42,false,null,2]]],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,591394898564113,[],[[33,259,null,196219383765407,false,[[4,32],[7,[2,"Head"]]]],[33,123,null,858418823503704,false,[[0,[19,225,[[20,33,87,false,null],[20,32,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]],[0,null,false,null,995753561607330,[],[[34,259,null,267907588574320,false,[[4,32],[7,[2,"LeftA"]]]],[34,123,null,462734126580891,false,[[0,[19,225,[[20,34,87,false,null],[4,[20,32,87,false,null],[6,[21,42,false,null,2],[0,60]]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]],[[0,null,false,null,473580263618676,[],[[36,259,null,275684176097516,false,[[4,34],[7,[0,1]]]],[36,123,null,604253874218871,false,[[0,[19,225,[[20,36,87,false,null],[5,[20,34,87,false,null],[6,[21,42,false,null,2],[0,20]]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,790123449053005,[],[[38,259,null,117022293005609,false,[[4,32],[7,[2,"RightA"]]]],[38,123,null,841655977113541,false,[[0,[19,225,[[20,38,87,false,null],[5,[20,32,87,false,null],[6,[21,42,false,null,2],[0,60]]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]],[[0,null,false,null,519432241409002,[],[[40,259,null,411241807619854,false,[[4,38],[7,[0,1]]]],[40,123,null,225107398343598,false,[[0,[19,225,[[20,40,87,false,null],[4,[20,38,87,false,null],[6,[21,42,false,null,2],[0,20]]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,459444140618960,[],[[37,259,null,612459705119984,false,[[4,32],[7,[2,"LeftL"]]]],[37,123,null,205675625489051,false,[[0,[19,225,[[20,37,87,false,null],[20,32,87,false,null],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]],[[0,null,false,null,795512808381698,[],[[35,259,null,691863066858387,false,[[4,37],[7,[0,1]]]],[35,123,null,557875567370509,false,[[0,[19,225,[[20,35,87,false,null],[4,[20,37,87,false,null],[6,[21,42,false,null,2],[0,90]]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,574758102302731,[],[[41,259,null,608499501709325,false,[[4,32],[7,[2,"RightL"]]]],[41,123,null,961598052048020,false,[[0,[19,225,[[20,41,87,false,null],[5,[20,32,87,false,null],[6,[0,90],[21,42,false,null,2]]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]],[[0,null,false,null,878546035813959,[],[[39,259,null,475644031999416,false,[[4,41],[7,[0,1]]]],[39,123,null,503132110484926,false,[[0,[19,225,[[20,39,87,false,null],[4,[20,41,87,false,null],[6,[21,42,false,null,2],[0,90]]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]]]]]]],[0,null,false,null,704391860344931,[[-1,75,null,0,false,false,false,499599308673535,false],[42,73,null,0,false,false,false,238935790257649,false,[[10,0],[8,0],[7,[2,"wall"]]]]],[[32,120,null,830288499986627,false,[[0,[20,42,164,false,null,[[0,2]]]],[0,[20,42,165,false,null,[[0,2]]]]]],[32,123,null,919806162383114,false,[[0,[19,225,[[20,32,87,false,null],[20,42,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,398950777399584,[],[[33,259,null,429074367969996,false,[[4,32],[7,[2,"Head"]]]],[33,123,null,756873938334439,false,[[0,[19,225,[[20,33,87,false,null],[20,32,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]],[0,null,false,null,649200545671635,[],[[34,259,null,332681362252185,false,[[4,32],[7,[2,"LeftA"]]]],[34,123,null,482605585166411,false,[[0,[19,225,[[20,34,87,false,null],[4,[6,[21,42,false,null,2],[0,280]],[20,32,87,false,null]],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,599893776760867,[],[[36,259,null,645824020362736,false,[[4,34],[7,[0,1]]]],[36,123,null,211103961598518,false,[[0,[5,[20,34,87,false,null],[6,[21,42,false,null,2],[0,20]]]]]]]]]],[0,null,false,null,849177307725659,[],[[38,259,null,185809533263371,false,[[4,32],[7,[2,"RightA"]]]],[38,123,null,800705218960245,false,[[0,[19,225,[[20,38,87,false,null],[4,[6,[21,42,false,null,2],[0,280]],[20,32,87,false,null]],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,446214125424953,[],[[40,259,null,903847237814460,false,[[4,38],[7,[0,1]]]],[40,123,null,208766962890608,false,[[0,[5,[20,38,87,false,null],[6,[21,42,false,null,2],[0,20]]]]]]]]]],[0,null,false,null,824990985629429,[],[[37,259,null,773788877182559,false,[[4,32],[7,[2,"LeftL"]]]],[37,123,null,615308237169774,false,[[0,[19,225,[[20,37,87,false,null],[20,32,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,955913269158021,[],[[35,259,null,169148096175391,false,[[4,37],[7,[0,1]]]],[35,123,null,848786421442564,false,[[0,[19,225,[[20,35,87,false,null],[20,37,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,640157826639388,[],[[41,259,null,372211920033240,false,[[4,32],[7,[2,"RightL"]]]],[41,123,null,851355176634165,false,[[0,[19,225,[[20,41,87,false,null],[20,32,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,917177020090468,[],[[39,259,null,672110137367149,false,[[4,41],[7,[0,1]]]],[39,123,null,387282175047144,false,[[0,[19,225,[[20,39,87,false,null],[20,41,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]]]]]],[0,null,false,null,519360248922449,[[-1,75,null,0,false,false,false,774745917004406,false],[42,73,null,0,false,false,false,652839155009778,false,[[10,0],[8,0],[7,[2,"triplejump"]]]]],[[32,120,null,927301148635358,false,[[0,[20,42,164,false,null,[[0,2]]]],[0,[20,42,165,false,null,[[0,2]]]]]],[32,123,null,297038533296147,false,[[0,[19,225,[[20,32,87,false,null],[4,[20,42,87,false,null],[6,[0,10],[21,42,false,null,2]]],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,558789907473289,[],[[33,259,null,896727002448220,false,[[4,32],[7,[2,"Head"]]]],[33,123,null,994779233703890,false,[[0,[19,225,[[20,33,87,false,null],[5,[20,32,87,false,null],[6,[0,10],[21,42,false,null,2]]],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]],[0,null,false,null,349795009629075,[],[[34,259,null,850215995308625,false,[[4,32],[7,[2,"LeftA"]]]],[34,123,null,644205236063115,false,[[0,[19,225,[[20,34,87,false,null],[4,[4,[6,[21,42,false,null,2],[0,70]],[6,[19,86,[[6,[19,212],[0,300]]]],[0,5]]],[20,32,87,false,null]],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,590404812423902,[],[[36,259,null,516147306777094,false,[[4,34],[7,[0,1]]]],[36,123,null,172968527613103,false,[[0,[5,[20,34,87,false,null],[6,[21,42,false,null,2],[0,20]]]]]]]]]],[0,null,false,null,730875501588257,[],[[38,259,null,266145014477405,false,[[4,32],[7,[2,"RightA"]]]],[38,123,null,871306793804156,false,[[0,[19,225,[[20,38,87,false,null],[4,[4,[6,[21,42,false,null,2],[0,350]],[6,[19,86,[[6,[19,212],[0,300]]]],[0,5]]],[20,32,87,false,null]],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,324090833426985,[],[[40,259,null,246012712459969,false,[[4,38],[7,[0,1]]]],[40,123,null,526694927843118,false,[[0,[5,[20,38,87,false,null],[6,[21,42,false,null,2],[0,20]]]]]]]]]],[0,null,false,null,444047629234086,[],[[37,259,null,304299215123832,false,[[4,32],[7,[2,"LeftL"]]]],[37,123,null,702944530319980,false,[[0,[19,225,[[20,37,87,false,null],[4,[4,[20,32,87,false,null],[6,[19,90,[[6,[19,212],[0,100]]]],[0,5]]],[6,[0,30],[21,42,false,null,2]]],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,733225494052375,[],[[35,259,null,254221117768342,false,[[4,37],[7,[0,1]]]],[35,123,null,772195326365903,false,[[0,[19,225,[[20,35,87,false,null],[4,[4,[20,37,87,false,null],[6,[19,90,[[6,[19,212],[0,80]]]],[0,20]]],[6,[0,30],[21,42,false,null,2]]],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,294084692841568,[],[[41,259,null,413097302185336,false,[[4,32],[7,[2,"RightL"]]]],[41,123,null,296635603716766,false,[[0,[19,225,[[20,41,87,false,null],[5,[4,[20,32,87,false,null],[6,[19,90,[[6,[19,212],[0,100]]]],[0,5]]],[6,[0,10],[21,42,false,null,2]]],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,191476708987044,[],[[39,259,null,156922459302373,false,[[4,41],[7,[0,1]]]],[39,123,null,989427999649175,false,[[0,[19,225,[[20,39,87,false,null],[4,[4,[20,41,87,false,null],[6,[19,90,[[6,[19,212],[0,80]]]],[0,20]]],[6,[0,20],[21,42,false,null,2]]],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]]]]]],[0,null,false,null,928649569913105,[[-1,75,null,0,false,false,false,315531332164941,false],[42,73,null,0,false,false,false,987568968501156,false,[[10,0],[8,0],[7,[2,"dancing"]]]]],[[32,120,null,219216073735260,false,[[0,[20,42,164,false,null,[[0,2]]]],[0,[20,42,165,false,null,[[0,2]]]]]],[32,123,null,161237509237044,false,[[0,[4,[6,[21,42,false,null,2],[4,[0,-10],[6,[0,10],[19,86,[[6,[6,[19,212],[0,60]],[0,15]]]]]]],[20,42,87,false,null]]]]]],[[0,null,false,null,498820233595801,[],[[33,259,null,350058085726037,false,[[4,32],[7,[2,"Head"]]]],[33,123,null,416093553672079,false,[[0,[4,[20,32,87,false,null],[6,[21,42,false,null,2],[5,[6,[0,10],[19,90,[[6,[6,[19,212],[0,60]],[0,15]]]]],[0,5]]]]]]]]],[0,null,false,null,452350123367096,[],[[34,259,null,549802426003014,false,[[4,32],[7,[2,"LeftA"]]]],[34,123,null,814522296665565,false,[[0,[4,[18,[12,[21,42,true,null,12],[2,"ada"]],[6,[21,42,false,null,2],[0,160]],[5,[6,[21,42,false,null,2],[0,45]],[6,[0,45],[19,90,[[6,[6,[19,212],[0,60]],[0,8]]]]]]],[20,32,87,false,null]]]]]],[[0,null,false,null,867203230702253,[],[[36,259,null,887460732556076,false,[[4,34],[7,[0,1]]]],[36,123,null,458847808383877,false,[[0,[18,[12,[21,42,true,null,12],[2,"ada"]],[20,34,87,false,null],[5,[5,[20,34,87,false,null],[6,[21,42,false,null,2],[0,90]]],[6,[0,45],[19,90,[[6,[6,[19,212],[0,60]],[0,8]]]]]]]]]]]]]],[0,null,false,null,290207473327906,[],[[38,259,null,896384341403766,false,[[4,32],[7,[2,"RightA"]]]],[38,123,null,684460062083342,false,[[0,[4,[18,[12,[21,42,true,null,12],[2,"ada"]],[6,[21,42,false,null,2],[0,120]],[6,[0,-45],[19,90,[[4,[0,180],[6,[6,[19,212],[0,60]],[0,8]]]]]]],[20,32,87,false,null]]]]]],[[0,null,false,null,446367884115003,[],[[40,259,null,387188070132672,false,[[4,38],[7,[0,1]]]],[40,123,null,499942909209913,false,[[0,[18,[12,[21,42,true,null,12],[2,"ada"]],[20,38,87,false,null],[5,[5,[20,38,87,false,null],[6,[21,42,false,null,2],[0,90]]],[6,[0,45],[19,90,[[4,[0,180],[6,[6,[19,212],[0,60]],[0,8]]]]]]]]]]]]]]],[0,null,false,null,946305659847911,[],[[37,259,null,545193891844284,false,[[4,32],[7,[2,"LeftL"]]]],[37,123,null,988315198816797,false,[[0,[4,[6,[6,[21,42,false,null,2],[0,90]],[19,90,[[6,[6,[19,212],[0,60]],[0,8]]]]],[20,32,87,false,null]]]]]],[[0,null,false,null,652938421628628,[],[[35,259,null,290659025467467,false,[[4,37],[7,[0,1]]]],[35,123,null,799762279249383,false,[[0,[4,[20,37,87,false,null],[6,[21,42,false,null,2],[4,[0,90],[6,[0,90],[19,86,[[6,[6,[19,212],[0,60]],[0,8]]]]]]]]]]]]]]],[0,null,false,null,926578236638095,[],[[41,259,null,807362413541902,false,[[4,32],[7,[2,"RightL"]]]],[41,123,null,845729683144738,false,[[0,[4,[6,[6,[21,42,false,null,2],[0,90]],[19,90,[[4,[0,180],[6,[6,[19,212],[0,60]],[0,8]]]]]],[20,32,87,false,null]]]]]],[[0,null,false,null,229404520767380,[],[[39,259,null,696134787870936,false,[[4,41],[7,[0,1]]]],[39,123,null,435736698561965,false,[[0,[4,[20,41,87,false,null],[6,[21,42,false,null,2],[4,[0,90],[6,[0,90],[19,86,[[4,[0,180],[6,[6,[19,212],[0,60]],[0,8]]]]]]]]]]]]]]]]]],[0,null,false,null,123082174789365,[[-1,75,null,0,false,false,false,741790114580631,false],[42,73,null,0,false,false,false,926219900544475,false,[[10,0],[8,0],[7,[2,"run"]]]]],[[32,120,null,241440156488208,false,[[0,[20,42,164,false,null,[[0,2]]]],[0,[20,42,165,false,null,[[0,2]]]]]],[32,123,null,812938074998150,false,[[0,[4,[6,[21,42,false,null,2],[4,[0,15],[6,[0,5],[19,86,[[6,[6,[19,212],[0,60]],[0,15]]]]]]],[20,42,87,false,null]]]]]],[[0,null,false,null,457412256844100,[],[[33,259,null,798681847208692,false,[[4,32],[7,[2,"Head"]]]],[33,123,null,847322284568749,false,[[0,[4,[20,32,87,false,null],[6,[21,42,false,null,2],[6,[0,10],[19,90,[[6,[6,[19,212],[0,60]],[0,20]]]]]]]]]]]],[0,null,false,null,705557604064165,[],[[34,259,null,395012411735817,false,[[4,32],[7,[2,"LeftA"]]]],[34,123,null,601470312613057,false,[[0,[4,[18,[12,[21,42,true,null,12],[2,"ada"]],[6,[21,42,false,null,2],[0,120]],[5,[6,[21,42,false,null,2],[0,45]],[6,[0,45],[19,90,[[6,[6,[19,212],[0,60]],[0,10]]]]]]],[20,32,87,false,null]]]]]],[[0,null,false,null,563290427769426,[],[[36,259,null,134013286698008,false,[[4,34],[7,[0,1]]]],[36,123,null,458656503677891,false,[[0,[18,[12,[21,42,true,null,12],[2,"ada"]],[20,34,87,false,null],[5,[5,[20,34,87,false,null],[6,[21,42,false,null,2],[0,90]]],[6,[0,45],[19,90,[[6,[6,[19,212],[0,60]],[0,10]]]]]]]]]]]]]],[0,null,false,null,989977822617913,[],[[38,259,null,109145378557549,false,[[4,32],[7,[2,"RightA"]]]],[38,123,null,747437013922934,false,[[0,[4,[18,[12,[21,42,true,null,12],[2,"ada"]],[6,[21,42,false,null,2],[0,120]],[6,[0,-45],[19,90,[[4,[0,180],[6,[6,[19,212],[0,60]],[0,10]]]]]]],[20,32,87,false,null]]]]]],[[0,null,false,null,697393660076718,[],[[40,259,null,336057262611979,false,[[4,38],[7,[0,1]]]],[40,123,null,352981193382501,false,[[0,[18,[12,[21,42,true,null,12],[2,"ada"]],[20,38,87,false,null],[5,[5,[20,38,87,false,null],[6,[21,42,false,null,2],[0,90]]],[6,[0,45],[19,90,[[4,[0,180],[6,[6,[19,212],[0,60]],[0,10]]]]]]]]]]]]]]],[0,null,false,null,404677069394732,[],[[37,259,null,780139456376845,false,[[4,32],[7,[2,"LeftL"]]]],[37,123,null,656460563188321,false,[[0,[4,[6,[6,[21,42,false,null,2],[0,90]],[19,90,[[6,[6,[19,212],[0,60]],[0,10]]]]],[20,32,87,false,null]]]]]],[[0,null,false,null,279530227593761,[],[[35,259,null,346144114822278,false,[[4,37],[7,[0,1]]]],[35,123,null,989766860978645,false,[[0,[4,[20,37,87,false,null],[6,[21,42,false,null,2],[4,[0,90],[6,[0,90],[19,86,[[6,[6,[19,212],[0,60]],[0,10]]]]]]]]]]]]]]],[0,null,false,null,764361981194794,[],[[41,259,null,127907074145687,false,[[4,32],[7,[2,"RightL"]]]],[41,123,null,473432296280576,false,[[0,[4,[6,[6,[21,42,false,null,2],[0,90]],[19,90,[[4,[0,180],[6,[6,[19,212],[0,60]],[0,10]]]]]],[20,32,87,false,null]]]]]],[[0,null,false,null,624643681073891,[],[[39,259,null,180884813587202,false,[[4,41],[7,[0,1]]]],[39,123,null,877170726397700,false,[[0,[4,[20,41,87,false,null],[6,[21,42,false,null,2],[4,[0,90],[6,[0,90],[19,86,[[4,[0,180],[6,[6,[19,212],[0,60]],[0,10]]]]]]]]]]]]]]]]]],[0,null,false,null,660404342933246,[[-1,75,null,0,false,false,false,849231850072140,false],[42,73,null,0,false,false,false,641132449475471,false,[[10,0],[8,0],[7,[2,"jump"]]]]],[[32,120,null,863886691313751,false,[[0,[20,42,164,false,null,[[0,2]]]],[0,[20,42,165,false,null,[[0,2]]]]]],[32,123,null,947027640909739,false,[[0,[19,225,[[20,32,87,false,null],[4,[6,[3,[21,42,false,null,2]],[0,10]],[20,42,87,false,null]],[6,[6,[1,0.05],[19,79]],[0,60]]]]]]]],[[0,null,false,null,580384736587621,[],[[33,259,null,462256664227415,false,[[4,32],[7,[2,"Head"]]]],[33,123,null,691468025979640,false,[[0,[19,225,[[20,33,87,false,null],[5,[20,32,87,false,null],[6,[21,42,false,null,2],[0,20]]],[6,[6,[1,0.05],[19,79]],[0,60]]]]]]]]],[0,null,false,null,823799275262269,[],[[34,259,null,416048549393720,false,[[4,32],[7,[2,"LeftA"]]]],[34,123,null,285982740113223,false,[[0,[19,225,[[20,34,87,false,null],[4,[20,32,87,false,null],[6,[21,42,false,null,2],[0,5]]],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,876863116184903,[],[[36,259,null,508019533668068,false,[[4,34],[7,[0,1]]]],[36,123,null,167200703263832,false,[[0,[5,[20,34,87,false,null],[6,[21,42,false,null,2],[0,20]]]]]]]]]],[0,null,false,null,134911995978562,[],[[38,259,null,145715805452978,false,[[4,32],[7,[2,"RightA"]]]],[38,123,null,200314838627490,false,[[0,[19,225,[[20,38,87,false,null],[4,[20,32,87,false,null],[6,[21,42,false,null,2],[0,280]]],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,537693946573364,[],[[40,259,null,207127573821040,false,[[4,38],[7,[0,1]]]],[40,123,null,725823088987724,false,[[0,[5,[20,38,87,false,null],[6,[21,42,false,null,2],[0,20]]]]]]]]]],[0,null,false,null,741458607229602,[],[[37,259,null,670908312536250,false,[[4,32],[7,[2,"LeftL"]]]],[37,123,null,618523202162777,false,[[0,[19,225,[[20,37,87,false,null],[4,[20,32,87,false,null],[6,[21,42,false,null,2],[0,5]]],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,104281676576475,[],[[35,259,null,516188741088770,false,[[4,37],[7,[0,1]]]],[35,123,null,142951735613576,false,[[0,[4,[20,37,87,false,null],[6,[21,42,false,null,2],[0,30]]]]]]]]]],[0,null,false,null,826789081000474,[],[[41,259,null,837177111107588,false,[[4,32],[7,[2,"RightL"]]]],[41,123,null,786398431760266,false,[[0,[19,225,[[20,41,87,false,null],[4,[20,32,87,false,null],[6,[21,42,false,null,2],[0,280]]],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,968506133270231,[],[[39,259,null,820799053981624,false,[[4,41],[7,[0,1]]]],[39,123,null,750380697686615,false,[[0,[4,[20,41,87,false,null],[6,[21,42,false,null,2],[0,20]]]]]]]]]]]],[0,null,false,null,924283789202538,[[-1,75,null,0,false,false,false,151835039526528,false],[42,73,null,0,false,false,false,314284776416174,false,[[10,0],[8,0],[7,[2,"poundFloor"]]]]],[[32,120,null,832648962911173,false,[[0,[20,42,164,false,null,[[0,2]]]],[0,[20,42,165,false,null,[[0,2]]]]]],[32,123,null,946183405829913,false,[[0,[19,225,[[20,32,87,false,null],[20,42,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,525516252093791,[[-1,102,null,0,false,false,false,331954622842166,false]],[[34,123,null,598711703004936,false,[[0,[4,[20,32,87,false,null],[6,[0,120],[21,42,false,null,2]]]]]],[38,123,null,724053438087828,false,[[0,[5,[20,32,87,false,null],[6,[0,120],[21,42,false,null,2]]]]]],[37,123,null,908851947585349,false,[[0,[5,[20,32,87,false,null],[6,[0,80],[21,42,false,null,2]]]]]],[41,123,null,511177201189443,false,[[0,[5,[20,32,87,false,null],[6,[0,80],[21,42,false,null,2]]]]]],[35,123,null,616057763629306,false,[[0,[4,[20,32,87,false,null],[6,[0,120],[21,42,false,null,2]]]]]],[39,123,null,745102201872089,false,[[0,[4,[20,32,87,false,null],[6,[0,120],[21,42,false,null,2]]]]]]]],[0,null,false,null,822307429020755,[],[[33,259,null,982717046574574,false,[[4,32],[7,[2,"Head"]]]],[33,123,null,179069528400075,false,[[0,[19,225,[[20,33,87,false,null],[20,32,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]],[0,null,false,null,163802519643313,[],[[34,259,null,848598139426903,false,[[4,32],[7,[2,"LeftA"]]]],[34,123,null,139643050944861,false,[[0,[19,225,[[20,34,87,false,null],[20,32,87,false,null],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,873111685189892,[],[[36,259,null,834471220639755,false,[[4,34],[7,[0,1]]]],[36,123,null,462981626453760,false,[[0,[19,225,[[20,36,87,false,null],[20,32,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,278975274391047,[],[[38,259,null,692965851825913,false,[[4,32],[7,[2,"RightA"]]]],[38,123,null,603151835160381,false,[[0,[19,225,[[20,38,87,false,null],[20,32,87,false,null],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,275941665155628,[],[[40,259,null,502083830999802,false,[[4,38],[7,[0,1]]]],[40,123,null,349065154629598,false,[[0,[19,225,[[20,40,87,false,null],[20,32,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,196313489814132,[],[[37,259,null,128111558026983,false,[[4,32],[7,[2,"LeftL"]]]],[37,123,null,449420506385453,false,[[0,[19,225,[[20,37,87,false,null],[20,32,87,false,null],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,865103881676003,[],[[35,259,null,173140533888652,false,[[4,37],[7,[0,1]]]],[35,123,null,368704496991931,false,[[0,[19,225,[[20,35,87,false,null],[20,32,87,false,null],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,946262869298217,[],[[41,259,null,164555132536388,false,[[4,32],[7,[2,"RightL"]]]],[41,123,null,665562919250478,false,[[0,[19,225,[[20,41,87,false,null],[20,32,87,false,null],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,466107971468604,[],[[39,259,null,587108778980172,false,[[4,41],[7,[0,1]]]],[39,123,null,702887573743531,false,[[0,[19,225,[[20,39,87,false,null],[20,32,87,false,null],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]]]]]]],[0,null,false,null,109825265648293,[[-1,75,null,0,false,false,false,142942802819544,false],[42,73,null,0,false,false,false,589294505000831,false,[[10,0],[8,0],[7,[2,"gpjump"]]]]],[[32,120,null,409677865086702,false,[[0,[20,42,164,false,null,[[0,2]]]],[0,[20,42,165,false,null,[[0,2]]]]]],[32,123,null,308905572244608,false,[[0,[19,225,[[20,32,87,false,null],[20,42,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,808363741560107,[],[[33,259,null,523494793229301,false,[[4,32],[7,[2,"Head"]]]],[33,123,null,410031680645732,false,[[0,[19,225,[[20,33,87,false,null],[5,[20,32,87,false,null],[6,[0,30],[21,42,false,null,2]]],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]],[0,null,false,null,329845632004907,[],[[34,259,null,508309163821442,false,[[4,32],[7,[2,"LeftA"]]]],[34,123,null,505868057652546,false,[[0,[19,225,[[20,34,87,false,null],[20,32,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,456017505216042,[],[[36,259,null,306650765672361,false,[[4,34],[7,[0,1]]]],[36,123,null,105115234529152,false,[[0,[19,225,[[20,36,87,false,null],[20,34,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,544977240303673,[],[[38,259,null,622867771944621,false,[[4,32],[7,[2,"RightA"]]]],[38,123,null,817190219014913,false,[[0,[19,225,[[20,38,87,false,null],[20,32,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,270847551690086,[],[[40,259,null,146001490871796,false,[[4,38],[7,[0,1]]]],[40,123,null,823904425896017,false,[[0,[19,225,[[20,40,87,false,null],[20,38,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,559874938538818,[],[[37,259,null,987630549263244,false,[[4,32],[7,[2,"LeftL"]]]],[37,123,null,144252227304526,false,[[0,[19,225,[[20,37,87,false,null],[20,32,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,201982363401811,[],[[35,259,null,733542699003753,false,[[4,37],[7,[0,1]]]],[35,123,null,294625428526288,false,[[0,[19,225,[[20,35,87,false,null],[20,37,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,877271632511689,[],[[41,259,null,107252495729902,false,[[4,32],[7,[2,"RightL"]]]],[41,123,null,569039856802960,false,[[0,[19,225,[[20,41,87,false,null],[20,32,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,643348116444515,[],[[39,259,null,895502045217064,false,[[4,41],[7,[0,1]]]],[39,123,null,842944844290311,false,[[0,[19,225,[[20,39,87,false,null],[20,41,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]]]]]],[0,null,false,null,718490831058831,[[-1,75,null,0,false,false,false,967722937670416,false],[42,73,null,0,false,false,false,926530646436442,false,[[10,0],[8,0],[7,[2,"fall"]]]]],[[32,120,null,510216136400673,false,[[0,[20,42,164,false,null,[[0,2]]]],[0,[20,42,165,false,null,[[0,2]]]]]],[32,123,null,218871535072432,false,[[0,[19,225,[[20,32,87,false,null],[4,[6,[21,42,false,null,2],[0,10]],[20,42,87,false,null]],[6,[6,[1,0.05],[19,79]],[0,60]]]]]]]],[[0,null,false,null,736178928441611,[],[[33,259,null,606247005168164,false,[[4,32],[7,[2,"Head"]]]],[33,123,null,434455917902193,false,[[0,[19,225,[[20,33,87,false,null],[4,[20,32,87,false,null],[6,[21,42,false,null,2],[0,20]]],[6,[6,[1,0.05],[19,79]],[0,60]]]]]]]]],[0,null,false,null,298229501765110,[],[[34,259,null,185562358324127,false,[[4,32],[7,[2,"LeftA"]]]],[34,123,null,100634850480395,false,[[0,[19,225,[[20,34,87,false,null],[4,[20,32,87,false,null],[6,[21,42,false,null,2],[0,300]]],[6,[6,[1,0.05],[19,79]],[0,60]]]]]]]],[[0,null,false,null,340726230573764,[],[[36,259,null,655704262187348,false,[[4,34],[7,[0,1]]]],[36,123,null,162163802541935,false,[[0,[5,[20,34,87,false,null],[6,[21,42,false,null,2],[0,20]]]]]]]]]],[0,null,false,null,460029678667230,[],[[38,259,null,885944983108098,false,[[4,32],[7,[2,"RightA"]]]],[38,123,null,640995865259255,false,[[0,[19,225,[[20,38,87,false,null],[4,[20,32,87,false,null],[6,[21,42,false,null,2],[0,280]]],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,828106622521073,[],[[40,259,null,399834160366503,false,[[4,38],[7,[0,1]]]],[40,123,null,260514882468700,false,[[0,[5,[20,38,87,false,null],[6,[21,42,false,null,2],[0,20]]]]]]]]]],[0,null,false,null,691432209325245,[],[[37,259,null,874044776330502,false,[[4,32],[7,[2,"LeftL"]]]],[37,123,null,873822017597312,false,[[0,[19,225,[[20,37,87,false,null],[4,[20,32,87,false,null],[6,[21,42,false,null,2],[0,300]]],[6,[6,[1,0.05],[19,79]],[0,60]]]]]]]],[[0,null,false,null,590431261443707,[],[[35,259,null,748392231422005,false,[[4,37],[7,[0,1]]]],[35,123,null,119527643157870,false,[[0,[4,[20,37,87,false,null],[6,[21,42,false,null,2],[0,30]]]]]]]]]],[0,null,false,null,568562188150189,[],[[41,259,null,432487997073285,false,[[4,32],[7,[2,"RightL"]]]],[41,123,null,464310082847434,false,[[0,[19,225,[[20,41,87,false,null],[4,[20,32,87,false,null],[6,[21,42,false,null,2],[0,280]]],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,787216305075849,[],[[39,259,null,925894373853273,false,[[4,41],[7,[0,1]]]],[39,123,null,448105978990906,false,[[0,[4,[20,41,87,false,null],[6,[21,42,false,null,2],[0,20]]]]]]]]]]]],[0,null,false,null,158621298586766,[[-1,75,null,0,false,false,false,681108932903924,false],[42,73,null,0,false,false,false,647373172772948,false,[[10,0],[8,0],[7,[2,"wallslide"]]]]],[[32,120,null,106363014778466,false,[[0,[20,42,164,false,null,[[0,2]]]],[0,[20,42,165,false,null,[[0,2]]]]]],[32,123,null,983682710176785,false,[[0,[19,225,[[20,32,87,false,null],[4,[6,[3,[21,42,false,null,2]],[0,10]],[20,42,87,false,null]],[6,[6,[1,0.05],[19,79]],[0,60]]]]]]]],[[0,null,false,null,910443773109646,[],[[33,259,null,249421409628599,false,[[4,32],[7,[2,"Head"]]]],[33,123,null,424282580757893,false,[[0,[19,225,[[20,33,87,false,null],[6,[3,[21,42,false,null,2]],[0,40]],[6,[6,[1,0.05],[19,79]],[0,60]]]]]]]]],[0,null,false,null,289864298956867,[],[[34,259,null,481327312002731,false,[[4,32],[7,[2,"LeftA"]]]],[34,123,null,803556176482893,false,[[0,[19,225,[[20,34,87,false,null],[6,[21,42,false,null,2],[0,300]],[6,[6,[1,0.05],[19,79]],[0,60]]]]]]]],[[0,null,false,null,574611129117917,[],[[36,259,null,811703493237997,false,[[4,34],[7,[0,1]]]],[36,123,null,885340834631071,false,[[0,[5,[20,34,87,false,null],[6,[21,42,false,null,2],[0,20]]]]]]]]]],[0,null,false,null,222675164964233,[],[[38,259,null,969343453168502,false,[[4,32],[7,[2,"RightA"]]]],[38,123,null,534490917035635,false,[[0,[19,225,[[20,38,87,false,null],[6,[21,42,false,null,2],[0,280]],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,844409980383122,[],[[40,259,null,898190775576339,false,[[4,38],[7,[0,1]]]],[40,123,null,890974079663701,false,[[0,[5,[20,38,87,false,null],[6,[21,42,false,null,2],[0,20]]]]]]]]]],[0,null,false,null,127541756665008,[],[[37,259,null,624104169201521,false,[[4,32],[7,[2,"LeftL"]]]],[37,123,null,875887772355220,false,[[0,[19,225,[[20,37,87,false,null],[6,[21,42,false,null,2],[0,300]],[6,[6,[1,0.05],[19,79]],[0,60]]]]]]]],[[0,null,false,null,983210712208022,[],[[35,259,null,339564649542356,false,[[4,37],[7,[0,1]]]],[35,123,null,925346305785816,false,[[0,[4,[20,37,87,false,null],[6,[21,42,false,null,2],[0,30]]]]]]]]]],[0,null,false,null,374927503472739,[],[[41,259,null,416178556657150,false,[[4,32],[7,[2,"RightL"]]]],[41,123,null,821784691523222,false,[[0,[19,225,[[20,41,87,false,null],[6,[21,42,false,null,2],[0,280]],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,486677508016104,[],[[39,259,null,918979746542348,false,[[4,41],[7,[0,1]]]],[39,123,null,959541279226275,false,[[0,[4,[20,41,87,false,null],[6,[21,42,false,null,2],[0,20]]]]]]]]]]]],[0,null,false,null,797011172446362,[[-1,75,null,0,false,false,false,320185848035333,false],[42,73,null,0,false,false,false,705211780320465,false,[[10,0],[8,0],[7,[2,"slide"]]]]],[[32,120,null,965900154868865,false,[[0,[19,260,[[20,32,121,false,null],[20,42,164,false,null,[[0,2]]],[1,0.5]]]],[0,[19,260,[[20,32,122,false,null],[20,42,165,false,null,[[0,2]]],[1,0.5]]]]]],[32,123,null,350138362905520,false,[[0,[19,225,[[20,32,87,false,null],[4,[6,[21,42,false,null,2],[0,-80]],[20,42,87,false,null]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]],[[0,null,false,null,452099705572543,[],[[33,259,null,674884793940459,false,[[4,32],[7,[2,"Head"]]]],[33,123,null,584314522302391,false,[[0,[4,[20,32,87,false,null],[6,[21,42,false,null,2],[4,[6,[0,5],[19,90,[[6,[6,[19,212],[0,60]],[0,10]]]]],[0,45]]]]]]]]],[0,null,false,null,230351738078894,[],[[34,259,null,627091406597528,false,[[4,32],[7,[2,"LeftA"]]]],[34,123,null,916715668067487,false,[[0,[19,225,[[20,34,87,false,null],[5,[5,[20,32,87,false,null],[6,[21,42,false,null,2],[0,10]]],[0,20]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]],[[0,null,false,null,412988875342023,[],[[36,259,null,214117665596196,false,[[4,34],[7,[0,1]]]],[36,123,null,468581338720112,false,[[0,[5,[20,34,87,false,null],[6,[21,42,false,null,2],[0,40]]]]]]]]]],[0,null,false,null,622945997152434,[],[[38,259,null,354598650073451,false,[[4,32],[7,[2,"RightA"]]]],[38,123,null,147484677143539,false,[[0,[19,225,[[20,38,87,false,null],[5,[20,32,87,false,null],[6,[21,42,false,null,2],[0,10]]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]],[[0,null,false,null,375855903249413,[],[[40,259,null,294485050284307,false,[[4,38],[7,[0,1]]]],[40,123,null,721861964242194,false,[[0,[4,[5,[20,38,87,false,null],[6,[21,42,false,null,2],[0,40]]],[0,10]]]]]]]]],[0,null,false,null,641807547309849,[],[[37,259,null,889269633456671,false,[[4,32],[7,[2,"LeftL"]]]],[37,123,null,152251833570059,false,[[0,[19,225,[[20,37,87,false,null],[4,[20,32,87,false,null],[6,[21,42,false,null,2],[0,-20]]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]],[[0,null,false,null,113230452744390,[],[[35,259,null,689545690390658,false,[[4,37],[7,[0,1]]]],[35,123,null,953617617079342,false,[[0,[19,225,[[20,35,87,false,null],[20,37,87,false,null],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,425968760761138,[],[[41,259,null,180165111529073,false,[[4,32],[7,[2,"RightL"]]]],[41,123,null,833589771453641,false,[[0,[19,225,[[20,41,87,false,null],[4,[20,32,87,false,null],[6,[21,42,false,null,2],[0,-45]]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]],[[0,null,false,null,884155522716281,[],[[39,259,null,547084017750004,false,[[4,41],[7,[0,1]]]],[39,123,null,741546357791539,false,[[0,[19,225,[[20,39,87,false,null],[20,37,87,false,null],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]]]]]]],[0,null,false,null,560230789983784,[[-1,75,null,0,false,false,false,165773971272169,false],[42,73,null,0,false,false,false,555577047697985,false,[[10,0],[8,0],[7,[2,"plunge"]]]]],[[32,120,null,982598640687238,false,[[0,[19,260,[[20,32,121,false,null],[20,42,164,false,null,[[0,2]]],[1,0.5]]]],[0,[19,260,[[20,32,122,false,null],[20,42,165,false,null,[[0,2]]],[1,0.5]]]]]],[32,123,null,270522250400175,false,[[0,[4,[19,225,[[5,[20,32,87,false,null],[20,42,87,false,null]],[6,[21,42,false,null,2],[0,120]],[6,[6,[1,0.05],[19,79]],[0,60]]]],[20,42,87,false,null]]]]]],[[0,null,false,null,777186373987663,[],[[33,259,null,251695972199851,false,[[4,32],[7,[2,"Head"]]]],[33,123,null,585997812925332,false,[[0,[19,225,[[20,33,87,false,null],[5,[20,32,87,false,null],[6,[21,42,false,null,2],[4,[6,[0,5],[19,90,[[6,[6,[19,212],[0,60]],[0,10]]]]],[0,50]]]],[1,0.3]]]]]]]],[0,null,false,null,261923917589314,[],[[34,259,null,729315455007081,false,[[4,32],[7,[2,"LeftA"]]]],[34,123,null,762454381877571,false,[[0,[19,225,[[20,34,87,false,null],[5,[3,[20,32,87,false,null]],[6,[21,42,false,null,2],[0,10]]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]],[[0,null,false,null,760532483101612,[],[[36,259,null,998365325744448,false,[[4,34],[7,[0,1]]]],[36,123,null,573412635075903,false,[[0,[5,[20,34,87,false,null],[6,[21,42,false,null,2],[0,20]]]]]]]]]],[0,null,false,null,443573432275028,[],[[38,259,null,681273668128491,false,[[4,32],[7,[2,"RightA"]]]],[38,123,null,648020718046055,false,[[0,[19,225,[[20,38,87,false,null],[5,[3,[20,32,87,false,null]],[6,[21,42,false,null,2],[0,10]]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]],[[0,null,false,null,315174080475684,[],[[40,259,null,477763009038556,false,[[4,38],[7,[0,1]]]],[40,123,null,573285306710692,false,[[0,[5,[20,38,87,false,null],[6,[21,42,false,null,2],[0,20]]]]]]]]]],[0,null,false,null,952274779924951,[],[[37,259,null,782479536237459,false,[[4,32],[7,[2,"LeftL"]]]],[37,123,null,614316029924900,false,[[0,[19,225,[[20,37,87,false,null],[6,[21,42,false,null,2],[0,90]],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,285608983326525,[],[[35,259,null,667926907350811,false,[[4,37],[7,[0,1]]]],[35,123,null,524923158664586,false,[[0,[19,225,[[20,35,87,false,null],[4,[20,37,87,false,null],[6,[21,42,false,null,2],[0,30]]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,905894091630642,[],[[41,259,null,596832538177922,false,[[4,32],[7,[2,"RightL"]]]],[41,123,null,496310678595824,false,[[0,[19,225,[[20,41,87,false,null],[6,[21,42,false,null,2],[0,90]],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,152804026858008,[],[[39,259,null,302133948188714,false,[[4,41],[7,[0,1]]]],[39,123,null,346467058224187,false,[[0,[19,225,[[20,39,87,false,null],[4,[20,41,87,false,null],[6,[21,42,false,null,2],[0,30]]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]]]]]]],[0,null,false,null,885524000806879,[[-1,75,null,0,false,false,false,964960531061976,false],[42,73,null,0,false,false,false,184129519527351,false,[[10,0],[8,0],[7,[2,"slip"]]]]],[[32,120,null,684436210581139,false,[[0,[19,260,[[20,32,121,false,null],[20,42,164,false,null,[[0,2]]],[1,0.5]]]],[0,[19,260,[[20,32,122,false,null],[20,42,165,false,null,[[0,2]]],[1,0.5]]]]]],[32,123,null,485455299858459,false,[[0,[19,225,[[20,32,87,false,null],[4,[6,[21,42,false,null,2],[0,120]],[20,42,87,false,null]],[6,[6,[1,0.05],[19,79]],[0,60]]]]]]]],[[0,null,false,null,543753160811216,[],[[33,259,null,169867265708571,false,[[4,32],[7,[2,"Head"]]]],[33,123,null,851888610466566,false,[[0,[19,225,[[20,33,87,false,null],[5,[20,32,87,false,null],[6,[21,42,false,null,2],[4,[6,[0,5],[19,90,[[6,[6,[19,212],[0,60]],[0,10]]]]],[0,50]]]],[1,0.3]]]]]]]],[0,null,false,null,927256565631695,[],[[34,259,null,310621179044501,false,[[4,32],[7,[2,"LeftA"]]]],[34,123,null,687508228725778,false,[[0,[19,225,[[20,34,87,false,null],[5,[3,[20,32,87,false,null]],[6,[21,42,false,null,2],[0,10]]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]],[[0,null,false,null,573869846346369,[],[[36,259,null,794470080088844,false,[[4,34],[7,[0,1]]]],[36,123,null,370164132629501,false,[[0,[5,[20,34,87,false,null],[6,[21,42,false,null,2],[0,20]]]]]]]]]],[0,null,false,null,933860058721648,[],[[38,259,null,847455816331875,false,[[4,32],[7,[2,"RightA"]]]],[38,123,null,973743421595233,false,[[0,[19,225,[[20,38,87,false,null],[5,[3,[20,32,87,false,null]],[6,[21,42,false,null,2],[0,10]]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]],[[0,null,false,null,480420785390290,[],[[40,259,null,444772196320492,false,[[4,38],[7,[0,1]]]],[40,123,null,326162983274651,false,[[0,[5,[20,38,87,false,null],[6,[21,42,false,null,2],[0,20]]]]]]]]]],[0,null,false,null,297608394206365,[],[[37,259,null,940602664322417,false,[[4,32],[7,[2,"LeftL"]]]],[37,123,null,751963634329965,false,[[0,[19,225,[[20,37,87,false,null],[4,[4,[0,-90],[20,32,87,false,null]],[6,[21,42,false,null,2],[0,120]]],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,229497414658507,[],[[35,259,null,728545684994814,false,[[4,37],[7,[0,1]]]],[35,123,null,357313859656692,false,[[0,[19,225,[[20,35,87,false,null],[4,[20,37,87,false,null],[6,[21,42,false,null,2],[0,30]]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,418183933766525,[],[[41,259,null,241372299274285,false,[[4,32],[7,[2,"RightL"]]]],[41,123,null,857129344361720,false,[[0,[19,225,[[20,41,87,false,null],[4,[4,[0,-90],[20,32,87,false,null]],[6,[21,42,false,null,2],[0,120]]],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,719114194525291,[],[[39,259,null,158783658452152,false,[[4,41],[7,[0,1]]]],[39,123,null,238213601316181,false,[[0,[19,225,[[20,39,87,false,null],[4,[20,41,87,false,null],[6,[21,42,false,null,2],[0,30]]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]]]]]]],[0,null,false,null,772670248561297,[[-1,75,null,0,false,false,false,709539542832816,false],[42,73,null,0,false,false,false,365141754546206,false,[[10,0],[8,0],[7,[2,"pound"]]]]],[[32,120,null,832431798934197,false,[[0,[20,42,164,false,null,[[0,2]]]],[0,[20,42,165,false,null,[[0,2]]]]]],[32,123,null,158425096882504,false,[[0,[19,225,[[20,32,87,false,null],[20,42,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,613124111763767,[],[[33,259,null,706126574049328,false,[[4,32],[7,[2,"Head"]]]],[33,123,null,439349822242414,false,[[0,[19,225,[[20,33,87,false,null],[20,32,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]],[0,null,false,null,796615826423381,[],[[34,259,null,617328171036274,false,[[4,32],[7,[2,"LeftA"]]]],[34,123,null,131097606668013,false,[[0,[19,225,[[20,34,87,false,null],[6,[21,42,false,null,2],[4,[0,150],[20,32,87,false,null]]],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,270134629527092,[],[[36,259,null,527412552503942,false,[[4,34],[7,[0,1]]]],[36,123,null,103510095836198,false,[[0,[19,225,[[20,36,87,false,null],[20,34,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,559265325439389,[],[[38,259,null,731610049423423,false,[[4,32],[7,[2,"RightA"]]]],[38,123,null,987889789337158,false,[[0,[19,225,[[20,38,87,false,null],[6,[3,[21,42,false,null,2]],[4,[0,150],[20,42,87,false,null]]],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,366030643504950,[],[[40,259,null,715679440230903,false,[[4,38],[7,[0,1]]]],[40,123,null,835681993985181,false,[[0,[19,225,[[20,40,87,false,null],[20,38,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,890730553224887,[],[[37,259,null,613560969727077,false,[[4,32],[7,[2,"LeftL"]]]],[37,123,null,834804505098734,false,[[0,[19,225,[[20,37,87,false,null],[20,32,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,331097886682098,[],[[35,259,null,521664217071270,false,[[4,37],[7,[0,1]]]],[35,123,null,684465681213046,false,[[0,[19,225,[[20,35,87,false,null],[20,37,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]]]],[0,null,false,null,410895001800901,[],[[41,259,null,784143983964115,false,[[4,32],[7,[2,"RightL"]]]],[41,123,null,480301015823748,false,[[0,[19,225,[[20,41,87,false,null],[20,32,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,488235468194618,[],[[39,259,null,490201850365663,false,[[4,41],[7,[0,1]]]],[39,123,null,299678911691998,false,[[0,[19,225,[[20,39,87,false,null],[20,41,87,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]]]]]],[0,null,false,null,783154020797196,[[-1,75,null,0,false,false,false,442150087678287,false],[42,73,null,0,false,false,false,445920138321311,false,[[10,0],[8,0],[7,[2,"stun"]]]]],[[32,120,null,293094769439962,false,[[0,[19,260,[[20,32,121,false,null],[5,[20,42,121,false,null],[6,[19,86,[[20,42,87,false,null]]],[5,[5,[7,[20,42,187,false,null],[0,2]],[7,[20,32,187,false,null],[0,2]]],[0,2]]]],[1,0.5]]]],[0,[19,260,[[20,32,122,false,null],[4,[20,42,122,false,null],[6,[19,90,[[20,42,87,false,null]]],[5,[5,[7,[20,42,187,false,null],[0,2]],[7,[20,32,187,false,null],[0,2]]],[0,2]]]],[1,0.5]]]]]],[32,123,null,467612776769788,false,[[0,[19,225,[[20,32,87,false,null],[4,[6,[21,42,false,null,2],[0,40]],[20,42,87,false,null]],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,511086827797398,[],[[33,259,null,250493608329979,false,[[4,32],[7,[2,"Head"]]]],[33,123,null,457263995972026,false,[[0,[4,[19,225,[[20,33,87,false,null],[20,32,87,false,null],[1,0.5]]],[6,[19,86,[[6,[6,[19,212],[0,60]],[0,30]]]],[0,5]]]]]]]],[0,null,false,null,815651032485489,[],[[34,259,null,946961550273885,false,[[4,32],[7,[2,"LeftA"]]]],[34,123,null,241405845180210,false,[[0,[19,225,[[20,34,87,false,null],[5,[20,32,87,false,null],[6,[21,42,false,null,2],[0,25]]],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,731798570517196,[],[[36,259,null,199676224501250,false,[[4,34],[7,[0,1]]]],[36,123,null,295398128339594,false,[[0,[4,[20,34,87,false,null],[6,[21,42,false,null,2],[0,20]]]]]]]]]],[0,null,false,null,898525608563431,[],[[38,259,null,303869182517301,false,[[4,32],[7,[2,"RightA"]]]],[38,123,null,678396343113151,false,[[0,[19,225,[[20,38,87,false,null],[5,[20,32,87,false,null],[6,[21,42,false,null,2],[0,25]]],[6,[6,[1,0.1],[19,79]],[0,60]]]]]]]],[[0,null,false,null,159417756905494,[],[[40,259,null,766706276318753,false,[[4,38],[7,[0,1]]]],[40,123,null,656834094960006,false,[[0,[4,[20,38,87,false,null],[6,[21,42,false,null,2],[0,20]]]]]]]]]],[0,null,false,null,199350187051188,[],[[37,259,null,512838495312991,false,[[4,32],[7,[2,"LeftL"]]]],[37,123,null,862529847070480,false,[[0,[19,225,[[20,37,87,false,null],[4,[20,32,87,false,null],[6,[21,42,false,null,2],[0,45]]],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]],[37,156,null,856333962075852,false,[[3,1]]]],[[0,null,false,null,548402658284269,[],[[35,259,null,491484778722009,false,[[4,37],[7,[0,1]]]],[35,123,null,836687335836799,false,[[0,[19,225,[[20,35,87,false,null],[20,37,87,false,null],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]],[35,156,null,568230267867674,false,[[3,1]]]]]]],[0,null,false,null,691253482384689,[],[[41,259,null,931121508871582,false,[[4,32],[7,[2,"RightL"]]]],[41,123,null,367251283023927,false,[[0,[19,225,[[20,41,87,false,null],[4,[20,32,87,false,null],[6,[21,42,false,null,2],[0,90]]],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]],[[0,null,false,null,387093449003316,[],[[39,259,null,858850616350491,false,[[4,41],[7,[0,1]]]],[39,123,null,569471125223467,false,[[0,[19,225,[[20,39,87,false,null],[5,[20,41,87,false,null],[6,[21,42,false,null,2],[0,45]]],[6,[6,[1,0.5],[19,79]],[0,60]]]]]]]]]]]]]]],[0,null,false,null,249139340128283,[[42,73,null,0,false,false,false,255244345264867,false,[[10,12],[8,0],[7,[2,"amongus"]]]]],[],[[0,null,true,null,123698489614617,[[-1,127,null,0,false,false,false,960628708565588,false,[[7,[19,189,[[19,104],[2,"Level"]]]],[8,1],[7,[0,-1]]]],[-1,127,null,0,false,false,false,974019525762601,false,[[7,[19,104]],[8,0],[7,[2,"Skins Menu"]]]]],[],[[0,null,false,null,892750009357648,[[-1,146,null,0,false,false,false,754183138506790,false]],[[32,261,null,739738474633515,false,[[0,[19,260,[[20,32,187,false,null],[20,32,188,false,null],[6,[6,[1,0.2],[19,79]],[0,60]]]]]]]]],[0,null,false,null,312478966841914,[[42,206,"Platform",1,false,false,false,752934770959967,false]],[[32,261,null,223732160997857,false,[[0,[6,[20,32,188,false,null],[0,2]]]]]]],[0,null,false,null,835615324556248,[[42,250,"Platform",1,false,false,false,649641904699920,false]],[[32,261,null,549122920596055,false,[[0,[6,[20,32,188,false,null],[1,0.6]]]]]]]]]]]]]]]]],["Levels",[[2,"Save",false],[2,"Player",false],[2,"Gameplay",false],[0,null,false,null,262908404654682,[[-1,98,null,1,false,false,false,589220378013624,false]],[[61,155,null,774160630736170,false,[[7,[19,106,[[19,104],[0,1],[2," "]]]]]],[61,262,null,795698966170694,false],[61,263,null,163176830842861,false,[[0,[0,30]]]],[42,264,"Platform",901418482868617,false,[[3,0]]],[194,103,null,169946351745214,false,[[3,1],[1,[19,104]],[1,[2,""]],[1,[2,""]]]],[4,198,null,692160165085170,false,[[1,[2,"WebSdkWrapper.gameplayStart()"]]]]],[[1,"HITBUFFERPLAYER",0,3,false,true,368957611672813,false],[0,null,false,null,292246417486018,[],[[42,82,null,723796179807074,false,[[10,13],[7,[23,"HITBUFFERPLAYER"]]]]]],[0,null,false,null,541709556999178,[[-1,127,null,0,false,false,false,515180332198595,false,[[7,[20,65,265,false,null]],[8,0],[7,[0,0]]]]],[[-1,266,null,728293240153042,false,[[4,65],[5,[20,61,267,true,null]],[0,[20,61,268,false,null]],[0,[20,61,269,false,null]]]],[65,270,null,413965636560135,false,[[0,[20,61,271,false,null]],[0,[0,32]]]],[65,155,null,615122999535352,false,[[7,[21,53,true,null,0]]]],[65,262,null,788771448138871,false],[65,263,null,990055935706722,false,[[0,[0,30]]]]]],[0,null,false,null,184101312825057,[[-1,75,null,0,false,false,false,127240278689503,false]],[[65,272,null,499381353888391,false,[[0,[20,61,268,false,null]],[0,[20,61,269,false,null]]]],[65,273,null,702574908217420,false,[[5,[20,61,267,true,null]]]],[65,270,null,823717993044235,false,[[0,[20,61,271,false,null]],[0,[0,32]]]],[65,155,null,574559299285381,false,[[7,[21,53,true,null,0]]]],[65,262,null,235132433381054,false],[65,263,null,764804378526256,false,[[0,[0,30]]]]]],[0,null,false,null,930312386417511,[[53,77,null,0,false,false,false,498543424255809,false,[[10,2]]]],[[-1,274,null,476278821268681,false,[[1,[2,"Player > Slopes"]],[3,1]]]]],[0,null,false,null,838511017271359,[[-1,75,null,0,false,false,false,275124377753458,false]],[[-1,274,null,598990600681202,false,[[1,[2,"Player > Slopes"]],[3,0]]]]],[0,null,false,null,605622329332106,[[1,107,null,0,false,false,false,486563526629710,false,[[10,16]]],[47,77,null,0,false,false,false,995742463265474,false,[[10,1]]]],[[47,81,null,604927661472600,false]]],[1,"BORDERWIDTH",0,84,false,true,491504855197634,false],[1,"BORDEROPA",0,100,false,true,192410600212223,false],[0,null,false,null,408314256473983,[],[[-1,266,null,897488327121572,false,[[4,162],[5,[2,"Layer 0"]],[0,[0,0]],[0,[0,0]]]],[162,275,null,171231945393289,false,[[0,[19,276]],[0,[23,"BORDERWIDTH"]]]],[162,277,null,517361504234956,false],[162,278,null,956882151014981,false,[[0,[23,"BORDEROPA"]]]],[-1,266,null,697973847926467,false,[[4,162],[5,[2,"Layer 0"]],[0,[0,0]],[0,[19,279]]]],[162,275,null,905355207578911,false,[[0,[19,279]],[0,[23,"BORDERWIDTH"]]]],[162,280,null,839795677040754,false,[[0,[0,-90]]]],[162,277,null,772517694725741,false],[162,278,null,619018822697129,false,[[0,[23,"BORDEROPA"]]]],[-1,266,null,989765526010275,false,[[4,162],[5,[2,"Layer 0"]],[0,[19,276]],[0,[19,279]]]],[162,275,null,239235109666779,false,[[0,[19,276]],[0,[23,"BORDERWIDTH"]]]],[162,280,null,957355156742143,false,[[0,[0,180]]]],[162,277,null,837009412628728,false],[162,278,null,639907003733091,false,[[0,[23,"BORDEROPA"]]]],[-1,266,null,387682335182584,false,[[4,162],[5,[2,"Layer 0"]],[0,[19,276]],[0,[0,0]]]],[162,275,null,192791144557089,false,[[0,[19,279]],[0,[23,"BORDERWIDTH"]]]],[162,280,null,636827519284473,false,[[0,[0,90]]]],[162,277,null,430707196999115,false],[162,278,null,890086847538060,false,[[0,[23,"BORDEROPA"]]]]]],[0,null,false,null,674276796813212,[[-1,127,null,0,false,false,false,450281059871531,false,[[7,[20,4,281,true,null]],[8,1],[7,[2,"dedragames.com"]]]],[-1,127,null,0,false,false,false,423023376792552,false,[[7,[20,4,281,true,null]],[8,1],[7,[2,"www.dedragames.com"]]]],[-1,127,null,0,false,false,false,778259619911084,false,[[7,[20,167,282,false,null,[[2,"WebSdkWrapper.hasAds()"]]]],[8,0],[7,[0,1]]]],[-1,127,null,0,false,false,false,612995517924246,false,[[7,[5,[19,212],[23,"lastAdTime"]]],[8,5],[7,[23,"AD_DELAY"]]]],[12,149,null,0,false,true,false,403460055054987,false,[[1,[2,"RemoveAds"]]]]],[[-1,101,null,771517267186538,false,[[11,"lastAdTime"],[7,[19,212]]]],[4,198,null,833963919892525,false,[[1,[2,"crazyMidRoll();"]]]],[125,283,"Dialog",194032468592201,false,[[0,[0,0]],[0,[0,0]],[3,1]]]]]]],[0,null,false,null,311471831130356,[[-1,109,null,0,false,false,false,359203702169628,false]],[],[[0,null,false,null,735896009839655,[[2,284,null,1,false,false,false,280548311442316,false,[[9,78]]]],[[42,120,null,522339314675040,false,[[0,[20,44,121,false,null]],[0,[20,44,122,false,null]]]]]]]],[0,null,false,null,214537880863723,[[53,256,null,1,false,false,false,212267908535824,false]],[[4,285,null,358755628340514,false,[[3,0],[7,[2,"Holder created"]]]],[-1,99,null,894282060244766,false,[[0,[0,0]]]]],[[0,null,false,null,368128153038400,[[-1,127,null,0,false,false,false,721439231547725,false,[[7,[20,65,265,false,null]],[8,0],[7,[0,0]]]]],[[-1,266,null,406635898438827,false,[[4,65],[5,[20,61,267,true,null]],[0,[20,61,268,false,null]],[0,[20,61,269,false,null]]]],[65,270,null,458158632377996,false,[[0,[20,61,271,false,null]],[0,[0,32]]]],[65,155,null,397323122416641,false,[[7,[21,53,true,null,0]]]],[65,262,null,688045167791770,false],[65,263,null,237193273671393,false,[[0,[0,30]]]]]],[0,null,false,null,816392361464306,[[-1,75,null,0,false,false,false,373622157820225,false]],[[65,272,null,188046464135325,false,[[0,[20,61,268,false,null]],[0,[20,61,269,false,null]]]],[65,273,null,759793431232091,false,[[5,[20,61,267,true,null]]]],[65,270,null,453035530977899,false,[[0,[20,61,271,false,null]],[0,[0,32]]]],[65,155,null,413119614541773,false,[[7,[21,53,true,null,0]]]],[65,262,null,971974720662683,false],[65,263,null,156455814576076,false,[[0,[0,30]]]]]],[0,null,false,null,302212852917173,[[53,77,null,0,false,false,false,261855841731533,false,[[10,2]]]],[[-1,274,null,222009221071306,false,[[1,[2,"Player > Slopes"]],[3,1]]]]],[0,null,false,null,290269601901096,[[-1,75,null,0,false,false,false,996250735157930,false]],[[-1,274,null,331615982806334,false,[[1,[2,"Player > Slopes"]],[3,0]]]]]]],[0,null,false,null,227905464368115,[[65,286,null,1,false,false,false,818207833571058,false]],[[65,272,null,246386053767738,false,[[0,[20,61,268,false,null]],[0,[20,61,269,false,null]]]],[65,273,null,132584561274895,false,[[5,[20,61,267,true,null]]]],[65,270,null,973812351604511,false,[[0,[20,61,271,false,null]],[0,[0,32]]]],[65,155,null,844586756395713,false,[[7,[21,53,true,null,0]]]],[65,262,null,685794639281360,false],[65,263,null,692739331250691,false,[[0,[0,30]]]]]],[0,null,false,null,478195429964133,[[61,286,null,1,false,false,false,352088386681585,false]],[[61,155,null,948706222487066,false,[[7,[19,106,[[19,104],[0,1],[2," "]]]]]],[61,262,null,868471312716269,false],[61,263,null,966817285739053,false,[[0,[0,30]]]]]]]],["Music",[[0,[true,"Music"],false,null,834293298384805,[[-1,72,null,0,false,false,false,834293298384805,false,[[1,[2,"Music"]]]]],[],[[1,"curMusicId",1,"",true,false,646336600479377,false],[0,null,false,null,783647158324180,[[4,287,null,1,false,false,false,733616083414813,false]],[[167,288,null,518618532302966,false,[[1,[2,"globalThis.adconfigStopAudioInBackground? HowlerAudioPlayer.setPaused(true) : HowlerAudioPlayer.setLooping(true, 'music')"]],[13]]]]],[0,null,false,null,676418073052509,[[4,289,null,1,false,false,false,577004070147708,false]],[[167,288,null,119545179086229,false,[[1,[2,"globalThis.adconfigStopAudioInBackground? HowlerAudioPlayer.setPaused(false) : HowlerAudioPlayer.setLooping(false, 'music')"]],[13]]]]],[0,null,false,null,665300087704953,[[-1,98,null,1,false,false,false,810292481227460,false]],[],[[0,null,false,null,482987919748899,[[201,290,null,0,false,true,false,616145660037101,false,[[1,[2,"music"]]]]],[[-1,101,null,920431604177404,false,[[11,"curMusicId"],[7,[20,0,160,false,null,[[2,"Music > GetMusic"]]]]]],[201,291,null,970596391003589,false,[[1,[23,"curMusicId"]],[1,[2,"music"]]]]]],[0,null,false,null,161174416182653,[[-1,75,null,0,false,false,false,726147648996942,false]],[],[[1,"musicThatShouldPlay",1,"",false,false,991081929010896,false],[0,null,false,null,814946893421265,[],[[-1,101,null,575985790288294,false,[[11,"musicThatShouldPlay"],[7,[20,0,160,false,null,[[2,"Music > GetMusic"],[0,1]]]]]]]],[0,null,false,null,495918811048273,[[-1,100,null,0,false,false,false,350353783169366,false,[[11,"curMusicId"],[8,1],[7,[23,"musicThatShouldPlay"]]]]],[[0,80,null,926837401466194,false,[[1,[2,"Music > TransitionTo"]],[13,[7,[23,"musicThatShouldPlay"]]]]]]]]],[0,null,false,null,727313552336444,[[-1,127,null,0,false,true,false,261561123998451,false,[[7,[20,0,160,false,null,[[2,"Music > IsOnSafari"]]]],[8,0],[7,[0,0]]]]],[[201,292,null,499900922879403,false,[[1,[2,""]]]]]],[0,null,false,null,297114545720289,[[12,293,null,0,false,false,false,815558439712984,false],[201,290,null,0,false,false,false,652208397461105,false,[[1,[2,""]]]]],[[201,294,null,465479829091412,false,[[0,[20,12,112,false,null,[[2,"Music"]]]],[1,[2,"music"]]]],[201,294,null,929446297086971,false,[[0,[20,12,112,false,null,[[2,"Music"]]]],[1,[2,"transition"]]]],[201,294,null,214198002417033,false,[[0,[20,12,112,false,null,[[2,"Sounds"]]]],[1,[2,"sounds"]]]]],[[0,null,false,null,338333963773114,[[12,295,null,0,false,false,false,165240807364054,false,[[1,[2,"MusicMuted"]],[8,0],[7,[0,1]]]]],[[201,292,null,461162147282539,false,[[1,[2,"music"]]]],[201,292,null,314504727764668,false,[[1,[2,"transition"]]]]]],[0,null,false,null,831575944104728,[[-1,75,null,0,false,false,false,907059571752751,false]],[[201,296,null,634320662227618,false,[[1,[2,"music"]]]],[201,296,null,931731974924461,false,[[1,[2,"transition"]]]]]],[0,null,false,null,250844591970611,[[12,295,null,0,false,false,false,481177714032833,false,[[1,[2,"SoundsMuted"]],[8,0],[7,[0,1]]]]],[[201,292,null,749767535398704,false,[[1,[2,"sounds"]]]]]],[0,null,false,null,287499860697504,[[-1,75,null,0,false,false,false,623972875238483,false]],[[201,296,null,244095784429450,false,[[1,[2,"sounds"]]]]]]]]]],[0,null,false,null,232534594814032,[[201,290,null,0,false,true,false,856581752035176,false,[[1,[2,"music"]]]],[-1,102,null,0,false,false,false,799346528093198,false]],[[-1,101,null,779668990063558,false,[[11,"curMusicId"],[7,[20,0,160,false,null,[[2,"Music > GetMusic"]]]]]],[201,291,null,326891436194415,false,[[1,[23,"curMusicId"]],[1,[2,"music"]]]]]],[0,null,false,null,189849960111386,[[0,169,null,2,false,false,false,819075979872075,false,[[1,[2,"Music > GetMusic"]]]]],[],[[0,null,true,null,431635055479360,[[-1,127,null,0,false,false,false,271064481686439,false,[[7,[19,189,[[19,104],[2,"Menu"]]]],[8,1],[7,[0,-1]]]],[-1,127,null,0,false,false,false,371918829059102,false,[[7,[19,189,[[19,104],[2,"Level"]]]],[8,0],[7,[0,-1]]]]],[[0,171,null,152526323749773,false,[[7,[2,"MenuTrack"]]]]]],[0,null,false,null,585397886302142,[[-1,75,null,0,false,false,false,758072015676112,false]],[],[[1,"ID",0,0,false,false,438217808798611,false],[1,"KeepCurrentIfPossible",0,0,false,false,696101499980387,false],[0,null,false,null,706073424231672,[],[[-1,101,null,825583153468680,false,[[11,"ID"],[7,[19,105,[[19,106,[[19,104],[0,1],[2," "]]]]]]]],[-1,101,null,923906175384407,false,[[11,"KeepCurrentIfPossible"],[7,[20,0,170,false,null,[[0,0]]]]]]]],[0,null,false,null,305438840574910,[[-1,100,null,0,false,false,false,759039851178346,false,[[11,"ID"],[8,3],[7,[0,8]]]]],[[0,171,null,506811607073390,false,[[7,[2,"Track1"]]]]]],[0,null,false,null,986607817373479,[[-1,75,null,0,false,false,false,699669545617792,false],[-1,100,null,0,false,false,false,862779031226782,false,[[11,"ID"],[8,3],[7,[0,16]]]]],[[0,171,null,356411930078803,false,[[7,[2,"Track2"]]]]]],[0,null,false,null,861705489111860,[[-1,75,null,0,false,false,false,180126215025261,false],[-1,100,null,0,false,false,false,704252038312933,false,[[11,"ID"],[8,3],[7,[0,24]]]]],[],[[0,null,false,null,121202277153058,[[-1,100,null,0,false,false,false,468218725805515,false,[[11,"curMusicId"],[8,0],[7,[2,"Track1"]]]]],[],[[0,null,false,null,312099206395062,[[-1,100,null,0,false,false,false,985620106627608,false,[[11,"KeepCurrentIfPossible"],[8,0],[7,[0,0]]]]],[[0,171,null,616597085767573,false,[[7,[2,"Track2"]]]]]],[0,null,false,null,420917152488760,[[-1,75,null,0,false,false,false,344328203896715,false]],[[0,171,null,617270630487567,false,[[7,[2,"Track1"]]]]]]]],[0,null,false,null,251781043868993,[[-1,75,null,0,false,false,false,708742972638011,false],[-1,100,null,0,false,false,false,436639753011074,false,[[11,"curMusicId"],[8,0],[7,[2,"Track2"]]]]],[],[[0,null,false,null,178340194952577,[[-1,100,null,0,false,false,false,239067577739569,false,[[11,"KeepCurrentIfPossible"],[8,0],[7,[0,0]]]]],[[0,171,null,862802428205008,false,[[7,[2,"Track1"]]]]]],[0,null,false,null,869781913786546,[[-1,75,null,0,false,false,false,804142187748208,false]],[[0,171,null,536062924804727,false,[[7,[2,"Track2"]]]]]]]],[0,null,false,null,631137728442017,[[-1,75,null,0,false,false,false,102852646797885,false]],[[0,171,null,287233174744654,false,[[7,[19,297,[[2,"Track1"],[2,"Track2"]]]]]]]]]],[0,null,false,null,178652708201988,[[-1,75,null,0,false,false,false,636735901545949,false],[-1,100,null,0,false,false,false,576590375836157,false,[[11,"ID"],[8,3],[7,[0,32]]]]],[],[[0,null,false,null,966423895913848,[[-1,100,null,0,false,false,false,738663328797994,false,[[11,"curMusicId"],[8,0],[7,[2,"Track2"]]]]],[],[[0,null,false,null,138251430146716,[[-1,100,null,0,false,false,false,782306379102525,false,[[11,"KeepCurrentIfPossible"],[8,0],[7,[0,0]]]]],[[0,171,null,498472484047858,false,[[7,[2,"Track3"]]]]]],[0,null,false,null,870123655259361,[[-1,75,null,0,false,false,false,720178433880187,false]],[[0,171,null,741500737584953,false,[[7,[2,"Track2"]]]]]]]],[0,null,false,null,175977263526627,[[-1,75,null,0,false,false,false,884391991538303,false],[-1,100,null,0,false,false,false,950619687338150,false,[[11,"curMusicId"],[8,0],[7,[2,"Track3"]]]]],[],[[0,null,false,null,466752165711104,[[-1,100,null,0,false,false,false,458698935375697,false,[[11,"KeepCurrentIfPossible"],[8,0],[7,[0,0]]]]],[[0,171,null,629865451995769,false,[[7,[2,"Track2"]]]]]],[0,null,false,null,304944795435889,[[-1,75,null,0,false,false,false,303097741523470,false]],[[0,171,null,772310323738699,false,[[7,[2,"Track3"]]]]]]]],[0,null,false,null,842131136534110,[[-1,75,null,0,false,false,false,520774770393677,false]],[[0,171,null,905200187874063,false,[[7,[19,297,[[2,"Track2"],[2,"Track3"]]]]]]]]]],[0,null,false,null,786281660073354,[[-1,75,null,0,false,false,false,758847075844587,false],[-1,100,null,0,false,false,false,818491854634671,false,[[11,"ID"],[8,3],[7,[0,40]]]]],[],[[0,null,false,null,963526501528750,[[-1,100,null,0,false,false,false,476968994810798,false,[[11,"curMusicId"],[8,0],[7,[2,"Track3"]]]]],[],[[0,null,false,null,796595693638316,[[-1,100,null,0,false,false,false,951450901648160,false,[[11,"KeepCurrentIfPossible"],[8,0],[7,[0,0]]]]],[[0,171,null,896029390697147,false,[[7,[2,"Track4"]]]]]],[0,null,false,null,474544655176801,[[-1,75,null,0,false,false,false,555224833619829,false]],[[0,171,null,266607879961259,false,[[7,[2,"Track3"]]]]]]]],[0,null,false,null,605255482930408,[[-1,75,null,0,false,false,false,519205918997494,false],[-1,100,null,0,false,false,false,228919586841778,false,[[11,"curMusicId"],[8,0],[7,[2,"Track4"]]]]],[],[[0,null,false,null,564189792863265,[[-1,100,null,0,false,false,false,604113262894345,false,[[11,"KeepCurrentIfPossible"],[8,0],[7,[0,0]]]]],[[0,171,null,305421959526726,false,[[7,[2,"Track3"]]]]]],[0,null,false,null,634446854009012,[[-1,75,null,0,false,false,false,243096907530680,false]],[[0,171,null,365595656071837,false,[[7,[2,"Track4"]]]]]]]],[0,null,false,null,932176846936120,[[-1,75,null,0,false,false,false,655870559310570,false]],[[0,171,null,852677969515837,false,[[7,[19,297,[[2,"Track3"],[2,"Track4"]]]]]]]]]],[0,null,false,null,177849394190549,[[-1,75,null,0,false,false,false,168359971652807,false],[-1,100,null,0,false,false,false,862930625360745,false,[[11,"ID"],[8,3],[7,[0,48]]]]],[],[[0,null,false,null,714266866700918,[[-1,100,null,0,false,false,false,950405812599458,false,[[11,"curMusicId"],[8,0],[7,[2,"Track1"]]]]],[],[[0,null,false,null,441594605052624,[[-1,100,null,0,false,false,false,837896664522274,false,[[11,"KeepCurrentIfPossible"],[8,0],[7,[0,0]]]]],[[0,171,null,296781515951859,false,[[7,[19,297,[[2,"Track2"],[2,"Track4"]]]]]]]],[0,null,false,null,469262093508549,[[-1,75,null,0,false,false,false,573366266316560,false]],[[0,171,null,384336718739976,false,[[7,[2,"Track 1"]]]]]]]],[0,null,false,null,353518361255720,[[-1,75,null,0,false,false,false,550785685925134,false],[-1,100,null,0,false,false,false,238204620847805,false,[[11,"curMusicId"],[8,0],[7,[2,"Track2"]]]]],[],[[0,null,false,null,667179911093984,[[-1,100,null,0,false,false,false,276725843425680,false,[[11,"KeepCurrentIfPossible"],[8,0],[7,[0,0]]]]],[[0,171,null,481704296821981,false,[[7,[19,297,[[2,"Track1"],[2,"Track4"]]]]]]]],[0,null,false,null,492069594968202,[[-1,75,null,0,false,false,false,470475745217425,false]],[[0,171,null,345333340003673,false,[[7,[2,"Track2"]]]]]]]],[0,null,false,null,321557148408329,[[-1,75,null,0,false,false,false,688274068030327,false],[-1,100,null,0,false,false,false,798919748601031,false,[[11,"curMusicId"],[8,0],[7,[2,"Track4"]]]]],[],[[0,null,false,null,468325551365692,[[-1,100,null,0,false,false,false,949101710688790,false,[[11,"KeepCurrentIfPossible"],[8,0],[7,[0,0]]]]],[[0,171,null,851920587271552,false,[[7,[19,297,[[2,"Track1"],[2,"Track2"]]]]]]]],[0,null,false,null,592928952920952,[[-1,75,null,0,false,false,false,575289584688183,false]],[[0,171,null,828645116980356,false,[[7,[2,"Track4"]]]]]]]],[0,null,false,null,105041108848179,[[-1,75,null,0,false,false,false,907456054920336,false]],[[0,171,null,861494642637077,false,[[7,[19,297,[[2,"Track1"],[2,"Track2"],[2,"Track4"]]]]]]]]]],[0,null,false,null,479878533696056,[[-1,75,null,0,false,false,false,574280972236386,false]],[],[[0,null,false,null,231611330175091,[[-1,100,null,0,false,false,false,456151069772991,false,[[11,"curMusicId"],[8,0],[7,[2,"Track1"]]]]],[],[[0,null,false,null,729422115528030,[[-1,100,null,0,false,false,false,480480262860007,false,[[11,"KeepCurrentIfPossible"],[8,0],[7,[0,0]]]]],[[0,171,null,548705738596285,false,[[7,[19,297,[[2,"Track2"],[2,"Track3"],[2,"Track4"]]]]]]]],[0,null,false,null,661487869110645,[[-1,75,null,0,false,false,false,294680838893290,false]],[[0,171,null,935277142140368,false,[[7,[2,"Track 1"]]]]]]]],[0,null,false,null,916973679410426,[[-1,75,null,0,false,false,false,598164983987906,false],[-1,100,null,0,false,false,false,979887795034457,false,[[11,"curMusicId"],[8,0],[7,[2,"Track2"]]]]],[],[[0,null,false,null,974215114179635,[[-1,100,null,0,false,false,false,318933371146750,false,[[11,"KeepCurrentIfPossible"],[8,0],[7,[0,0]]]]],[[0,171,null,646967251457981,false,[[7,[19,297,[[2,"Track1"],[2,"Track3"],[2,"Track4"]]]]]]]],[0,null,false,null,167712409398253,[[-1,75,null,0,false,false,false,469452677702658,false]],[[0,171,null,557373766742237,false,[[7,[2,"Track2"]]]]]]]],[0,null,false,null,937480126629693,[[-1,75,null,0,false,false,false,114698362681292,false],[-1,100,null,0,false,false,false,541645527197480,false,[[11,"curMusicId"],[8,0],[7,[2,"Track3"]]]]],[],[[0,null,false,null,421721712412123,[[-1,100,null,0,false,false,false,298894293112883,false,[[11,"KeepCurrentIfPossible"],[8,0],[7,[0,0]]]]],[[0,171,null,962498109447773,false,[[7,[19,297,[[2,"Track1"],[2,"Track2"],[2,"Track4"]]]]]]]],[0,null,false,null,435207725976235,[[-1,75,null,0,false,false,false,194504752381395,false]],[[0,171,null,492650247645207,false,[[7,[2,"Track3"]]]]]]]],[0,null,false,null,692159109929300,[[-1,75,null,0,false,false,false,564283304872376,false],[-1,100,null,0,false,false,false,542479658855977,false,[[11,"curMusicId"],[8,0],[7,[2,"Track4"]]]]],[],[[0,null,false,null,123556355629641,[[-1,100,null,0,false,false,false,674730872065042,false,[[11,"KeepCurrentIfPossible"],[8,0],[7,[0,0]]]]],[[0,171,null,637268422688023,false,[[7,[19,297,[[2,"Track1"],[2,"Track2"],[2,"Track3"]]]]]]]],[0,null,false,null,549320499529525,[[-1,75,null,0,false,false,false,929002874023651,false]],[[0,171,null,483037056834630,false,[[7,[2,"Track4"]]]]]]]],[0,null,false,null,367476357913311,[[-1,75,null,0,false,false,false,129310838557980,false]],[[0,171,null,986726444308461,false,[[7,[19,297,[[2,"Track1"],[2,"Track2"],[2,"Track3"],[2,"Track4"]]]]]]]]]]]]]],[0,null,false,null,560977516750594,[[0,169,null,2,false,false,false,604989033802839,false,[[1,[2,"Music > TransitionTo"]]]]],[],[[1,"musicToTransitionTo",1,"",true,false,660486003855271,false],[0,null,false,null,796035312368828,[],[[-1,101,null,712376019852777,false,[[11,"musicToTransitionTo"],[7,[20,0,170,false,null,[[0,0]]]]]],[201,294,null,139254817052246,false,[[0,[20,12,112,false,null,[[2,"Music"]]]],[1,[2,"transition"]]]],[201,291,null,646935262743982,false,[[1,[10,[2,"Sfx_Transition-0"],[19,298,[[4,[19,299,[[19,300,[[0,9]]]]],[0,1]]]]]],[1,[2,"transition"]]]],[-1,99,null,559006776291973,false,[[0,[1,0.1]]]],[201,301,null,670559398141388,false,[[1,[2,"music"]]]],[201,291,null,208882259624150,false,[[1,[23,"musicToTransitionTo"]],[1,[2,"music"]]]],[-1,101,null,170663011681904,false,[[11,"curMusicId"],[7,[23,"musicToTransitionTo"]]]]]]]],[0,null,false,null,303447219955458,[[0,169,null,2,false,false,false,177748323790443,false,[[1,[2,"Music > IsOnSafari"]]]]],[[0,171,null,234604438797258,false,[[7,[20,167,282,false,null,[[2,"globalThis.__ovoIsSafari? 1:0"]]]]]]]]]],[0,[true,"Sounds"],false,null,195246873340451,[[-1,72,null,0,false,false,false,195246873340451,false,[[1,[2,"Sounds"]]]]],[],[[0,null,false,null,212243551230728,[[42,206,"Platform",1,false,false,false,414447786138746,false],[42,77,null,0,false,true,false,319416623148736,false,[[10,1]]],[42,77,null,0,false,true,false,390912347047063,false,[[10,4]]],[42,77,null,0,false,true,false,694353117514808,false,[[10,7]]],[42,77,null,0,false,true,false,450220836432058,false,[[10,8]]],[42,77,null,0,false,true,false,248445886420719,false,[[10,1]]],[42,205,"Platform",0,false,true,false,902050333520360,false,[[3,0]]],[42,205,"Platform",0,false,true,false,487571116414741,false,[[3,1]]],[42,77,null,0,false,true,false,187004495056925,false,[[10,16]]]],[]],[0,null,false,null,258727837531968,[[42,73,null,0,false,false,false,617832157580689,false,[[10,0],[8,0],[7,[2,"run"]]]],[42,77,null,0,false,true,false,956163226781186,false,[[10,16]]],[-1,127,null,0,false,true,false,106879508972673,false,[[7,[19,189,[[19,104],[2,"Menu"]]]],[8,1],[7,[0,-1]]]]],[],[[0,null,true,null,775164690120588,[[35,302,null,0,false,false,false,600797643040006,false,[[0,[4,[0,80],[20,42,87,false,null]]],[0,[4,[0,100],[20,42,87,false,null]]]]],[39,302,null,0,false,false,false,534783724373821,false,[[0,[4,[0,80],[20,42,87,false,null]]],[0,[4,[0,100],[20,42,87,false,null]]]]]],[],[[0,null,false,null,936784366299142,[[-1,102,null,0,false,false,false,978160110375954,false]],[[201,291,null,228712029554244,false,[[1,[10,[2,"step"],[19,297,[[2,""],[2,"2"],[2,"3"]]]]],[1,[2,"sounds"]]]]]]]]]],[0,null,false,null,497888976995997,[[42,73,null,0,false,false,false,167956916865618,false,[[10,0],[8,0],[7,[2,"dancing"]]]],[42,77,null,0,false,true,false,176531096055768,false,[[10,16]]],[-1,127,null,0,false,true,false,329926294906198,false,[[7,[19,189,[[19,104],[2,"Menu"]]]],[8,1],[7,[0,-1]]]]],[],[[0,null,true,null,330879669762533,[[35,302,null,0,false,false,false,526968249333871,false,[[0,[4,[0,80],[20,42,87,false,null]]],[0,[4,[0,100],[20,42,87,false,null]]]]],[39,302,null,0,false,false,false,319993430921153,false,[[0,[4,[0,80],[20,42,87,false,null]]],[0,[4,[0,100],[20,42,87,false,null]]]]]],[],[[0,null,false,null,742516946565625,[[-1,102,null,0,false,false,false,228914304454531,false]],[[201,291,null,692343945014335,false,[[1,[10,[2,"step"],[19,297,[[2,""],[2,"2"],[2,"3"]]]]],[1,[2,"sounds"]]]]]]]]]]]],[0,null,false,null,220117348155934,[[0,169,null,2,false,false,false,178170322315101,false,[[1,[2,"muteSounds"]]]]],[[201,292,null,371082123435635,false,[[1,[2,""]]]]]],[0,null,false,null,763780346262210,[[0,169,null,2,false,false,false,477604814916257,false,[[1,[2,"unmuteSounds"]]]]],[[201,296,null,585982494643615,false,[[1,[2,""]]]]]]]],["Achievements",[[2,"Skins",false],[0,[true,"Achievements"],false,null,911999944091335,[[-1,72,null,0,false,false,false,911999944091335,false,[[1,[2,"Achievements"]]]]],[],[[0,[true,"Achievements > Init"],false,null,310144369309424,[[-1,72,null,0,false,false,false,310144369309424,false,[[1,[2,"Achievements > Init"]]]]],[],[[0,null,false,null,423825310968724,[[-1,98,null,1,false,false,false,977938436828895,false],[14,303,null,0,false,false,false,211396064576267,false,[[3,0],[13]]]],[[8,304,null,164821358810043,false,[[1,[2,"Achievements"]],[12,"achievements.json"]]]]],[0,null,false,null,868493747045833,[[8,305,null,1,false,false,false,390904824076330,false,[[1,[2,"Achievements"]]]]],[[14,306,null,556523142549276,false,[[1,[20,8,307,true,null]],[3,0],[13]]],[7,308,null,232051643448702,false,[[1,[2,"Achievements"]],[1,[20,8,307,true,null]]]]]]]],[0,[true,"Achievements > API"],false,null,875317090437606,[[-1,72,null,0,false,false,false,875317090437606,false,[[1,[2,"Achievements > API"]]]]],[],[[0,null,false,null,631631509947933,[[0,169,null,2,false,false,false,866448631875583,false,[[1,[2,"Achievements > Unlock"]]]],[12,149,null,0,false,true,false,405889323207027,false,[[1,[10,[2,"Achievement"],[20,0,170,false,null,[[0,0]]]]]]]],[[0,80,null,897191250055948,false,[[1,[2,"Save > Achievement"]],[13,[7,[20,0,170,false,null,[[0,0]]]]]]],[15,309,null,461019997212428,false,[[1,[20,14,310,false,null,[[0,0],[20,0,170,false,null,[[0,0]]],[2,"callback"]]]],[1,[20,14,310,false,null,[[0,0],[20,0,170,false,null,[[0,0]]],[2,"divider"]]]],[1,[20,14,310,false,null,[[0,0],[20,0,170,false,null,[[0,0]]],[2,"params"]]]],[1,[20,14,310,false,null,[[0,0],[20,0,170,false,null,[[0,0]]],[2,"type"]]]]]],[4,198,null,103432079846720,false,[[1,[2,"globalThis.WebSdkWrapper.happyTime()"]]]],[194,103,null,942384658801085,false,[[3,2],[1,[2,"Achievement"]],[1,[20,0,160,false,null,[[2,"Achievements > Name"],[20,0,170,false,null,[[0,0]]]]]],[1,[2,""]]]]],[[1,"title",1,"",false,false,423816191629674,false],[1,"achname",1,"",false,false,947064063943985,false],[1,"achdesc",1,"",false,false,639244663161052,false],[0,null,false,null,865331059773374,[],[[167,311,null,192932419445655,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,"achievementunlocked"]],[7,[2,"text"]],[7,[2,"Achievement Unlocked !"]],[7,[2,""]]]]],[-1,101,null,433293757159875,false,[[11,"title"],[7,[20,167,312,false,null]]]],[-1,101,null,436157484553193,false,[[11,"title"],[7,[20,167,312,false,null]]]],[167,311,null,905432434575781,false,[[1,[2,"findLanguageKey"]],[13,[7,[2,"en-us"]],[7,[20,0,160,false,null,[[2,"Achievements > Name"],[20,0,170,false,null,[[0,0]]]]]]]]],[167,311,null,197180075876222,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[20,167,312,false,null]],[7,[2,"text"]],[7,[20,0,160,false,null,[[2,"Achievements > Name"],[20,0,170,false,null,[[0,0]]]]]],[7,[2,""]]]]],[-1,101,null,408214947868636,false,[[11,"achname"],[7,[20,167,312,false,null]]]],[167,311,null,907046479136857,false,[[1,[2,"findLanguageKey"]],[13,[7,[2,"en-us"]],[7,[20,0,160,false,null,[[2,"Achievements > Description"],[20,0,170,false,null,[[0,0]]]]]]]]],[167,311,null,949056557778947,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[20,167,312,false,null]],[7,[2,"text"]],[7,[20,0,160,false,null,[[2,"Achievements > Description"],[20,0,170,false,null,[[0,0]]]]]],[7,[2,""]]]]],[-1,101,null,102536389370750,false,[[11,"achdesc"],[7,[20,167,312,false,null]]]],[0,80,null,432830210793400,false,[[1,[2,"Notification > Image"]],[13,[7,[23,"title"]],[7,[10,[10,[23,"achname"],[2,": "]],[23,"achdesc"]]],[7,[20,0,160,false,null,[[2,"Achievements > Icon"],[20,0,170,false,null,[[0,0]]]]]]]]]]]]],[0,null,false,null,769715116212284,[[0,169,null,2,false,false,false,662877008481550,false,[[1,[2,"Achievements > Name"]]]]],[[0,171,null,964172676212825,false,[[7,[20,14,310,false,null,[[0,0],[20,0,170,false,null,[[0,0]]],[2,"name"]]]]]]]],[0,null,false,null,707996213756631,[[0,169,null,2,false,false,false,717227998776218,false,[[1,[2,"Achievements > Description"]]]]],[[0,171,null,435353834842690,false,[[7,[20,14,310,false,null,[[0,0],[20,0,170,false,null,[[0,0]]],[2,"description"]]]]]]]],[0,null,false,null,486845014960751,[[0,169,null,2,false,false,false,249187675882139,false,[[1,[2,"Achievements > Icon"]]]]],[[0,171,null,521740548336253,false,[[7,[20,14,310,false,null,[[0,0],[20,0,170,false,null,[[0,0]]],[2,"icon"]]]]]]]],[0,null,false,null,992674309015349,[[0,169,null,2,false,false,false,876074760310401,false,[[1,[2,"Achievements > Hidden"]]]]],[[0,171,null,728140719383226,false,[[7,[20,14,310,false,null,[[0,0],[20,0,170,false,null,[[0,0]]],[2,"hidden"]]]]]]]]]]]]]],["Save",[[2,"Language",false],[2,"Skins",false],[2,"Inputs",false],[2,"Achievements",false],[2,"Notification",false],[0,[true,"Save"],false,null,162986568156015,[[-1,72,null,0,false,false,false,162986568156015,false,[[1,[2,"Save"]]]]],[],[[0,[true,"Save > Init"],false,null,283165337029184,[[-1,72,null,0,false,false,false,283165337029184,false,[[1,[2,"Save > Init"]]]]],[],[[0,null,false,null,855870978712707,[[-1,98,null,1,false,false,false,750078358650990,false],[1,107,null,0,false,false,false,949644249988978,false,[[10,6]]]],[[8,304,null,735985345045914,false,[[1,[2,"adconfig"]],[12,"adconfig.json"]]],[4,198,null,418123747283769,false,[[1,[2,"globalThis.oldRuntimeMobileMode = this.runtime.isMobile"]]]],[12,313,null,211265669871254,false],[201,314,null,481167027365172,false,[[2,["menutrack",false]],[1,[2,"music"]]]],[201,314,null,557488789583885,false,[[2,["track1",true]],[1,[2,"music"]]]],[201,314,null,937435560220639,false,[[2,["track2",true]],[1,[2,"music"]]]],[201,314,null,471424179541705,false,[[2,["track3",true]],[1,[2,"music"]]]],[201,314,null,109928488869888,false,[[2,["track4",true]],[1,[2,"music"]]]]],[[0,null,false,null,261757822495536,[],[[-1,315,null,490693393652791,false,[[1,[23,"LANGUAGELOADEDSIGNAL"]]]]],[[0,null,false,null,851539001060242,[[30,108,null,0,false,false,false,700675995494868,false,[[10,0],[8,0],[7,[2,""]]]]],[[30,316,null,434287948116961,false,[[10,0],[7,[20,167,282,false,null,[[2,"detectLanguage()"]]]]]],[-1,99,null,817839074078626,false,[[0,[1,1]]]],[12,111,null,268971112127220,false,[[1,[2,"Language"]],[7,[20,30,317,true,null]]]],[12,113,null,208638790552480,false]]]]],[0,null,false,null,851076218283539,[],[[-1,99,null,176849822561145,false,[[0,[0,0]]]],[1,197,null,474782993454946,false,[[10,6],[3,0]]],[8,304,null,912681795007652,false,[[1,[2,"language"]],[12,"languages.json"]]]]]]],[0,null,false,null,910632506246077,[[8,305,null,1,false,false,false,636612072809910,false,[[1,[2,"language"]]]]],[],[[0,null,false,null,600840665840540,[[30,108,null,0,false,false,false,532124893435554,false,[[10,1],[8,0],[7,[2,""]]]]],[[30,316,null,597812878819622,false,[[10,1],[7,[20,8,307,true,null]]]],[30,197,null,375112387838088,false,[[10,2],[3,1]]],[12,111,null,662066397971048,false,[[1,[2,"Language"]],[7,[20,30,317,true,null]]]],[0,80,null,292340083562544,false,[[1,[2,"Language > Loaded"]],[13]]]],[[0,null,false,null,289977059879069,[[12,293,null,0,false,false,false,278946890351023,false]],[[12,113,null,244280892223327,false]]]]]]],[0,null,false,null,821190910100078,[[8,305,null,1,false,false,false,847283276673076,false,[[1,[2,"adconfig"]]]]],[[167,318,null,714329333861523,false,[[1,[2,"adconfig"]],[7,[20,8,307,true,null]]]]],[[0,null,false,null,876661063980343,[[-1,109,null,0,false,false,false,116302400862035,false]],[[167,311,null,475413504738752,false,[[1,[2,"initWebSdkWrapper"]],[13,[7,[0,1]]]]]]],[0,null,false,null,248416363955669,[[-1,75,null,0,false,false,false,624916031097691,false]],[[167,311,null,307717019234091,false,[[1,[2,"initWebSdkWrapper"]],[13,[7,[0,0]]]]]]]]],[0,null,false,null,611428631163515,[[8,319,null,1,false,false,false,331994346093878,false,[[1,[2,"adconfig"]]]]],[]],[0,null,false,null,669131513933010,[[12,320,null,1,false,false,false,671529092966837,false]],[[12,111,null,803905557492758,false,[[1,[2,"Levels"]],[7,[0,1]]]],[12,111,null,864311614878293,false,[[1,[2,"Music"]],[7,[1,0.5]]]],[12,111,null,464758699033225,false,[[1,[2,"Sounds"]],[7,[1,0.5]]]],[12,111,null,290639275637948,false,[[1,[2,"VolumeIsLinear"]],[7,[0,1]]]],[12,111,null,923381777766359,false,[[1,[2,"Fullscreen"]],[7,[0,0]]]],[12,111,null,629676849342578,false,[[1,[2,"HardMode"]],[7,[0,0]]]],[12,111,null,768695733681222,false,[[1,[2,"AdvancedMode"]],[7,[0,0]]]],[12,111,null,284617585170439,false,[[1,[2,"LeftInput"]],[7,[21,16,false,null,0]]]],[12,111,null,253290119634447,false,[[1,[2,"RightInput"]],[7,[21,16,false,null,2]]]],[12,111,null,271074527701897,false,[[1,[2,"UpInput"]],[7,[21,16,false,null,1]]]],[12,111,null,754687278107088,false,[[1,[2,"DownInput"]],[7,[21,16,false,null,3]]]],[12,111,null,571643322782463,false,[[1,[2,"Gold"]],[7,[0,0]]]],[12,111,null,723145622788503,false,[[1,[2,"Skin0"]],[7,[0,1]]]],[12,111,null,308993002650976,false,[[1,[2,"CollectedCoins"]],[7,[0,0]]]],[12,111,null,483688618875811,false,[[1,[2,"CurSkin"]],[7,[2,""]]]],[12,111,null,459260542656810,false,[[1,[2,"MobileMode"]],[7,[0,0]]]],[12,111,null,181995077996050,false,[[1,[2,"MusicMuted"]],[7,[0,0]]]],[12,111,null,323841926399552,false,[[1,[2,"SoundsMuted"]],[7,[0,0]]]],[12,113,null,287238616458505,false]],[[0,null,false,null,154382183721419,[[30,107,null,0,false,false,false,934526837180121,false,[[10,2]]]],[[12,111,null,661493644679138,false,[[1,[2,"Language"]],[7,[20,30,317,true,null]]]],[12,113,null,333736026151571,false]]]]],[0,null,false,null,165604402275530,[[12,321,null,1,false,false,false,775790404995832,false]],[],[[0,null,false,null,654032152308802,[[1,107,null,0,false,false,false,563107270537816,false,[[10,7]]],[-1,109,null,0,false,false,false,983942327988317,false]],[[4,285,null,129268849388368,false,[[3,1],[7,[2,"BLOW SAVE MODE: PLEASE DISABLE AFTER TESTING"]]]],[0,80,null,121950783623740,false,[[1,[2,"Save > BlowSave"]],[13]]]]],[0,null,false,null,115706140179141,[[1,107,null,0,false,false,false,428571442928592,false,[[10,12]]]],[[12,111,null,390430929672685,false,[[1,[2,"Levels"]],[7,[21,1,false,null,9]]]],[0,80,null,690072598568067,false,[[1,[2,"Notification > Alert"]],[13,[7,[2,"Test Mode Activated"]],[7,[2,"This unlocks every level."]]]]],[12,113,null,531292985869405,false]]],[0,null,false,null,648721901291575,[[1,107,null,0,false,false,false,551057881912831,false,[[10,11]]]],[[0,80,null,159980054600369,false,[[1,[2,"Notification > Alert"]],[13,[7,[2,"Random Skin Activated"]],[7,[2,"This makes you try every skin in the game."]]]]]]],[0,null,false,null,324154452321057,[[12,149,null,0,false,true,false,565616474010403,false,[[1,[2,"Levels"]]]]],[[12,111,null,240186018083704,false,[[1,[2,"Levels"]],[7,[0,1]]]],[12,113,null,683932486412394,false]]],[0,null,true,null,158440876070012,[[12,149,null,0,false,false,false,633915784769280,false,[[1,[2,"besttime"]]]],[12,149,null,0,false,false,false,178852042436420,false,[[1,[2,"besttimehard"]]]]],[[0,80,null,247085273161368,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[0,10]]]]]]],[0,null,false,null,567203571428331,[[-1,75,null,0,false,false,false,194369843114659,false],[12,295,null,0,false,false,false,955018068061617,false,[[1,[2,"Levels"]],[8,4],[7,[21,1,false,null,9]]]]],[[12,111,null,348198921036705,false,[[1,[2,"Levels"]],[7,[21,1,false,null,9]]]],[12,113,null,209534354796506,false]]],[0,null,true,null,568274906586870,[[12,149,null,0,false,true,false,340665498869633,false,[[1,[2,"LeftInput"]]]],[12,295,null,0,false,false,false,256981955378935,false,[[1,[2,"LeftInput"]],[8,2],[7,[0,3]]]]],[[12,111,null,449702388163239,false,[[1,[2,"LeftInput"]],[7,[21,16,false,null,0]]]]]],[0,null,true,null,393749748047054,[[12,149,null,0,false,true,false,752071561619586,false,[[1,[2,"RightInput"]]]],[12,295,null,0,false,false,false,887157804206072,false,[[1,[2,"RightInput"]],[8,2],[7,[0,3]]]]],[[12,111,null,253190104837749,false,[[1,[2,"RightInput"]],[7,[21,16,false,null,2]]]]]],[0,null,true,null,936714148639980,[[12,149,null,0,false,true,false,152634170491822,false,[[1,[2,"UpInput"]]]],[12,295,null,0,false,false,false,162040904732276,false,[[1,[2,"UpInput"]],[8,2],[7,[0,3]]]]],[[12,111,null,268980869575249,false,[[1,[2,"UpInput"]],[7,[21,16,false,null,1]]]]]],[0,null,true,null,555653481807695,[[12,149,null,0,false,true,false,541389630555295,false,[[1,[2,"DownInput"]]]],[12,295,null,0,false,false,false,174487595292886,false,[[1,[2,"DownInput"]],[8,2],[7,[0,3]]]]],[[12,111,null,344418674661205,false,[[1,[2,"DownInput"]],[7,[21,16,false,null,3]]]]]],[0,null,false,null,536767773635854,[[12,149,null,0,false,false,false,496782941149315,false,[[1,[2,"Language"]]]]],[[167,318,null,173046675829932,false,[[1,[2,"savedVars"]],[7,[20,12,112,false,null,[[2,"Language"]]]]]],[167,318,null,690226434084932,false,[[1,[2,"curVars"]],[7,[20,30,317,true,null]]]],[167,311,null,375468426452456,false,[[1,[2,"mergeInstanceVars"]],[13]]],[30,322,null,544977044764135,false,[[1,[20,167,312,false,null]]]],[0,80,null,999405815840846,false,[[1,[2,"Language > Loaded"]],[13]]]]],[0,null,false,null,529950628875775,[[12,149,null,0,false,true,false,647352120456165,false,[[1,[2,"MusicMuted"]]]]],[[12,111,null,336061206078562,false,[[1,[2,"MusicMuted"]],[7,[0,0]]]]]],[0,null,false,null,958414220108857,[[12,149,null,0,false,true,false,473362993297200,false,[[1,[2,"SoundsMuted"]]]]],[[12,111,null,824672939843699,false,[[1,[2,"SoundsMuted"]],[7,[0,0]]]]]],[0,null,false,null,488504661712040,[[-1,75,null,0,false,false,false,689472132831626,false]],[[12,111,null,975807535287343,false,[[1,[2,"Language"]],[7,[20,30,317,true,null]]]]]],[0,null,false,null,697465902245521,[],[[-1,99,null,888498472278283,false,[[0,[0,0]]]],[16,316,null,202800238877928,false,[[10,0],[7,[20,12,112,false,null,[[2,"LeftInput"]]]]]],[16,316,null,502322096114036,false,[[10,3],[7,[20,12,112,false,null,[[2,"DownInput"]]]]]],[16,316,null,522447533155396,false,[[10,2],[7,[20,12,112,false,null,[[2,"RightInput"]]]]]],[16,316,null,476775079206194,false,[[10,1],[7,[20,12,112,false,null,[[2,"UpInput"]]]]]],[1,316,null,624888217179466,false,[[10,8],[7,[20,12,112,false,null,[[2,"CurSkin"]]]]]]],[[0,null,false,null,754756956427564,[[12,149,null,0,false,true,false,568587465180406,false,[[1,[2,"VolumeIsLinear"]]]]],[[201,323,null,728410219618408,false,[[0,[20,12,112,false,null,[[2,"Music"]]]],[1,[2,"music"]]]],[201,323,null,253643581181864,false,[[0,[20,12,112,false,null,[[2,"Sounds"]]]],[1,[2,"sounds"]]]],[12,111,null,495508023041801,false,[[1,[2,"Music"]],[7,[20,201,324,false,null,[[2,"music"]]]]]],[12,111,null,411468552827177,false,[[1,[2,"Sounds"]],[7,[20,201,324,false,null,[[2,"sounds"]]]]]],[12,111,null,657237777880578,false,[[1,[2,"VolumeIsLinear"]],[7,[0,1]]]],[201,294,null,389019009004008,false,[[0,[20,12,112,false,null,[[2,"Music"]]]],[1,[2,"music"]]]],[201,294,null,918035952247009,false,[[0,[20,12,112,false,null,[[2,"Sounds"]]]],[1,[2,"sounds"]]]]]],[0,null,false,null,248780237932463,[[-1,75,null,0,false,false,false,946065334708927,false]],[[201,294,null,412492798942209,false,[[0,[20,12,112,false,null,[[2,"Music"]]]],[1,[2,"music"]]]],[201,294,null,868227491645633,false,[[0,[20,12,112,false,null,[[2,"Sounds"]]]],[1,[2,"sounds"]]]]]],[0,null,false,null,821531406954841,[[12,295,null,0,false,false,false,823673578277356,false,[[1,[2,"Fullscreen"]],[8,0],[7,[0,1]]]]],[[4,325,null,706353150222840,false,[[3,0]]]]],[0,null,false,null,994603906770450,[[12,295,null,0,false,false,false,416597273766833,false,[[1,[2,"HardMode"]],[8,0],[7,[0,1]]]]],[[1,197,null,107432619565177,false,[[10,16],[3,0]]]]],[0,null,false,null,543709717956369,[[12,295,null,0,false,false,false,191607024089398,false,[[1,[2,"AdvancedMode"]],[8,0],[7,[0,1]]]]],[[1,197,null,390853691505709,false,[[10,17],[3,1]]]]],[0,null,false,null,372050391686339,[[12,295,null,0,false,false,false,547836138675055,false,[[1,[2,"MusicMuted"]],[8,0],[7,[0,1]]]]],[[201,292,null,292807829833409,false,[[1,[2,"music"]]]]]],[0,null,false,null,926911077808948,[[-1,75,null,0,false,false,false,401329858585438,false]],[[201,296,null,198571554634384,false,[[1,[2,"music"]]]]]],[0,null,false,null,336411234421061,[[12,295,null,0,false,false,false,676475051283773,false,[[1,[2,"SoundsMuted"]],[8,0],[7,[0,1]]]]],[[201,292,null,140501162948391,false,[[1,[2,"sounds"]]]]]],[0,null,false,null,728351105910189,[[-1,75,null,0,false,false,false,342166235544418,false]],[[201,296,null,418896621432117,false,[[1,[2,"sounds"]]]]]],[0,null,false,null,764750905827966,[],[[0,80,null,729203026031539,false,[[1,[2,"Options > Update"]],[13]]]]]]],[0,null,false,null,292841523463166,[],[[0,80,null,383099674928518,false,[[1,[2,"Save > UpdateNbCoins"]],[13]]],[0,80,null,339181398740631,false,[[1,[2,"Save > UpdateLevelAchievements"]],[13]]],[0,80,null,831560700818737,false,[[1,[2,"Save > Update Mobile Mode"]],[13]]],[12,113,null,412027218432684,false]]]]],[0,null,false,null,775355781556675,[[12,326,null,1,false,false,false,792201547156201,false]],[[4,285,null,855062792113850,false,[[3,2],[7,[10,[2,"SyncStorage: Init failed: "],[20,12,327,true,null]]]]]]],[0,null,false,null,472664455482677,[[-1,328,null,1,false,false,false,153060324119327,false]],[[0,80,null,302578828316574,false,[[1,[2,"Save > Save"]],[13]]]]]]],[0,[true,"Save > API"],false,null,629196985939124,[[-1,72,null,0,false,false,false,629196985939124,false,[[1,[2,"Save > API"]]]]],[],[[0,null,false,null,266481799390422,[[0,169,null,2,false,false,false,785616536486651,false,[[1,[2,"Save > Save"]]]]],[[12,113,null,535781288900225,false]]],[0,null,false,null,298471975688083,[[0,169,null,2,false,false,false,839479699918601,false,[[1,[2,"Save > Achievement"]]]]],[[12,111,null,104072826878550,false,[[1,[10,[2,"Achievement"],[20,0,170,false,null,[[0,0]]]]],[7,[0,1]]]],[12,113,null,718484982641264,false]]],[0,null,false,null,472399118101821,[[0,169,null,2,false,false,false,892193053467844,false,[[1,[2,"Save > Skin"]]]]],[[12,111,null,368799202724134,false,[[1,[10,[2,"Skin"],[20,0,170,false,null,[[0,0]]]]],[7,[0,1]]]],[12,113,null,334881200476443,false]]],[0,null,false,null,682218786424573,[[0,169,null,2,false,false,false,867120449805977,false,[[1,[2,"Save > BlowSave"]]]]],[[12,329,null,584398412758930,false],[12,111,null,945670827231365,false,[[1,[2,"Levels"]],[7,[0,1]]]],[12,111,null,809734191189483,false,[[1,[2,"Music"]],[7,[1,0.5]]]],[12,111,null,757590849794366,false,[[1,[2,"Sounds"]],[7,[1,0.5]]]],[12,111,null,709553063595747,false,[[1,[2,"VolumeIsLinear"]],[7,[0,1]]]],[12,111,null,619112106225530,false,[[1,[2,"Fullscreen"]],[7,[0,0]]]],[12,111,null,190208265624887,false,[[1,[2,"HardMode"]],[7,[0,0]]]],[12,111,null,488914781807004,false,[[1,[2,"AdvancedMode"]],[7,[0,0]]]],[12,111,null,989924001593810,false,[[1,[2,"LeftInput"]],[7,[21,16,false,null,0]]]],[12,111,null,599663057435475,false,[[1,[2,"RightInput"]],[7,[21,16,false,null,2]]]],[12,111,null,435651200544452,false,[[1,[2,"UpInput"]],[7,[21,16,false,null,1]]]],[12,111,null,593348250242490,false,[[1,[2,"DownInput"]],[7,[21,16,false,null,3]]]],[12,111,null,102416547723878,false,[[1,[2,"Gold"]],[7,[0,0]]]],[12,111,null,553107813630470,false,[[1,[2,"Skin0"]],[7,[0,1]]]],[12,111,null,474132508373151,false,[[1,[2,"CollectedCoins"]],[7,[0,0]]]],[12,111,null,234039771356494,false,[[1,[2,"CurSkin"]],[7,[2,""]]]],[12,111,null,133438133741123,false,[[1,[2,"MobileMode"]],[7,[0,0]]]],[12,111,null,833274241556141,false,[[1,[2,"MusicMuted"]],[7,[0,0]]]],[12,111,null,301938068647116,false,[[1,[2,"SoundsMuted"]],[7,[0,0]]]],[12,113,null,318408467372715,false]]],[0,null,false,null,902690401653051,[[0,169,null,2,false,false,false,140530036800313,false,[[1,[2,"Save > BlowCoins"]]]]],[],[[0,null,false,null,230914432645613,[[-1,330,null,0,true,false,false,207583546716044,false,[[1,[2,"coins"]],[0,[0,0]],[0,[21,1,false,null,9]]]]],[[12,331,null,117098735207470,false,[[1,[10,[2,"Coinlevel"],[19,332]]]]]]],[0,null,false,null,780466350557466,[],[[12,111,null,523432526039584,false,[[1,[2,"CollectedCoins"]],[7,[0,0]]]],[12,113,null,122346518941519,false]]]]],[0,null,false,null,978560428414984,[[0,169,null,2,false,false,false,404787142079780,false,[[1,[2,"Save > Update Mobile Mode"]]]]],[],[[0,null,false,null,852183798736470,[[12,295,null,0,false,false,false,522630216336123,false,[[1,[2,"MobileMode"]],[8,0],[7,[0,0]]]]],[[4,198,null,237923126487022,false,[[1,[2,"this.runtime.isMobile = globalThis.oldRuntimeMobileMode"]]]],[4,198,null,163502361535161,false,[[1,[2,"Object.values(this.runtime.types).find(x=>x.plugin instanceof cr.plugins_.Touch).getFirstPicked().useMouseInput = false"]]]]]],[0,null,false,null,519806167382668,[[12,295,null,0,false,false,false,208576371924283,false,[[1,[2,"MobileMode"]],[8,0],[7,[0,1]]]]],[[4,198,null,429917408187916,false,[[1,[2,"this.runtime.isMobile = true"]]]],[4,198,null,691044219666934,false,[[1,[2,"Object.values(this.runtime.types).find(x=>x.plugin instanceof cr.plugins_.Touch).getFirstPicked().useMouseInput = true"]]]]]],[0,null,false,null,278299695832948,[[12,295,null,0,false,false,false,819070389272493,false,[[1,[2,"MobileMode"]],[8,0],[7,[0,2]]]]],[[4,198,null,938502309507733,false,[[1,[2,"this.runtime.isMobile = false"]]]],[4,198,null,158867633523096,false,[[1,[2,"Object.values(this.runtime.types).find(x=>x.plugin instanceof cr.plugins_.Touch).getFirstPicked().useMouseInput = false"]]]]]]]],[0,null,false,null,702266321569704,[[0,169,null,2,false,false,false,282687954329211,false,[[1,[2,"Save > Auto Update Mobile Mode"]]]]],[],[[0,null,false,null,991852137867820,[[12,295,null,0,false,false,false,595420786684060,false,[[1,[2,"MobileMode"]],[8,0],[7,[0,0]]]]],[[12,111,null,535999767134209,false,[[1,[2,"MobileMode"]],[7,[0,1]]]],[0,80,null,275851366194316,false,[[1,[2,"Save > Update Mobile Mode"]],[13]]],[12,113,null,537902442497986,false],[-1,203,null,962313602842857,false]]]]],[0,null,false,null,834568546328728,[[0,169,null,2,false,false,false,750219063786859,false,[[1,[2,"Save > RemoveAds"]]]]],[],[[0,null,false,null,773926798763573,[],[[12,111,null,566566119058730,false,[[1,[2,"RemoveAds"]],[7,[0,1]]]],[12,113,null,197294371871422,false]]]]],[0,null,false,null,634640458555801,[[0,169,null,2,false,false,false,622100068772835,false,[[1,[2,"Save > UpdateNbCoins"]]]]],[[12,111,null,599179606311313,false,[[1,[2,"CollectedCoins"]],[7,[0,0]]]]],[[0,null,false,null,941963175750392,[[-1,330,null,0,true,false,false,336145921439530,false,[[1,[2,"coins"]],[0,[0,0]],[0,[21,1,false,null,9]]]]],[],[[0,null,false,null,264446812058616,[[12,149,null,0,false,false,false,107529066904947,false,[[1,[10,[2,"Coinlevel"],[19,332]]]]]],[[12,333,null,477501374214849,false,[[1,[2,"CollectedCoins"]],[0,[0,1]]]]]]]],[0,null,false,null,863848314175138,[[12,295,null,0,false,false,false,804969158269453,false,[[1,[2,"CollectedCoins"]],[8,4],[7,[0,0]]]]],[[0,80,null,537698047388532,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[0,11]]]]]]],[0,null,false,null,754971654642991,[[12,295,null,0,false,false,false,333568526431004,false,[[1,[2,"CollectedCoins"]],[8,5],[7,[0,5]]]]],[[0,80,null,856823571571596,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[0,12]]]]]]],[0,null,false,null,523438105169265,[[12,295,null,0,false,false,false,516501041858255,false,[[1,[2,"CollectedCoins"]],[8,5],[7,[0,10]]]]],[[0,80,null,496751487363466,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[0,13]]]]]]],[0,null,false,null,405836812773732,[[12,295,null,0,false,false,false,345263562304141,false,[[1,[2,"CollectedCoins"]],[8,5],[7,[0,30]]]]],[[0,80,null,633834991098070,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[0,14]]]]]]],[0,null,false,null,191797424226801,[[12,295,null,0,false,false,false,215393407556031,false,[[1,[2,"CollectedCoins"]],[8,5],[7,[0,40]]]]],[[0,80,null,686524315266703,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[0,15]]]]]]],[0,null,false,null,513761394801399,[[12,149,null,0,false,false,false,986653751547226,false,[[1,[2,"Coinlevel0"]]]]],[[0,80,null,550541349833375,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[0,16]]]]]]],[0,null,false,null,178133318848539,[],[[12,113,null,252936428017010,false]]]]],[0,null,false,null,668393992317081,[[0,169,null,2,false,false,false,407807567130061,false,[[1,[2,"Save > UpdateLevelAchievements"]]]]],[],[[1,"ID",0,0,false,false,228403972980044,false],[0,null,false,null,585519957949464,[],[[-1,101,null,825615916600727,false,[[11,"ID"],[7,[20,12,112,false,null,[[2,"Levels"]]]]]]]],[0,null,false,null,236290131357183,[[-1,100,null,0,false,false,false,968032353244090,false,[[11,"UnlockAchievement"],[8,1],[7,[0,-1]]]]],[[0,80,null,378911864007238,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[23,"UnlockAchievement"]]]]],[-1,101,null,472705738793977,false,[[11,"UnlockAchievement"],[7,[0,-1]]]]]],[0,null,false,null,655193061685735,[[-1,100,null,0,false,false,false,429645062872507,false,[[11,"ID"],[8,5],[7,[0,8]]]]],[[-1,101,null,505669474781054,false,[[11,"UnlockAchievement"],[7,[0,3]]]],[0,80,null,716170052799344,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[23,"UnlockAchievement"]]]]]]],[0,null,false,null,204914375506487,[[-1,100,null,0,false,false,false,129671292058132,false,[[11,"ID"],[8,5],[7,[0,16]]]]],[[-1,101,null,988061602834500,false,[[11,"UnlockAchievement"],[7,[0,4]]]],[0,80,null,711124813252035,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[23,"UnlockAchievement"]]]]]]],[0,null,false,null,523590150714604,[[-1,100,null,0,false,false,false,431094348155173,false,[[11,"ID"],[8,5],[7,[0,24]]]]],[[-1,101,null,966655867056828,false,[[11,"UnlockAchievement"],[7,[0,5]]]],[0,80,null,616074959739551,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[23,"UnlockAchievement"]]]]]]],[0,null,false,null,987987435254797,[[-1,100,null,0,false,false,false,648459904536917,false,[[11,"ID"],[8,5],[7,[0,32]]]]],[[-1,101,null,439877578874949,false,[[11,"UnlockAchievement"],[7,[0,6]]]],[0,80,null,563114090511195,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[23,"UnlockAchievement"]]]]]]],[0,null,false,null,479711864948118,[[-1,100,null,0,false,false,false,469321637204963,false,[[11,"ID"],[8,5],[7,[0,40]]]]],[[-1,101,null,333242360882637,false,[[11,"UnlockAchievement"],[7,[0,7]]]],[0,80,null,814462906437476,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[23,"UnlockAchievement"]]]]]]],[0,null,false,null,262987617247746,[[-1,100,null,0,false,false,false,171831558230016,false,[[11,"ID"],[8,5],[7,[0,48]]]]],[[-1,101,null,103851592049807,false,[[11,"UnlockAchievement"],[7,[0,8]]]],[0,80,null,545942785566804,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[23,"UnlockAchievement"]]]]]]],[0,null,false,null,425909562539820,[[-1,100,null,0,false,false,false,759810191050362,false,[[11,"ID"],[8,5],[7,[0,52]]]]],[[-1,101,null,461557791587036,false,[[11,"UnlockAchievement"],[7,[0,9]]]],[0,80,null,969658485857231,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[23,"UnlockAchievement"]]]]]]],[0,null,false,null,646674763594272,[],[[-1,101,null,146670175156889,false,[[11,"UnlockAchievement"],[7,[0,-1]]]],[12,113,null,501789778357215,false]]]]],[0,null,false,null,781606348755903,[[0,169,null,2,false,false,false,940066756813248,false,[[1,[2,"unlockAllLevels"]]]]],[[12,111,null,172358039965542,false,[[1,[2,"Levels"]],[7,[21,1,false,null,9]]]],[0,80,null,447509840047522,false,[[1,[2,"Save > UpdateLevelAchievements"]],[13]]]],[[1,"title",1,"",false,false,742950872914267,false],[1,"desc",1,"",false,false,289072199951973,false],[0,null,false,null,717653655856565,[],[[167,311,null,774025148586657,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,"likemagic"]],[7,[2,"text"]],[7,[2,"Like magic"]],[7,[2,""]]]]],[-1,101,null,216912865597812,false,[[11,"title"],[7,[20,167,312,false,null]]]],[167,311,null,758845161080633,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,"unlockall"]],[7,[2,"text"]],[7,[2,"You unlocked every level !"]],[7,[2,""]]]]],[-1,101,null,122580228780298,false,[[11,"desc"],[7,[20,167,312,false,null]]]],[0,80,null,292096691684984,false,[[1,[2,"Notification > Alert"]],[13,[7,[23,"title"]],[7,[23,"desc"]]]]],[12,113,null,445780415643247,false]]],[0,null,false,null,356245705215911,[[-1,330,null,0,true,false,false,652246325324648,false,[[1,[2,"coins"]],[0,[0,0]],[0,[0,99]]]]],[[12,111,null,142567777906449,false,[[1,[10,[2,"Skin"],[19,332]]],[7,[0,1]]]]]]]],[0,null,false,null,377149048561755,[[0,169,null,2,false,false,false,180987727482198,false,[[1,[2,"websdk > pause"]]]]],[],[[0,null,false,null,129722835012198,[[-1,127,null,0,false,false,false,803605467999775,false,[[7,[19,226]],[8,1],[7,[0,0]]]],[-1,127,null,0,false,false,false,506872008245474,false,[[7,[19,189,[[19,104],[2,"Level"]]]],[8,5],[7,[0,0]]]]],[[0,80,null,102659525108368,false,[[1,[2,"Menu > Pause"]],[13]]]]]]],[0,null,false,null,121718778769536,[[0,169,null,2,false,false,false,374070008963150,false,[[1,[2,"websdk > resume"]]]]],[],[[0,null,false,null,305396824438823,[[-1,127,null,0,false,false,false,747991156746038,false,[[7,[19,226]],[8,0],[7,[0,0]]]],[-1,127,null,0,false,false,false,422589199541815,false,[[7,[19,189,[[19,104],[2,"Level"]]]],[8,5],[7,[0,0]]]]],[[0,80,null,805325000770054,false,[[1,[2,"Menu > Pause"]],[13]]]]]]]]]]],[0,null,false,null,661549912589126,[[0,169,null,2,false,false,false,263626190925141,false,[[1,[2,"adOver"]]]]],[[0,80,null,486453223990955,false,[[1,[2,"unmuteSounds"]],[13]]]]],[0,null,false,null,982750771900489,[[0,169,null,2,false,false,false,209315474564397,false,[[1,[2,"adOverFail"]]]]],[[0,80,null,794270267174170,false,[[1,[2,"unmuteSounds"]],[13]]]]],[0,null,false,null,849342344090202,[[0,169,null,2,false,false,false,610755531464544,false,[[1,[2,"getSaveValue"]]]]],[[4,285,null,165239135400277,false,[[3,0],[7,[20,12,112,false,null,[[20,0,170,false,null,[[0,0]]]]]]]]]]]],["Notification",[[0,[true,"Notification"],false,null,664193936102864,[[-1,72,null,0,false,false,false,664193936102864,false,[[1,[2,"Notification"]]]]],[],[[0,[true,"Notification > Updates"],false,null,295719443144517,[[-1,72,null,0,false,false,false,295719443144517,false,[[1,[2,"Notification > Updates"]]]]],[],[[0,null,false,null,984510323679056,[[4,334,null,1,false,false,false,463107203018341,false]],[],[[1,"title",1,"",false,false,232993443304031,false],[1,"desc",1,"",false,false,239916995568323,false],[0,null,false,null,578260121600642,[],[[167,311,null,112845821410029,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,"offlineready"]],[7,[2,"text"]],[7,[2,"Offline ready!"]],[7,[2,""]]]]],[-1,101,null,820626833987368,false,[[11,"title"],[7,[20,167,312,false,null]]]],[167,311,null,909437216047526,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,"offlinereadydesc"]],[7,[2,"text"]],[7,[2,"You can now play the game offline!"]],[7,[2,""]]]]],[-1,101,null,967295246508584,false,[[11,"desc"],[7,[20,167,312,false,null]]]],[0,80,null,964750894295849,false,[[1,[2,"Notification > Alert"]],[13,[7,[23,"title"]],[7,[23,"desc"]]]]]]]]],[0,null,false,null,983090562478107,[[4,335,null,1,false,false,false,764467136429042,false]],[],[[1,"title",1,"",false,false,721748611986444,false],[1,"desc",1,"",false,false,838847301237665,false],[0,null,false,null,455643181178506,[],[[167,311,null,796252427384052,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,"updatefound"]],[7,[2,"text"]],[7,[2,"Update found!"]],[7,[2,""]]]]],[-1,101,null,174276026694077,false,[[11,"title"],[7,[20,167,312,false,null]]]],[167,311,null,590401647293682,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,"updatefounddesc"]],[7,[2,"text"]],[7,[2,"A new update has been found, and is getting downloaded in background"]],[7,[2,""]]]]],[-1,101,null,935287110345683,false,[[11,"desc"],[7,[20,167,312,false,null]]]],[0,80,null,254456138983520,false,[[1,[2,"Notification > Alert"]],[13,[7,[23,"title"]],[7,[23,"desc"]]]]]]]]],[0,null,false,null,228889864686755,[[4,336,null,1,false,false,false,980331229154883,false]],[],[[1,"title",1,"",false,false,495530890229953,false],[1,"desc",1,"",false,false,812220671176891,false],[0,null,false,null,568235413691530,[],[[167,311,null,995423988930806,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,"updateready"]],[7,[2,"text"]],[7,[2,"Update ready!"]],[7,[2,""]]]]],[-1,101,null,303310881867901,false,[[11,"title"],[7,[20,167,312,false,null]]]],[167,311,null,495112342270339,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,"updatereadydesc"]],[7,[2,"text"]],[7,[2,"A new update has been downloaded! Reload or click here to load the new version."]],[7,[2,""]]]]],[-1,101,null,683251464291553,false,[[11,"desc"],[7,[20,167,312,false,null]]]],[0,80,null,975652226742164,false,[[1,[2,"Notification > Clickable"]],[13,[7,[23,"title"]],[7,[23,"desc"]],[7,[2,"UpdateReady"]],[7,[2,""]]]]]]]]],[0,null,false,null,240832970927803,[[11,337,null,1,false,false,false,340135006123545,false,[[1,[2,"UpdateReady"]]]]],[[4,338,null,225622502405290,false]]],[0,null,false,null,766589814319976,[[11,337,null,1,false,false,false,709959805518754,false,[[1,[2,"gpdr"]]]]],[[4,339,null,437175724445551,false,[[1,[2,"https://dedragames.com/#/agreement"]],[1,[2,"_blank"]]]]]],[0,null,false,null,933377953764687,[[6,340,null,1,false,false,false,216590106974714,false]],[[0,80,null,529169650009445,false,[[1,[2,"Notification > Clear"]],[13]]]]]]],[0,[true,"Notification > API"],false,null,813828376180890,[[-1,72,null,0,false,false,false,813828376180890,false,[[1,[2,"Notification > API"]]]]],[],[[1,"LastTitle",1,"",true,false,189343501093671,false],[1,"LastContent",1,"",true,false,580305689941129,false],[0,null,false,null,863753033157357,[[0,169,null,2,false,false,false,134355953833387,false,[[1,[2,"Notification > Alert"]]]]],[[11,341,null,596485239258313,false,[[7,[20,0,170,false,null,[[0,0]]]],[7,[20,0,170,false,null,[[0,1]]]],[7,[2,""]]]]]],[0,null,false,null,772595943669217,[[0,169,null,2,false,false,false,510404534419283,false,[[1,[2,"Notification > Image"]]]]],[],[[1,"Title",1,"",true,false,711395509202240,false],[1,"Content",1,"",true,false,668549220564003,false],[1,"Image",1,"",true,false,417769001419522,false],[0,null,false,null,529992627576131,[],[[-1,101,null,907941738335058,false,[[11,"Title"],[7,[20,0,170,false,null,[[0,0]]]]]],[-1,101,null,994156823038939,false,[[11,"Content"],[7,[20,0,170,false,null,[[0,1]]]]]],[-1,101,null,860339141254544,false,[[11,"Image"],[7,[20,0,170,false,null,[[0,2]]]]]],[11,341,null,436423451143321,false,[[7,[23,"Title"]],[7,[23,"Content"]],[7,[23,"Image"]]]]]]]],[0,null,false,null,271487200105526,[[0,169,null,2,false,false,false,461835123638216,false,[[1,[2,"Notification > Light"]]]]],[[11,342,null,830294922465414,false,[[7,[20,0,170,false,null,[[0,0]]]],[7,[20,0,170,false,null,[[0,1]]]],[7,[20,0,170,false,null,[[0,2]]]],[3,0],[3,1],[0,[0,5000]]]]]],[0,null,false,null,788177294983023,[[0,169,null,2,false,false,false,670672380963126,false,[[1,[2,"Notification > Clickable"]]]]],[[11,343,null,604795158123989,false,[[7,[20,0,170,false,null,[[0,2]]]],[7,[20,0,170,false,null,[[0,0]]]],[7,[20,0,170,false,null,[[0,1]]]],[7,[20,0,170,false,null,[[0,3]]]],[3,0],[3,1],[0,[0,20000]],[3,1]]]]],[0,null,false,null,347835676438162,[[0,169,null,2,false,false,false,948573155466653,false,[[1,[2,"Notification > Clear"]]]]],[[11,344,null,432867999033585,false]]]]]]]]],["Skins",[[2,"Notification",false],[0,[true,"Skins"],false,null,614092635124522,[[-1,72,null,0,false,false,false,614092635124522,false,[[1,[2,"Skins"]]]]],[],[[0,[true,"Skins > Init"],false,null,704566812623910,[[-1,72,null,0,false,false,false,704566812623910,false,[[1,[2,"Skins > Init"]]]]],[],[[0,null,false,null,935040084500943,[[-1,98,null,1,false,false,false,607503337999100,false],[1,107,null,0,false,false,false,978863040146073,false,[[10,6]]]],[[17,345,null,957202151983317,false,[[4,131],[1,[2,"frank"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,167957046520860,false,[[4,133],[1,[2,"pole"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,462686161866882,false,[[4,132],[1,[2,"elec"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,937198788019089,false,[[4,135],[1,[2,"knight"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,921578374259943,false,[[4,136],[1,[2,"batter"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,438921503939528,false,[[4,137],[1,[2,"erigato"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,442010896421776,false,[[4,138],[1,[2,"dknight"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,764685043295537,false,[[4,139],[1,[2,"lknight"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,957136155525858,false,[[4,140],[1,[2,"astronaut"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,778613802836099,false,[[4,141],[1,[2,"alien"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,380707045808223,false,[[4,142],[1,[2,"ovo+"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,462994461297597,false,[[4,143],[1,[2,"ada"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,213160910915358,false,[[4,144],[1,[2,"thefall"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,590255259682902,false,[[4,146],[1,[2,"pulse"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,323586210617996,false,[[4,151],[1,[2,"materwelon"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,972058289351422,false,[[4,148],[1,[2,"fl1ckd"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,583892214228627,false,[[4,149],[1,[2,"theliljoker"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,374425036740744,false,[[4,150],[1,[2,"amongus"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,916734055037470,false,[[4,153],[1,[2,"french"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,538856964222463,false,[[4,154],[1,[2,"english"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,283409576567506,false,[[4,155],[1,[2,"spanish"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,509968611087976,false,[[4,156],[1,[2,"brazilian"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,402782407942150,false,[[4,152],[1,[2,"cmg"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,345,null,394535684014583,false,[[4,157],[1,[2,"shyguy"]],[3,0],[1,[2,""]],[1,[2,""]]]],[17,346,null,195489443870218,false]]],[0,null,false,null,886910214133860,[[-1,98,null,1,false,false,false,339296582875753,false],[24,303,null,0,false,false,false,895407816162829,false,[[3,0],[13]]]],[[8,304,null,621907758193215,false,[[1,[2,"Skins"]],[12,"skins.json"]]]]],[0,null,false,null,581757901361853,[[8,305,null,1,false,false,false,713278767466190,false,[[1,[2,"Skins"]]]]],[[24,306,null,293028301736217,false,[[1,[20,8,307,true,null]],[3,0],[13]]],[7,308,null,206536568341537,false,[[1,[2,"Skins"]],[1,[20,8,307,true,null]]]]]]]],[0,[true,"Skins > API"],false,null,285000074836405,[[-1,72,null,0,false,false,false,285000074836405,false,[[1,[2,"Skins > API"]]]]],[],[[0,null,false,null,265038762949972,[[0,169,null,2,false,false,false,611177692844586,false,[[1,[2,"Skins > Unlock"]]]],[12,149,null,0,false,true,false,593970920920356,false,[[1,[10,[2,"Skin"],[20,0,170,false,null,[[0,0]]]]]]]],[[0,80,null,875546572351476,false,[[1,[2,"Save > Skin"]],[13,[7,[20,0,170,false,null,[[0,0]]]]]]],[194,103,null,912163420874407,false,[[3,2],[1,[2,"Skin"]],[1,[20,0,160,false,null,[[2,"Skin > Name"],[20,0,170,false,null,[[0,0]]]]]],[1,[2,""]]]]],[[1,"title",1,"",false,false,396542816640720,false],[0,null,false,null,896983731152935,[],[[167,311,null,352121968551891,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,"skinunlocked"]],[7,[2,"text"]],[7,[2,"Skin Unlocked !"]],[7,[2,""]]]]],[-1,101,null,168486059068200,false,[[11,"title"],[7,[20,167,312,false,null]]]],[167,311,null,559191272743731,false,[[1,[2,"findLanguageKey"]],[13,[7,[2,"en-us"]],[7,[20,0,160,false,null,[[2,"Skins > Name"],[20,0,170,false,null,[[0,0]]]]]]]]],[167,311,null,444858633259840,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[20,167,312,false,null]],[7,[2,"text"]],[7,[20,0,160,false,null,[[2,"Skins > Name"],[20,0,170,false,null,[[0,0]]]]]],[7,[2,""]]]]],[0,80,null,708890456718975,false,[[1,[2,"Notification > Image"]],[13,[7,[23,"title"]],[7,[20,167,312,false,null]],[7,[20,0,160,false,null,[[2,"Skins > Icon"],[20,0,170,false,null,[[0,0]]]]]]]]]]]]],[0,null,false,null,765731176690143,[[0,169,null,2,false,false,false,599004354885987,false,[[1,[2,"Skins > Gold"]]]]],[],[[1,"title",1,"",false,false,156462875847915,false],[0,null,false,null,676242058575065,[],[[167,311,null,476635613116064,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,"goldearned"]],[7,[2,"text"]],[7,[2,"Gold earned !"]],[7,[2,""]]]]],[-1,101,null,370163394363156,false,[[11,"title"],[7,[20,167,312,false,null]]]],[167,311,null,235692096420232,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,"xgoldearned"]],[7,[2,"text"]],[7,[2,"{0} Gold earned"]],[7,[2,""]]]]],[167,311,null,917036652494424,false,[[1,[2,"processString"]],[13,[7,[20,167,312,false,null]],[7,[20,0,170,false,null,[[0,0]]]]]]],[0,80,null,399188959344877,false,[[1,[2,"Notification > Alert"]],[13,[7,[23,"title"]],[7,[20,167,312,false,null]]]]],[12,333,null,254099650132872,false,[[1,[2,"Gold"]],[0,[20,0,170,false,null,[[0,0]]]]]]]]]],[0,null,false,null,961924603234818,[[0,169,null,2,false,false,false,666749949568765,false,[[1,[2,"Skins > Name"]]]]],[[0,171,null,732494785459614,false,[[7,[20,24,310,false,null,[[0,0],[20,0,170,false,null,[[0,0]]],[2,"name"]]]]]]]],[0,null,false,null,357337817854501,[[0,169,null,2,false,false,false,387851312576378,false,[[1,[2,"Skins > Skin"]]]]],[[0,171,null,694356799901475,false,[[7,[20,24,310,false,null,[[0,0],[20,0,170,false,null,[[0,0]]],[2,"skin"]]]]]]]],[0,null,false,null,597881569013600,[[0,169,null,2,false,false,false,151415681783390,false,[[1,[2,"Skins > Lang"]]]]],[[0,171,null,632900343506526,false,[[7,[20,24,310,false,null,[[0,0],[20,0,170,false,null,[[0,0]]],[2,"lang"]]]]]]]],[0,null,false,null,326974436814308,[[0,169,null,2,false,false,false,100926794921003,false,[[1,[2,"Skins > Icon"]]]]],[[0,171,null,944562018446259,false,[[7,[20,24,310,false,null,[[0,0],[20,0,170,false,null,[[0,0]]],[2,"icon"]]]]]]]],[0,null,false,null,836871499560619,[[0,169,null,2,false,false,false,760885007200923,false,[[1,[2,"Skins > Hidden"]]]]],[[0,171,null,639867336014152,false,[[7,[20,24,310,false,null,[[0,0],[20,0,170,false,null,[[0,0]]],[2,"hidden"]]]]]]]],[0,null,false,null,141108112417058,[[0,169,null,2,false,false,false,710513841676231,false,[[1,[2,"Skins > Buyable"]]]]],[[0,171,null,383464589548573,false,[[7,[19,347,[[4,[16,[20,24,310,false,null,[[0,0],[20,0,170,false,null,[[0,0]]],[2,"price"]]],[0,0]],[14,[20,24,310,false,null,[[0,0],[20,0,170,false,null,[[0,0]]],[2,"achievement"]]],[0,0]]],[0,0],[0,1]]]]]]]],[0,null,false,null,533039341729705,[[0,169,null,2,false,false,false,540813695749347,false,[[1,[2,"Skins > Price"]]]]],[[0,171,null,378258192968555,false,[[7,[20,24,310,false,null,[[0,0],[20,0,170,false,null,[[0,0]]],[2,"price"]]]]]]]],[0,null,false,null,185232306242911,[[0,169,null,2,false,false,false,999707528379246,false,[[1,[2,"Skins > Achievement"]]]]],[[0,171,null,110383138784748,false,[[7,[20,24,310,false,null,[[0,0],[20,0,170,false,null,[[0,0]]],[2,"achievement"]]]]]]]]]]]]]],["Inputs",[[0,[true,"Inputs"],false,null,396453782658897,[[-1,72,null,0,false,false,false,396453782658897,false,[[1,[2,"Inputs"]]]]],[],[[0,[true,"Inputs > Listen"],false,null,898890600748449,[[-1,72,null,0,false,false,false,898890600748449,false,[[1,[2,"Inputs > Listen"]]]]],[],[[0,null,false,null,472919093318492,[[2,348,null,1,false,false,false,983474172434210,false],[16,107,null,0,false,false,false,507089535810307,false,[[10,4]]]],[[0,80,null,184540799660959,false,[[1,[2,"Inputs > Set Input"]],[13,[7,[21,16,false,null,5]],[7,[20,2,349,false,null]]]]]]]]],[0,[true,"Inputs > API"],false,null,446914502717137,[[-1,72,null,0,false,false,false,446914502717137,false,[[1,[2,"Inputs > API"]]]]],[],[[0,null,false,null,504456828454720,[[0,169,null,2,false,false,false,533441397409408,false,[[1,[2,"Inputs > Listen"]]]]],[],[[1,"Next",0,0,false,false,886207361980074,false],[0,null,false,null,994024371780197,[],[[-1,101,null,635909119075089,false,[[11,"Next"],[7,[20,0,170,false,null,[[0,0]]]]]],[16,316,null,381912579286486,false,[[10,5],[7,[23,"Next"]]]],[16,197,null,598046752322292,false,[[10,4],[3,1]]]]]]],[0,null,false,null,345290290605776,[[0,169,null,2,false,false,false,236622341323652,false,[[1,[2,"Inputs > Listen Stop"]]]]],[[16,197,null,974098017361629,false,[[10,4],[3,0]]]]],[0,null,false,null,132437173187846,[[0,169,null,2,false,false,false,204499990796128,false,[[1,[2,"Inputs > Set Input"]]]]],[[16,197,null,864386309026991,false,[[10,4],[3,0]]]],[[1,"Next",0,0,false,false,242117534566788,false],[1,"Value",0,0,false,false,316765615675353,false],[0,null,false,null,954866613547619,[],[[-1,101,null,925460098365563,false,[[11,"Next"],[7,[20,0,170,false,null,[[0,0]]]]]],[-1,101,null,281188270593060,false,[[11,"Value"],[7,[20,0,170,false,null,[[0,1]]]]]]]],[0,null,false,null,277267330848150,[[-1,100,null,0,false,false,false,142654927405640,false,[[11,"Next"],[8,0],[7,[0,0]]]]],[[16,316,null,792154857902448,false,[[10,0],[7,[23,"Value"]]]]]],[0,null,false,null,996175268269768,[[-1,100,null,0,false,false,false,842352030365841,false,[[11,"Next"],[8,0],[7,[0,1]]]]],[[16,316,null,107193480529298,false,[[10,1],[7,[23,"Value"]]]]]],[0,null,false,null,844490852075328,[[-1,100,null,0,false,false,false,979545257605818,false,[[11,"Next"],[8,0],[7,[0,2]]]]],[[16,316,null,816563376411410,false,[[10,2],[7,[23,"Value"]]]]]],[0,null,false,null,237945038156421,[[-1,100,null,0,false,false,false,625350773318108,false,[[11,"Next"],[8,0],[7,[0,3]]]]],[[16,316,null,773651811526191,false,[[10,3],[7,[23,"Value"]]]]]]]]]]]]]],["Debug",[[0,[true,"Debug"],false,null,813440597276459,[[-1,72,null,0,false,false,false,813440597276459,false,[[1,[2,"Debug"]]]]],[],[[0,null,false,null,632250327199747,[[-1,127,null,0,false,false,false,245847810881614,false,[[7,[20,42,350,false,null]],[8,4],[7,[0,0]]]]],[],[[0,null,false,null,596038451878668,[[1,107,null,0,false,false,false,421353368635517,false,[[10,15]]]],[],[[0,null,false,null,990750887089517,[[-1,102,null,0,false,false,false,281382204567400,false]],[[22,239,null,749786969183214,false,[[0,[0,0]],[0,[0,6]],[0,[0,1]]]],[23,351,null,368314107846358,false,[[1,[2,"Record Mode"]]]]]],[1,"totdt",0,0,true,false,654895333309259,false],[0,null,false,null,586756905995509,[],[[-1,213,null,468280866907796,false,[[11,"totdt"],[7,[19,79]]]]]],[0,null,false,null,985387535932122,[[-1,252,null,0,true,false,false,281860481998255,false],[-1,100,null,0,false,false,false,510825611028930,false,[[11,"totdt"],[8,4],[7,[1,0.01666666666666667]]]]],[[-1,253,null,857852363562297,false,[[11,"totdt"],[7,[1,0.01666666666666667]]]]],[[0,null,false,null,732973374709271,[[42,77,null,0,false,true,false,496856804396213,false,[[10,16]]],[-1,127,null,0,false,false,false,676492706390776,false,[[7,[19,226]],[8,4],[7,[0,0]]]]],[[22,238,null,444046242678374,false,[[3,0],[7,[0,0]],[3,0]]],[22,352,null,419920161819661,false,[[0,[5,[20,22,251,false,null],[0,1]]],[0,[0,0]],[7,[20,42,121,false,null]]]],[22,352,null,787795009440555,false,[[0,[5,[20,22,251,false,null],[0,1]]],[0,[0,1]],[7,[20,42,122,false,null]]]],[22,352,null,809549689249459,false,[[0,[5,[20,22,251,false,null],[0,1]]],[0,[0,2]],[7,[20,42,87,false,null]]]],[22,352,null,165244712193070,false,[[0,[5,[20,22,251,false,null],[0,1]]],[0,[0,3]],[7,[21,42,true,null,0]]]],[22,352,null,822257236929168,false,[[0,[5,[20,22,251,false,null],[0,1]]],[0,[0,4]],[7,[20,42,353,false,null]]]],[22,352,null,335238393612995,false,[[0,[5,[20,22,251,false,null],[0,1]]],[0,[0,5]],[7,[21,42,false,null,2]]]]],[[0,null,false,null,927683696777362,[[-1,109,null,0,false,false,false,289226740728722,false]],[],[[0,null,true,null,323343641955910,[[42,76,null,0,false,false,false,748099233587083,false,[[4,44]]],[2,284,null,1,false,false,false,830665489318166,false,[[9,114]]]],[[23,354,null,471567428864770,false,[[1,[20,22,355,true,null]]]],[4,285,null,111943643378143,false,[[3,0],[7,[20,22,355,true,null]]]],[-1,99,null,208887955285562,false,[[0,[0,0]]]],[1,197,null,585287826670849,false,[[10,15],[3,0]]],[-1,266,null,338490241344082,false,[[4,42],[5,[2,"Layer 0"]],[0,[0,0]],[0,[0,0]]]],[42,114,null,246019208801216,false,[[10,16],[3,1]]],[42,82,null,204463017906433,false,[[10,17],[7,[20,22,355,true,null]]]]]]]]]]]]]],[0,null,false,null,460948409870986,[[-1,75,null,0,false,false,false,354907195321572,false]],[],[[0,null,false,null,376983480439962,[[2,284,null,1,false,false,false,276933341178219,false,[[9,114]]],[-1,109,null,0,false,false,false,305831643556225,false]],[[1,197,null,113592672746499,false,[[10,15],[3,1]]]],[[0,null,false,null,146032293692647,[[42,77,null,0,false,false,false,338763278213161,false,[[10,16]]]],[[42,81,null,422308607766162,false]]]]],[0,null,false,null,175812837868736,[[-1,98,null,1,false,false,false,869107967170271,false],[-1,127,null,0,false,false,false,266604103302309,false,[[7,[20,53,350,false,null]],[8,4],[7,[0,0]]]],[-1,127,null,0,false,false,false,433237901021406,false,[[7,[21,53,true,null,1]],[8,1],[7,[2,""]]]]],[[-1,266,null,347117999349066,false,[[4,42],[5,[2,"Layer 0"]],[0,[0,0]],[0,[0,0]]]],[42,114,null,478114353506939,false,[[10,16],[3,1]]],[42,82,null,547864873726972,false,[[10,17],[7,[21,53,true,null,1]]]],[22,257,null,209981098593543,false,[[1,[21,53,true,null,1]]]]],[[0,null,false,null,459999210434512,[[1,107,null,0,false,false,false,818332651015038,false,[[10,10]]]],[[42,356,null,424948554755554,false,[[3,1]]]]],[0,null,false,null,945262331040864,[[-1,75,null,0,false,false,false,763585543909220,false]],[[42,356,null,726880264464520,false,[[3,0]]]]]]],[0,null,false,null,257770542104024,[[-1,102,null,0,false,false,false,875132791627644,false]],[[23,351,null,992612393090745,false,[[1,[2,"Record Stopped"]]]]]]]]]],[0,null,false,null,413253338281855,[[-1,98,null,1,false,false,false,908129784258038,false]],[],[[0,null,false,null,142074069528551,[[12,295,null,0,false,false,false,495587417085400,false,[[1,[2,"Levels"]],[8,2],[7,[19,105,[[19,106,[[19,104],[0,1],[2," "]]]]]]]]],[[12,111,null,265410935144573,false,[[1,[2,"Levels"]],[7,[19,105,[[19,106,[[19,104],[0,1],[2," "]]]]]]]]]],[0,null,false,null,913383672412579,[[1,107,null,0,false,false,false,294904323149369,false,[[10,10]]]],[[42,356,null,524920240050461,false,[[3,1]]],[50,356,null,499590493462937,false,[[3,1]]]]],[0,null,false,null,365779814782971,[[-1,75,null,0,false,false,false,781195870052483,false]],[[42,356,null,360878440508636,false,[[3,0]]],[50,356,null,351670528894151,false,[[3,0]]]]],[0,null,false,null,494299256462245,[[1,107,null,0,false,false,false,907387576574166,false,[[10,11]]]],[[1,316,null,756608187659490,false,[[10,8],[7,[20,17,357,true,null]]]]]]]],[0,null,false,null,652330158058176,[[-1,328,null,1,false,false,false,644897008873232,false]],[[1,316,null,661438683872999,false,[[10,14],[7,[19,104]]]]]],[0,null,true,null,269990095759579,[[2,284,null,1,false,false,false,242446502649053,false,[[9,113]]],[0,169,null,2,false,false,false,491166406462066,false,[[1,[2,"Debug > Toggle"]]]]],[[1,358,null,115244191650001,false,[[10,10]]]],[[0,null,true,null,755800405424005,[[-1,109,null,0,false,false,false,246053107262549,false],[1,107,null,0,false,false,false,134911279887466,false,[[10,17]]]],[],[[0,null,false,null,328687968126779,[[1,107,null,0,false,false,false,746289422138022,false,[[10,10]]]],[[42,356,null,176052176655598,false,[[3,1]]],[50,356,null,814389902251056,false,[[3,1]]]]],[0,null,false,null,717568070679781,[[-1,75,null,0,false,false,false,708227983205618,false]],[[42,356,null,838324858754224,false,[[3,0]]],[50,356,null,974975799852560,false,[[3,0]]]]]]]]]]],[0,null,false,null,501015244627881,[[0,169,null,2,false,false,false,785234951731818,false,[[1,[2,"dumpSave"]]]]],[[4,285,null,658876563589455,false,[[3,0],[7,[20,12,359,true,null]]]]]],[0,null,false,null,342694615633387,[[0,169,null,2,false,false,false,483482124333366,false,[[1,[2,"execCode"]]]]],[[4,198,null,395901901059497,false,[[1,[20,0,170,false,null,[[0,0]]]]]]]]]],["Language",[[1,"LANGUAGELOADEDSIGNAL",1,"languageLoaded",false,true,508018423785804,false],[0,[true,"Language"],false,null,575826132229970,[[-1,72,null,0,false,false,false,575826132229970,false,[[1,[2,"Language"]]]]],[],[[1,"DEFAULTLOCALE",1,"en-us",false,true,864047399338267,false],[0,[true,"Language > Init"],false,null,844956328180398,[[-1,72,null,0,false,false,false,844956328180398,false,[[1,[2,"Language > Init"]]]]],[],[[0,null,false,null,369080485177415,[[211,360,null,1,false,false,false,550199406713766,false]],[[211,361,null,603025662346772,false,[[10,0],[7,[20,211,362,false,null]]]],[211,361,null,162017488276494,false,[[10,4],[7,[20,211,363,false,null]]]],[211,361,null,153088980502832,false,[[10,5],[7,[20,211,364,false,null]]]],[-1,99,null,894555992850907,false,[[0,[0,0]]]],[211,361,null,805991577208538,false,[[10,0],[7,[20,211,362,false,null]]]],[211,361,null,642153567971719,false,[[10,4],[7,[20,211,363,false,null]]]],[211,361,null,289466827736745,false,[[10,5],[7,[20,211,364,false,null]]]]]],[0,null,false,null,318983577018271,[[212,286,null,1,false,false,false,613779832376752,false]],[[212,365,null,889401952173541,false,[[10,10],[7,[20,212,366,false,null]]]],[212,365,null,172749770877060,false,[[10,11],[7,[20,212,271,false,null]]]],[-1,99,null,894230206206485,false,[[0,[0,0]]]],[212,365,null,867660515773385,false,[[10,10],[7,[20,212,366,false,null]]]],[212,365,null,236349027417754,false,[[10,11],[7,[20,212,271,false,null]]]]]],[0,null,false,null,699870053441279,[[213,360,null,1,false,false,false,230241754549063,false]],[[213,367,null,374832665715014,false,[[1,[2,"Retron2000"]],[1,[2,"./fonts.css"]]]]]],[0,null,false,null,634239899722242,[[212,286,null,1,false,false,false,888362438246238,false]],[],[[1,"key",1,"",false,false,823997613086452,false],[1,"text",1,"",false,false,557467623667490,false],[1,"visible",0,0,true,false,482322649205085,false],[0,null,false,null,315549600256296,[[212,368,null,0,false,true,false,110505542546119,false,[[10,4]]]],[[-1,101,null,346306962497900,false,[[11,"visible"],[7,[0,0]]]]],[[0,null,false,null,461713170669751,[[212,369,null,0,false,false,false,777993046702803,false]],[[-1,101,null,929584913962627,false,[[11,"visible"],[7,[0,1]]]]]],[0,null,false,null,544782775545390,[],[[212,370,null,510984092564987,false,[[3,0]]]]]]],[0,null,false,null,957840732643647,[],[[-1,99,null,246146295958677,false,[[0,[0,0]]]]],[[0,null,false,null,371157992775356,[[212,368,null,0,false,false,false,167396097898496,false,[[10,0]]]],[],[[0,null,false,null,453966682906081,[],[[-1,315,null,749390059838264,false,[[1,[23,"LANGUAGELOADEDSIGNAL"]]]],[167,311,null,533841441625750,false,[[1,[2,"languageKeyExists"]],[13,[7,[21,30,true,null,0]],[7,[21,212,true,null,2]]]]]],[[0,null,false,null,836548159751192,[[30,108,null,0,false,false,false,779776502003711,false,[[10,0],[8,0],[7,[2,""]]]]],[[30,316,null,994389686494623,false,[[10,0],[7,[23,"DEFAULTLOCALE"]]]]]],[0,null,false,null,599641785895105,[[167,371,null,0,false,false,false,687937521445502,false,[[8,0],[7,[0,1]]]]],[[-1,101,null,978198078890522,false,[[11,"key"],[7,[21,212,true,null,2]]]]]],[0,null,false,null,190978376870664,[[-1,75,null,0,false,false,false,709631506800963,false]],[],[[0,null,false,null,641372729491575,[[212,368,null,0,false,false,false,342350753032494,false,[[10,1]]]],[[167,311,null,475204315348265,false,[[1,[2,"findLanguageKey"]],[13,[7,[21,212,true,null,3]],[7,[20,212,372,true,null]]]]]],[[0,null,false,null,103432151075862,[],[[-1,101,null,974191450616625,false,[[11,"key"],[7,[20,167,312,false,null]]]]]]]]]],[0,null,false,null,832795022761256,[[-1,100,null,0,false,false,false,122573884317728,false,[[11,"key"],[8,1],[7,[2,""]]]]],[[167,311,null,620032844696784,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[23,"key"]],[7,[2,"text"]],[7,[2,""]],[7,[2,""]]]]],[-1,101,null,254908300606110,false,[[11,"text"],[7,[20,167,312,false,null]]]]]],[0,null,false,null,949334064893367,[[-1,75,null,0,false,false,false,904210815175077,false]],[[-1,101,null,936358933795019,false,[[11,"text"],[7,[2,""]]]]]],[0,null,false,null,549618371074241,[[-1,100,null,0,false,false,false,318991260835468,false,[[11,"text"],[8,1],[7,[2,""]]]]],[],[[0,null,false,null,142796115563107,[[212,368,null,0,false,false,false,652527794368672,false,[[10,4]]]],[[212,155,null,294599826197870,false,[[7,[23,"text"]]]]],[[0,null,false,null,448610269358034,[[-1,100,null,0,false,false,false,743645054115125,false,[[11,"visible"],[8,0],[7,[0,1]]]]],[[-1,99,null,681289090352849,false,[[0,[0,0]]]],[212,370,null,138508873415146,false,[[3,1]]]]]]],[0,null,false,null,160933505643518,[[-1,75,null,0,false,false,false,763457703910603,false]],[],[[0,null,true,null,809648797373849,[[212,368,null,0,false,false,false,238530657141104,false,[[10,5]]],[50,76,null,0,false,false,false,519683283359330,false,[[4,212]]]],[[212,370,null,586376612704721,false,[[3,0]]]],[[0,null,false,null,836826884819087,[[-1,100,null,0,false,false,false,865754363099781,false,[[11,"text"],[8,1],[7,[2,""]]]]],[[212,155,null,911823439624393,false,[[7,[23,"text"]]]]]]]],[0,null,false,null,272432374120391,[],[[-1,266,null,843683073717859,false,[[4,196],[5,[20,212,373,false,null]],[0,[22,212,"GameObject",374,false,null,[[2,"x"]]]],[0,[22,212,"GameObject",374,false,null,[[2,"y"]]]]]],[196,375,null,934915272399031,false,[[0,[20,212,271,false,null]],[0,[20,212,376,false,null]]]],[196,377,null,709746241580125,false,[[7,[23,"text"]]]],[167,311,null,969313823587941,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[23,"key"]],[7,[2,"font"]],[7,[2,"Retron2000"]],[7,[21,212,true,null,7]]]]],[196,367,null,456082965188214,false,[[1,[20,167,312,false,null]],[1,[2,"./fonts.css"]]]],[167,311,null,756335884767794,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[23,"key"]],[7,[2,"size"]],[7,[6,[20,196,362,false,null],[20,212,366,false,null]]],[7,[21,212,true,null,7]]]]],[196,378,null,379837971830285,false,[[0,[20,167,312,false,null]]]],[167,311,null,328429411638418,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[23,"key"]],[7,[2,"alignX"]],[7,[0,50]],[7,[21,212,true,null,7]]]]],[196,379,null,960783378347078,false,[[0,[20,167,312,false,null]]]],[167,311,null,964436958900776,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[23,"key"]],[7,[2,"alignY"]],[7,[0,50]],[7,[21,212,true,null,7]]]]],[196,380,null,132617689026344,false,[[0,[20,167,312,false,null]]]],[167,311,null,647262725589459,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[23,"key"]],[7,[2,"top"]],[7,[0,0]],[7,[21,212,true,null,7]]]]],[196,381,null,866963936269755,false,[[0,[5,[20,196,364,false,null],[20,167,312,false,null]]]]],[196,382,null,508296042503267,false,[[0,[4,[20,196,383,false,null],[20,167,312,false,null]]]]],[167,311,null,181125024909109,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[23,"key"]],[7,[2,"bottom"]],[7,[0,0]],[7,[21,212,true,null,7]]]]],[196,381,null,692273201542214,false,[[0,[5,[20,196,364,false,null],[20,167,312,false,null]]]]],[167,311,null,162668851248881,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[23,"key"]],[7,[2,"left"]],[7,[0,0]],[7,[21,212,true,null,7]]]]],[196,384,null,648711135397107,false,[[0,[5,[20,196,363,false,null],[20,167,312,false,null]]]]],[196,385,null,528652978370207,false,[[0,[4,[20,196,386,false,null],[20,167,312,false,null]]]]],[167,311,null,606462503687601,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[23,"key"]],[7,[2,"right"]],[7,[0,0]],[7,[21,212,true,null,7]]]]],[196,384,null,406985792267085,false,[[0,[5,[20,196,363,false,null],[20,167,312,false,null]]]]],[196,387,null,709070469299684,false,[[0,[20,212,388,false,null]]]],[196,389,null,685562414768690,false,[[0,[20,212,390,false,null]]]],[196,361,null,622605241738035,false,[[10,6],[7,[5,[22,212,"GameObject",374,false,null,[[2,"x"]]],[20,196,386,false,null]]]]],[196,361,null,104198120670459,false,[[10,7],[7,[5,[22,212,"GameObject",374,false,null,[[2,"y"]]],[20,196,383,false,null]]]]],[196,361,null,559502555841758,false,[[10,5],[7,[20,196,364,false,null]]]],[196,361,null,824070214833886,false,[[10,4],[7,[20,196,363,false,null]]]],[196,391,null,968584453230777,false,[[3,0],[4,212]]]],[[0,null,false,null,332330875826467,[[212,392,null,0,false,false,false,664812046728523,false,[[10,12],[8,1],[7,[0,0]]]]],[[196,393,null,335347907358347,false,[[0,[19,394,[[0,255],[0,255],[0,255]]]]]]]],[0,null,false,null,128952622387918,[[212,368,null,0,false,false,false,938943482930038,false,[[10,9]]]],[[196,389,null,690201103513764,false,[[0,[20,212,390,false,null]]]]]],[0,null,true,null,496471196438987,[[212,368,null,0,false,false,false,631446714754344,false,[[10,5]]],[50,76,null,0,false,false,false,172352878021793,false,[[4,212]]]],[[196,395,null,302118873556914,false,[[10,2],[3,1]]],[196,361,null,205119254037388,false,[[10,3],[7,[20,212,396,false,null]]]]]],[0,null,false,null,363733787258513,[[-1,75,null,0,false,false,false,989463764231518,false]],[[212,397,null,479415111679602,false]]],[0,null,false,null,871628886325528,[[212,368,null,0,false,false,false,460861454349913,false,[[10,8]]]],[[196,395,null,840953465341722,false,[[10,1],[3,1]]],[196,361,null,440665576640353,false,[[10,0],[7,[20,196,362,false,null]]]]]],[0,null,false,null,738038033785974,[[-1,75,null,0,false,false,false,901095830567372,false]],[[196,395,null,506913698737014,false,[[10,1],[3,0]]]]],[0,null,false,null,804279600815158,[],[[196,361,null,808832391540180,false,[[10,0],[7,[20,196,362,false,null]]]],[196,361,null,347298810519908,false,[[10,4],[7,[20,196,363,false,null]]]]]]]]]]]]]],[0,null,false,null,477738532975087,[[30,107,null,0,false,false,false,954117952061446,false,[[10,2]]]],[[-1,398,null,595723795694252,false,[[1,[23,"LANGUAGELOADEDSIGNAL"]]]]]]]],[0,null,false,null,410265638911304,[[-1,75,null,0,false,false,false,683162925381490,false],[212,368,null,0,false,false,false,821972197570691,false,[[10,6]]]],[[4,285,null,275159054979362,false,[[3,0],[7,[2,"Spritefont created"]]]]],[[0,null,false,null,193179727073420,[[212,368,null,0,false,false,false,464627342852121,false,[[10,4]]]],[[212,155,null,276810034930109,false,[[7,[23,"text"]]]]]],[0,null,false,null,389729289585626,[[-1,75,null,0,false,false,false,559628721122058,false]],[],[[0,null,true,null,565354280113831,[[212,368,null,0,false,false,false,651628281517898,false,[[10,5]]],[50,76,null,0,false,false,false,619166649272005,false,[[4,212]]]],[[212,370,null,843823204391645,false,[[3,0]]]]],[0,null,false,null,163869270760944,[],[[-1,266,null,353572004388988,false,[[4,196],[5,[20,212,373,false,null]],[0,[22,212,"GameObject",374,false,null,[[2,"x"]]]],[0,[22,212,"GameObject",374,false,null,[[2,"y"]]]]]],[196,375,null,396336910279006,false,[[0,[20,212,271,false,null]],[0,[20,212,376,false,null]]]],[196,377,null,530194068031087,false,[[7,[20,212,372,true,null]]]],[167,311,null,671921222163978,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,""]],[7,[2,"font"]],[7,[2,"Retron2000"]],[7,[21,212,true,null,7]]]]],[196,367,null,456055287170334,false,[[1,[20,167,312,false,null]],[1,[2,"./fonts.css"]]]],[167,311,null,840299126161007,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,""]],[7,[2,"size"]],[7,[6,[20,196,362,false,null],[20,212,366,false,null]]],[7,[21,212,true,null,7]]]]],[196,378,null,396928817642211,false,[[0,[20,167,312,false,null]]]],[167,311,null,165058274082760,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,""]],[7,[2,"alignX"]],[7,[0,50]],[7,[21,212,true,null,7]]]]],[196,379,null,917406863107284,false,[[0,[20,167,312,false,null]]]],[167,311,null,828022007659409,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,""]],[7,[2,"alignY"]],[7,[0,50]],[7,[21,212,true,null,7]]]]],[196,380,null,872691304815308,false,[[0,[20,167,312,false,null]]]],[167,311,null,850038062688926,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[23,"key"]],[7,[2,"top"]],[7,[0,0]],[7,[21,212,true,null,7]]]]],[196,381,null,821186242728759,false,[[0,[5,[20,196,364,false,null],[20,167,312,false,null]]]]],[196,382,null,138839615473396,false,[[0,[4,[20,196,383,false,null],[20,167,312,false,null]]]]],[167,311,null,216072369363469,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[23,"key"]],[7,[2,"bottom"]],[7,[0,0]],[7,[21,212,true,null,7]]]]],[196,381,null,824914008393998,false,[[0,[5,[20,196,364,false,null],[20,167,312,false,null]]]]],[167,311,null,921324553438892,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[23,"key"]],[7,[2,"left"]],[7,[0,0]],[7,[21,212,true,null,7]]]]],[196,384,null,498690603929753,false,[[0,[5,[20,196,363,false,null],[20,167,312,false,null]]]]],[196,385,null,639017933210442,false,[[0,[4,[20,196,386,false,null],[20,167,312,false,null]]]]],[167,311,null,178582447252034,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[23,"key"]],[7,[2,"right"]],[7,[0,0]],[7,[21,212,true,null,7]]]]],[196,384,null,961700060598394,false,[[0,[5,[20,196,363,false,null],[20,167,312,false,null]]]]],[196,387,null,291826036683546,false,[[0,[20,212,388,false,null]]]],[196,389,null,398973563825070,false,[[0,[20,212,390,false,null]]]],[196,361,null,337151606863962,false,[[10,6],[7,[5,[22,212,"GameObject",374,false,null,[[2,"x"]]],[20,196,386,false,null]]]]],[196,361,null,170481893895467,false,[[10,7],[7,[5,[22,212,"GameObject",374,false,null,[[2,"y"]]],[20,196,383,false,null]]]]],[196,361,null,139800907453280,false,[[10,5],[7,[20,196,364,false,null]]]],[196,361,null,450141157595918,false,[[10,4],[7,[20,196,363,false,null]]]],[196,391,null,219969182193336,false,[[3,0],[4,212]]]],[[0,null,false,null,544270801666609,[[212,392,null,0,false,false,false,593211093554095,false,[[10,12],[8,1],[7,[0,0]]]]],[[196,393,null,905710450361462,false,[[0,[19,394,[[0,255],[0,255],[0,255]]]]]]]],[0,null,false,null,419482521842862,[[212,368,null,0,false,false,false,430033120097134,false,[[10,9]]]],[[196,389,null,370898850191911,false,[[0,[20,212,390,false,null]]]]]],[0,null,true,null,535763610595617,[[212,368,null,0,false,false,false,416529345885879,false,[[10,5]]],[50,76,null,0,false,false,false,660392939744504,false,[[4,212]]]],[[196,395,null,231001803705317,false,[[10,2],[3,1]]],[196,361,null,762361818097329,false,[[10,3],[7,[20,212,396,false,null]]]]]],[0,null,false,null,681683392853122,[[-1,75,null,0,false,false,false,210058200583126,false]],[[212,397,null,863254691757990,false]]],[0,null,false,null,742954536179174,[[212,368,null,0,false,false,false,248141426969685,false,[[10,8]]]],[[196,395,null,422279271960951,false,[[10,1],[3,1]]],[196,361,null,699209377186805,false,[[10,0],[7,[20,196,362,false,null]]]]]],[0,null,false,null,379135922604961,[[-1,75,null,0,false,false,false,785004512340771,false]],[[196,395,null,618476170478163,false,[[10,1],[3,0]]]]],[0,null,false,null,551233378233070,[],[[196,361,null,453476790908608,false,[[10,0],[7,[20,196,362,false,null]]]],[196,361,null,377467013598304,false,[[10,4],[7,[20,196,363,false,null]]]]]]]]]],[0,null,false,null,439819055026783,[],[]]]]]]]],[0,null,false,null,984956434506639,[[70,256,null,1,false,false,false,847445073384960,false]],[],[[0,null,false,null,102824526990337,[[70,77,null,0,false,false,false,890629485060643,false,[[10,6]]]],[[-1,315,null,381019965336885,false,[[1,[23,"LANGUAGELOADEDSIGNAL"]]]],[70,82,null,341902189413780,false,[[10,9],[7,[20,70,185,false,null]]]]],[[0,null,false,null,304383899925464,[[70,73,null,0,false,false,false,805142336844398,false,[[10,4],[8,0],[7,[2,""]]]]],[[70,82,null,247275153850567,false,[[10,4],[7,[19,399,[[20,70,400,true,null]]]]]]]],[0,null,false,null,481736476724117,[],[[-1,266,null,782549102705143,false,[[4,196],[5,[20,70,401,false,null]],[0,[20,70,164,false,null,[[2,"topLeft"]]]],[0,[20,70,165,false,null,[[2,"topLeft"]]]]]],[196,402,null,124228957843109,false,[[0,[20,70,164,false,null,[[2,"topLeft"]]]],[0,[20,70,165,false,null,[[2,"topLeft"]]]]]],[196,375,null,115222391220120,false,[[0,[20,70,185,false,null]],[0,[20,70,187,false,null]]]],[167,311,null,503648542554742,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[21,70,true,null,4]],[7,[2,"text"]],[7,[2,""]],[7,[21,70,true,null,5]]]]],[196,377,null,707648916405583,false,[[7,[20,167,312,false,null]]]],[167,311,null,699985265230239,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[21,70,true,null,4]],[7,[2,"font"]],[7,[2,"Retron2000"]],[7,[21,70,true,null,5]]]]],[196,367,null,601230439256672,false,[[1,[20,167,312,false,null]],[1,[2,"./fonts.css"]]]],[167,311,null,616792998538896,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[21,70,true,null,4]],[7,[2,"size"]],[7,[6,[6,[20,196,362,false,null],[7,[20,70,185,false,null],[20,70,186,false,null]]],[0,2]]],[7,[21,70,true,null,5]]]]],[196,378,null,201075968465572,false,[[0,[20,167,312,false,null]]]],[167,311,null,877029106455715,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[21,70,true,null,4]],[7,[2,"alignX"]],[7,[0,50]],[7,[21,70,true,null,5]]]]],[196,379,null,686342762224026,false,[[0,[20,167,312,false,null]]]],[167,311,null,838305454679030,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[21,70,true,null,4]],[7,[2,"alignY"]],[7,[0,65]],[7,[21,70,true,null,5]]]]],[196,380,null,873681540690847,false,[[0,[20,167,312,false,null]]]],[167,311,null,920265667296077,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[21,70,true,null,4]],[7,[2,"top"]],[7,[0,0]],[7,[21,70,true,null,5]]]]],[196,381,null,409231671650955,false,[[0,[5,[20,196,364,false,null],[20,167,312,false,null]]]]],[196,382,null,469210638730005,false,[[0,[4,[20,196,383,false,null],[20,167,312,false,null]]]]],[167,311,null,670403125512183,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[21,70,true,null,4]],[7,[2,"bottom"]],[7,[0,0]],[7,[21,70,true,null,5]]]]],[196,381,null,501668002771666,false,[[0,[5,[20,196,364,false,null],[20,167,312,false,null]]]]],[167,311,null,905153299967844,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[21,70,true,null,4]],[7,[2,"left"]],[7,[0,0]],[7,[21,70,true,null,5]]]]],[196,384,null,156614364569723,false,[[0,[5,[20,196,363,false,null],[20,167,312,false,null]]]]],[196,385,null,303869392689642,false,[[0,[4,[20,196,386,false,null],[20,167,312,false,null]]]]],[167,311,null,100004166958584,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[21,70,true,null,4]],[7,[2,"right"]],[7,[0,0]],[7,[21,70,true,null,5]]]]],[196,384,null,587110688008435,false,[[0,[5,[20,196,363,false,null],[20,167,312,false,null]]]]],[196,387,null,358076711343530,false,[[0,[22,70,"GameObject",374,false,null,[[2,"angle"]]]]]],[196,389,null,742964197508726,false,[[0,[20,70,403,false,null]]]],[196,395,null,157672141890529,false,[[10,1],[3,1]]],[196,361,null,502160340692753,false,[[10,0],[7,[20,196,362,false,null]]]],[196,361,null,910665930994168,false,[[10,6],[7,[5,[20,196,386,false,null],[20,70,164,false,null,[[2,"topLeft"]]]]]]],[196,361,null,939677007182946,false,[[10,7],[7,[5,[20,196,383,false,null],[20,70,165,false,null,[[2,"topLeft"]]]]]]],[196,361,null,833104042683267,false,[[10,5],[7,[20,196,364,false,null]]]],[196,361,null,715544927025847,false,[[10,4],[7,[20,196,363,false,null]]]],[196,391,null,597318849179016,false,[[3,0],[4,70]]]],[[0,null,false,null,552095974192927,[[70,77,null,0,false,false,false,906249099435262,false,[[10,7]]]],[[70,82,null,189654896763986,false,[[10,8],[7,[20,196,404,false,null]]]],[196,361,null,307541979389146,false,[[10,3],[7,[20,70,124,false,null]]]]]],[0,null,false,null,732041159987484,[[-1,75,null,0,false,false,false,359848482837584,false]],[[70,405,"GameObject",766601851141072,false,[[4,196]]],[196,361,null,543767077778716,false,[[10,3],[7,[20,70,124,false,null]]]]]],[0,null,false,null,143848199172205,[],[[196,361,null,885201771298416,false,[[10,0],[7,[20,196,362,false,null]]]],[196,361,null,921211153552635,false,[[10,4],[7,[20,196,363,false,null]]]]]]]]]],[0,null,false,null,919948366549868,[[30,107,null,0,false,false,false,619362048187937,false,[[10,2]]]],[[-1,398,null,222490395679916,false,[[1,[23,"LANGUAGELOADEDSIGNAL"]]]]]],[0,null,false,null,664206588230442,[],[]]]],[0,null,false,null,746844627841351,[[211,406,null,0,false,false,false,135685803121751,false,[[10,1]]]],[[211,378,null,416520335404672,false,[[0,[6,[21,211,false,null,0],[7,[20,211,363,false,null],[21,211,false,null,4]]]]]]]],[0,null,false,null,373831650562627,[[212,368,null,0,false,false,false,284363779183700,false,[[10,8]]],[212,368,null,0,false,true,false,736948545432924,false,[[10,0]]],[212,368,null,0,false,true,false,389474095832985,false,[[10,6]]]],[[212,407,null,607509467615822,false,[[0,[6,[21,212,false,null,10],[7,[20,212,271,false,null],[21,212,false,null,11]]]]]]]],[0,null,false,null,585180466900201,[[211,406,null,0,false,false,false,305218895669468,false,[[10,2]]],[-1,117,null,0,true,false,false,712753611762968,false,[[4,211]]],[212,408,null,0,false,false,true,844156465134232,false,[[0,[21,211,false,null,3]]]]],[[211,377,null,937245188116876,false,[[7,[20,212,372,true,null]]]],[211,387,null,445019441609896,false,[[0,[20,212,388,false,null]]]],[211,402,null,668854758594504,false,[[0,[4,[22,212,"GameObject",374,false,null,[[2,"x"]]],[6,[21,211,false,null,6],[7,[20,212,271,false,null],[21,212,false,null,11]]]]],[0,[4,[22,212,"GameObject",374,false,null,[[2,"y"]]],[6,[21,211,false,null,7],[7,[20,212,271,false,null],[21,212,false,null,11]]]]]]],[211,375,null,652268577610406,false,[[0,[6,[21,211,false,null,4],[7,[20,212,271,false,null],[21,212,false,null,11]]]],[0,[6,[21,211,false,null,5],[7,[20,212,271,false,null],[21,212,false,null,11]]]]]],[211,391,null,500426021826483,false,[[3,0],[4,212]]],[212,370,null,323726144669593,false,[[3,0]]]],[[0,null,false,null,988943499666460,[[212,368,null,0,false,false,false,303786570893425,false,[[10,9]]]],[[211,389,null,323195556068877,false,[[0,[20,212,390,false,null]]]]]]]],[0,null,false,null,154670315076541,[[70,77,null,0,false,false,false,187697297287063,false,[[10,7]]],[-1,117,null,0,true,false,false,466782746305136,false,[[4,70]]],[211,409,null,0,false,false,true,376497614557181,false,[[0,[21,70,false,null,8]]]]],[[211,387,null,591415703422603,false,[[0,[20,70,87,false,null]]]],[211,402,null,281677548611484,false,[[0,[4,[20,70,164,false,null,[[2,"topLeft"]]],[6,[21,211,false,null,6],[7,[20,70,185,false,null],[21,70,false,null,9]]]]],[0,[4,[20,70,165,false,null,[[2,"topLeft"]]],[6,[21,211,false,null,7],[7,[20,70,185,false,null],[21,70,false,null,9]]]]]]],[211,375,null,273280472975479,false,[[0,[6,[21,211,false,null,4],[7,[20,70,185,false,null],[21,70,false,null,9]]]],[0,[6,[21,211,false,null,5],[7,[20,70,185,false,null],[21,70,false,null,9]]]]]],[211,391,null,837623656868576,false,[[3,0],[4,70]]]]]]],[0,[true,"Language > API"],false,null,510520860656034,[[-1,72,null,0,false,false,false,510520860656034,false,[[1,[2,"Language > API"]]]]],[],[[0,null,false,null,674558582218390,[[0,169,null,2,false,false,false,533011390234023,false,[[1,[2,"Language > LoadLanguageFile"]]]]],[[30,316,null,157028846095447,false,[[10,1],[7,[20,0,170,false,null,[[0,0]]]]]],[30,197,null,690119569657180,false,[[10,2],[3,1]]],[31,410,null,240197877910975,false,[[1,[20,0,170,false,null,[[0,0]]]]]],[12,111,null,199785119336597,false,[[1,[2,"Language"]],[7,[20,30,317,true,null]]]],[12,113,null,313017806596994,false]]],[0,null,false,null,975427285954712,[[0,169,null,2,false,false,false,259615473472116,false,[[1,[2,"Language > SetLocale"]]]]],[[30,316,null,789225842703134,false,[[10,0],[7,[20,0,170,false,null,[[0,0]]]]]],[12,111,null,982002688809825,false,[[1,[2,"Language"]],[7,[20,30,317,true,null]]]],[12,113,null,675422541823652,false],[-1,99,null,159175226932793,false,[[0,[0,0]]]],[-1,203,null,221651384107092,false]]],[0,null,false,null,629976361921088,[[0,169,null,2,false,false,false,736021682586338,false,[[1,[2,"Language > Loaded"]]]]],[[167,318,null,935652041669255,false,[[1,[2,"tempLanguageJSON"]],[7,[21,30,true,null,1]]]],[167,311,null,728781644794423,false,[[1,[2,"setLanguageJSON"]],[13]]],[167,311,null,727687466623165,false,[[1,[2,"getTranslations"]],[13]]],[-1,398,null,314594678723976,false,[[1,[23,"LANGUAGELOADEDSIGNAL"]]]]]]]]]]]],["Main Menu",[[2,"Common Menus",false],[2,"Gameplay",false],[2,"Player",false],[2,"Debug",false],[2,"Save",false],[2,"Music",false],[2,"Skins",false],[1,"lastAdTime",0,0,false,false,739648218616034,false],[1,"AD_DELAY",0,185,false,true,890638500305501,false],[0,[true,"Menu"],false,null,347042795462740,[[-1,72,null,0,false,false,false,347042795462740,false,[[1,[2,"Menu"]]]]],[],[[1,"Target",1,"",true,false,483218689929701,false],[0,null,false,null,550715259366492,[[-1,98,null,1,false,false,false,403641051628108,false],[-1,127,null,0,false,false,false,630825430526209,false,[[7,[19,104]],[8,0],[7,[2,"Main Menu"]]]]],[],[[0,null,false,null,702307424152043,[[12,149,null,0,false,false,false,630335224389314,false,[[1,[10,[2,"besttime"],[18,[21,1,false,null,16],[2,""],[2,"hard"]]]]]]],[],[[1,"besttime",0,0,false,false,259540602063844,false],[0,null,false,null,647333412897058,[],[[-1,101,null,169119521780104,false,[[11,"besttime"],[7,[20,12,112,false,null,[[10,[2,"besttime"],[18,[21,1,false,null,16],[2,""],[2,"hard"]]]]]]]],[122,155,null,843608134757654,false,[[7,[10,[10,[20,158,411,true,null,[[4,[23,"besttime"],[12,[19,412,[[6,[5,[23,"besttime"],[19,299,[[23,"besttime"]]]],[0,100]]]],[0,100]]]]],[2,":"]],[19,413,[[8,[19,412,[[6,[5,[23,"besttime"],[19,299,[[23,"besttime"]]]],[0,100]]]],[0,100]],[0,2]]]]]]]]]]],[0,null,false,null,430531681369450,[[-1,75,null,0,false,false,false,596404871501609,false]],[[122,370,null,218834926204503,false,[[3,0]]],[121,370,null,760955429530485,false,[[3,0]]]]],[0,null,false,null,223121870163000,[[-1,154,null,0,false,false,false,881703017367996,false,[[4,70],[7,[20,70,400,true,null]],[8,0],[7,[2,"Play"]]]]],[[70,414,"Button",327401275169974,false,[[3,0]]]]],[0,null,false,null,263955610737327,[],[[-1,99,null,225923077253020,false,[[0,[0,0]]]]],[[0,null,false,null,799470733383521,[[12,149,null,0,false,true,false,800865778047317,false,[[1,[2,"LastLevel"]]]],[-1,154,null,0,false,false,false,761088258907299,false,[[4,70],[7,[20,70,400,true,null]],[8,0],[7,[2,"Resume"]]]]],[[70,414,"Button",687928071911216,false,[[3,0]]]]]]],[0,null,false,null,852329937406106,[],[[-1,99,null,795981196274604,false,[[0,[1,0.8]]]]],[[0,null,false,null,888063943909341,[[-1,154,null,0,false,false,false,587396861539633,false,[[4,70],[7,[20,70,400,true,null]],[8,0],[7,[2,"Play"]]]]],[[70,414,"Button",847312459461300,false,[[3,1]]]]]]],[0,null,false,null,979765898285434,[[7,415,null,0,false,false,false,778637889007111,false,[[1,[2,"TipList"]]]]],[[8,304,null,215374058665775,false,[[1,[2,"tips"]],[12,"tips.json"]]]]],[0,null,false,null,978010614618662,[[-1,75,null,0,false,false,false,259060187855585,false]],[],[[0,null,false,null,534944602330014,[],[[-1,315,null,669986810817862,false,[[1,[23,"LANGUAGELOADEDSIGNAL"]]]],[167,311,null,448678938758626,false,[[1,[2,"translateTips"]],[13,[7,[21,30,true,null,0]]]]],[7,308,null,441403467957029,false,[[1,[2,"TipList"]],[1,[20,167,312,false,null]]]]]],[0,null,false,null,178882328353300,[[30,107,null,0,false,false,false,676467611218366,false,[[10,2]]]],[[-1,398,null,240353765512766,false,[[1,[23,"LANGUAGELOADEDSIGNAL"]]]]]]]],[0,null,false,null,860415168001879,[],[[-1,315,null,815134361004624,false,[[1,[23,"LANGUAGELOADEDSIGNAL"]]]],[167,311,null,435644922880378,false,[[1,[2,"listLanguages"]],[13]]],[7,308,null,728944710940307,false,[[1,[2,"LanguagesList"]],[1,[20,167,312,false,null]]]]]],[0,null,false,null,275752067038776,[[30,107,null,0,false,false,false,730512971646156,false,[[10,2]]]],[[-1,398,null,323181244819773,false,[[1,[23,"LANGUAGELOADEDSIGNAL"]]]]]],[0,null,false,null,252397457804320,[[70,77,null,0,false,false,false,492245312786321,false,[[10,3]]]],[],[[0,null,false,null,252687794052104,[[-1,127,null,0,false,false,false,860028501798385,false,[[7,[20,4,281,true,null]],[8,1],[7,[2,"dedragames.com"]]]],[-1,127,null,0,false,false,false,671894223533252,false,[[7,[20,4,281,true,null]],[8,1],[7,[2,"www.dedragames.com"]]]],[-1,127,null,0,false,false,false,285216610938405,false,[[7,[20,167,282,false,null,[[2,"WebSdkWrapper.hasAds()"]]]],[8,0],[7,[0,1]]]]],[[70,356,null,369732027657126,false,[[3,1]]],[-1,99,null,948561265783553,false,[[0,[1,0.1]]]],[1,197,null,201564011923129,false,[[10,11],[3,0]]]]],[0,null,false,null,863504926971792,[[-1,75,null,0,false,false,false,965564519230391,false]],[[70,356,null,813147364710586,false,[[3,0]]]]]]],[0,null,false,null,981315308193634,[[70,246,null,0,false,false,false,562960234189449,false,[[1,[2,"RemoveMidrollAds"]]]],[-1,127,null,0,false,false,false,947952138784833,false,[[7,[20,167,282,false,null,[[2,"globalThis.adconfigRemoveMidrollRewarded"]]]],[8,0],[7,[0,1]]]]],[[70,356,null,695800192093125,false,[[3,0]]]]],[0,null,false,null,846787486513711,[[70,246,null,0,false,false,false,702205382276167,false,[[1,[2,"Discord"]]]],[-1,127,null,0,false,false,false,602705395703555,false,[[7,[20,167,282,false,null,[[2,"globalThis.adconfigRemoveSocials"]]]],[8,0],[7,[0,1]]]]],[[70,356,null,219671325554952,false,[[3,0]]],[198,416,null,554127269436031,false,[[0,[21,198,false,null,0]]]],[198,417,null,903991095012345,false,[[0,[21,198,false,null,1]]]],[197,417,null,101709775407276,false,[[0,[0,30]]]]],[[0,null,false,null,428268434636892,[[-1,154,null,0,false,false,false,637660081493507,false,[[4,93],[7,[22,93,"GameObject",418,true,null]],[8,0],[7,[2,"langbutton"]]]]],[[93,385,null,930624537117813,false,[[0,[20,197,419,false,null]]]]]]]],[0,null,false,null,809146989865686,[[-1,127,null,0,false,false,false,543943134911590,false,[[7,[20,4,281,true,null]],[8,1],[7,[2,"dedragames.com"]]]],[-1,127,null,0,false,false,false,254948439453403,false,[[7,[20,4,281,true,null]],[8,1],[7,[2,"www.dedragames.com"]]]],[-1,127,null,0,false,false,false,391383466092909,false,[[7,[20,167,282,false,null,[[2,"WebSdkWrapper.hasAds()"]]]],[8,0],[7,[0,1]]]],[-1,127,null,0,false,false,false,504967117379844,false,[[7,[5,[19,212],[23,"lastAdTime"]]],[8,5],[7,[23,"AD_DELAY"]]]],[1,107,null,0,false,true,false,927301876092250,false,[[10,11]]],[12,149,null,0,false,true,false,640530477043471,false,[[1,[2,"RemoveAds"]]]]],[[-1,101,null,248684541869314,false,[[11,"lastAdTime"],[7,[19,212]]]],[4,198,null,311661730876302,false,[[1,[2,"crazyMidRoll();"]]]],[125,283,"Dialog",444337235763570,false,[[0,[0,0]],[0,[0,0]],[3,1]]]]],[0,null,false,null,105324253903467,[[12,149,null,0,false,false,false,620022309759798,false,[[1,[2,"RemoveAds"]]]],[70,73,null,0,false,false,false,618602706469604,false,[[10,2],[8,0],[7,[0,999]]]]],[[70,414,"Button",601540953788315,false,[[3,0]]]]],[0,null,false,null,580323257038575,[],[[-1,315,null,471996245699491,false,[[1,[23,"LANGUAGELOADEDSIGNAL"]]]],[197,245,null,334084166362215,false,[[1,[19,420,[[21,30,true,null,0],[2,"-"],[2,""]]]],[3,1]]],[167,311,null,571593160162729,false,[[1,[2,"getLocaleName"]],[13,[7,[21,30,true,null,0]]]]],[93,377,null,223606530546061,false,[[7,[20,167,282,false,null,[[10,[10,[2,"getLocaleName(\""],[21,30,true,null,0]],[2,"\")"]]]]]]]]],[0,null,false,null,458498893901601,[[30,107,null,0,false,false,false,106461548387287,false,[[10,2]]]],[[-1,398,null,555537703464544,false,[[1,[23,"LANGUAGELOADEDSIGNAL"]]]]]],[0,null,false,null,339386972905822,[],[[4,198,null,987294403410514,false,[[1,[2,"globalThis.ovoLevelEditor && globalThis.ovoLevelEditor.init && globalThis.ovoLevelEditor.init()"]]]]]]]],[0,null,false,null,343305557178142,[[8,305,null,1,false,false,false,894758080847281,false,[[1,[2,"dedratips"]]]]],[],[[0,null,false,null,483610672558703,[[-1,127,null,0,false,false,false,354630925375468,false,[[7,[20,8,307,true,null]],[8,0],[7,[2,"0"]]]]],[[8,304,null,217462094744734,false,[[1,[2,"tips"]],[12,"tips.json"]]]]],[0,null,false,null,299334075246832,[[-1,75,null,0,false,false,false,516705723950578,false]],[[8,421,null,568886226023404,false,[[1,[2,"tips"]],[1,[2,"https://dedragames.com/games/ovo/1.3.2/tips.json"]]]]]]]],[0,null,false,null,894719232257878,[[8,305,null,1,false,false,false,265500819439049,false,[[1,[2,"tips"]]]]],[],[[0,null,false,null,786380452516679,[],[[30,316,null,287346545561375,false,[[10,3],[7,[20,8,307,true,null]]]],[167,318,null,322172033250975,false,[[1,[2,"gatheredTips"]],[7,[20,8,307,true,null]]]],[-1,315,null,778291991263633,false,[[1,[23,"LANGUAGELOADEDSIGNAL"]]]],[167,311,null,659365096469249,false,[[1,[2,"translateTips"]],[13,[7,[21,30,true,null,0]]]]],[7,308,null,719978213806586,false,[[1,[2,"TipList"]],[1,[20,167,312,false,null]]]]]],[0,null,false,null,164233254014846,[[30,107,null,0,false,false,false,986350737704880,false,[[10,2]]]],[[-1,398,null,515274287264306,false,[[1,[23,"LANGUAGELOADEDSIGNAL"]]]]]]]],[0,null,false,null,761034153393720,[[161,422,null,1,false,false,false,611089912617231,false]],[[161,423,null,829890799568750,false,[[1,[2,"Retron2000"]],[1,[2,"./fonts.css"]]]]]],[1,"rewarded",0,0,true,false,994113655085954,false],[1,"adShouldStart",0,0,true,false,926209114562845,false],[1,"ADTIMEOUT",0,2,false,true,131722405442863,false],[0,null,false,null,570548994725842,[[125,424,"Dialog",1,false,false,false,273681586726473,false]],[[-1,101,null,681142988298331,false,[[11,"adShouldStart"],[7,[0,1]]]],[-1,425,null,268033550634350,false,[[4,125],[0,[1,1]]]],[125,177,"Timer",430023684738504,false,[[0,[23,"ADTIMEOUT"]],[3,0],[1,[2,"timeout"]]]]]],[0,null,false,null,170729440465951,[[125,172,"Timer",0,false,false,false,414696649205876,false,[[1,[2,"timeout"]]]]],[],[[0,null,false,null,816098940951179,[[-1,100,null,0,false,false,false,661949746977881,false,[[11,"adShouldStart"],[8,0],[7,[0,1]]]]],[[125,426,"Dialog",723828950296206,false],[126,283,"Dialog",682537882812333,false,[[0,[0,0]],[0,[0,0]],[3,1]]]]]]],[0,null,false,null,383228022986971,[[200,427,"Button",1,false,false,false,167231260398634,false]],[[167,311,null,489235216873621,false,[[1,[2,"getLocale"]],[13,[7,[22,200,"GridViewDataBind",428,false,null]]]]],[0,80,null,581226844688504,false,[[1,[2,"Language > SetLocale"]],[13,[7,[20,167,312,false,null]]]]]]],[0,null,false,null,659833701127987,[[0,169,null,2,false,false,false,443703983696403,false,[[1,[2,"Menu > Languages"]]]]],[[129,283,"Dialog",698594178154882,false,[[0,[0,0]],[0,[0,0]],[3,1]]]]],[0,null,false,null,516071815254523,[[0,169,null,2,false,false,false,385285420522917,false,[[1,[2,"Menu > RandomSkin"]]]]],[],[[0,null,false,null,263173509919975,[[29,429,null,0,false,false,false,697161551583762,false]],[[115,283,"Dialog",938651990499230,false,[[0,[0,0]],[0,[0,0]],[3,1]]]]],[0,null,false,null,346982158968821,[[-1,75,null,0,false,false,false,960276346325370,false]],[[-1,101,null,421531120753370,false,[[11,"rewarded"],[7,[0,1]]]],[4,198,null,522737099203770,false,[[1,[2,"crazyRewarded();"]]]],[125,283,"Dialog",774784553606627,false,[[0,[0,0]],[0,[0,0]],[3,1]]]]]]],[0,null,false,null,943671299252318,[[0,169,null,2,false,false,false,765451646864203,false,[[1,[2,"Menu > RemoveAds"]]]]],[],[[0,null,false,null,429431638438059,[[29,429,null,0,false,false,false,360497548574174,false]],[[115,283,"Dialog",211918786965592,false,[[0,[0,0]],[0,[0,0]],[3,1]]]]],[0,null,false,null,888031656950942,[[-1,75,null,0,false,false,false,690241242354904,false]],[[-1,101,null,431165204180282,false,[[11,"rewarded"],[7,[0,2]]]],[4,198,null,666740001211435,false,[[1,[2,"crazyRewarded();"]]]],[125,283,"Dialog",616119235849676,false,[[0,[0,0]],[0,[0,0]],[3,1]]]]]]],[0,null,false,null,560463245075257,[[0,169,null,2,false,false,false,475324133309890,false,[[1,[2,"Menu > Discord"]]]]],[[4,339,null,878631031994129,false,[[1,[2,"https://dedragames.com/ovoDiscord.html"]],[1,[2,"_blank"]]]]]],[0,null,false,null,560506484971244,[[0,169,null,2,false,false,false,740004650962769,false,[[1,[2,"adStarted"]]]]],[[4,285,null,865347034127935,false,[[3,0],[7,[2,"ad started"]]]],[-1,101,null,180218399081629,false,[[11,"adShouldStart"],[7,[0,0]]]],[125,244,"Timer",819734133959097,false,[[1,[2,"timeout"]]]],[194,430,null,600382095441753,false,[[1,[2,"Ad started"]]]]]],[0,null,false,null,235395104032913,[[0,169,null,2,false,false,false,600991211938204,false,[[1,[2,"adOver"]]]]],[[125,426,"Dialog",105285830779939,false],[194,430,null,831082164230288,false,[[1,[2,"Ad over"]]]]],[[0,null,false,null,856146348981208,[[-1,100,null,0,false,false,false,933859286451982,false,[[11,"rewarded"],[8,4],[7,[0,0]]]]],[[194,430,null,531424830409797,false,[[1,[2,"Rewarded"]]]]]],[0,null,false,null,326885765847897,[[-1,75,null,0,false,false,false,672176099599875,false]],[[194,430,null,936729860957065,false,[[1,[2,"Midroll"]]]]]],[0,null,false,null,807642418649178,[[-1,100,null,0,false,false,false,257026849273031,false,[[11,"rewarded"],[8,0],[7,[0,1]]]]],[[194,430,null,783530334986778,false,[[1,[2,"Rewarded 1"]]]],[1,197,null,540500286713494,false,[[10,11],[3,1]]],[-1,203,null,388135182316307,false]]],[0,null,false,null,210737150218287,[[-1,100,null,0,false,false,false,599090624838114,false,[[11,"rewarded"],[8,0],[7,[0,2]]]]],[[194,430,null,183873506079886,false,[[1,[2,"Rewarded 2"]]]],[0,80,null,926994471047670,false,[[1,[2,"Save > RemoveAds"]],[13]]],[127,283,"Dialog",327516702347962,false,[[0,[0,0]],[0,[0,0]],[3,1]]]],[[0,null,false,null,187600486128940,[[12,149,null,0,false,false,false,646958229079614,false,[[1,[2,"RemoveAds"]]]],[70,73,null,0,false,false,false,425984439591146,false,[[10,2],[8,0],[7,[0,999]]]]],[[70,414,"Button",716646468013742,false,[[3,0]]]]]]],[0,null,false,null,660193929326547,[],[[-1,101,null,904910337891249,false,[[11,"rewarded"],[7,[0,0]]]]]]]],[0,null,false,null,963880213625336,[[0,169,null,2,false,false,false,749053637379276,false,[[1,[2,"adOverFail"]]]]],[[-1,101,null,262126755602842,false,[[11,"rewarded"],[7,[0,0]]]],[125,426,"Dialog",644928268963085,false],[126,283,"Dialog",925568889772762,false,[[0,[0,0]],[0,[0,0]],[3,1]]]]],[0,null,false,null,564527429649118,[[0,169,null,2,false,false,false,313207284071164,false,[[1,[2,"Menu > Play"]]]]],[[1,197,null,824137948903708,false,[[10,3],[3,0]]],[1,197,null,736468009343617,false,[[10,21],[3,0]]],[0,80,null,384579395700610,false,[[1,[2,"Menu > Transition"]],[13,[7,[2,"Level 1"]]]]]]],[0,null,false,null,778873971432323,[[0,169,null,2,false,false,false,168426402702824,false,[[1,[2,"Menu > Resume"]]]]],[[1,197,null,160764756487263,false,[[10,3],[3,0]]],[1,197,null,589279469053069,false,[[10,21],[3,0]]],[1,316,null,673363481970530,false,[[10,4],[7,[5,[19,212],[20,12,112,false,null,[[2,"LastTime"]]]]]]]],[[0,null,false,null,877659944083382,[[12,149,null,0,false,false,false,436001248048060,false,[[1,[2,"LastLevel"]]]]],[[0,80,null,547390823535684,false,[[1,[2,"Menu > Transition"]],[13,[7,[10,[2,"Level "],[20,12,112,false,null,[[2,"LastLevel"]]]]]]]]]],[0,null,false,null,208970704697660,[[-1,75,null,0,false,false,false,300307531536715,false]],[[0,80,null,829774652519878,false,[[1,[2,"Menu > Transition"]],[13,[7,[2,"Level 1"]]]]]]]]],[0,null,false,null,970474509353122,[[0,169,null,2,false,false,false,346507530553524,false,[[1,[2,"Menu > Levels"]]]]],[[0,80,null,683122700567341,false,[[1,[2,"Menu > Transition"]],[13,[7,[2,"Level Menu"]]]]]]],[0,null,false,null,382487852758293,[[0,169,null,2,false,false,false,311074679929822,false,[[1,[2,"Menu > Credits"]]]]],[[0,80,null,552966502517737,false,[[1,[2,"Menu > Transition"]],[13,[7,[2,"Credits"]]]]]]],[0,null,false,null,317945469250140,[[0,169,null,2,false,false,false,820418095537380,false,[[1,[2,"Menu > Options"]]]]],[[0,80,null,736077096751743,false,[[1,[2,"Menu > Transition"]],[13,[7,[2,"Options Menu"]]]]]]],[0,null,false,null,443402327844779,[[0,169,null,2,false,false,false,699841169243949,false,[[1,[2,"Menu > Back"]]]]],[[0,80,null,745681357338292,false,[[1,[2,"Menu > Transition"]],[13,[7,[18,[11,[12,[20,0,431,false,null],[0,0]],[12,[20,0,170,false,null,[[0,0]]],[2,""]]],[2,"Main Menu"],[20,0,170,false,null,[[0,0]]]]]]]]]],[0,null,false,null,513650222541016,[[0,169,null,2,false,false,false,394844360208020,false,[[1,[2,"Menu > Next"]]]]],[],[[1,"ID",0,0,false,false,509730512123901,false],[0,null,false,null,679053644573191,[],[[-1,101,null,934789171476556,false,[[11,"ID"],[7,[19,105,[[19,106,[[19,104],[0,1],[2," "]]]]]]]],[0,80,null,748600148464203,false,[[1,[2,"Menu > Transition"]],[13,[7,[18,[14,[23,"ID"],[21,1,false,null,9]],[10,[2,"Level "],[19,298,[[4,[23,"ID"],[0,1]]]]],[2,"Main Menu"]]]]]]]],[0,null,false,null,640368178870354,[[1,107,null,0,false,false,false,815811350991263,false,[[10,3]]]],[[4,198,null,144681026680585,false,[[1,[10,[10,[2,"WebSdkWrapper.levelStart("],[19,298,[[4,[23,"ID"],[0,1]]]]],[2,")"]]]]]]]]],[0,null,false,null,103242992893225,[[0,169,null,2,false,false,false,939319672930375,false,[[1,[2,"Menu > Level"]]]]],[[0,80,null,605716748734880,false,[[1,[2,"Menu > Transition"]],[13,[7,[10,[2,"Level "],[4,[20,0,170,false,null,[[0,0]]],[0,1]]]]]]]]],[0,null,false,null,581454617454392,[[0,169,null,2,false,false,false,669845447213658,false,[[1,[2,"Menu > Train"]]]]],[[0,80,null,587207502509377,false,[[1,[2,"Menu > Transition"]],[13,[7,[2,"Sandbox Level"]]]]]]],[0,null,false,null,525277846568351,[[0,169,null,2,false,false,false,597125343954944,false,[[1,[2,"Menu > Info"]]]]],[[4,339,null,907716645155840,false,[[1,[2,"https://dedragames.com/"]],[1,[2,"_blank"]]]]]],[0,null,false,null,520975304953040,[[0,169,null,2,false,false,false,759108527539775,false,[[1,[2,"Menu > Transition"]]]]],[[4,231,null,470536912898955,false,[[1,[23,"VibratePtrn"]]]],[-1,101,null,765650622488646,false,[[11,"Target"],[7,[20,0,170,false,null,[[0,0]]]]]]],[[0,null,false,null,304068756911160,[[-1,230,null,0,false,false,false,779596453443956,false]],[[-1,432,null,247510441877405,false,[[1,[23,"Target"]]]],[-1,433,null,449970204185544,false,[[0,[1,1]]]]]],[0,null,false,null,646176072705056,[[-1,75,null,0,false,false,false,847326598783788,false]],[[6,434,null,524179302619050,false]]]]],[0,null,false,null,385669966529442,[[0,169,null,2,false,false,false,159380969146706,false,[[1,[2,"Menu > Goto"]]]]],[[4,231,null,248893532246654,false,[[1,[23,"VibratePtrn"]]]],[-1,101,null,109275240377407,false,[[11,"Target"],[7,[20,0,170,false,null,[[0,0]]]]]],[-1,432,null,856227479078782,false,[[1,[23,"Target"]]]],[-1,433,null,200175627424971,false,[[0,[1,1]]]]]],[0,null,false,null,396489234101565,[[6,435,null,1,false,false,false,757296524545245,false]],[[6,436,null,464324782466741,false,[[3,12]]],[-1,433,null,148885379409788,false,[[0,[1,1]]]],[-1,432,null,457720175376192,false,[[1,[23,"Target"]]]]]]]],[0,[true,"Level Menu"],false,null,562560226748156,[[-1,72,null,0,false,false,false,562560226748156,false,[[1,[2,"Level Menu"]]]]],[],[[1,"Divider",0,4,false,false,712001924445363,false],[1,"DisabledFrames",0,11,false,false,315797852421137,false],[1,"Quote",1,"\"",false,false,599857175645607,false],[1,"CurrentSection",0,0,true,false,356295658667763,false],[0,null,false,null,950685301689525,[[-1,98,null,1,false,false,false,775606385377244,false]],[[-1,433,null,360945045772442,false,[[0,[1,1]]]],[-1,437,null,402690073053879,false,[[5,[2,"Ads"]],[3,0]]],[-1,99,null,996334242514593,false,[[0,[1,0.5]]]],[-1,437,null,700792633071030,false,[[5,[2,"Ads"]],[3,1]]]],[[0,null,false,null,692541619234871,[[-1,127,null,0,false,false,false,287395485759407,false,[[7,[19,104]],[8,0],[7,[2,"Main Menu"]]]]],[[1,316,null,477606511178988,false,[[10,22],[7,[0,0]]]]]]]],[0,null,false,null,385527972480298,[[-1,127,null,0,false,false,false,104544763831130,false,[[7,[19,104]],[8,0],[7,[2,"Level Menu"]]]]],[],[[0,null,false,null,617646289825160,[[-1,98,null,1,false,false,false,966446143803677,false]],[[8,304,null,975078566746600,false,[[1,[2,"lvl"]],[12,"levels.json"]]],[170,166,null,316108827028045,false,[[0,[6,[19,279],[1,0.75]]]]]]],[0,null,false,null,144020805292004,[[8,305,null,1,false,false,false,331248362197756,false,[[1,[2,"lvl"]]]]],[[28,306,null,974354117472923,false,[[1,[20,8,307,true,null]],[3,0],[13]]],[0,80,null,604369797304810,false,[[1,[2,"Menu > SetSection"]],[13,[7,[21,1,false,null,22]]]]],[-1,99,null,329203158002761,false,[[0,[1,0.2]]]],[-1,398,null,664691515555872,false,[[1,[2,"cameraTween"]]]]]],[0,null,false,null,902724201225779,[[170,438,"LiteTween",1,false,false,false,206998599684559,false]],[[-1,398,null,897006154688834,false,[[1,[2,"cameraTween"]]]]]],[0,null,false,null,538538728756920,[[70,73,null,0,false,false,false,371058123864716,false,[[10,2],[8,0],[7,[0,1]]]],[70,439,"Button",0,false,false,false,359628763304717,false],[70,440,null,0,false,false,false,867470318308951,false,[[8,0],[0,[0,3]]]]],[[70,115,null,586244937996981,false,[[0,[0,0]]]]]],[0,null,true,null,378239291608975,[[70,73,null,0,false,false,false,132373559028412,false,[[10,2],[8,0],[7,[0,1]]]],[70,73,null,0,false,false,false,864004718646459,false,[[10,2],[8,0],[7,[0,2]]]]],[],[[0,null,false,null,858712149022877,[[70,439,"Button",0,false,true,false,492210330529751,false],[70,441,null,0,false,false,false,592776357576102,false,[[8,2],[0,[0,64]]]]],[[70,178,null,495857126593296,false,[[0,[0,64]],[0,[0,64]]]]]]]],[0,null,false,null,693904426575391,[[119,256,null,1,false,false,false,774497388709693,false]],[[119,405,"GameObject",968255661308990,false,[[4,120]]]]],[0,null,false,null,490161939377050,[[0,169,null,2,false,false,false,774785122660290,false,[[1,[2,"Menu > SetSection"]]]]],[],[[0,null,false,null,278220766553913,[],[[-1,101,null,392892918275718,false,[[11,"CurrentSection"],[7,[20,0,170,false,null,[[0,0]]]]]],[124,155,null,568728078250859,false,[[7,[10,[10,[4,[23,"CurrentSection"],[0,1]],[2,"/"]],[20,28,442,false,null,[[0,0]]]]]]],[1,316,null,943890946339621,false,[[10,22],[7,[0,0]]]]]],[0,null,true,null,520307196596379,[[70,73,null,0,false,false,false,479302443121532,false,[[10,2],[8,0],[7,[0,1]]]],[70,73,null,0,false,false,false,506518463930306,false,[[10,2],[8,0],[7,[0,2]]]]],[[70,414,"Button",627641935886744,false,[[3,1]]]]],[0,null,false,null,446592132477979,[[70,73,null,0,false,false,false,986525971493434,false,[[10,2],[8,0],[7,[0,1]]]],[-1,100,null,0,false,false,false,597925458992066,false,[[11,"CurrentSection"],[8,0],[7,[0,0]]]]],[[70,414,"Button",383301660758394,false,[[3,0]]]]],[0,null,false,null,100857427853167,[[70,73,null,0,false,false,false,503431773381761,false,[[10,2],[8,0],[7,[0,2]]]],[-1,100,null,0,false,false,false,552055872183193,false,[[11,"CurrentSection"],[8,0],[7,[5,[20,28,442,false,null,[[0,0]]],[0,1]]]]]],[[70,414,"Button",248252029251245,false,[[3,0]]]]],[0,null,false,null,329531925978659,[],[[170,443,"LiteTween",300174006474272,false,[[3,8],[3,16],[1,[19,298,[[6,[19,279],[1,0.75]]]]],[0,[1,0.5]],[3,0]]],[170,444,"LiteTween",380347557976254,false,[[3,0],[3,0]]],[-1,315,null,257749865305444,false,[[1,[2,"cameraTween"]]]]],[[0,null,false,null,537810920522306,[[-1,127,null,0,false,false,false,452757400517799,false,[[7,[20,28,310,false,null,[[0,0],[23,"CurrentSection"],[2,"levels"],[0,0]]]],[8,4],[7,[20,12,112,false,null,[[2,"Levels"]]]]]]],[],[[0,null,false,null,591665354621145,[[70,246,null,0,false,false,false,790782827869341,false,[[1,[2,"Play"]]]]],[[70,414,"Button",492443670424684,false,[[3,0]]]]]]],[0,null,false,null,639597713087723,[[-1,75,null,0,false,false,false,643199191521741,false]],[],[[0,null,false,null,373986593657751,[[70,246,null,0,false,false,false,457768594535094,false,[[1,[2,"Play"]]]]],[[70,414,"Button",333693596780746,false,[[3,1]]]]]]],[0,null,false,null,302939768649168,[[-1,180,null,0,true,false,false,885005837178014,false,[[4,119],[7,[21,119,false,null,0]],[3,0]]]],[[120,445,null,471546777372907,false,[[4,119],[7,[0,0]]]],[120,155,null,971594682797611,false,[[7,[4,[20,28,310,false,null,[[0,0],[23,"CurrentSection"],[2,"levels"],[0,0]]],[21,119,false,null,0]]]]],[120,272,null,662446691916432,false,[[0,[20,119,446,false,null]],[0,[20,119,447,false,null]]]],[120,270,null,399086435751164,false,[[0,[20,119,185,false,null]],[0,[20,119,187,false,null]]]]],[[0,null,false,null,847971126497591,[[-1,127,null,0,false,false,false,484638898780562,false,[[7,[4,[20,28,310,false,null,[[0,0],[23,"CurrentSection"],[2,"levels"],[0,0]]],[21,119,false,null,0]]],[8,4],[7,[20,28,310,false,null,[[0,0],[23,"CurrentSection"],[2,"levels"],[0,1]]]]]]],[[119,356,null,706571025727270,false,[[3,0]]],[120,263,null,525965149391299,false,[[0,[0,0]]]],[66,150,null,968665766190000,false,[[0,[0,0]]]]]],[0,null,false,null,942348000656014,[[-1,75,null,0,false,false,false,723639908037394,false],[-1,127,null,0,false,false,false,169074404434860,false,[[7,[4,[20,28,310,false,null,[[0,0],[23,"CurrentSection"],[2,"levels"],[0,0]]],[21,119,false,null,0]]],[8,4],[7,[20,12,112,false,null,[[2,"Levels"]]]]]]],[[119,414,"Button",199815596341405,false,[[3,0]]],[120,155,null,927578231389449,false,[[7,[2,"µ"]]]],[119,356,null,332610567237255,false,[[3,1]]],[120,263,null,619779259796332,false,[[0,[0,100]]]],[66,150,null,361815537989091,false,[[0,[0,10]]]]]],[0,null,false,null,403044814644795,[[-1,75,null,0,false,false,false,853013107870168,false]],[[119,414,"Button",553129778256330,false,[[3,1]]],[119,356,null,825071445028164,false,[[3,1]]],[120,263,null,862519587962214,false,[[0,[0,100]]]],[66,150,null,534055452413066,false,[[0,[0,10]]]]]],[0,null,false,null,925307809823368,[[119,116,null,0,false,false,false,846799481602248,false]],[],[[0,null,false,null,110371911449116,[[12,149,null,0,false,false,false,418148094743556,false,[[1,[10,[2,"Coinlevel"],[4,[20,28,310,false,null,[[0,0],[23,"CurrentSection"],[2,"levels"],[0,0]]],[21,119,false,null,0]]]]]]],[[66,150,null,768968551356545,false,[[0,[0,100]]]]]],[0,null,false,null,622509619433033,[[-1,75,null,0,false,false,false,421362058663876,false]],[[66,150,null,197478273692755,false,[[0,[0,10]]]]]]]]]],[0,null,false,null,835949928670319,[[12,149,null,0,false,false,false,168581618972530,false,[[1,[10,[10,[2,"section"],[23,"CurrentSection"]],[18,[21,1,false,null,16],[2,""],[2,"hard"]]]]]]],[],[[1,"besttime",0,0,false,false,978708963209707,false],[0,null,false,null,472490139547821,[],[[-1,101,null,156607611128107,false,[[11,"besttime"],[7,[20,12,112,false,null,[[10,[10,[2,"section"],[23,"CurrentSection"]],[18,[21,1,false,null,16],[2,""],[2,"hard"]]]]]]]],[122,155,null,783482694581665,false,[[7,[10,[10,[20,158,411,true,null,[[4,[23,"besttime"],[12,[19,412,[[6,[5,[23,"besttime"],[19,299,[[23,"besttime"]]]],[0,100]]]],[0,100]]]]],[2,":"]],[19,413,[[8,[19,412,[[6,[5,[23,"besttime"],[19,299,[[23,"besttime"]]]],[0,100]]]],[0,100]],[0,2]]]]]]]]]]],[0,null,false,null,457699618784636,[[-1,75,null,0,false,false,false,568898545459932,false]],[[122,155,null,847938763000115,false,[[7,[2,"--:--:--"]]]]]],[0,null,false,null,608015573991654,[],[[167,311,null,966281429503021,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[20,28,310,false,null,[[0,0],[23,"CurrentSection"],[2,"lang"]]]],[7,[2,"text"]],[7,[20,28,310,false,null,[[0,0],[23,"CurrentSection"],[2,"name"]]]],[7,[2,""]]]]],[123,155,null,768544491419469,false,[[7,[20,167,312,false,null]]]],[123,407,null,257589304413393,false,[[0,[6,[20,28,310,false,null,[[0,0],[23,"CurrentSection"],[2,"textScale"]]],[0,3]]]]],[171,115,null,831230114637532,false,[[0,[23,"CurrentSection"]]]],[170,443,"LiteTween",162823055752720,false,[[3,8],[3,17],[1,[19,298,[[7,[19,279],[0,2]]]]],[0,[1,0.5]],[3,0]]],[170,444,"LiteTween",668861815918756,false,[[3,0],[3,0]]]]]]]]],[0,null,false,null,603308910083164,[[0,169,null,2,false,false,false,467862190759794,false,[[1,[2,"Menu > NextSection"]]]]],[[0,80,null,279497170280394,false,[[1,[2,"Menu > SetSection"]],[13,[7,[4,[23,"CurrentSection"],[0,1]]]]]]]],[0,null,false,null,454712867952731,[[0,169,null,2,false,false,false,868146088512168,false,[[1,[2,"Menu > PrevSection"]]]]],[[0,80,null,425403566543102,false,[[1,[2,"Menu > SetSection"]],[13,[7,[5,[23,"CurrentSection"],[0,1]]]]]]]],[0,null,false,null,128207201935333,[[0,169,null,2,false,false,false,557818390283978,false,[[1,[2,"Menu > PlaySection"]]]]],[[1,197,null,222139191290507,false,[[10,3],[3,0]]],[1,197,null,238699676913742,false,[[10,21],[3,1]]],[1,316,null,941845828547547,false,[[10,19],[7,[20,28,310,false,null,[[0,0],[23,"CurrentSection"],[2,"levels"],[0,0]]]]]],[1,316,null,613689825966675,false,[[10,20],[7,[20,28,310,false,null,[[0,0],[23,"CurrentSection"],[2,"levels"],[0,1]]]]]],[1,316,null,949189657994905,false,[[10,22],[7,[23,"CurrentSection"]]]],[0,80,null,618011954071934,false,[[1,[2,"Menu > Level"]],[13,[7,[5,[20,28,310,false,null,[[0,0],[23,"CurrentSection"],[2,"levels"],[0,0]]],[0,1]]]]]],[4,198,null,750124718121365,false,[[1,[10,[10,[2,"WebSdkWrapper.levelStart("],[19,298,[[4,[20,28,310,false,null,[[0,0],[23,"CurrentSection"],[2,"levels"],[0,0]]],[21,119,false,null,0]]]]],[2,")"]]]]]]],[0,null,false,null,554166878161036,[[119,427,"Button",1,false,false,false,282392838930291,false]],[],[[0,null,false,null,150556343473982,[[12,295,null,0,false,false,false,755734986416114,false,[[1,[2,"Levels"]],[8,5],[7,[4,[22,74,"GridViewDataBind",428,false,null],[0,1]]]]]],[[1,197,null,766928941678172,false,[[10,3],[3,1]]],[1,197,null,189116050705000,false,[[10,21],[3,0]]],[1,316,null,876323073847162,false,[[10,22],[7,[23,"CurrentSection"]]]],[0,80,null,325771325339404,false,[[1,[2,"Menu > Level"]],[13,[7,[5,[4,[20,28,310,false,null,[[0,0],[23,"CurrentSection"],[2,"levels"],[0,0]]],[21,119,false,null,0]],[0,1]]]]]],[4,198,null,747269055029780,false,[[1,[10,[10,[2,"WebSdkWrapper.levelStart("],[19,298,[[4,[20,28,310,false,null,[[0,0],[23,"CurrentSection"],[2,"levels"],[0,0]]],[21,119,false,null,0]]]]],[2,")"]]]]]]],[0,null,false,null,759472088253574,[[-1,75,null,0,false,false,false,771053522175936,false]],[[201,93,null,387922648222296,false,[[2,["hurt",false]],[1,[2,"sounds"]]]]]]]],[0,null,false,null,216841621383563,[[-1,127,null,0,false,false,false,732990700697882,false,[[7,[5,[19,448,[[0,0]]],[19,449,[[0,0]]]]],[8,2],[7,[5,[19,450,[[0,0]]],[19,451,[[0,0]]]]]]]],[[171,178,null,622117525351172,false,[[0,[5,[19,450,[[0,0]]],[19,451,[[0,0]]]]],[0,[5,[19,450,[[0,0]]],[19,451,[[0,0]]]]]]]]],[0,null,false,null,686521676139972,[[-1,75,null,0,false,false,false,853385014077906,false]],[[171,178,null,236585805349181,false,[[0,[5,[19,448,[[0,0]]],[19,449,[[0,0]]]]],[0,[5,[19,448,[[0,0]]],[19,449,[[0,0]]]]]]]]],[0,null,false,null,413583054788296,[[170,255,null,0,false,false,false,409203595307829,false,[[8,5],[0,[7,[19,279],[0,2]]]]]],[[-1,452,null,219313331768039,false,[[5,[2,"Layer 0"]],[0,[19,260,[[0,100],[0,0],[19,453,[[7,[19,279],[0,2]],[4,[7,[19,279],[0,2]],[0,50]],[20,170,122,false,null]]]]]]]],[171,150,null,756984054375560,false,[[0,[19,260,[[0,30],[0,0],[19,453,[[7,[19,279],[0,2]],[4,[7,[19,279],[0,2]],[0,100]],[20,170,122,false,null]]]]]]]]]],[0,null,false,null,164801896226560,[[-1,75,null,0,false,false,false,111140087558819,false]],[[-1,452,null,992500667175276,false,[[5,[2,"Layer 0"]],[0,[19,260,[[0,100],[0,0],[19,453,[[7,[19,279],[0,2]],[5,[7,[19,279],[0,2]],[0,300]],[20,170,122,false,null]]]]]]]],[171,150,null,630216364788002,false,[[0,[19,260,[[0,30],[0,0],[19,453,[[7,[19,279],[0,2]],[5,[7,[19,279],[0,2]],[0,300]],[20,170,122,false,null]]]]]]]]]],[0,null,false,null,397812950220937,[],[[172,166,null,826429215406429,false,[[0,[4,[5,[20,170,122,false,null],[7,[19,279],[0,2]]],[0,38]]]]],[66,120,null,230730320006029,false,[[0,[20,119,419,false,null]],[0,[20,119,454,false,null]]]]]],[0,null,false,null,781867378010920,[[170,255,null,0,false,false,false,705402694984488,false,[[8,2],[0,[7,[19,279],[0,4]]]]]],[[170,166,null,799369782836257,false,[[0,[7,[19,279],[0,4]]]]]]]]]]],[0,[true,"Mobile Particles"],false,null,858740712199220,[[-1,72,null,0,false,false,false,858740712199220,false,[[1,[2,"Mobile Particles"]]]]],[],[[0,null,false,null,266817845605781,[[-1,98,null,1,false,false,false,681075581349699,false],[-1,230,null,0,false,false,false,323095181317307,false]],[[81,455,null,936019656721210,false,[[0,[0,10]]]]]]]],[0,[true,"OvO Animation"],false,null,619168026184674,[[-1,72,null,0,false,false,false,619168026184674,false,[[1,[2,"OvO Animation"]]]]],[],[[0,null,false,null,890530193235742,[[-1,127,null,0,false,false,false,422503312056070,false,[[7,[19,104]],[8,0],[7,[2,"Main Menu"]]]]],[],[[0,null,false,null,677015011250042,[[-1,230,null,0,false,false,false,797013555091261,false]],[],[[0,null,false,null,331846018574788,[[3,228,null,1,false,false,false,530973781510720,false,[[4,71]]]],[[0,80,null,507914897881687,false,[[1,[2,"Menu > Logo Wiggle"]],[13,[7,[19,456,[[0,1],[20,3,457,false,null],[20,3,458,false,null]]]],[7,[19,459,[[0,1],[20,3,457,false,null],[20,3,458,false,null]]]]]]]]]]],[0,null,false,null,524254005147371,[[-1,75,null,0,false,false,false,208737568068979,false]],[],[[0,null,false,null,838400835036863,[[10,460,null,1,false,false,false,966653523323339,false,[[3,0],[3,0],[4,71]]]],[[0,80,null,729868850433084,false,[[1,[2,"Menu > Logo Wiggle"]],[13,[7,[19,456,[[0,1],[20,10,461,false,null],[20,10,462,false,null]]]],[7,[19,459,[[0,1],[20,10,461,false,null],[20,10,462,false,null]]]]]]]]],[0,null,false,null,283361850979607,[[10,463,null,0,false,false,false,915938837715744,false,[[4,71]]],[-1,102,null,0,false,false,false,226160889946702,false]],[[0,80,null,740678442501098,false,[[1,[2,"Menu > Logo Wiggle"]],[13,[7,[19,456,[[0,1],[20,10,461,false,null],[20,10,462,false,null]]]],[7,[19,459,[[0,1],[20,10,461,false,null],[20,10,462,false,null]]]]]]]]]]],[0,null,false,null,803028218250663,[[-1,146,null,0,false,false,false,286708266196327,false]],[[71,464,"Sine3",860543674990055,false,[[0,[19,260,[[22,71,"Sine3",465,false,null],[0,2],[1,0.02]]]]]],[71,466,"Sine3",101495722514252,false,[[0,[19,260,[[22,71,"Sine3",467,false,null],[0,4],[1,0.02]]]]]],[71,464,"Sine2",390107274517722,false,[[0,[19,260,[[22,71,"Sine2",465,false,null],[0,5],[1,0.02]]]]]],[71,464,"Sine",488305209527276,false,[[0,[19,260,[[22,71,"Sine",465,false,null],[0,5],[1,0.02]]]]]],[71,466,"Sine",389964111810888,false,[[0,[19,260,[[22,71,"Sine",467,false,null],[0,4],[1,0.02]]]]]],[71,464,"Sine4",794206535413369,false,[[0,[19,260,[[22,71,"Sine4",465,false,null],[0,5],[1,0.02]]]]]],[71,466,"Sine4",326869135343237,false,[[0,[19,260,[[22,71,"Sine4",467,false,null],[0,4],[1,0.02]]]]]]]],[1,"NbWiggles",0,-1,true,false,702852256349095,false],[0,null,false,null,488235603387466,[[0,169,null,2,false,false,false,719263183627696,false,[[1,[2,"Menu > Logo Wiggle"]]]]],[[201,93,null,335851930280158,false,[[2,["step2",false]],[1,[2,"sounds"]]]],[-1,266,null,345879183011189,false,[[4,89],[5,[20,71,142,true,null]],[0,[20,0,170,false,null,[[0,0]]]],[0,[20,0,170,false,null,[[0,1]]]]]],[71,464,"Sine3",998210232542637,false,[[0,[4,[22,71,"Sine3",465,false,null],[6,[0,10],[7,[0,2],[22,71,"Sine3",465,false,null]]]]]]],[71,466,"Sine3",307597767402473,false,[[0,[1,0.5]]]],[71,464,"Sine2",298045013050396,false,[[0,[4,[22,71,"Sine2",465,false,null],[6,[0,10],[7,[0,5],[22,71,"Sine2",465,false,null]]]]]]],[71,464,"Sine",170625436028604,false,[[0,[4,[22,71,"Sine",465,false,null],[6,[0,10],[7,[0,5],[22,71,"Sine",465,false,null]]]]]]],[71,466,"Sine",185595876393432,false,[[0,[1,0.5]]]],[71,464,"Sine4",642508814606031,false,[[0,[4,[22,71,"Sine2",465,false,null],[6,[0,10],[7,[0,5],[22,71,"Sine2",465,false,null]]]]]]],[71,466,"Sine4",925741690347569,false,[[0,[1,0.5]]]],[-1,213,null,918333443024039,false,[[11,"NbWiggles"],[7,[0,1]]]]],[[0,null,false,null,516529580148421,[[-1,100,null,0,false,false,false,551373926577925,false,[[11,"NbWiggles"],[8,0],[7,[0,1]]]]],[[0,80,null,320785545502344,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[0,0]]]]]]],[0,null,false,null,213657258214600,[[-1,100,null,0,false,false,false,336288723682347,false,[[11,"NbWiggles"],[8,0],[7,[0,20]]]]],[[0,80,null,202298935211187,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[0,1]]]]]]],[0,null,false,null,685311651486122,[[-1,100,null,0,false,false,false,157500210792586,false,[[11,"NbWiggles"],[8,0],[7,[0,50]]]]],[[0,80,null,777747278152217,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[0,2]]]]]]]]]]]]],[0,[true,"Options Menu"],false,null,550727618548445,[[-1,72,null,0,false,false,false,550727618548445,false,[[1,[2,"Options Menu"]]]]],[],[[0,null,false,null,860962129354062,[[-1,127,null,0,false,false,false,203195888577223,false,[[7,[19,104]],[8,0],[7,[2,"Options Menu"]]]]],[],[[0,null,false,null,887307886656957,[[-1,98,null,1,false,false,false,372374553546070,false]],[[-1,99,null,613793028896706,false,[[0,[19,79]]]],[0,80,null,797019076955135,false,[[1,[2,"Options > Update"]],[13]]]],[[0,null,false,null,172820741427844,[[-1,230,null,0,false,false,false,577875971875755,false],[70,246,null,0,false,false,false,451627537270123,false,[[1,[2,"Inputs"]]]]],[[70,356,null,294979429277199,false,[[3,0]]],[70,120,null,489140569785514,false,[[0,[0,-500]],[0,[0,-500]]]]]]]],[0,null,false,null,790517533273941,[[92,468,"Dialog",1,false,false,false,287738866632665,false],[16,107,null,0,false,false,false,759978742126162,false,[[10,4]]]],[[0,80,null,943260498836359,false,[[1,[2,"Inputs > Listen Stop"]],[13]]],[0,80,null,107134884562940,false,[[1,[2,"Options > Update Inputs"]],[13]]]]],[0,null,false,null,297974269060306,[[0,169,null,2,false,false,false,547512655952347,false,[[1,[2,"Options > Update Inputs"]]]]],[],[[0,null,false,null,601358766569076,[[-1,117,null,0,true,false,false,820333440858576,false,[[4,93]]]],[],[[0,null,false,null,350989783857368,[[93,469,null,0,false,false,false,398728008726001,false,[[10,0],[8,0],[7,[0,0]]]]],[[93,377,null,165174986889180,false,[[7,[20,2,470,true,null,[[21,16,false,null,0]]]]]]]],[0,null,false,null,891967283388187,[[93,469,null,0,false,false,false,749654930579777,false,[[10,0],[8,0],[7,[0,1]]]]],[[93,377,null,123917969277083,false,[[7,[20,2,470,true,null,[[21,16,false,null,1]]]]]]]],[0,null,false,null,386941670470462,[[93,469,null,0,false,false,false,838000306838691,false,[[10,0],[8,0],[7,[0,2]]]]],[[93,377,null,691049451999273,false,[[7,[20,2,470,true,null,[[21,16,false,null,2]]]]]]]],[0,null,false,null,562135886843777,[[93,469,null,0,false,false,false,702691219378335,false,[[10,0],[8,0],[7,[0,3]]]]],[[93,377,null,439838766476700,false,[[7,[20,2,470,true,null,[[21,16,false,null,3]]]]]]]]]]]],[0,null,false,null,266680940803412,[[0,169,null,2,false,false,false,983481310538354,false,[[1,[2,"Options > Update Sliders"]]]]],[],[[0,null,false,null,449367887652587,[[-1,117,null,0,true,false,false,628842951640910,false,[[4,98]]]],[[98,471,"SliderBar",901665124927449,false,[[0,[20,12,112,false,null,[[21,98,true,null,0]]]]]]],[[0,null,false,null,292043496826978,[[12,295,null,0,false,false,false,268340090382254,false,[[1,[10,[21,98,true,null,0],[2,"Muted"]]],[8,0],[7,[0,0]]]]],[[201,294,null,466923984450248,false,[[0,[20,12,112,false,null,[[21,98,true,null,0]]]],[1,[19,399,[[21,98,true,null,0]]]]]]]]]]]],[0,null,false,null,146425221044682,[[0,169,null,2,false,false,false,604633676103316,false,[[1,[2,"Options > Update"]]]]],[[0,80,null,599132214928456,false,[[1,[2,"Options > Update Inputs"]],[13]]],[0,80,null,296743255105407,false,[[1,[2,"Options > Update Sliders"]],[13]]],[0,80,null,990172787030226,false,[[1,[2,"Options > Update Check"]],[13]]]]],[0,null,false,null,249383992902907,[[0,169,null,2,false,false,false,356035466762171,false,[[1,[2,"Options > Inputs"]]]]],[[92,283,"Dialog",279011093848881,false,[[0,[0,0]],[0,[0,0]],[3,1]]]]],[0,null,false,null,243134947475000,[[0,169,null,2,false,false,false,728679505341201,false,[[1,[2,"Options > Edit"]]]]],[[0,80,null,142640901654780,false,[[1,[2,"Options > Update Inputs"]],[13]]],[0,80,null,703448568291978,false,[[1,[2,"Inputs > Listen"]],[13,[7,[20,0,170,false,null,[[0,0]]]]]]]],[[0,null,false,null,637530658629423,[[-1,154,null,0,false,false,false,693485579552446,false,[[4,93],[7,[21,93,false,null,0]],[8,0],[7,[19,105,[[20,0,170,false,null,[[0,0]]]]]]]]],[[167,311,null,241816458532528,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,"setkey"]],[7,[2,"text"]],[7,[2,"Set a key..."]],[7,[2,""]]]]],[93,377,null,608803497166814,false,[[7,[20,167,312,false,null]]]]]]]],[0,null,false,null,699049775561943,[[0,169,null,2,false,false,false,586498989737838,false,[[1,[2,"Inputs > Set Input"]]]]],[[0,80,null,266299993021290,false,[[1,[2,"Options > Update Inputs"]],[13]]]]],[0,null,false,null,680516901831824,[[0,169,null,2,false,false,false,566555160373384,false,[[1,[2,"Options > Update Check"]]]]],[],[[0,null,false,null,811141203591945,[[-1,154,null,0,false,false,false,434730942427357,false,[[4,96],[7,[21,96,false,null,0]],[8,0],[7,[0,-2]]]]],[],[[0,null,false,null,275570443146430,[[12,295,null,0,false,false,false,817962649526994,false,[[1,[2,"MusicMuted"]],[8,0],[7,[0,1]]]]],[[96,472,"Checkbox",103539342390654,false,[[3,0]]]]],[0,null,false,null,597601476856701,[[-1,75,null,0,false,false,false,250259030104777,false]],[[96,472,"Checkbox",320727213864951,false,[[3,1]]]]]]],[0,null,false,null,148117600669761,[[-1,154,null,0,false,false,false,531688175641343,false,[[4,96],[7,[21,96,false,null,0]],[8,0],[7,[0,-1]]]]],[],[[0,null,false,null,203930578360616,[[12,295,null,0,false,false,false,593699323217135,false,[[1,[2,"SoundsMuted"]],[8,0],[7,[0,1]]]]],[[96,472,"Checkbox",996355396400915,false,[[3,0]]]]],[0,null,false,null,117761487166725,[[-1,75,null,0,false,false,false,392863251547280,false]],[[96,472,"Checkbox",511435927092639,false,[[3,1]]]]]]],[0,null,false,null,296172544369895,[[-1,154,null,0,false,false,false,997962336899865,false,[[4,96],[7,[21,96,false,null,0]],[8,0],[7,[0,0]]]]],[],[[0,null,false,null,985927149003542,[[4,473,null,0,false,false,false,123268836642384,false]],[[96,472,"Checkbox",315561481166019,false,[[3,1]]]]],[0,null,false,null,786583796529460,[[-1,75,null,0,false,false,false,695928712903510,false]],[[96,472,"Checkbox",998194228640242,false,[[3,0]]]]]]],[0,null,false,null,582337186875403,[[-1,154,null,0,false,false,false,425594206476665,false,[[4,96],[7,[21,96,false,null,0]],[8,0],[7,[0,1]]]]],[],[[0,null,false,null,875327994213434,[[1,107,null,0,false,false,false,916299953137139,false,[[10,16]]]],[[96,472,"Checkbox",794607843636350,false,[[3,0]]]]],[0,null,false,null,840255025576882,[[-1,75,null,0,false,false,false,208749861265968,false]],[[96,472,"Checkbox",983402397019318,false,[[3,1]]]]]]],[0,null,false,null,246333656740313,[[-1,154,null,0,false,false,false,441642700108710,false,[[4,96],[7,[21,96,false,null,0]],[8,0],[7,[0,2]]]]],[],[[0,null,false,null,652036227791468,[[1,107,null,0,false,false,false,828330809796228,false,[[10,17]]]],[[96,472,"Checkbox",935465588289918,false,[[3,1]]]]],[0,null,false,null,537904304946318,[[-1,75,null,0,false,false,false,683423738992419,false]],[[96,472,"Checkbox",533491483188233,false,[[3,0]]]]]]],[0,null,false,null,833900698975757,[[-1,154,null,0,false,false,false,410219139402538,false,[[4,96],[7,[21,96,false,null,0]],[8,0],[7,[0,10]]]]],[],[[0,null,false,null,377182636850885,[[12,295,null,0,false,false,false,748326879458036,false,[[1,[2,"MobileMode"]],[8,0],[7,[0,0]]]]],[[96,472,"Checkbox",337986292971649,false,[[3,1]]]]],[0,null,false,null,415924690157745,[[-1,75,null,0,false,false,false,457511980398626,false]],[[96,472,"Checkbox",618045391104283,false,[[3,0]]]]]]],[0,null,false,null,920177702808912,[[-1,154,null,0,false,false,false,483746575263838,false,[[4,96],[7,[21,96,false,null,0]],[8,0],[7,[0,11]]]]],[],[[0,null,false,null,918894407772444,[[12,295,null,0,false,false,false,999888003338164,false,[[1,[2,"MobileMode"]],[8,0],[7,[0,1]]]]],[[96,472,"Checkbox",401837367048156,false,[[3,1]]]]],[0,null,false,null,403063154832955,[[-1,75,null,0,false,false,false,712635586803133,false]],[[96,472,"Checkbox",748475341464637,false,[[3,0]]]]]]],[0,null,false,null,670262833273302,[[-1,154,null,0,false,false,false,613922623310103,false,[[4,96],[7,[21,96,false,null,0]],[8,0],[7,[0,12]]]]],[],[[0,null,false,null,138713198699892,[[12,295,null,0,false,false,false,112881305471769,false,[[1,[2,"MobileMode"]],[8,0],[7,[0,2]]]]],[[96,472,"Checkbox",335891731312589,false,[[3,1]]]]],[0,null,false,null,451876367203774,[[-1,75,null,0,false,false,false,465360231245718,false]],[[96,472,"Checkbox",745202473388413,false,[[3,0]]]]]]]]],[0,null,false,null,939536526875847,[[0,169,null,2,false,false,false,238972500024666,false,[[1,[2,"Options > Save Inputs"]]]]],[[12,111,null,258191601536037,false,[[1,[2,"LeftInput"]],[7,[21,16,false,null,0]]]],[12,111,null,154134086312248,false,[[1,[2,"RightInput"]],[7,[21,16,false,null,2]]]],[12,111,null,412945548118683,false,[[1,[2,"UpInput"]],[7,[21,16,false,null,1]]]],[12,111,null,313753311944044,false,[[1,[2,"DownInput"]],[7,[21,16,false,null,3]]]],[12,113,null,424100898353433,false]]],[0,null,false,null,132944808394638,[[92,468,"Dialog",1,false,false,false,763081733685364,false]],[[0,80,null,684743088659672,false,[[1,[2,"Options > Save Inputs"]],[13]]]]],[0,null,false,null,338399772768207,[[0,169,null,2,false,false,false,809179375355592,false,[[1,[2,"Options > Save"]]]]],[[117,283,"Dialog",828071248001041,false,[[0,[0,0]],[0,[0,0]],[3,1]]],[0,80,null,917047124542398,false,[[1,[2,"Save > UpdateNbCoins"]],[13]]],[118,155,null,349958708820562,false,[[7,[10,[10,[20,12,112,false,null,[[2,"CollectedCoins"]]],[2,"/"]],[21,1,false,null,9]]]]]]],[0,null,false,null,775274523335792,[[0,169,null,2,false,false,false,645250188908801,false,[[1,[2,"Options > Mode"]]]]],[[128,283,"Dialog",399653117390485,false,[[0,[0,0]],[0,[0,0]],[3,1]]]]],[0,null,false,null,746520296114720,[[0,169,null,2,false,false,false,256642128569295,false,[[1,[2,"Options > Mode Auto"]]]]],[[12,111,null,929277844260026,false,[[1,[2,"MobileMode"]],[7,[0,0]]]],[12,113,null,372405282246497,false]],[[0,null,false,null,871114617653423,[[-1,154,null,0,false,false,false,428276440024691,false,[[4,96],[7,[21,96,false,null,0]],[8,0],[7,[0,10]]]]],[],[[0,null,false,null,518664678915604,[[12,295,null,0,false,false,false,643407719956054,false,[[1,[2,"MobileMode"]],[8,0],[7,[0,0]]]]],[[96,472,"Checkbox",743507053666679,false,[[3,1]]]]],[0,null,false,null,920509654283795,[[-1,75,null,0,false,false,false,411919624646765,false]],[[96,472,"Checkbox",234504166105107,false,[[3,0]]]]]]],[0,null,false,null,163061500607352,[[-1,154,null,0,false,false,false,676418703367812,false,[[4,96],[7,[21,96,false,null,0]],[8,0],[7,[0,11]]]]],[],[[0,null,false,null,942214202791075,[[12,295,null,0,false,false,false,560703817133032,false,[[1,[2,"MobileMode"]],[8,0],[7,[0,1]]]]],[[96,472,"Checkbox",131752770927729,false,[[3,1]]]]],[0,null,false,null,420461861583200,[[-1,75,null,0,false,false,false,666743881696975,false]],[[96,472,"Checkbox",150174989430705,false,[[3,0]]]]]]],[0,null,false,null,629284901736619,[[-1,154,null,0,false,false,false,254705193407546,false,[[4,96],[7,[21,96,false,null,0]],[8,0],[7,[0,12]]]]],[],[[0,null,false,null,408177255118387,[[12,295,null,0,false,false,false,401673386694882,false,[[1,[2,"MobileMode"]],[8,0],[7,[0,2]]]]],[[96,472,"Checkbox",164759838138846,false,[[3,1]]]]],[0,null,false,null,917642091743211,[[-1,75,null,0,false,false,false,744557685635728,false]],[[96,472,"Checkbox",654280108107228,false,[[3,0]]]]]]]]],[0,null,false,null,820091295388962,[[0,169,null,2,false,false,false,615757283135750,false,[[1,[2,"Options > Mode Mobile"]]]]],[[12,111,null,194553921128170,false,[[1,[2,"MobileMode"]],[7,[0,1]]]],[12,113,null,107024878593539,false]],[[0,null,false,null,819091928859413,[[-1,154,null,0,false,false,false,268001193783123,false,[[4,96],[7,[21,96,false,null,0]],[8,0],[7,[0,10]]]]],[],[[0,null,false,null,226706720833651,[[12,295,null,0,false,false,false,904300120210278,false,[[1,[2,"MobileMode"]],[8,0],[7,[0,0]]]]],[[96,472,"Checkbox",991697534749899,false,[[3,1]]]]],[0,null,false,null,378127453814022,[[-1,75,null,0,false,false,false,225536502270560,false]],[[96,472,"Checkbox",648754226675710,false,[[3,0]]]]]]],[0,null,false,null,792017943225828,[[-1,154,null,0,false,false,false,981551589011034,false,[[4,96],[7,[21,96,false,null,0]],[8,0],[7,[0,11]]]]],[],[[0,null,false,null,261814674404369,[[12,295,null,0,false,false,false,300146138671358,false,[[1,[2,"MobileMode"]],[8,0],[7,[0,1]]]]],[[96,472,"Checkbox",400209404523720,false,[[3,1]]]]],[0,null,false,null,907721149080600,[[-1,75,null,0,false,false,false,524823689507138,false]],[[96,472,"Checkbox",513098548921631,false,[[3,0]]]]]]],[0,null,false,null,259847136993040,[[-1,154,null,0,false,false,false,283773142216095,false,[[4,96],[7,[21,96,false,null,0]],[8,0],[7,[0,12]]]]],[],[[0,null,false,null,761917304951508,[[12,295,null,0,false,false,false,385426241072821,false,[[1,[2,"MobileMode"]],[8,0],[7,[0,2]]]]],[[96,472,"Checkbox",201967720742604,false,[[3,1]]]]],[0,null,false,null,895585121970423,[[-1,75,null,0,false,false,false,411157534146714,false]],[[96,472,"Checkbox",285016424880571,false,[[3,0]]]]]]]]],[0,null,false,null,277097666214317,[[0,169,null,2,false,false,false,810062692395509,false,[[1,[2,"Options > Mode Desktop"]]]]],[[12,111,null,945700033890185,false,[[1,[2,"MobileMode"]],[7,[0,2]]]],[12,113,null,177945236999521,false]],[[0,null,false,null,661038145228717,[[-1,154,null,0,false,false,false,790402167550911,false,[[4,96],[7,[21,96,false,null,0]],[8,0],[7,[0,10]]]]],[],[[0,null,false,null,575687613724575,[[12,295,null,0,false,false,false,861957247968380,false,[[1,[2,"MobileMode"]],[8,0],[7,[0,0]]]]],[[96,472,"Checkbox",409214933862817,false,[[3,1]]]]],[0,null,false,null,198068343197886,[[-1,75,null,0,false,false,false,883998034280104,false]],[[96,472,"Checkbox",892230656197344,false,[[3,0]]]]]]],[0,null,false,null,577983911923079,[[-1,154,null,0,false,false,false,285546152200554,false,[[4,96],[7,[21,96,false,null,0]],[8,0],[7,[0,11]]]]],[],[[0,null,false,null,268740543119379,[[12,295,null,0,false,false,false,583554263951813,false,[[1,[2,"MobileMode"]],[8,0],[7,[0,1]]]]],[[96,472,"Checkbox",254895777726274,false,[[3,1]]]]],[0,null,false,null,176526995271340,[[-1,75,null,0,false,false,false,858815673026390,false]],[[96,472,"Checkbox",203139740525762,false,[[3,0]]]]]]],[0,null,false,null,993324495237852,[[-1,154,null,0,false,false,false,979723902509293,false,[[4,96],[7,[21,96,false,null,0]],[8,0],[7,[0,12]]]]],[],[[0,null,false,null,387718560893249,[[12,295,null,0,false,false,false,585701139648673,false,[[1,[2,"MobileMode"]],[8,0],[7,[0,2]]]]],[[96,472,"Checkbox",432689991125645,false,[[3,1]]]]],[0,null,false,null,826718965611798,[[-1,75,null,0,false,false,false,240997895017897,false]],[[96,472,"Checkbox",299797279913164,false,[[3,0]]]]]]]]],[0,null,false,null,524422714038021,[[128,468,"Dialog",1,false,false,false,122615085716537,false]],[[0,80,null,882978557415891,false,[[1,[2,"Save > Update Mobile Mode"]],[13]]],[-1,99,null,905556175231862,false,[[0,[1,0.5]]]],[-1,203,null,884457959672658,false]]],[0,null,false,null,880359791638542,[[0,169,null,2,false,false,false,300416166093926,false,[[1,[2,"Options > ClearSave"]]]]],[],[[0,null,true,null,453286130576877,[[70,73,null,0,false,false,false,176499081828678,false,[[10,2],[8,0],[7,[0,1]]]],[70,73,null,0,false,false,false,473039308321156,false,[[10,2],[8,0],[7,[0,2]]]]],[[70,356,null,929476487179529,false,[[3,1]]]]],[0,null,true,null,981503581836452,[[70,73,null,0,false,false,false,948378291845230,false,[[10,2],[8,0],[7,[0,3]]]],[70,73,null,0,false,false,false,737859150884648,false,[[10,2],[8,0],[7,[0,4]]]]],[[70,356,null,194575189360687,false,[[3,0]]]]]]],[0,null,false,null,915570454338213,[[0,169,null,2,false,false,false,434280161556795,false,[[1,[2,"Options > Cancel"]]]]],[],[[0,null,true,null,894212122765031,[[70,73,null,0,false,false,false,425301747893856,false,[[10,2],[8,0],[7,[0,1]]]],[70,73,null,0,false,false,false,331058488812646,false,[[10,2],[8,0],[7,[0,2]]]]],[[70,356,null,547155698621588,false,[[3,0]]]]]]],[0,null,false,null,374226985201001,[[0,169,null,2,false,false,false,567162196368065,false,[[1,[2,"Options > Confirm"]]]]],[[0,80,null,476140259072091,false,[[1,[2,"Save > BlowSave"]],[13]]],[0,80,null,796987924011463,false,[[1,[2,"Save > UpdateNbCoins"]],[13]]],[118,155,null,456063911145602,false,[[7,[10,[10,[20,12,112,false,null,[[2,"CollectedCoins"]]],[2,"/"]],[21,1,false,null,9]]]]]],[[0,null,true,null,107389997307043,[[70,73,null,0,false,false,false,852415387312280,false,[[10,2],[8,0],[7,[0,1]]]],[70,73,null,0,false,false,false,805279444528811,false,[[10,2],[8,0],[7,[0,2]]]]],[[70,356,null,788005882196214,false,[[3,0]]]]]]],[0,null,false,null,128235582863542,[[0,169,null,2,false,false,false,158059118632159,false,[[1,[2,"Options > ClearCoins"]]]]],[],[[0,null,true,null,883200955046581,[[70,73,null,0,false,false,false,495897071112166,false,[[10,2],[8,0],[7,[0,1]]]],[70,73,null,0,false,false,false,823341727621437,false,[[10,2],[8,0],[7,[0,2]]]]],[[70,356,null,364822790463409,false,[[3,0]]]]],[0,null,true,null,514042764054691,[[70,73,null,0,false,false,false,455511604467384,false,[[10,2],[8,0],[7,[0,3]]]],[70,73,null,0,false,false,false,614705049901152,false,[[10,2],[8,0],[7,[0,4]]]]],[[70,356,null,856648254713344,false,[[3,1]]]]]]],[0,null,false,null,403319657746801,[[0,169,null,2,false,false,false,142938955956345,false,[[1,[2,"Options > Cancel2"]]]]],[],[[0,null,true,null,667382372085485,[[70,73,null,0,false,false,false,952272085999155,false,[[10,2],[8,0],[7,[0,3]]]],[70,73,null,0,false,false,false,718244295422746,false,[[10,2],[8,0],[7,[0,4]]]]],[[70,356,null,271528872819922,false,[[3,0]]]]]]],[0,null,false,null,200537218593310,[[0,169,null,2,false,false,false,978408513876486,false,[[1,[2,"Options > Confirm2"]]]]],[[0,80,null,258644321864107,false,[[1,[2,"Save > BlowCoins"]],[13]]],[0,80,null,679207350220420,false,[[1,[2,"Save > UpdateNbCoins"]],[13]]],[118,155,null,108025637621196,false,[[7,[10,[10,[20,12,112,false,null,[[2,"CollectedCoins"]]],[2,"/"]],[21,1,false,null,9]]]]]],[[0,null,true,null,543027673907374,[[70,73,null,0,false,false,false,309644325872328,false,[[10,2],[8,0],[7,[0,3]]]],[70,73,null,0,false,false,false,157883383602581,false,[[10,2],[8,0],[7,[0,4]]]]],[[70,356,null,141269359504805,false,[[3,0]]]]]]],[0,null,false,null,867528368166477,[[96,474,"Checkbox",1,false,false,false,119802286444839,false]],[],[[0,null,false,null,187142603821380,[[96,73,null,0,false,false,false,918217100264998,false,[[10,0],[8,0],[7,[0,-2]]]]],[],[[0,null,false,null,966730462205258,[[96,475,"Checkbox",0,false,false,false,747783961960789,false]],[[12,111,null,635209333195580,false,[[1,[2,"MusicMuted"]],[7,[0,0]]]],[201,296,null,452239196412762,false,[[1,[2,"music"]]]]]],[0,null,false,null,710723070957998,[[-1,75,null,0,false,false,false,227859685553262,false]],[[12,111,null,518589212264722,false,[[1,[2,"MusicMuted"]],[7,[0,1]]]],[201,292,null,357058582676680,false,[[1,[2,"music"]]]]]]]],[0,null,false,null,664138061479399,[[96,73,null,0,false,false,false,259024219584289,false,[[10,0],[8,0],[7,[0,-1]]]]],[],[[0,null,false,null,486368119841315,[[96,475,"Checkbox",0,false,false,false,177781219452157,false]],[[12,111,null,725023971740265,false,[[1,[2,"SoundsMuted"]],[7,[0,0]]]],[201,296,null,909553216708269,false,[[1,[2,"sounds"]]]]]],[0,null,false,null,868805440538171,[[-1,75,null,0,false,false,false,125727091768975,false]],[[12,111,null,916774141588272,false,[[1,[2,"SoundsMuted"]],[7,[0,1]]]],[201,292,null,441206804366303,false,[[1,[2,"sounds"]]]]]]]],[0,null,false,null,665447153221185,[[96,73,null,0,false,false,false,739395359140196,false,[[10,0],[8,0],[7,[0,0]]]]],[],[[0,null,false,null,167461449421341,[[96,475,"Checkbox",0,false,false,false,116496995891854,false]],[[4,325,null,594153022381407,false,[[3,0]]],[12,111,null,472628201424803,false,[[1,[2,"Fullscreen"]],[7,[0,1]]]]]],[0,null,false,null,494678538995895,[[-1,75,null,0,false,false,false,528794249597024,false]],[[4,476,null,388154111517884,false],[12,111,null,427730454971424,false,[[1,[2,"Fullscreen"]],[7,[0,0]]]]]]]],[0,null,false,null,658478139883047,[[96,73,null,0,false,false,false,826873870451714,false,[[10,0],[8,0],[7,[0,1]]]]],[],[[0,null,false,null,447773970160464,[[96,475,"Checkbox",0,false,false,false,514359194475288,false]],[[1,197,null,599472396875978,false,[[10,16],[3,0]]],[12,111,null,342975576962081,false,[[1,[2,"HardMode"]],[7,[0,1]]]]]],[0,null,false,null,295340609556400,[[-1,75,null,0,false,false,false,909238785492726,false]],[[1,197,null,193153531291458,false,[[10,16],[3,1]]],[12,111,null,371655681116901,false,[[1,[2,"HardMode"]],[7,[0,0]]]]]]]],[0,null,false,null,959254795502177,[[96,73,null,0,false,false,false,858429791219640,false,[[10,0],[8,0],[7,[0,2]]]]],[],[[0,null,false,null,287120104831544,[[96,475,"Checkbox",0,false,false,false,357900586037386,false]],[[1,197,null,905798709175867,false,[[10,17],[3,1]]],[12,111,null,667060349468462,false,[[1,[2,"AdvancedMode"]],[7,[0,1]]]]]],[0,null,false,null,386242405801118,[[-1,75,null,0,false,false,false,928489243681038,false]],[[1,197,null,650872193487864,false,[[10,17],[3,0]]],[1,197,null,117543504233242,false,[[10,10],[3,0]]],[12,111,null,586261458110113,false,[[1,[2,"AdvancedMode"]],[7,[0,0]]]]]]]],[0,null,false,null,329154681185176,[],[[12,113,null,419716171900365,false]]]]],[0,null,false,null,201897847463463,[[98,477,"SliderBar",0,false,false,false,566488379556777,false],[12,295,null,0,false,false,false,945205246379722,false,[[1,[10,[21,98,true,null,0],[2,"Muted"]]],[8,0],[7,[0,0]]]]],[[201,294,null,491933975844504,false,[[0,[22,98,"SliderBar",478,false,null]],[1,[19,399,[[21,98,true,null,0]]]]]],[12,111,null,737520547189188,false,[[1,[21,98,true,null,0]],[7,[22,98,"SliderBar",478,false,null]]]],[12,113,null,916575316684215,false]]],[0,null,false,null,847883412318164,[[-1,75,null,0,false,false,false,355975888696072,false],[-1,102,null,0,false,false,false,399978724048882,false]],[]]]]]],[0,[true,"Achievements Menu"],false,null,656948668828874,[[-1,72,null,0,false,false,false,656948668828874,false,[[1,[2,"Achievements Menu"]]]]],[],[[0,null,false,null,821520751458944,[[-1,127,null,0,false,false,false,587768219619307,false,[[7,[19,104]],[8,0],[7,[2,"Achievements Menu"]]]]],[],[[0,null,false,null,381027091564338,[[97,479,null,1,false,false,false,351226980093948,false]],[],[[0,null,false,null,739913167509110,[[-1,127,null,0,false,false,false,297489758891366,false,[[7,[20,0,160,false,null,[[2,"Achievements > Hidden"],[22,74,"GridViewDataBind",428,false,null]]]],[8,0],[7,[0,1]]]]],[[97,480,null,305928100537396,false,[[1,[2,"icon-16.png"]],[3,0]]]]]]],[0,null,false,null,706230204500589,[[74,427,"Button",1,false,false,false,120119415748547,false]],[],[[0,null,false,null,313111849897555,[[12,149,null,0,false,false,false,353299489741495,false,[[1,[10,[2,"Achievement"],[22,74,"GridViewDataBind",428,false,null]]]]]],[[95,480,null,669695948028898,false,[[1,[20,0,160,false,null,[[2,"Achievements > Icon"],[22,74,"GridViewDataBind",428,false,null]]]],[3,1]]]],[[1,"layer",1,"",false,false,551095129150140,false],[1,"x",0,0,false,false,993591523856517,false],[1,"y",0,0,false,false,807290452313529,false],[1,"width",0,0,false,false,911851898799818,false],[1,"height",0,0,false,false,577741681332437,false],[1,"id",1,"",false,false,776001738407319,false],[0,null,false,null,968003545089465,[[-1,154,null,0,false,false,false,757049202979217,false,[[4,94],[7,[21,94,true,null,13]],[8,0],[7,[2,"title"]]]]],[[-1,101,null,195330135970852,false,[[11,"layer"],[7,[20,94,267,true,null]]]],[-1,101,null,945723454130831,false,[[11,"x"],[7,[20,94,268,false,null]]]],[-1,101,null,390629527356025,false,[[11,"y"],[7,[20,94,481,false,null]]]],[-1,101,null,103887546846412,false,[[11,"width"],[7,[20,94,271,false,null]]]],[-1,101,null,715104356878654,false,[[11,"height"],[7,[20,94,376,false,null]]]],[-1,101,null,725619280702411,false,[[11,"id"],[7,[21,94,true,null,13]]]]],[[0,null,false,null,433529145402120,[[211,469,null,0,false,false,false,642998234296989,false,[[10,3],[8,0],[7,[20,94,396,false,null]]]]],[[211,482,null,360761560047758,false]]],[0,null,false,null,960793566250048,[],[[94,397,null,213395369006162,false],[-1,266,null,165743210557314,false,[[4,94],[5,[23,"layer"]],[0,[23,"x"]],[0,[23,"y"]]]],[94,270,null,241313887590034,false,[[0,[23,"width"]],[0,[23,"height"]]]],[94,155,null,739281672098731,false,[[7,[20,0,160,false,null,[[2,"Achievements > Name"],[22,74,"GridViewDataBind",428,false,null]]]]]],[94,483,null,267019001000417,false,[[10,1],[3,1]]],[94,365,null,526719815468183,false,[[10,13],[7,[23,"id"]]]],[94,365,null,277209520577855,false,[[10,2],[7,[10,[10,[2,"a"],[4,[22,74,"GridViewDataBind",428,false,null],[0,1]]],[2,"t"]]]]]]]]],[0,null,false,null,435813556385288,[[-1,154,null,0,false,false,false,661155409435412,false,[[4,94],[7,[21,94,true,null,13]],[8,0],[7,[2,"description"]]]]],[[-1,101,null,640318240092128,false,[[11,"layer"],[7,[20,94,267,true,null]]]],[-1,101,null,515238499715170,false,[[11,"x"],[7,[20,94,268,false,null]]]],[-1,101,null,679479151351526,false,[[11,"y"],[7,[20,94,481,false,null]]]],[-1,101,null,939624033752345,false,[[11,"width"],[7,[20,94,271,false,null]]]],[-1,101,null,716151420889652,false,[[11,"height"],[7,[20,94,376,false,null]]]],[-1,101,null,227348788656624,false,[[11,"id"],[7,[21,94,true,null,13]]]]],[[0,null,false,null,808749370509021,[[211,469,null,0,false,false,false,690199345527969,false,[[10,3],[8,0],[7,[20,94,396,false,null]]]]],[[211,482,null,405315745135327,false]]],[0,null,false,null,390943594790405,[],[[94,397,null,655551794200004,false],[-1,266,null,539891262171483,false,[[4,94],[5,[23,"layer"]],[0,[23,"x"]],[0,[23,"y"]]]],[94,270,null,168710756114577,false,[[0,[23,"width"]],[0,[23,"height"]]]],[94,155,null,913738285217300,false,[[7,[20,0,160,false,null,[[2,"Achievements > Description"],[22,74,"GridViewDataBind",428,false,null]]]]]],[94,483,null,720884544223914,false,[[10,1],[3,1]]],[94,365,null,530559955348933,false,[[10,13],[7,[23,"id"]]]],[94,365,null,671194098262590,false,[[10,2],[7,[10,[10,[2,"a"],[4,[22,74,"GridViewDataBind",428,false,null],[0,1]]],[2,"d"]]]]]]]]],[0,null,false,null,577278467322055,[[-1,154,null,0,false,false,false,511528644880422,false,[[4,94],[7,[21,94,true,null,13]],[8,0],[7,[2,"acquired"]]]]],[[-1,101,null,345377927348730,false,[[11,"layer"],[7,[20,94,267,true,null]]]],[-1,101,null,531668741326740,false,[[11,"x"],[7,[20,94,268,false,null]]]],[-1,101,null,900520653086956,false,[[11,"y"],[7,[20,94,481,false,null]]]],[-1,101,null,622590153566758,false,[[11,"width"],[7,[20,94,271,false,null]]]],[-1,101,null,524033641700074,false,[[11,"height"],[7,[20,94,376,false,null]]]],[-1,101,null,779534848854964,false,[[11,"id"],[7,[21,94,true,null,13]]]]],[[0,null,false,null,850635530454179,[[211,469,null,0,false,false,false,943605587974172,false,[[10,3],[8,0],[7,[20,94,396,false,null]]]]],[[211,482,null,577685399430184,false]]],[0,null,false,null,541052735900133,[],[[94,397,null,665529702560603,false],[-1,266,null,762674886568336,false,[[4,94],[5,[23,"layer"]],[0,[23,"x"]],[0,[23,"y"]]]],[94,270,null,936389101580341,false,[[0,[23,"width"]],[0,[23,"height"]]]],[94,155,null,346801258881815,false,[[7,[2,"Acquired !"]]]],[94,483,null,124578138701817,false,[[10,1],[3,1]]],[94,365,null,233036674219955,false,[[10,13],[7,[23,"id"]]]],[94,365,null,964527345904167,false,[[10,2],[7,[2,"acquired"]]]]]]]]]],[0,null,false,null,896624624071550,[[-1,75,null,0,false,false,false,774060841099274,false]],[[95,480,null,403603502253101,false,[[1,[20,0,160,false,null,[[2,"Achievements > Icon"],[22,74,"GridViewDataBind",428,false,null]]]],[3,1]]]],[[1,"layer",1,"",false,false,503800694015631,false],[1,"x",0,0,false,false,488516638737198,false],[1,"y",0,0,false,false,828114629503363,false],[1,"width",0,0,false,false,501522687383830,false],[1,"height",0,0,false,false,978443628624092,false],[1,"id",1,"",false,false,292878610027146,false],[0,null,false,null,607258930825779,[[-1,127,null,0,false,false,false,288224107835013,false,[[7,[20,0,160,false,null,[[2,"Achievements > Hidden"],[22,74,"GridViewDataBind",428,false,null]]]],[8,0],[7,[0,0]]]]],[[95,480,null,503218506031792,false,[[1,[20,0,160,false,null,[[2,"Achievements > Icon"],[22,74,"GridViewDataBind",428,false,null]]]],[3,1]]]],[[0,null,false,null,916624140124142,[[-1,154,null,0,false,false,false,738332120942128,false,[[4,94],[7,[21,94,true,null,13]],[8,0],[7,[2,"title"]]]]],[[-1,101,null,841951828674491,false,[[11,"layer"],[7,[20,94,267,true,null]]]],[-1,101,null,712995641261993,false,[[11,"x"],[7,[20,94,268,false,null]]]],[-1,101,null,560646236831177,false,[[11,"y"],[7,[20,94,481,false,null]]]],[-1,101,null,698999884703059,false,[[11,"width"],[7,[20,94,271,false,null]]]],[-1,101,null,349118457894813,false,[[11,"height"],[7,[20,94,376,false,null]]]],[-1,101,null,845853045756469,false,[[11,"id"],[7,[21,94,true,null,13]]]]],[[0,null,false,null,512709810866488,[[211,469,null,0,false,false,false,350656781110850,false,[[10,3],[8,0],[7,[20,94,396,false,null]]]]],[[211,482,null,822212897751774,false]]],[0,null,false,null,335098935028489,[],[[94,397,null,869662375951436,false],[-1,266,null,566343289668134,false,[[4,94],[5,[23,"layer"]],[0,[23,"x"]],[0,[23,"y"]]]],[94,270,null,429351507589950,false,[[0,[23,"width"]],[0,[23,"height"]]]],[94,155,null,317927323267578,false,[[7,[20,0,160,false,null,[[2,"Achievements > Name"],[22,74,"GridViewDataBind",428,false,null]]]]]],[94,483,null,207751834183703,false,[[10,1],[3,1]]],[94,365,null,336508096104704,false,[[10,13],[7,[23,"id"]]]],[94,365,null,873682716304150,false,[[10,2],[7,[10,[10,[2,"a"],[4,[22,74,"GridViewDataBind",428,false,null],[0,1]]],[2,"t"]]]]]]]]],[0,null,false,null,492712603881215,[[-1,154,null,0,false,false,false,789409405109610,false,[[4,94],[7,[21,94,true,null,13]],[8,0],[7,[2,"description"]]]]],[[-1,101,null,998983888670905,false,[[11,"layer"],[7,[20,94,267,true,null]]]],[-1,101,null,699946001697857,false,[[11,"x"],[7,[20,94,268,false,null]]]],[-1,101,null,231945243891529,false,[[11,"y"],[7,[20,94,481,false,null]]]],[-1,101,null,789455966398357,false,[[11,"width"],[7,[20,94,271,false,null]]]],[-1,101,null,188717204086012,false,[[11,"height"],[7,[20,94,376,false,null]]]],[-1,101,null,266259414148862,false,[[11,"id"],[7,[21,94,true,null,13]]]]],[[0,null,false,null,317537646075921,[[211,469,null,0,false,false,false,558130232774327,false,[[10,3],[8,0],[7,[20,94,396,false,null]]]]],[[211,482,null,260603938925743,false]]],[0,null,false,null,542453205176391,[],[[94,397,null,203063331292483,false],[-1,266,null,881813193956301,false,[[4,94],[5,[23,"layer"]],[0,[23,"x"]],[0,[23,"y"]]]],[94,270,null,157446703926075,false,[[0,[23,"width"]],[0,[23,"height"]]]],[94,155,null,660495164201854,false,[[7,[20,0,160,false,null,[[2,"Achievements > Description"],[22,74,"GridViewDataBind",428,false,null]]]]]],[94,483,null,691099133148254,false,[[10,1],[3,1]]],[94,365,null,806273326778513,false,[[10,13],[7,[23,"id"]]]],[94,365,null,406024831941084,false,[[10,2],[7,[10,[10,[2,"a"],[4,[22,74,"GridViewDataBind",428,false,null],[0,1]]],[2,"d"]]]]]]]]],[0,null,false,null,870862464098072,[[-1,154,null,0,false,false,false,821048318956903,false,[[4,94],[7,[21,94,true,null,13]],[8,0],[7,[2,"acquired"]]]]],[[-1,101,null,821764777691418,false,[[11,"layer"],[7,[20,94,267,true,null]]]],[-1,101,null,592103797832914,false,[[11,"x"],[7,[20,94,268,false,null]]]],[-1,101,null,856011033039001,false,[[11,"y"],[7,[20,94,481,false,null]]]],[-1,101,null,827480346216204,false,[[11,"width"],[7,[20,94,271,false,null]]]],[-1,101,null,929005471392280,false,[[11,"height"],[7,[20,94,376,false,null]]]],[-1,101,null,687913310617628,false,[[11,"id"],[7,[21,94,true,null,13]]]]],[[0,null,false,null,216959968439433,[[211,469,null,0,false,false,false,365532956367402,false,[[10,3],[8,0],[7,[20,94,396,false,null]]]]],[[211,482,null,931118800182618,false]]],[0,null,false,null,806333633871482,[],[[94,397,null,585608691449667,false],[-1,266,null,605839174979560,false,[[4,94],[5,[23,"layer"]],[0,[23,"x"]],[0,[23,"y"]]]],[94,270,null,281971029453152,false,[[0,[23,"width"]],[0,[23,"height"]]]],[94,155,null,872686665170414,false,[[7,[2,"Locked"]]]],[94,483,null,929829483983499,false,[[10,1],[3,1]]],[94,365,null,741163001068018,false,[[10,13],[7,[23,"id"]]]],[94,365,null,459639408051748,false,[[10,2],[7,[2,"locked"]]]]]]]]]],[0,null,false,null,214314125792274,[[-1,75,null,0,false,false,false,638723524684623,false],[-1,117,null,0,true,false,false,130412779229096,false,[[4,94]]]],[[-1,101,null,866394747103930,false,[[11,"layer"],[7,[20,94,267,true,null]]]],[-1,101,null,937023886486373,false,[[11,"x"],[7,[20,94,268,false,null]]]],[-1,101,null,734292571888424,false,[[11,"y"],[7,[20,94,481,false,null]]]],[-1,101,null,371200041037531,false,[[11,"width"],[7,[20,94,271,false,null]]]],[-1,101,null,477539150518945,false,[[11,"height"],[7,[20,94,376,false,null]]]],[-1,101,null,541600752347992,false,[[11,"id"],[7,[21,94,true,null,13]]]]],[[0,null,false,null,242638627782381,[[211,469,null,0,false,false,false,811169204076745,false,[[10,3],[8,0],[7,[20,94,396,false,null]]]]],[[211,482,null,703626246047692,false]]],[0,null,false,null,411861319056040,[],[[94,397,null,231065851174601,false],[-1,266,null,912675559033104,false,[[4,94],[5,[23,"layer"]],[0,[23,"x"]],[0,[23,"y"]]]],[94,270,null,301033760816191,false,[[0,[23,"width"]],[0,[23,"height"]]]],[94,155,null,919786184970227,false,[[7,[2,"Hidden"]]]],[94,483,null,203253658806049,false,[[10,1],[3,1]]],[94,365,null,605790505636535,false,[[10,13],[7,[23,"id"]]]],[94,365,null,476879154366326,false,[[10,2],[7,[2,"hidden"]]]]]]]]]]]]]]]],[0,[true,"Skins Menu"],false,null,669443833198293,[[-1,72,null,0,false,false,false,669443833198293,false,[[1,[2,"Skins Menu"]]]]],[],[[0,null,false,null,643609585737673,[[-1,127,null,0,false,false,false,172966868788532,false,[[7,[19,104]],[8,0],[7,[2,"Skins Menu"]]]]],[],[[0,null,false,null,106582919991828,[[-1,102,null,0,false,false,false,469942645361492,false]],[],[[0,null,false,null,429456712741849,[[-1,154,null,0,false,false,false,119430995324453,false,[[4,94],[7,[21,94,true,null,13]],[8,0],[7,[2,"money"]]]]],[[94,155,null,611753810308308,false,[[7,[20,12,112,false,null,[[2,"Gold"]]]]]]]],[0,null,false,null,540366651666542,[[-1,230,null,0,false,false,false,727680066832854,false]],[[-1,437,null,613658149888789,false,[[5,[2,"MenuUI"]],[3,1]]]]]]],[1,"CurID",0,0,true,false,958246589545178,false],[0,null,false,null,896678220417662,[[97,479,null,1,false,false,false,763854769114713,false]],[],[[0,null,false,null,943437450929486,[[-1,127,null,0,false,false,false,906421317083340,false,[[7,[20,0,160,false,null,[[2,"Skins > Hidden"],[22,74,"GridViewDataBind",428,false,null]]]],[8,0],[7,[0,1]]]]],[[97,480,null,613188314272625,false,[[1,[2,"icon-16.png"]],[3,0]]]]]]],[0,null,false,null,511768739214551,[[74,427,"Button",1,false,false,false,907643302435332,false]],[[-1,101,null,846660924248251,false,[[11,"CurID"],[7,[22,74,"GridViewDataBind",428,false,null]]]],[0,80,null,246421101183359,false,[[1,[2,"Menu > Update Skin"]],[13]]]]],[0,null,false,null,368443385734796,[[0,169,null,2,false,false,false,324411130437419,false,[[1,[2,"Menu > Update Skin"]]]]],[],[[1,"layer",1,"",false,false,172275881519323,false],[1,"x",0,0,false,false,523108027957793,false],[1,"y",0,0,false,false,654160945822342,false],[1,"width",0,0,false,false,994130672159193,false],[1,"height",0,0,false,false,266122937008499,false],[1,"id",1,"",false,false,973933503507726,false],[1,"metadata",1,"",false,false,730211894395608,false],[0,null,false,null,149456600755715,[[12,149,null,0,false,true,false,194281333290950,false,[[1,[10,[2,"Skin"],[23,"CurID"]]]]],[-1,127,null,0,false,false,false,680689685386459,false,[[7,[20,0,160,false,null,[[2,"Skins > Buyable"],[23,"CurID"]]]],[8,0],[7,[0,0]]]],[12,149,null,0,false,false,false,687199320585386,false,[[1,[10,[2,"Achievement"],[20,0,160,false,null,[[2,"Skins > Achievement"],[23,"CurID"]]]]]]]],[[0,80,null,683633404241610,false,[[1,[2,"Save > Skin"]],[13,[7,[23,"CurID"]]]]]]],[0,null,true,null,948930903586347,[[12,149,null,0,false,false,false,770699724855543,false,[[1,[10,[2,"Skin"],[23,"CurID"]]]]],[-1,127,null,0,false,false,false,575813882917847,false,[[7,[20,0,160,false,null,[[2,"Skins > Price"],[23,"CurID"]]]],[8,0],[7,[0,0]]]]],[[42,82,null,319209909290319,false,[[10,12],[7,[20,0,160,false,null,[[2,"Skins > Skin"],[23,"CurID"]]]]]]],[[0,null,false,null,401876056271041,[[-1,154,null,0,false,false,false,777928695677737,false,[[4,94],[7,[21,94,true,null,13]],[8,0],[7,[2,"title"]]]]],[[-1,101,null,492921665501711,false,[[11,"layer"],[7,[20,94,267,true,null]]]],[-1,101,null,298979781622890,false,[[11,"x"],[7,[20,94,268,false,null]]]],[-1,101,null,274974147306050,false,[[11,"y"],[7,[20,94,481,false,null]]]],[-1,101,null,270105214954526,false,[[11,"width"],[7,[20,94,271,false,null]]]],[-1,101,null,937406714193673,false,[[11,"height"],[7,[20,94,376,false,null]]]],[-1,101,null,977887337362338,false,[[11,"id"],[7,[21,94,true,null,13]]]],[-1,101,null,940982030109383,false,[[11,"metadata"],[7,[21,94,true,null,7]]]]],[[0,null,false,null,302206321781154,[[211,469,null,0,false,false,false,492623789774763,false,[[10,3],[8,0],[7,[20,94,396,false,null]]]]],[[211,482,null,465025251946321,false]]],[0,null,false,null,932129654498864,[],[[94,397,null,489664646117703,false],[-1,266,null,337679511597519,false,[[4,94],[5,[23,"layer"]],[0,[23,"x"]],[0,[23,"y"]]]],[94,270,null,563183009709173,false,[[0,[23,"width"]],[0,[23,"height"]]]],[94,155,null,717442025438372,false,[[7,[20,0,160,false,null,[[2,"Skins > Name"],[23,"CurID"]]]]]],[94,483,null,659789128759841,false,[[10,1],[3,1]]],[94,365,null,311575243993671,false,[[10,13],[7,[23,"id"]]]],[94,365,null,503243201384011,false,[[10,7],[7,[23,"metadata"]]]],[94,365,null,695919029304480,false,[[10,2],[7,[20,0,160,false,null,[[2,"Skins > Lang"],[23,"CurID"]]]]]]]]]],[0,null,false,null,344881604810746,[[-1,154,null,0,false,false,false,589251084593901,false,[[4,94],[7,[21,94,true,null,13]],[8,0],[7,[2,"button"]]]]],[[-1,101,null,176375875812401,false,[[11,"layer"],[7,[20,94,267,true,null]]]],[-1,101,null,697454258891258,false,[[11,"x"],[7,[20,94,268,false,null]]]],[-1,101,null,267630287500711,false,[[11,"y"],[7,[20,94,481,false,null]]]],[-1,101,null,924325396754697,false,[[11,"width"],[7,[20,94,271,false,null]]]],[-1,101,null,923808876792547,false,[[11,"height"],[7,[20,94,376,false,null]]]],[-1,101,null,965034598879666,false,[[11,"id"],[7,[21,94,true,null,13]]]],[-1,101,null,614709919052011,false,[[11,"metadata"],[7,[21,94,true,null,7]]]]],[[0,null,false,null,293913179735946,[[211,469,null,0,false,false,false,295417569807327,false,[[10,3],[8,0],[7,[20,94,396,false,null]]]]],[[211,482,null,611867874484407,false]]],[0,null,false,null,775930173803489,[],[[94,397,null,924826660941354,false],[-1,266,null,183264858842960,false,[[4,94],[5,[23,"layer"]],[0,[23,"x"]],[0,[23,"y"]]]],[94,270,null,742499354429951,false,[[0,[23,"width"]],[0,[23,"height"]]]],[94,155,null,107285146337246,false,[[7,[2,"Choose"]]]],[94,483,null,132450609593251,false,[[10,1],[3,1]]],[94,365,null,913931552345649,false,[[10,13],[7,[23,"id"]]]],[94,365,null,228474712511918,false,[[10,7],[7,[23,"metadata"]]]],[94,365,null,332021180210544,false,[[10,2],[7,[2,"choose"]]]]]]]],[0,null,false,null,469043922022399,[[-1,154,null,0,false,false,false,591039374772687,false,[[4,94],[7,[21,94,true,null,13]],[8,0],[7,[2,"price"]]]]],[[-1,101,null,509482732789675,false,[[11,"layer"],[7,[20,94,267,true,null]]]],[-1,101,null,745201799025488,false,[[11,"x"],[7,[20,94,268,false,null]]]],[-1,101,null,846094696628073,false,[[11,"y"],[7,[20,94,481,false,null]]]],[-1,101,null,605674764404357,false,[[11,"width"],[7,[20,94,271,false,null]]]],[-1,101,null,801734246889076,false,[[11,"height"],[7,[20,94,376,false,null]]]],[-1,101,null,437242292263915,false,[[11,"id"],[7,[21,94,true,null,13]]]],[-1,101,null,214821971911627,false,[[11,"metadata"],[7,[21,94,true,null,7]]]]],[[0,null,false,null,549887865216433,[[211,469,null,0,false,false,false,709844692145895,false,[[10,3],[8,0],[7,[20,94,396,false,null]]]]],[[211,482,null,870961715714247,false]]],[0,null,false,null,753742230420935,[],[[94,397,null,518667187882079,false],[-1,266,null,282761601152721,false,[[4,94],[5,[23,"layer"]],[0,[23,"x"]],[0,[23,"y"]]]],[94,270,null,130148183058376,false,[[0,[23,"width"]],[0,[23,"height"]]]],[94,483,null,199342716555777,false,[[10,1],[3,1]]],[94,365,null,589315084338435,false,[[10,13],[7,[23,"id"]]]],[94,365,null,797970909521850,false,[[10,7],[7,[23,"metadata"]]]]],[[0,null,false,null,781004870535756,[[1,108,null,0,false,false,false,990412782166406,false,[[10,8],[8,0],[7,[20,0,160,false,null,[[2,"Skins > Skin"],[23,"CurID"]]]]]]],[[94,155,null,343884997266165,false,[[7,[2,"Chosen"]]]],[106,414,"Button",835448433888955,false,[[3,0]]],[94,365,null,799429580177711,false,[[10,2],[7,[2,"chosen"]]]]]],[0,null,false,null,608998256124589,[[-1,75,null,0,false,false,false,175227135047000,false]],[[94,155,null,215468664227994,false,[[7,[2,"Acquired"]]]],[106,414,"Button",536656556730856,false,[[3,1]]],[94,365,null,121124848216881,false,[[10,2],[7,[2,"acquired"]]]]]]]]]]]],[0,null,false,null,329071394535602,[[-1,75,null,0,false,false,false,868223091080772,false]],[],[[0,null,false,null,109370804162802,[[-1,127,null,0,false,false,false,290596363318318,false,[[7,[20,0,160,false,null,[[2,"Skins > Hidden"],[23,"CurID"]]]],[8,0],[7,[0,0]]]]],[[42,82,null,884633416053389,false,[[10,12],[7,[20,0,160,false,null,[[2,"Skins > Skin"],[23,"CurID"]]]]]]],[[0,null,false,null,899999516362563,[[-1,154,null,0,false,false,false,585738312260725,false,[[4,94],[7,[21,94,true,null,13]],[8,0],[7,[2,"title"]]]]],[[-1,101,null,415485073352815,false,[[11,"layer"],[7,[20,94,267,true,null]]]],[-1,101,null,163893057338327,false,[[11,"x"],[7,[20,94,268,false,null]]]],[-1,101,null,954367960490842,false,[[11,"y"],[7,[20,94,481,false,null]]]],[-1,101,null,484105201072737,false,[[11,"width"],[7,[20,94,271,false,null]]]],[-1,101,null,677532696492862,false,[[11,"height"],[7,[20,94,376,false,null]]]],[-1,101,null,760141734663687,false,[[11,"id"],[7,[21,94,true,null,13]]]],[-1,101,null,268309968404200,false,[[11,"metadata"],[7,[21,94,true,null,7]]]]],[[0,null,false,null,245699905316493,[[211,469,null,0,false,false,false,101895163053867,false,[[10,3],[8,0],[7,[20,94,396,false,null]]]]],[[211,482,null,258053924941307,false]]],[0,null,false,null,278412423879376,[],[[94,397,null,298842578304488,false],[-1,266,null,336491520997776,false,[[4,94],[5,[23,"layer"]],[0,[23,"x"]],[0,[23,"y"]]]],[94,270,null,778103252967021,false,[[0,[23,"width"]],[0,[23,"height"]]]],[94,155,null,694882498307117,false,[[7,[20,0,160,false,null,[[2,"Skins > Name"],[23,"CurID"]]]]]],[94,483,null,754650122456286,false,[[10,1],[3,1]]],[94,365,null,503597283801085,false,[[10,13],[7,[23,"id"]]]],[94,365,null,834635246089368,false,[[10,7],[7,[23,"metadata"]]]],[94,365,null,961806748508915,false,[[10,2],[7,[20,0,160,false,null,[[2,"Skins > Lang"],[23,"CurID"]]]]]]]]]],[0,null,false,null,561102933042836,[[-1,154,null,0,false,false,false,567519100507703,false,[[4,94],[7,[21,94,true,null,13]],[8,0],[7,[2,"price"]]]]],[[-1,101,null,222879531573951,false,[[11,"layer"],[7,[20,94,267,true,null]]]],[-1,101,null,407977851510433,false,[[11,"x"],[7,[20,94,268,false,null]]]],[-1,101,null,420032764284850,false,[[11,"y"],[7,[20,94,481,false,null]]]],[-1,101,null,807267270613932,false,[[11,"width"],[7,[20,94,271,false,null]]]],[-1,101,null,458755022854776,false,[[11,"height"],[7,[20,94,376,false,null]]]],[-1,101,null,609340944380236,false,[[11,"id"],[7,[21,94,true,null,13]]]],[-1,101,null,502896677373283,false,[[11,"metadata"],[7,[21,94,true,null,7]]]]],[[0,null,false,null,222605767705377,[[211,469,null,0,false,false,false,524136815036111,false,[[10,3],[8,0],[7,[20,94,396,false,null]]]]],[[211,482,null,872947970618049,false]]],[0,null,false,null,873918198505192,[],[[94,397,null,993806284545072,false],[-1,266,null,756491450746737,false,[[4,94],[5,[23,"layer"]],[0,[23,"x"]],[0,[23,"y"]]]],[94,270,null,653356256089324,false,[[0,[23,"width"]],[0,[23,"height"]]]],[94,483,null,130886724651954,false,[[10,1],[3,1]]],[94,365,null,990978144750665,false,[[10,13],[7,[23,"id"]]]],[94,365,null,814772459059626,false,[[10,7],[7,[23,"metadata"]]]]],[[0,null,false,null,339830203506720,[[-1,127,null,0,false,false,false,515653252262492,false,[[7,[20,0,160,false,null,[[2,"Skins > Buyable"],[23,"CurID"]]]],[8,1],[7,[0,0]]]]],[[167,311,null,488360932510957,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,"price"]],[7,[2,"text"]],[7,[2,"Price: {0}"]],[7,[2,""]]]]],[167,311,null,892225141481220,false,[[1,[2,"processString"]],[13,[7,[20,167,312,false,null]],[7,[20,0,160,false,null,[[2,"Skins > Price"],[23,"CurID"]]]]]]],[94,155,null,860808753414917,false,[[7,[20,167,312,false,null]]]],[94,483,null,358186573228586,false,[[10,1],[3,0]]],[94,483,null,822902797753918,false,[[10,0],[3,0]]],[94,483,null,496176940249027,false,[[10,6],[3,1]]],[94,483,null,252580714090759,false,[[10,5],[3,1]]]]],[0,null,false,null,860152746092731,[[-1,75,null,0,false,false,false,201229947912888,false]],[[167,311,null,678777924301270,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,"achievement"]],[7,[2,"text"]],[7,[2,"Achievement: {0}"]],[7,[2,""]]]]],[167,311,null,470507980764756,false,[[1,[2,"processString"]],[13,[7,[20,167,312,false,null]],[7,[20,0,160,false,null,[[2,"Achievements > Name"],[20,0,160,false,null,[[2,"Skins > Achievement"],[23,"CurID"]]]]]]]]],[94,155,null,863319868818647,false,[[7,[20,167,312,false,null]]]],[94,483,null,658915465233999,false,[[10,1],[3,0]]],[94,483,null,856739959043738,false,[[10,0],[3,0]]],[94,483,null,288497395543069,false,[[10,6],[3,1]]],[94,483,null,303423802145677,false,[[10,5],[3,1]]]]]]]]],[0,null,false,null,580415218146675,[[-1,154,null,0,false,false,false,389093258917261,false,[[4,94],[7,[21,94,true,null,13]],[8,0],[7,[2,"button"]]]]],[[-1,101,null,900359016912890,false,[[11,"layer"],[7,[20,94,267,true,null]]]],[-1,101,null,423303602527836,false,[[11,"x"],[7,[20,94,268,false,null]]]],[-1,101,null,283467663197101,false,[[11,"y"],[7,[20,94,481,false,null]]]],[-1,101,null,422286500384914,false,[[11,"width"],[7,[20,94,271,false,null]]]],[-1,101,null,385110882647276,false,[[11,"height"],[7,[20,94,376,false,null]]]],[-1,101,null,238986498865397,false,[[11,"id"],[7,[21,94,true,null,13]]]],[-1,101,null,688053268359456,false,[[11,"metadata"],[7,[21,94,true,null,7]]]]],[[0,null,false,null,666070546734104,[[211,469,null,0,false,false,false,553012600154247,false,[[10,3],[8,0],[7,[20,94,396,false,null]]]]],[[211,482,null,116442823013046,false]]],[0,null,false,null,750949219457506,[],[[94,397,null,239073506817257,false],[-1,266,null,549434025766677,false,[[4,94],[5,[23,"layer"]],[0,[23,"x"]],[0,[23,"y"]]]],[94,270,null,131028262552383,false,[[0,[23,"width"]],[0,[23,"height"]]]],[94,483,null,889858540926193,false,[[10,1],[3,1]]],[94,365,null,321458041979111,false,[[10,13],[7,[23,"id"]]]],[94,365,null,854698824395014,false,[[10,7],[7,[23,"metadata"]]]]],[[0,null,false,null,758040197973246,[[-1,127,null,0,false,false,false,756502751777708,false,[[7,[20,0,160,false,null,[[2,"Skins > Buyable"],[23,"CurID"]]]],[8,1],[7,[0,0]]]]],[[94,155,null,170183739863404,false,[[7,[2,"Buy"]]]],[106,414,"Button",721913177858822,false,[[3,1]]],[94,365,null,317417180431929,false,[[10,2],[7,[2,"buy"]]]]]],[0,null,false,null,449974727995028,[[-1,75,null,0,false,false,false,892175686584734,false]],[[94,155,null,468877822974261,false,[[7,[2,""]]]],[106,414,"Button",472008873443320,false,[[3,0]]],[94,483,null,169442309430943,false,[[10,1],[3,0]]],[94,483,null,638770646019080,false,[[10,0],[3,0]]],[94,483,null,139523215178514,false,[[10,6],[3,1]]]]]]]]]]],[0,null,false,null,458189743087276,[[-1,75,null,0,false,false,false,498084561328616,false]],[[42,82,null,851397777543094,false,[[10,12],[7,[2,""]]]]],[[0,null,false,null,316074994297803,[[-1,154,null,0,false,false,false,707755115093424,false,[[4,94],[7,[21,94,true,null,13]],[8,0],[7,[2,"title"]]]]],[[-1,101,null,307502448528348,false,[[11,"layer"],[7,[20,94,267,true,null]]]],[-1,101,null,934441307273133,false,[[11,"x"],[7,[20,94,268,false,null]]]],[-1,101,null,376664913679415,false,[[11,"y"],[7,[20,94,481,false,null]]]],[-1,101,null,858735747549229,false,[[11,"width"],[7,[20,94,271,false,null]]]],[-1,101,null,741811968466865,false,[[11,"height"],[7,[20,94,376,false,null]]]],[-1,101,null,267849802826946,false,[[11,"id"],[7,[21,94,true,null,13]]]],[-1,101,null,659158648983909,false,[[11,"metadata"],[7,[21,94,true,null,7]]]]],[[0,null,false,null,570720708258047,[[211,469,null,0,false,false,false,602351536668253,false,[[10,3],[8,0],[7,[20,94,396,false,null]]]]],[[211,482,null,351735925434417,false]]],[0,null,false,null,775895497249732,[],[[94,397,null,702365733725431,false],[-1,266,null,766269787788882,false,[[4,94],[5,[23,"layer"]],[0,[23,"x"]],[0,[23,"y"]]]],[94,270,null,213383911457558,false,[[0,[23,"width"]],[0,[23,"height"]]]],[94,155,null,385618153200203,false,[[7,[2,"Hidden"]]]],[94,483,null,575721841745207,false,[[10,1],[3,1]]],[94,365,null,854529112552494,false,[[10,13],[7,[23,"id"]]]],[94,365,null,529892666781664,false,[[10,7],[7,[23,"metadata"]]]],[94,365,null,818759374234853,false,[[10,2],[7,[2,"hidden"]]]]]]]],[0,null,false,null,678907001585150,[[-1,154,null,0,false,false,false,818853343145464,false,[[4,94],[7,[21,94,true,null,13]],[8,0],[7,[2,"price"]]]]],[[-1,101,null,333183479800861,false,[[11,"layer"],[7,[20,94,267,true,null]]]],[-1,101,null,924724301866340,false,[[11,"x"],[7,[20,94,268,false,null]]]],[-1,101,null,127172098187993,false,[[11,"y"],[7,[20,94,481,false,null]]]],[-1,101,null,810757351821354,false,[[11,"width"],[7,[20,94,271,false,null]]]],[-1,101,null,989266133369108,false,[[11,"height"],[7,[20,94,376,false,null]]]],[-1,101,null,206999536168489,false,[[11,"id"],[7,[21,94,true,null,13]]]],[-1,101,null,220139410984727,false,[[11,"metadata"],[7,[21,94,true,null,7]]]]],[[0,null,false,null,411999556705473,[[211,469,null,0,false,false,false,253029787913199,false,[[10,3],[8,0],[7,[20,94,396,false,null]]]]],[[211,482,null,400267933142172,false]]],[0,null,false,null,998741628706228,[],[[94,397,null,193855283792357,false],[-1,266,null,848778434508842,false,[[4,94],[5,[23,"layer"]],[0,[23,"x"]],[0,[23,"y"]]]],[94,270,null,332836763850577,false,[[0,[23,"width"]],[0,[23,"height"]]]],[94,365,null,956520329679482,false,[[10,13],[7,[23,"id"]]]],[94,365,null,588652154477089,false,[[10,7],[7,[23,"metadata"]]]]],[[0,null,false,null,180545547663075,[[-1,127,null,0,false,false,false,310200525708409,false,[[7,[20,0,160,false,null,[[2,"Skins > Buyable"],[23,"CurID"]]]],[8,1],[7,[0,0]]]]],[[167,311,null,430118072543615,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,"price"]],[7,[2,"text"]],[7,[2,"Price: {0}"]],[7,[2,""]]]]],[167,311,null,283702157194843,false,[[1,[2,"processString"]],[13,[7,[20,167,312,false,null]],[7,[20,0,160,false,null,[[2,"Skins > Price"],[23,"CurID"]]]]]]],[94,155,null,252984899720163,false,[[7,[20,167,312,false,null]]]],[94,483,null,283441801968819,false,[[10,1],[3,0]]],[94,483,null,324888287701120,false,[[10,0],[3,0]]],[94,483,null,863231503490198,false,[[10,6],[3,1]]]]],[0,null,false,null,745865681124743,[[-1,75,null,0,false,false,false,602426686100634,false]],[[167,311,null,630531109498996,false,[[1,[2,"getLanguageValue"]],[13,[7,[21,30,true,null,0]],[7,[2,"achievement"]],[7,[2,"text"]],[7,[2,"Achievement: {0}"]],[7,[2,""]]]]],[167,311,null,660980133872128,false,[[1,[2,"processString"]],[13,[7,[20,167,312,false,null]],[7,[20,0,160,false,null,[[2,"Achievements > Name"],[20,0,160,false,null,[[2,"Skins > Achievement"],[23,"CurID"]]]]]]]]],[94,155,null,997590122592513,false,[[7,[20,167,312,false,null]]]],[94,483,null,522792739998515,false,[[10,1],[3,0]]],[94,483,null,498854818531276,false,[[10,0],[3,0]]],[94,483,null,835085459880539,false,[[10,6],[3,1]]]]]]]]],[0,null,false,null,106614593797223,[[-1,154,null,0,false,false,false,677337682976714,false,[[4,94],[7,[21,94,true,null,13]],[8,0],[7,[2,"button"]]]]],[[-1,101,null,594239761195934,false,[[11,"layer"],[7,[20,94,267,true,null]]]],[-1,101,null,364394389316592,false,[[11,"x"],[7,[20,94,268,false,null]]]],[-1,101,null,956661578873178,false,[[11,"y"],[7,[20,94,481,false,null]]]],[-1,101,null,224275217984265,false,[[11,"width"],[7,[20,94,271,false,null]]]],[-1,101,null,725381529715610,false,[[11,"height"],[7,[20,94,376,false,null]]]],[-1,101,null,628807614846761,false,[[11,"id"],[7,[21,94,true,null,13]]]],[-1,101,null,782566213183095,false,[[11,"metadata"],[7,[21,94,true,null,7]]]]],[[0,null,false,null,536301786423087,[[211,469,null,0,false,false,false,953749472488958,false,[[10,3],[8,0],[7,[20,94,396,false,null]]]]],[[211,482,null,181719378892094,false]]],[0,null,false,null,881563095308404,[],[[94,397,null,203297007316799,false],[-1,266,null,732646393116556,false,[[4,94],[5,[23,"layer"]],[0,[23,"x"]],[0,[23,"y"]]]],[94,270,null,500529308062901,false,[[0,[23,"width"]],[0,[23,"height"]]]],[94,155,null,575142545417641,false,[[7,[2,"Hidden"]]]],[94,483,null,200093242241292,false,[[10,1],[3,1]]],[94,365,null,910881896213798,false,[[10,13],[7,[23,"id"]]]],[94,365,null,968104012574633,false,[[10,7],[7,[23,"metadata"]]]],[94,365,null,130571899727038,false,[[10,2],[7,[2,"hidden"]]]]],[[0,null,false,null,683180564041825,[[-1,127,null,0,false,false,false,194305898410661,false,[[7,[20,0,160,false,null,[[2,"Skins > Buyable"],[23,"CurID"]]]],[8,1],[7,[0,0]]]]],[[94,155,null,657603917644175,false,[[7,[2,"Buy"]]]],[106,414,"Button",483480646709841,false,[[3,1]]]]],[0,null,false,null,145175279661500,[[-1,75,null,0,false,false,false,531467634455552,false]],[[94,155,null,798020939550879,false,[[7,[2,""]]]],[106,414,"Button",245488863499958,false,[[3,0]]],[94,483,null,223341179829899,false,[[10,1],[3,0]]],[94,483,null,789094994254012,false,[[10,0],[3,0]]],[94,483,null,135535848111583,false,[[10,6],[3,1]]]]]]]]]]]]],[0,null,false,null,463256858522888,[],[[-1,99,null,419613621617968,false,[[0,[0,0]]]]],[[0,null,false,null,465381913358883,[[-1,180,null,0,true,false,false,626778640843334,false,[[4,203],[7,[21,203,false,null,0]],[3,1]]]],[[203,181,null,718989313993728,false,[[3,0],[4,42]]]]],[0,null,false,null,460179524218187,[[42,73,null,0,false,false,false,303029714350800,false,[[10,12],[8,0],[7,[2,"spanish"]]]]],[[32,181,null,251974626751745,false,[[3,1],[4,33]]]]],[0,null,false,null,969150741028909,[[42,73,null,0,false,false,false,251615831588836,false,[[10,12],[8,0],[7,[2,""]]]]],[[203,182,"Skin",461467509373234,false]]],[0,null,false,null,501576378991201,[[-1,75,null,0,false,false,false,742547114630364,false]],[[203,183,"Skin",137835415568916,false,[[1,[21,42,true,null,12]]]],[203,184,"Skin",115916439584713,false,[[3,1]]]]]]]]],[0,null,false,null,763288788447646,[[106,427,"Button",1,false,false,false,111446320124506,false]],[],[[0,null,false,null,935797859081416,[[12,149,null,0,false,false,false,851850751857040,false,[[1,[10,[2,"Skin"],[23,"CurID"]]]]]],[[1,316,null,997892591215158,false,[[10,8],[7,[20,0,160,false,null,[[2,"Skins > Skin"],[23,"CurID"]]]]]],[12,111,null,679969978764122,false,[[1,[2,"CurSkin"]],[7,[21,1,true,null,8]]]],[12,113,null,758578674784746,false]]],[0,null,false,null,695502533235226,[[-1,75,null,0,false,false,false,594814014249123,false],[-1,127,null,0,false,false,false,269506238232837,false,[[7,[20,0,160,false,null,[[2,"Skins > Buyable"],[23,"CurID"]]]],[8,1],[7,[0,0]]]]],[],[[0,null,false,null,153026498706027,[[12,295,null,0,false,false,false,459112937131916,false,[[1,[2,"Gold"]],[8,5],[7,[19,105,[[20,0,160,false,null,[[2,"Skins > Price"],[23,"CurID"]]]]]]]]],[[12,484,null,571623014471422,false,[[1,[2,"Gold"]],[0,[19,105,[[20,0,160,false,null,[[2,"Skins > Price"],[23,"CurID"]]]]]]]],[0,80,null,343286106581180,false,[[1,[2,"Skins > Unlock"]],[13,[7,[23,"CurID"]]]]],[1,316,null,259862072560787,false,[[10,8],[7,[20,0,160,false,null,[[2,"Skins > Skin"],[23,"CurID"]]]]]],[12,111,null,666870509285026,false,[[1,[2,"CurSkin"]],[7,[21,1,true,null,8]]]],[12,113,null,143156884866654,false]],[[0,null,false,null,606474893444688,[[-1,125,null,0,false,false,false,402090155926161,false,[[4,94]]],[-1,154,null,0,false,false,false,710124773678083,false,[[4,94],[7,[21,94,true,null,13]],[8,0],[7,[2,"money"]]]]],[[94,155,null,234777291755029,false,[[7,[20,12,112,false,null,[[2,"Gold"]]]]]]]]]]]],[0,null,false,null,823699531276430,[],[[0,80,null,201989566419106,false,[[1,[2,"Menu > Update Skin"]],[13]]]]]]]]]]],[0,[true,"Credits Menu"],false,null,757417334387862,[[-1,72,null,0,false,false,false,757417334387862,false,[[1,[2,"Credits Menu"]]]]],[],[[0,null,true,null,370802196191169,[[3,485,null,1,false,false,false,865656571087228,false,[[4,112]]],[10,460,null,1,false,false,false,733782634527298,false,[[3,0],[3,1],[4,112]]]],[[0,80,null,881072830216894,false,[[1,[2,"unlockAllLevels"]],[13]]]]]]]]],["Common Menus",[[2,"Main Menu",false],[0,[true,"End Card"],false,null,302531167753173,[[-1,72,null,0,false,false,false,302531167753173,false,[[1,[2,"End Card"]]]]],[],[[0,null,false,null,709127389402980,[[0,169,null,2,false,false,false,758587919888590,false,[[1,[2,"Menu > End"]]]]],[[78,283,"Dialog",448032496261272,false,[[0,[0,0]],[0,[0,0]],[3,1]]],[-1,433,null,146027187906884,false,[[0,[0,0]]]],[4,198,null,265031532258374,false,[[1,[2,"WebSdkWrapper.gameplayStop()"]]]]],[[0,null,false,null,209727201401536,[[42,77,null,0,false,true,false,165705405148012,false,[[10,16]]]],[],[[0,null,false,null,459345575056318,[[42,77,null,0,false,true,false,697345247586576,false,[[10,18]]]],[[80,155,null,772203547329617,false,[[7,[20,84,372,true,null]]]]],[[0,null,false,null,615154646507367,[[1,107,null,0,false,false,false,257934359768203,false,[[10,17]]]],[[27,238,null,403696272321881,false,[[3,0],[7,[0,0]],[3,0]]],[27,352,null,639446474707387,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,0]],[7,[7,[19,412,[[6,[20,42,121,false,null],[0,100]]]],[0,100]]]]],[27,352,null,949837414376675,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,1]],[7,[7,[19,412,[[6,[20,42,122,false,null],[0,100]]]],[0,100]]]]],[27,352,null,884202899385116,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,2]],[7,[7,[19,412,[[6,[20,42,87,false,null],[0,100]]]],[0,100]]]]],[27,352,null,795212320375246,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,3]],[7,[21,42,true,null,0]]]],[27,352,null,259754123549251,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,4]],[7,[20,42,353,false,null]]]],[27,352,null,770779046276800,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,5]],[7,[21,42,false,null,2]]]],[27,486,null,633106613946569,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,0]],[0,[0,1]],[7,[20,80,372,true,null]]]],[27,486,null,693993370845458,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,1]],[0,[0,1]],[7,[19,104]]]],[4,285,null,458544939599424,false,[[3,1],[7,[2,"Not replaying, end of level"]]]]]]]],[0,null,false,null,536953458054288,[[-1,75,null,0,false,false,false,329926866747076,false]],[[4,285,null,371567591100624,false,[[3,1],[7,[2,"Replaying, end of level"]]]]],[[0,null,false,null,574992713258808,[[-1,127,null,0,false,false,false,981822717828988,false,[[7,[20,27,242,false,null,[[5,[20,27,251,false,null],[0,1]],[0,1],[0,1]]]],[8,1],[7,[19,104]]]]],[[80,155,null,675530373324722,false,[[7,[10,[10,[2,"|"],[20,84,372,true,null]],[2,"|"]]]]]]],[0,null,false,null,680102265660463,[[-1,75,null,0,false,false,false,592750067097760,false]],[[80,155,null,410579586492146,false,[[7,[20,27,242,false,null,[[5,[20,27,251,false,null],[0,1]],[0,0],[0,1]]]]]]]]]]]]]],[0,null,false,null,161907250474873,[[-1,127,null,0,false,false,false,525301166878135,false,[[7,[19,189,[[19,104],[2,"Level"]]]],[8,1],[7,[0,-1]]]]],[],[[0,null,true,null,169513857372481,[[0,169,null,2,false,false,false,952940984388581,false,[[1,[2,"Menu > Replay"]]]],[2,284,null,1,false,false,false,999042921041768,false,[[9,82]]]],[],[[0,null,false,null,712981394275815,[[2,487,null,0,false,false,false,317542631770457,false,[[9,17]]],[1,107,null,0,false,true,false,552749489878396,false,[[10,3]]],[1,107,null,0,false,true,false,274503767365712,false,[[10,21]]]],[[-1,488,null,527435541814437,false,[[6,"Level 1"]]]]],[0,null,false,null,227260233995585,[[-1,75,null,0,false,false,false,990475204881135,false],[2,487,null,0,false,false,false,792162639428200,false,[[9,17]]],[1,107,null,0,false,false,false,199966970925087,false,[[10,21]]]],[[-1,432,null,868495525724217,false,[[1,[10,[2,"Level "],[21,1,false,null,19]]]]]]],[0,null,false,null,147240126713441,[[-1,75,null,0,false,false,false,133571855606909,false],[2,487,null,0,false,false,false,221734676113925,false,[[9,17]]]],[[-1,489,null,589805634608540,false],[4,198,null,442112124168438,false,[[1,[10,[10,[2,"WebSdkWrapper.replayLevel("],[19,105,[[19,106,[[19,104],[0,1],[2," "]]]]]],[2,")"]]]]],[78,426,"Dialog",971846159506900,false],[-1,433,null,191215297940802,false,[[0,[0,1]]]],[-1,203,null,463241098446547,false]]],[0,null,false,null,689039611648109,[[-1,75,null,0,false,false,false,838360495729270,false]],[[4,198,null,978705794277951,false,[[1,[10,[10,[2,"WebSdkWrapper.replayLevel("],[19,105,[[19,106,[[19,104],[0,1],[2," "]]]]]],[2,")"]]]]],[78,426,"Dialog",134750538964283,false],[-1,433,null,276110713654038,false,[[0,[0,1]]]],[-1,203,null,617552514180430,false]],[[0,null,false,null,226347249892819,[[49,77,null,0,false,false,false,859632681011826,false,[[10,2]]],[1,107,null,0,false,false,false,457356909362241,false,[[10,16]]]],[],[[0,null,false,null,222053043218322,[[78,490,"Dialog",0,false,false,false,446175701282203,false]],[[-1,489,null,992979311551848,false]]],[0,null,false,null,849390939309567,[[-1,75,null,0,false,false,false,317347617826600,false]],[],[[0,null,true,null,675536112900555,[[2,487,null,0,false,false,false,640779014384891,false,[[9,82]]],[0,491,null,0,false,false,false,203105083234461,false,[[0,[0,0]],[8,0],[7,[2,"1"]]]]],[[1,197,null,262468450122039,false,[[10,23],[3,0]]]]],[0,null,false,null,990487818797297,[[-1,75,null,0,false,false,false,679383756139380,false]],[[-1,489,null,802433053930171,false]]]]]]]]]]]]]]],[0,[true,"End Game"],false,null,612836382817091,[[-1,72,null,0,false,false,false,612836382817091,false,[[1,[2,"End Game"]]]]],[],[[0,null,false,null,293626678624596,[[-1,98,null,1,false,false,false,522784042602369,false],[1,107,null,0,false,true,false,765975451972328,false,[[10,16]]],[-1,154,null,0,false,false,false,324633872653584,false,[[4,86],[7,[21,86,false,null,13]],[8,0],[7,[0,1]]]]],[[86,370,null,196741678100464,false,[[3,0]]]]],[0,null,false,null,409899824037429,[[0,169,null,2,false,false,false,943420265334402,false,[[1,[2,"Menu > EndGame"]]]]],[[4,198,null,785679874532806,false,[[1,[2,"WebSdkWrapper.gameplayStop()"]]]]],[[1,"ID",0,0,true,false,873328039958921,false],[0,null,false,null,899205794266984,[],[[-1,101,null,315854355272890,false,[[11,"ID"],[7,[19,105,[[19,106,[[19,104],[0,1],[2," "]]]]]]]],[85,283,"Dialog",568255723791512,false,[[0,[0,0]],[0,[0,0]],[3,1]]],[-1,433,null,283670882313126,false,[[0,[0,0]]]]]],[0,null,false,null,686666836895303,[],[[87,155,null,223757763137903,false,[[7,[10,[10,[20,158,411,true,null,[[4,[5,[19,212],[21,1,false,null,4]],[12,[19,412,[[6,[5,[5,[19,212],[21,1,false,null,4]],[19,299,[[5,[19,212],[21,1,false,null,4]]]]],[0,100]]]],[0,100]]]]],[2,":"]],[19,413,[[8,[19,412,[[6,[5,[5,[19,212],[21,1,false,null,4]],[19,299,[[5,[19,212],[21,1,false,null,4]]]]],[0,100]]]],[0,100]],[0,2]]]]]]]]],[0,null,false,null,405095970679863,[[0,491,null,0,false,false,false,679677439621132,false,[[0,[0,0]],[8,0],[7,[0,1]]]]],[[12,331,null,753809230526805,false,[[1,[2,"LastLevel"]]]]],[[0,null,true,null,222972121543207,[[12,295,null,0,false,false,false,182786535824295,false,[[1,[10,[2,"besttime"],[18,[21,1,false,null,16],[2,""],[2,"hard"]]]],[8,4],[7,[5,[19,212],[21,1,false,null,4]]]]],[12,149,null,0,false,true,false,121716094544242,false,[[1,[10,[2,"besttime"],[18,[21,1,false,null,16],[2,""],[2,"hard"]]]]]]],[[12,111,null,923112123588732,false,[[1,[10,[2,"besttime"],[18,[21,1,false,null,16],[2,""],[2,"hard"]]]],[7,[5,[19,212],[21,1,false,null,4]]]]]]],[0,null,false,null,886937511906526,[],[[12,113,null,744114023522790,false],[0,80,null,609193379410712,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[0,10]]]]]]],[0,null,false,null,425761453351688,[[-1,127,null,0,false,false,false,422504623314119,false,[[7,[5,[19,212],[21,1,false,null,4]]],[8,2],[7,[0,1800]]]]],[[0,80,null,605411096496037,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[0,17]]]]]]],[0,null,false,null,461442906920531,[[-1,127,null,0,false,false,false,731569061079203,false,[[7,[5,[19,212],[21,1,false,null,4]]],[8,2],[7,[0,1200]]]]],[[0,80,null,561508630375738,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[0,18]]]]]]],[0,null,false,null,459011121532967,[[-1,127,null,0,false,false,false,339265486027966,false,[[7,[5,[19,212],[21,1,false,null,4]]],[8,2],[7,[0,900]]]]],[[0,80,null,512760531207384,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[0,19]]]]]]],[0,null,false,null,477870726137467,[[-1,127,null,0,false,false,false,317486560332106,false,[[7,[5,[19,212],[21,1,false,null,4]]],[8,2],[7,[0,720]]]]],[[0,80,null,626741715000200,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[0,20]]]]]]],[0,null,false,null,879870594361487,[[-1,127,null,0,false,false,false,926281368122848,false,[[7,[5,[19,212],[21,1,false,null,4]]],[8,2],[7,[0,600]]]]],[[0,80,null,970875238999204,false,[[1,[2,"Achievements > Unlock"]],[13,[7,[0,21]]]]]]]]],[0,null,false,null,227026462503861,[[-1,75,null,0,false,false,false,892841263991846,false]],[[12,111,null,990009305072551,false,[[1,[2,"LastLevel"]],[7,[23,"ID"]]]],[12,111,null,845235993766094,false,[[1,[2,"LastTime"]],[7,[5,[19,212],[21,1,false,null,4]]]]],[12,113,null,672089999605577,false]]],[0,null,false,null,285181653116836,[[1,107,null,0,false,true,false,124190166327472,false,[[10,16]]],[-1,154,null,0,false,false,false,713035359215442,false,[[4,86],[7,[21,86,false,null,13]],[8,0],[7,[0,1]]]]],[[86,155,null,329868443143761,false,[[7,[2,""]]]]]]]],[0,null,false,null,650548338318059,[[85,490,"Dialog",0,false,false,false,348900990616530,false]],[[-1,433,null,248282075447055,false,[[0,[0,0]]]]]],[0,null,false,null,100397740958838,[[0,169,null,2,false,false,false,916832030247877,false,[[1,[2,"Menu > EndSection"]]]]],[[4,198,null,263218451793155,false,[[1,[2,"WebSdkWrapper.gameplayStop()"]]]]],[[1,"ID",0,0,true,false,484376273891582,false],[0,null,false,null,318061866619929,[],[[-1,101,null,136534166858059,false,[[11,"ID"],[7,[19,105,[[19,106,[[19,104],[0,1],[2," "]]]]]]]],[85,283,"Dialog",966649999999678,false,[[0,[0,0]],[0,[0,0]],[3,1]]],[-1,433,null,963980019629255,false,[[0,[0,0]]]]]],[0,null,false,null,674438848025793,[],[[87,155,null,216504206624453,false,[[7,[10,[10,[20,158,411,true,null,[[4,[5,[19,212],[21,1,false,null,4]],[12,[19,412,[[6,[5,[5,[19,212],[21,1,false,null,4]],[19,299,[[5,[19,212],[21,1,false,null,4]]]]],[0,100]]]],[0,100]]]]],[2,":"]],[19,413,[[8,[19,412,[[6,[5,[5,[19,212],[21,1,false,null,4]],[19,299,[[5,[19,212],[21,1,false,null,4]]]]],[0,100]]]],[0,100]],[0,2]]]]]]]]],[0,null,false,null,675826073195189,[[0,491,null,0,false,false,false,971978611413270,false,[[0,[0,0]],[8,0],[7,[0,1]]]]],[],[[0,null,true,null,154248911237079,[[12,295,null,0,false,false,false,225820692499716,false,[[1,[10,[10,[2,"section"],[21,1,false,null,22]],[18,[21,1,false,null,16],[2,""],[2,"hard"]]]],[8,4],[7,[5,[19,212],[21,1,false,null,4]]]]],[12,149,null,0,false,true,false,971394579318746,false,[[1,[10,[10,[2,"section"],[21,1,false,null,22]],[18,[21,1,false,null,16],[2,""],[2,"hard"]]]]]]],[[12,111,null,611662975464628,false,[[1,[10,[10,[2,"section"],[21,1,false,null,22]],[18,[21,1,false,null,16],[2,""],[2,"hard"]]]],[7,[5,[19,212],[21,1,false,null,4]]]]],[12,113,null,325664025797929,false]]]]],[0,null,false,null,809320547579340,[[1,107,null,0,false,true,false,332682531146518,false,[[10,16]]],[-1,154,null,0,false,false,false,123828881883283,false,[[4,86],[7,[21,86,false,null,13]],[8,0],[7,[0,1]]]]],[[86,155,null,787091234811848,false,[[7,[2,""]]]]]]]],[0,null,false,null,149212780561182,[[0,169,null,2,false,false,false,791270415102331,false,[[1,[2,"Menu > Quit"]]]]],[],[[0,null,false,null,237113626970291,[[1,107,null,0,false,false,false,660003922027194,false,[[10,21]]]],[[0,80,null,750371591667945,false,[[1,[2,"Menu > Back"]],[13,[7,[2,"Level Menu"]]]]]]],[0,null,false,null,842289969527789,[[-1,75,null,0,false,false,false,246120446856333,false]],[[0,80,null,959132430192777,false,[[1,[2,"Menu > Back"]],[13]]]]]]],[0,null,false,null,318038015938804,[[0,169,null,2,false,false,false,366440051444645,false,[[1,[2,"Menu > GiveUp"]]]]],[],[[0,null,false,null,801215542845065,[[1,107,null,0,false,false,false,503042263728246,false,[[10,3]]]],[[0,80,null,674792449388939,false,[[1,[2,"Menu > Back"]],[13,[7,[2,"Level Menu"]]]]]]],[0,null,false,null,245922569845796,[[-1,75,null,0,false,false,false,617264826385075,false],[1,107,null,0,false,false,false,708615277015887,false,[[10,21]]]],[[82,426,"Dialog",713645575164214,false],[0,80,null,805292929669738,false,[[1,[2,"Menu > EndSection"]],[13]]]]],[0,null,false,null,353345522023934,[[-1,75,null,0,false,false,false,577988136034176,false]],[[82,426,"Dialog",315067274619222,false],[0,80,null,387166345777490,false,[[1,[2,"Menu > EndGame"]],[13]]]]]]]]],[0,[true,"Timer"],false,null,950881186405880,[[-1,72,null,0,false,false,false,950881186405880,false,[[1,[2,"Timer"]]]]],[],[[0,null,false,null,488066008141850,[[-1,98,null,1,false,false,false,663266422955971,false]],[],[[0,null,false,null,521213949187200,[[1,107,null,0,false,false,false,919942977630328,false,[[10,3]]],[1,107,null,0,false,false,false,188795640237163,false,[[10,23]]]],[[-1,99,null,211589105552628,false,[[0,[0,0]]]],[1,316,null,107076666420292,false,[[10,4],[7,[19,212]]]]]],[0,null,false,null,943071831702513,[[-1,75,null,0,false,false,false,342487783209723,false],[1,107,null,0,false,false,false,546410233544586,false,[[10,3]]]],[[-1,99,null,813963509029242,false,[[0,[0,0]]]],[1,197,null,992581271602993,false,[[10,23],[3,1]]]]],[0,null,false,null,817812932397469,[[-1,75,null,0,false,false,false,504471931909322,false],[1,107,null,0,false,false,false,812529449912139,false,[[10,21]]],[-1,127,null,0,false,false,false,804626161861954,false,[[7,[19,104]],[8,0],[7,[10,[2,"Level "],[21,1,false,null,19]]]]]],[[-1,99,null,439252165343312,false,[[0,[0,0]]]],[1,316,null,600469641925766,false,[[10,4],[7,[19,212]]]]]],[0,null,false,null,362073651254561,[[-1,75,null,0,false,false,false,773699210911176,false],[-1,127,null,0,false,false,false,428809421294412,false,[[7,[19,104]],[8,0],[7,[2,"Level 1"]]]]],[[1,316,null,630362494080530,false,[[10,4],[7,[19,212]]]]]]]],[0,null,false,null,603136682992150,[[-1,146,null,0,false,false,false,199663942168572,false]],[[84,155,null,361882916609205,false,[[7,[10,[10,[20,158,411,true,null,[[4,[5,[19,212],[21,1,false,null,4]],[12,[19,412,[[6,[5,[5,[19,212],[21,1,false,null,4]],[19,299,[[5,[19,212],[21,1,false,null,4]]]]],[0,100]]]],[0,100]]]]],[2,":"]],[19,413,[[8,[19,412,[[6,[5,[5,[19,212],[21,1,false,null,4]],[19,299,[[5,[19,212],[21,1,false,null,4]]]]],[0,100]]]],[0,100]],[0,2]]]]]]]]]]],[0,[true,"Pause"],false,null,384765354261598,[[-1,72,null,0,false,false,false,384765354261598,false,[[1,[2,"Pause"]]]]],[],[[0,null,false,null,610730821509938,[],[[192,492,null,602467676495717,false,[[5,[2,"Banner"]]]]],[[0,null,false,null,630063847573074,[[-1,230,null,0,false,false,false,368270944119686,false],[4,493,null,0,false,false,false,627460471506454,false,[[3,0]]]],[[192,494,null,936130871616309,false,[[0,[5,[7,[5,[5,[19,448,[[0,0]]],[19,449,[[0,0]]]],[5,[19,456,[[0,0],[0,320],[0,0]]],[19,456,[[0,0],[0,0],[0,0]]]]],[0,2]],[7,[5,[5,[19,448,[[0,0]]],[19,449,[[0,0]]]],[19,495]],[0,2]]]],[0,[20,193,122,false,null]]]],[192,496,null,953801069232090,false,[[0,[21,192,false,null,0]]]]]],[0,null,false,null,723963684658375,[[-1,75,null,0,false,false,false,929948538602613,false]],[[192,494,null,616366021521937,false,[[0,[5,[7,[5,[5,[19,448,[[0,0]]],[19,449,[[0,0]]]],[5,[19,456,[[0,0],[0,728],[0,0]]],[19,456,[[0,0],[0,0],[0,0]]]]],[0,2]],[7,[5,[5,[19,448,[[0,0]]],[19,449,[[0,0]]]],[19,495]],[0,2]]]],[0,[20,193,122,false,null]]]],[192,496,null,702345075222413,false,[[0,[21,192,false,null,1]]]]]]]],[0,null,false,null,522195407738835,[[82,424,"Dialog",1,false,false,false,383305005686616,false]],[[192,497,null,207582269060861,false,[[3,1]]],[-1,425,null,827273086995556,false,[[4,192],[0,[1,1]]]],[192,244,"Timer",481154358681698,false,[[1,[2,"reloadBanner"]]]],[192,177,"Timer",795250891913259,false,[[0,[1,0.1]],[3,0],[1,[2,"reloadBanner"]]]]]],[0,null,false,null,150771120437358,[[82,468,"Dialog",1,false,false,false,514730990499604,false]],[[192,497,null,420164042761338,false,[[3,0]]]]],[0,null,false,null,970022356723960,[[192,172,"Timer",0,false,false,false,778869142896610,false,[[1,[2,"reloadBanner"]]]],[82,490,"Dialog",0,false,false,false,662719918481399,false]],[[4,198,null,374898824547148,false,[[1,[2,"crazyCreateBanner('banner-container');"]]]],[192,177,"Timer",330547537461034,false,[[0,[0,35]],[3,0],[1,[2,"reloadBanner"]]]]]],[0,null,true,null,452267350406719,[[2,284,null,1,false,false,false,511089652215093,false,[[9,27]]],[2,284,null,1,false,false,false,945057948798189,false,[[9,80]]],[0,169,null,2,false,false,false,977311094832537,false,[[1,[2,"Menu > Pause"]]]]],[],[[0,null,false,null,490520238677286,[[-1,127,null,0,false,false,false,781919767139096,false,[[7,[19,226]],[8,0],[7,[0,0]]]]],[[82,426,"Dialog",706132062197292,false],[4,198,null,152820335765257,false,[[1,[2,"WebSdkWrapper.gameplayStart()"]]]]]],[0,null,false,null,859828450866567,[[-1,75,null,0,false,false,false,635432268951636,false]],[[82,283,"Dialog",722950342322390,false,[[0,[0,0]],[0,[0,0]],[3,1]]],[4,198,null,114326327408557,false,[[1,[2,"WebSdkWrapper.gameplayStop()"]]]]]]]]]],[0,[true,"Mobile UI"],false,null,944043991060676,[[-1,72,null,0,false,false,false,944043991060676,false,[[1,[2,"Mobile UI"]]]]],[],[[0,null,false,null,762628016594779,[[-1,98,null,1,false,false,false,493786824767456,false],[-1,230,null,0,false,true,false,811631262577511,false]],[[-1,437,null,748666092008041,false,[[5,[2,"UI"]],[3,0]]],[-1,99,null,833537948328169,false,[[0,[0,0]]]],[69,115,null,452409791188089,false,[[0,[0,5]]]]]]]],[0,[true,"Advanced Mode"],false,null,756024822518035,[[-1,72,null,0,false,false,false,756024822518035,false,[[1,[2,"Advanced Mode"]]]]],[],[[0,null,false,null,702663697454685,[[-1,98,null,1,false,false,false,569181878349590,false]],[[168,498,null,227434280226239,false,[[1,[20,168,499,true,null,[[0,0]]]]]]],[[0,null,false,null,688230009925224,[[70,77,null,0,false,false,false,562697511910891,false,[[10,0]]]],[],[[0,null,false,null,541152964737233,[[1,107,null,0,false,true,false,510497958893991,false,[[10,17]]]],[[70,81,null,446224066903101,false]]],[0,null,false,null,226486766558580,[[1,107,null,0,false,false,false,575661192879641,false,[[10,17]]],[1,107,null,0,false,true,false,248692080150757,false,[[10,3]]],[70,77,null,0,false,false,false,698128574231214,false,[[10,1]]]],[[70,81,null,323333555991468,false]]]]],[0,null,false,null,233048542541466,[[1,107,null,0,false,true,false,477142756543700,false,[[10,18]]],[1,107,null,0,false,false,false,261206594640894,false,[[10,23]]]],[[27,239,null,744259601429197,false,[[0,[0,0]],[0,[0,6]],[0,[0,2]]]]]]]],[0,null,false,null,490320274181563,[[1,107,null,0,false,false,false,367496974877386,false,[[10,17]]],[1,107,null,0,false,false,false,767445192037113,false,[[10,3]]],[42,77,null,0,false,true,false,706014771812973,false,[[10,18]]]],[],[[1,"totdt",0,0,true,false,319679141936885,false],[0,null,false,null,271890834233288,[],[[-1,213,null,415115657405282,false,[[11,"totdt"],[7,[19,79]]]]]],[0,null,false,null,962140809185321,[[-1,252,null,0,true,false,false,704626674064172,false],[-1,100,null,0,false,false,false,590659835489616,false,[[11,"totdt"],[8,4],[7,[1,0.01666666666666667]]]]],[[-1,253,null,945549537160498,false,[[11,"totdt"],[7,[1,0.01666666666666667]]]]],[[0,null,false,null,529200358711974,[[42,77,null,0,false,true,false,240218461033037,false,[[10,16]]],[-1,241,null,0,false,false,false,450417494803050,false,[[0,[1,0.01666666666666667]]]],[-1,127,null,0,false,false,false,681270245883362,false,[[7,[19,226]],[8,4],[7,[0,0]]]]],[[27,238,null,247687114747868,false,[[3,0],[7,[0,0]],[3,0]]],[27,352,null,404264710748038,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,0]],[7,[7,[19,412,[[6,[20,42,121,false,null],[0,100]]]],[0,100]]]]],[27,352,null,706656863325808,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,1]],[7,[7,[19,412,[[6,[20,42,122,false,null],[0,100]]]],[0,100]]]]],[27,352,null,610565351411549,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,2]],[7,[7,[19,412,[[6,[20,42,87,false,null],[0,100]]]],[0,100]]]]],[27,352,null,642765732392315,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,3]],[7,[21,42,true,null,0]]]],[27,352,null,339214591279330,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,4]],[7,[20,42,353,false,null]]]],[27,352,null,465342308519391,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,5]],[7,[21,42,false,null,2]]]]],[[0,null,false,null,929529790085761,[[42,76,null,0,false,false,false,563029101708564,false,[[4,44]]]],[[27,238,null,729280623741012,false,[[3,0],[7,[0,0]],[3,0]]],[27,352,null,785413972240910,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,0]],[7,[7,[19,412,[[6,[20,42,121,false,null],[0,100]]]],[0,100]]]]],[27,352,null,979314577543949,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,1]],[7,[7,[19,412,[[6,[20,42,122,false,null],[0,100]]]],[0,100]]]]],[27,352,null,634081725701366,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,2]],[7,[7,[19,412,[[6,[20,42,87,false,null],[0,100]]]],[0,100]]]]],[27,352,null,515981605277238,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,3]],[7,[21,42,true,null,0]]]],[27,352,null,386193070638092,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,4]],[7,[20,42,353,false,null]]]],[27,352,null,546383906389528,false,[[0,[5,[20,27,251,false,null],[0,1]]],[0,[0,5]],[7,[21,42,false,null,2]]]]]]]]]]]],[1,"CompressingReplay",0,0,true,false,443629980533071,false],[0,null,false,null,737551028557660,[[0,169,null,2,false,false,false,534258974263435,false,[[1,[2,"Menu > DownloadReplay"]]]]],[],[[0,null,false,null,221969088095474,[[-1,100,null,0,false,false,false,938070281396012,false,[[11,"CompressingReplay"],[8,0],[7,[0,0]]]]],[[-1,101,null,290124616410457,false,[[11,"CompressingReplay"],[7,[0,1]]]],[167,311,null,186754630317475,false,[[1,[2,"compressReplay"]],[13,[7,[20,27,355,true,null]]]]]]]]],[0,null,false,null,467448427145843,[[0,169,null,2,false,false,false,700625786752757,false,[[1,[2,"replayCompressed"]]]],[-1,100,null,0,false,false,false,989557552733529,false,[[11,"CompressingReplay"],[8,0],[7,[0,1]]]]],[[4,500,null,420935782283809,false,[[1,[20,0,170,false,null,[[0,0]]]],[1,[2,"application/json"]],[1,[10,[19,104],[2,"-replay.ovo"]]]]],[-1,101,null,705647126113581,false,[[11,"CompressingReplay"],[7,[0,0]]]]]],[0,null,false,null,428536203781779,[[0,169,null,2,false,false,false,427396613077287,false,[[1,[2,"Menu > LoadReplay"]]]]],[[4,198,null,557890820377806,false,[[1,[2,"document.getElementById('file').click()"]]]]]],[0,null,false,null,212525123458025,[[168,501,null,1,false,false,false,747782818557750,false]],[[8,421,null,416266104086454,false,[[1,[2,"replay"]],[1,[20,168,499,true,null,[[0,0]]]]]]]],[1,"DecompressingReplay",0,0,true,false,546390088495646,false],[0,null,false,null,348024747088678,[[8,305,null,1,false,false,false,847085133630149,false,[[1,[2,"replay"]]]]],[[167,311,null,698142658878674,false,[[1,[2,"decompressReplay"]],[13,[7,[20,8,307,true,null]]]]],[-1,101,null,646682265622261,false,[[11,"DecompressingReplay"],[7,[0,1]]]]]],[0,null,false,null,287299998197608,[[0,169,null,2,false,false,false,160844781746182,false,[[1,[2,"replayDecompressed"]]]],[-1,100,null,0,false,false,false,637927529975069,false,[[11,"DecompressingReplay"],[8,0],[7,[0,1]]]]],[[27,257,null,428574112945022,false,[[1,[20,0,170,false,null,[[0,0]]]]]],[1,316,null,959622092840206,false,[[10,4],[7,[19,212]]]],[168,498,null,421953675194102,false,[[1,[20,168,499,true,null,[[0,0]]]]]],[0,80,null,631227268184782,false,[[1,[2,"Menu > Pause"]],[13]]],[1,197,null,943362930342364,false,[[10,18],[3,1]]],[-1,101,null,460681541541529,false,[[11,"DecompressingReplay"],[7,[0,0]]]],[-1,433,null,496164623229478,false,[[0,[0,1]]]],[-1,489,null,798047723886223,false],[-1,203,null,968828132749675,false]]]]]]],["Parse Auth",[[2,"Common Menus",false],[0,[true,"Parse Auth"],false,null,938319982019981,[[-1,72,null,0,false,false,false,938319982019981,false,[[1,[2,"Parse Auth"]]]]],[],[[0,[true,"Parse Auth > Mobile Control"],false,null,490618339457944,[[-1,72,null,0,false,false,false,490618339457944,false,[[1,[2,"Parse Auth > Mobile Control"]]]]],[],[[1,"id",0,0,true,false,930356198715420,false],[0,null,false,null,656075754915147,[[-1,230,null,0,false,false,false,432909794693673,false]],[],[[0,null,false,null,970232525842123,[[101,502,null,1,false,false,false,371593609943967,false]],[[4,231,null,164804904924638,false,[[1,[23,"VibratePtrn"]]]],[-1,101,null,946880704265881,false,[[11,"id"],[7,[21,101,false,null,0]]]],[-1,99,null,377397707670656,false,[[0,[1,0.1]]]]]],[0,null,false,null,121768104283290,[[-1,154,null,0,false,false,false,406084915404440,false,[[4,101],[7,[21,101,false,null,0]],[8,0],[7,[23,"id"]]]]],[[101,503,null,184029817474397,false]]]]]]],[0,[true,"Parse Auth > UI"],false,null,777350050317882,[[-1,72,null,0,false,false,false,777350050317882,false,[[1,[2,"Parse Auth > UI"]]]]],[],[[0,null,false,null,325164430899891,[[100,504,null,1,false,false,false,688653122013436,false]],[[4,231,null,409567906831354,false,[[1,[23,"VibratePtrn"]]]]],[[0,null,false,null,373962641970671,[[100,505,null,0,false,false,false,314541005325907,false,[[10,0],[8,0],[7,[2,"login"]]]]],[],[[1,"login",1,"",false,false,306592330102427,false],[1,"pass",1,"",false,false,203696354472961,false],[0,null,false,null,525185847667686,[[101,506,null,0,false,false,false,131133488181352,false,[[10,0],[8,0],[7,[0,0]]]]],[[-1,101,null,220378479709399,false,[[11,"login"],[7,[20,101,507,true,null]]]]]],[0,null,false,null,524456115434329,[[101,506,null,0,false,false,false,575634213536008,false,[[10,0],[8,0],[7,[0,1]]]]],[[-1,101,null,261312307986330,false,[[11,"pass"],[7,[20,101,507,true,null]]]]]],[0,null,false,null,111663849865898,[[-1,125,null,0,false,false,false,207805715677266,false,[[4,100]]],[100,505,null,0,false,false,false,234775825673310,false,[[10,0],[8,0],[7,[2,"rememberme"]]]],[100,508,null,0,false,false,false,996112414648860,false]],[[12,509,null,975040269559345,false,[[1,[2,"login"]],[1,[23,"login"]]]]]]]],[0,null,false,null,250631402608892,[[100,505,null,0,false,false,false,163597238093450,false,[[10,0],[8,0],[7,[2,"register"]]]]],[],[[1,"login",1,"",false,false,236089636504177,false],[1,"mail",1,"",false,false,174124755549006,false],[1,"pass",1,"",false,false,878982572803662,false],[0,null,false,null,878689297295570,[[101,506,null,0,false,false,false,435364979650098,false,[[10,0],[8,0],[7,[0,3]]]]],[[-1,101,null,274785278131063,false,[[11,"login"],[7,[20,101,507,true,null]]]]]],[0,null,false,null,224451900348724,[[101,506,null,0,false,false,false,517116402297316,false,[[10,0],[8,0],[7,[0,4]]]]],[[-1,101,null,108065644233963,false,[[11,"mail"],[7,[20,101,507,true,null]]]]]],[0,null,false,null,842065937347931,[[101,506,null,0,false,false,false,751474500991484,false,[[10,0],[8,0],[7,[0,5]]]]],[[-1,101,null,550366854852467,false,[[11,"pass"],[7,[20,101,507,true,null]]]]]]]],[0,null,false,null,848900101905271,[[100,505,null,0,false,false,false,418153116775083,false,[[10,0],[8,0],[7,[2,"forgotpass"]]]]],[],[[1,"mail",1,"",false,false,892021480793412,false],[0,null,false,null,635434711364300,[[101,506,null,0,false,false,false,797569108187421,false,[[10,0],[8,0],[7,[0,10]]]]],[[-1,101,null,324402066505479,false,[[11,"mail"],[7,[20,101,507,true,null]]]]]]]],[0,null,false,null,553643444156102,[[100,505,null,0,false,false,false,399023609108781,false,[[10,0],[8,0],[7,[2,"logout"]]]]],[[-1,437,null,608381143468429,false,[[5,[2,"Login"]],[3,1]]],[-1,437,null,978461652012299,false,[[5,[2,"AccountInfo"]],[3,0]]]]],[0,null,false,null,597402758429809,[[100,505,null,0,false,false,false,994279573123952,false,[[10,0],[8,0],[7,[2,"tologin"]]]]],[[-1,437,null,597369093939400,false,[[5,[2,"Login"]],[3,1]]],[-1,437,null,587950048890640,false,[[5,[2,"Register"]],[3,0]]],[-1,437,null,851647392870629,false,[[5,[2,"ForgotPass"]],[3,0]]]]],[0,null,false,null,307735466157324,[[100,505,null,0,false,false,false,774985103507320,false,[[10,0],[8,0],[7,[2,"toregister"]]]]],[[-1,437,null,342331086035015,false,[[5,[2,"Login"]],[3,0]]],[-1,437,null,476573231574714,false,[[5,[2,"Register"]],[3,1]]]]],[0,null,false,null,619220202915592,[[100,505,null,0,false,false,false,498157888548870,false,[[10,0],[8,0],[7,[2,"toforgotpass"]]]]],[[-1,437,null,967726436367735,false,[[5,[2,"Login"]],[3,0]]],[-1,437,null,818304287430006,false,[[5,[2,"ForgotPass"]],[3,1]]]]]]],[0,null,false,null,603324730029772,[[-1,98,null,1,false,false,false,762314668204334,false]],[[-1,437,null,444144243800721,false,[[5,[2,"Login"]],[3,1]]],[-1,437,null,391306290624365,false,[[5,[2,"Register"]],[3,0]]],[-1,437,null,426406917722780,false,[[5,[2,"AccountInfo"]],[3,0]]],[-1,437,null,157355335286566,false,[[5,[2,"ForgotPass"]],[3,0]]]]],[0,null,false,null,708492434835837,[],[[-1,437,null,355493799904189,false,[[5,[2,"Login"]],[3,0]]],[-1,437,null,416072506484792,false,[[5,[2,"Register"]],[3,0]]],[-1,437,null,578634310093013,false,[[5,[2,"AccountInfo"]],[3,1]]]],[[0,null,false,null,369302331813121,[[102,469,null,0,false,false,false,189902842559831,false,[[10,0],[8,0],[7,[0,0]]]]],[]],[0,null,false,null,316404766277072,[[102,469,null,0,false,false,false,267926207186309,false,[[10,0],[8,0],[7,[0,1]]]]],[]]]],[0,null,false,null,593223391921000,[[-1,98,null,1,false,false,false,268504594490043,false]],[[-1,437,null,980629092195927,false,[[5,[2,"Login"]],[3,0]]],[-1,437,null,778105273882369,false,[[5,[2,"Register"]],[3,0]]],[-1,437,null,136908876465697,false,[[5,[2,"AccountInfo"]],[3,1]]]],[[0,null,false,null,838062951259625,[[102,469,null,0,false,false,false,737137068815603,false,[[10,0],[8,0],[7,[0,0]]]]],[]],[0,null,false,null,994817287411739,[[102,469,null,0,false,false,false,652729876757702,false,[[10,0],[8,0],[7,[0,1]]]]],[]]]],[0,null,false,null,254820234957831,[],[[-1,437,null,978214292533185,false,[[5,[2,"Login"]],[3,1]]],[-1,437,null,856767007749434,false,[[5,[2,"Register"]],[3,0]]],[-1,437,null,326869331855173,false,[[5,[2,"ForgotPass"]],[3,0]]]],[[0,null,false,null,584682457644238,[[102,469,null,0,false,false,false,694280588115998,false,[[10,0],[8,0],[7,[0,42]]]]],[[102,377,null,209895124907966,false,[[7,[2,"Account created successfully. You can now login.\nPlease confirm your e-mail by clicking the link sent to you."]]]],[102,153,"Fade",668115639041394,false],[102,510,"Fade",813790454244975,false]]]]],[0,null,false,null,912533299362477,[],[[-1,437,null,886893227796656,false,[[5,[2,"Login"]],[3,1]]],[-1,437,null,448461105187826,false,[[5,[2,"Register"]],[3,0]]],[-1,437,null,367784944666706,false,[[5,[2,"ForgotPass"]],[3,0]]]],[[0,null,false,null,609721185822270,[[102,469,null,0,false,false,false,922997982932238,false,[[10,0],[8,0],[7,[0,42]]]]],[[102,377,null,139128244376972,false,[[7,[2,"Password reset email sent successfully. Please reset your password and try again."]]]],[102,153,"Fade",763072400587138,false],[102,510,"Fade",576645180464267,false]]]]],[0,null,false,null,512372470844586,[],[],[[0,null,false,null,511362377349429,[[102,469,null,0,false,false,false,770271267607841,false,[[10,0],[8,0],[7,[0,42]]]]],[[102,153,"Fade",279597098982053,false],[102,510,"Fade",890846873148560,false]]]]]]]]]]],["Fake Parse",[[0,null,false,null,121776726056867,[[6,511,null,1,false,false,false,596615379085960,false]],[[-1,488,null,357083002627547,false,[[6,"Parse Auth"]]]]],[0,null,false,null,714635458547112,[[-1,98,null,1,false,false,false,635853819999608,false],[-1,230,null,0,false,false,false,329369560984325,false]],[[-1,488,null,912440557028818,false,[[6,"Parse Auth"]]]]]]],["Loader Layout",[[2,"Save",false],[0,null,true,null,172604443187469,[[111,512,"EaseTween",1,false,false,false,219968594118213,false],[-1,98,null,1,false,false,false,723553996651328,false]],[],[[0,null,false,null,114977476587676,[[111,368,null,0,false,false,false,294135792309180,false,[[10,1]]]],[[111,513,"EaseTween",430611167625989,false,[[3,6],[3,0],[3,13],[1,[2,"0"]],[1,[19,298,[[21,111,false,null,0]]]],[0,[21,111,false,null,2]],[1,[21,111,true,null,3]],[3,0]]],[111,514,"EaseTween",322022356928160,false],[111,483,null,547144578735101,false,[[10,1],[3,0]]]]],[0,null,false,null,543602937347673,[[-1,75,null,0,false,false,false,275898706173064,false]],[[111,513,"EaseTween",898555503215365,false,[[3,6],[3,0],[3,14],[1,[10,[2,"-"],[21,111,false,null,0]]],[1,[2,"0"]],[0,[21,111,false,null,2]],[1,[2,"0"]],[3,0]]],[111,514,"EaseTween",264579291167251,false],[111,483,null,831579325634411,false,[[10,1],[3,1]]]]]]],[0,null,false,null,536184983670284,[[-1,330,null,0,true,false,false,859707618959199,false,[[1,[2,""]],[0,[0,9]],[0,[0,0]]]]],[[110,352,null,739408580514149,false,[[0,[19,332]],[0,[0,1]],[7,[18,[12,[19,332],[0,0]],[18,[22,111,"EaseTween",515,false,null],[22,111,"EaseTween",516,true,null],[22,111,"EaseTween",517,false,null]],[20,110,242,false,null,[[5,[19,332],[0,1]],[0,1]]]]]]],[110,352,null,385588319635101,false,[[0,[19,332]],[0,[0,3]],[7,[0,100]]]]]],[0,null,false,null,180842766192473,[],[[111,518,null,288840687636997,false,[[1,[20,110,355,true,null]]]],[111,519,null,442141424108791,false]]],[0,null,false,null,680851502079058,[[-1,127,null,0,false,false,false,303608666662352,false,[[7,[19,520]],[8,0],[7,[0,1]]]],[12,293,null,0,false,false,false,612566744292900,false],[-1,102,null,0,false,false,false,365050150719613,false]],[[6,434,null,231401092725418,false]]],[0,null,false,null,518881779701184,[],[[56,278,null,343459979727448,false,[[0,[19,260,[[20,56,521,false,null],[6,[19,520],[0,100]],[1,0.08]]]]]]]],[0,null,false,null,964387216768268,[[6,435,null,1,false,false,false,454545693890281,false]],[],[[0,null,false,null,423059370734425,[[-1,127,null,0,false,false,false,225155216001108,false,[[7,[20,4,281,true,null]],[8,1],[7,[2,"dedragames.com"]]]],[-1,127,null,0,false,false,false,318023318675017,false,[[7,[20,4,281,true,null]],[8,1],[7,[2,"www.dedragames.com"]]]]],[[6,436,null,791396186030700,false,[[3,11]]],[-1,488,null,721070308108867,false,[[6,"Main Menu"]]]]],[0,null,false,null,212103367939701,[[-1,75,null,0,false,false,false,516767840218917,false]],[[6,436,null,289312963477614,false,[[3,11]]],[-1,488,null,416814006312717,false,[[6,"Main Menu"]]],[192,522,null,356035100327959,false]]]]],[0,null,false,null,758170150875373,[[-1,98,null,1,false,false,false,844956461695841,false]],[[211,367,null,458149258124210,false,[[1,[2,"Retron2000"]],[1,[2,"fonts.css"]]]]],[[0,null,false,null,931518010612236,[[-1,230,null,0,false,false,false,321813423442539,false]],[[11,523,null,662525821550658,false,[[3,0]]]]]]],[0,null,false,null,835610698228949,[[0,169,null,2,false,false,false,740523573613849,false,[[1,[2,"adOver"]]]]],[[6,436,null,646358102788126,false,[[3,11]]],[-1,488,null,175244415341168,false,[[6,"Main Menu"]]]]],[0,null,false,null,271756214194986,[[0,169,null,2,false,false,false,524016067421044,false,[[1,[2,"adOverFail"]]]]],[[6,436,null,705616470452365,false,[[3,11]]],[-1,488,null,650675620169841,false,[[6,"Main Menu"]]]]],[0,null,false,null,229512994278737,[[-1,98,null,1,false,false,false,733164962388256,false]],[[194,524,null,211800323940459,false]]],[0,null,false,null,404691065901241,[[-1,328,null,1,false,false,false,343667532260802,false]],[[192,497,null,753028473999684,false,[[3,0]]]]]]],["Ad",[[0,null,false,null,649472730271348,[[-1,98,null,1,false,false,false,543576513378660,false]],[[-1,432,null,924718357345990,false,[[1,[2,"Level 1"]]]],[0,80,null,247059513566739,false,[[1,[2,"muteSounds"]],[13]]]]]]],["Level Editor",[]],["Splash Screen",[[0,null,false,null,660804202932930,[[-1,98,null,1,false,false,false,467143283212669,false]],[[-1,99,null,881964374725619,false,[[0,[0,3]]]],[6,434,null,105958371472575,false]]],[0,null,false,null,395364802420621,[[6,435,null,1,false,false,false,727779824069967,false]],[[6,436,null,364252046981183,false,[[3,11]]]],[[0,null,false,null,598349098856747,[[-1,109,null,0,false,true,false,593786698283101,false],[-1,110,null,0,false,false,false,708810607996130,false,[[3,0]]],[-1,127,null,0,false,false,false,896834382050898,false,[[7,[20,4,281,true,null]],[8,1],[7,[2,"dedragames.com"]]]],[-1,127,null,0,false,false,false,772161683244982,false,[[7,[20,4,281,true,null]],[8,1],[7,[2,"www.dedragames.com"]]]],[26,525,null,0,false,false,false,551847635237813,false]],[[-1,488,null,893640427194788,false,[[6,"Site Locking"]]]]],[0,null,false,null,869827969104852,[[-1,75,null,0,false,false,false,116397526937243,false]],[[-1,488,null,667242298045487,false,[[6,"Main Menu"]]]]]]]]],["Site Locking",[[0,null,false,null,991267865365791,[[100,504,null,1,false,false,false,715878288029738,false]],[[4,526,null,662493788859011,false,[[1,[2,"https://www.coolmath-games.com"]],[3,0]]]]]]],["CrazyGamesTestRoom",[[0,null,false,null,472227846830765,[[189,504,null,1,false,false,false,586915765840766,false]],[[4,198,null,183986116920925,false,[[1,[21,189,true,null,0]]]]]],[0,null,false,null,759760246612910,[[190,504,null,1,false,false,false,365574838395710,false]],[[-1,488,null,142955799569368,false,[[6,"Main Menu"]]]]]]]],[["click.m4a",3373],["click.ogg",6101],["hover.m4a",3264],["hover.ogg",5965],["return.m4a",3262],["return.ogg",6062],["step.m4a",1828],["step.ogg",4586],["step2.ogg",4593],["step2.m4a",1719],["step3.m4a",1743],["step3.ogg",4523],["footstep.m4a",45196],["footstep.ogg",34520],["pound.m4a",27576],["pound.ogg",26469],["prepound.m4a",26930],["prepound.ogg",22532],["stun.m4a",3336],["stun.ogg",6355],["jump.m4a",45221],["jump.ogg",35205],["jumpboost.m4a",45124],["jumpboost.ogg",35193],["hurt.m4a",1815],["hurt.ogg",4995],["plunge.m4a",45336],["plunge.ogg",35567],["jumpstrong.m4a",45291],["jumpstrong.ogg",35193],["superjump.m4a",24840],["superjump.ogg",24963],["walljump.m4a",45125],["walljump.ogg",34640],["sfx_transition-01.m4a",51531],["sfx_transition-01.ogg",42869],["sfx_transition-02.m4a",51156],["sfx_transition-02.ogg",43578],["sfx_transition-03.m4a",51410],["sfx_transition-03.ogg",43511],["sfx_transition-04.m4a",51598],["sfx_transition-04.ogg",43502],["sfx_transition-05.m4a",50458],["sfx_transition-05.ogg",43238],["sfx_transition-06.m4a",51118],["sfx_transition-06.ogg",44039],["sfx_transition-07.m4a",50769],["sfx_transition-07.ogg",43334],["sfx_transition-08.m4a",50922],["sfx_transition-08.ogg",44114],["slide.m4a",45386],["slide.ogg",35049],["slide_recover.m4a",45496],["slide_recover.ogg",35695],["button.m4a",22755],["button.ogg",19211],["rocket-2.m4a",45387],["rocket-2.ogg",36221],["coin1.m4a",45284],["coin1.ogg",35426],["among us death.m4a",18565],["among us death.ogg",15922],["among us slice.m4a",14847],["among us slice.ogg",16955],["death-2.m4a",50434],["death-2.ogg",46722],["transition.m4a",30208],["transition.ogg",28294],["death.m4a",4151],["death.ogg",9063],["menutrack.m4a",933084],["menutrack.ogg",637642]],"media/",false,640,640,3,true,false,true,"1.0.0.0",false,true,0,0,12443,false,true,1,true,"OvO",0,[[66,120,119],[32,33,35,37,38,39,40,36,34,41,42]]]} \ No newline at end of file diff --git a/games/ovo/1.4.4/default.png b/games/ovo/1.4.4/default.png new file mode 100644 index 00000000..e7b4241c Binary files /dev/null and b/games/ovo/1.4.4/default.png differ diff --git a/games/ovo/1.4.4/dknight.png b/games/ovo/1.4.4/dknight.png new file mode 100644 index 00000000..a415d218 Binary files /dev/null and b/games/ovo/1.4.4/dknight.png differ diff --git a/games/ovo/1.4.4/electrical.png b/games/ovo/1.4.4/electrical.png new file mode 100644 index 00000000..5c024549 Binary files /dev/null and b/games/ovo/1.4.4/electrical.png differ diff --git a/games/ovo/1.4.4/english.png b/games/ovo/1.4.4/english.png new file mode 100644 index 00000000..a9b3480d Binary files /dev/null and b/games/ovo/1.4.4/english.png differ diff --git a/games/ovo/1.4.4/erigato.png b/games/ovo/1.4.4/erigato.png new file mode 100644 index 00000000..fa7c27aa Binary files /dev/null and b/games/ovo/1.4.4/erigato.png differ diff --git a/games/ovo/1.4.4/fl1ckd.png b/games/ovo/1.4.4/fl1ckd.png new file mode 100644 index 00000000..7de9cf31 Binary files /dev/null and b/games/ovo/1.4.4/fl1ckd.png differ diff --git a/games/ovo/1.4.4/fonts.css b/games/ovo/1.4.4/fonts.css new file mode 100644 index 00000000..53dac630 --- /dev/null +++ b/games/ovo/1.4.4/fonts.css @@ -0,0 +1,9 @@ +/* @font-face { + font-family: Silver; + src: url(./silver.ttf); +} */ + +@font-face { + font-family: Retron2000; + src: url(./retron2000.ttf); +} diff --git a/games/ovo/1.4.4/frank.png b/games/ovo/1.4.4/frank.png new file mode 100644 index 00000000..1a747f03 Binary files /dev/null and b/games/ovo/1.4.4/frank.png differ diff --git a/games/ovo/1.4.4/french.png b/games/ovo/1.4.4/french.png new file mode 100644 index 00000000..25f9963c Binary files /dev/null and b/games/ovo/1.4.4/french.png differ diff --git a/games/ovo/1.4.4/gettingserious.png b/games/ovo/1.4.4/gettingserious.png new file mode 100644 index 00000000..b4d45647 Binary files /dev/null and b/games/ovo/1.4.4/gettingserious.png differ diff --git a/games/ovo/1.4.4/higherorder.png b/games/ovo/1.4.4/higherorder.png new file mode 100644 index 00000000..349fb9b7 Binary files /dev/null and b/games/ovo/1.4.4/higherorder.png differ diff --git a/games/ovo/1.4.4/hmmg_layoutTransition.css b/games/ovo/1.4.4/hmmg_layoutTransition.css new file mode 100644 index 00000000..22401333 --- /dev/null +++ b/games/ovo/1.4.4/hmmg_layoutTransition.css @@ -0,0 +1,57 @@ +#c2canvasdiv.prepared +{ + position:absolute !important; + margin:0px !important; + z-index:49; +} + +#fakeBody +{ + position:absolute; + z-index:999999999; + overflow:hidden !important; +} + + +#fakeBody #fakeCanvas +{ + position:absolute; + top:0px; + z-index:50; + overflow:hidden !important; + height:100%; + width:100%; +} + + +#fakeCanvas div +{ + position:absolute; + width:100%; + height:100%; + top:0px; + left:0px; +} +#fakeCanvas div.darker +{ + -webkit-transition: background-color 100ms linear ; + -moz-transition: background-color 100ms linear ; + -o-transition: background-color 100ms linear ; + -ms-transition: background-color 100ms linear ; + transition: background-color 100ms linear ; + background-color:rgba(0,0,0,0.3); +} + +#c2canvasdiv.animated +{ + z-index:51; +} +#fakeCanvas.animated +{ + z-index:49; +} + +.hidden +{ + display:none; +} \ No newline at end of file diff --git a/games/ovo/1.4.4/howler.js b/games/ovo/1.4.4/howler.js new file mode 100644 index 00000000..85c77c1d --- /dev/null +++ b/games/ovo/1.4.4/howler.js @@ -0,0 +1,1987 @@ +/*! howler.js v2.2.3 | (c) 2013-2020, James Simpson of GoldFire Studios | MIT License | howlerjs.com */ +!(function () { + "use strict"; + var e = function () { + this.init(); + }; + e.prototype = { + init: function () { + var e = this || n; + return ( + (e._counter = 1e3), + (e._html5AudioPool = []), + (e.html5PoolSize = 10), + (e._codecs = {}), + (e._howls = []), + (e._muted = !1), + (e._volume = 1), + (e._canPlayEvent = "canplaythrough"), + (e._navigator = + "undefined" != typeof window && window.navigator + ? window.navigator + : null), + (e.masterGain = null), + (e.noAudio = !1), + (e.usingWebAudio = !0), + (e.autoSuspend = !0), + (e.ctx = null), + (e.autoUnlock = !0), + e._setup(), + e + ); + }, + volume: function (e) { + var o = this || n; + if ( + ((e = parseFloat(e)), o.ctx || _(), void 0 !== e && e >= 0 && e <= 1) + ) { + if (((o._volume = e), o._muted)) return o; + o.usingWebAudio && + o.masterGain.gain.setValueAtTime(e, n.ctx.currentTime); + for (var t = 0; t < o._howls.length; t++) + if (!o._howls[t]._webAudio) + for (var r = o._howls[t]._getSoundIds(), a = 0; a < r.length; a++) { + var u = o._howls[t]._soundById(r[a]); + u && u._node && (u._node.volume = u._volume * e); + } + return o; + } + return o._volume; + }, + mute: function (e) { + var o = this || n; + o.ctx || _(), + (o._muted = e), + o.usingWebAudio && + o.masterGain.gain.setValueAtTime( + e ? 0 : o._volume, + n.ctx.currentTime + ); + for (var t = 0; t < o._howls.length; t++) + if (!o._howls[t]._webAudio) + for (var r = o._howls[t]._getSoundIds(), a = 0; a < r.length; a++) { + var u = o._howls[t]._soundById(r[a]); + u && u._node && (u._node.muted = !!e || u._muted); + } + return o; + }, + stop: function () { + for (var e = this || n, o = 0; o < e._howls.length; o++) + e._howls[o].stop(); + return e; + }, + unload: function () { + for (var e = this || n, o = e._howls.length - 1; o >= 0; o--) + e._howls[o].unload(); + return ( + e.usingWebAudio && + e.ctx && + void 0 !== e.ctx.close && + (e.ctx.close(), (e.ctx = null), _()), + e + ); + }, + codecs: function (e) { + return (this || n)._codecs[e.replace(/^x-/, "")]; + }, + _setup: function () { + var e = this || n; + if ( + ((e.state = e.ctx ? e.ctx.state || "suspended" : "suspended"), + e._autoSuspend(), + !e.usingWebAudio) + ) + if ("undefined" != typeof Audio) + try { + var o = new Audio(); + void 0 === o.oncanplaythrough && (e._canPlayEvent = "canplay"); + } catch (n) { + e.noAudio = !0; + } + else e.noAudio = !0; + try { + var o = new Audio(); + o.muted && (e.noAudio = !0); + } catch (e) {} + return e.noAudio || e._setupCodecs(), e; + }, + _setupCodecs: function () { + var e = this || n, + o = null; + try { + o = "undefined" != typeof Audio ? new Audio() : null; + } catch (n) { + return e; + } + if (!o || "function" != typeof o.canPlayType) return e; + var t = o.canPlayType("audio/mpeg;").replace(/^no$/, ""), + r = e._navigator ? e._navigator.userAgent : "", + a = r.match(/OPR\/([0-6].)/g), + u = a && parseInt(a[0].split("/")[1], 10) < 33, + d = -1 !== r.indexOf("Safari") && -1 === r.indexOf("Chrome"), + i = r.match(/Version\/(.*?) /), + _ = d && i && parseInt(i[1], 10) < 15; + return ( + (e._codecs = { + mp3: !(u || (!t && !o.canPlayType("audio/mp3;").replace(/^no$/, ""))), + mpeg: !!t, + opus: !!o.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/, ""), + ogg: !!o + .canPlayType('audio/ogg; codecs="vorbis"') + .replace(/^no$/, ""), + oga: !!o + .canPlayType('audio/ogg; codecs="vorbis"') + .replace(/^no$/, ""), + wav: !!( + o.canPlayType('audio/wav; codecs="1"') || o.canPlayType("audio/wav") + ).replace(/^no$/, ""), + aac: !!o.canPlayType("audio/aac;").replace(/^no$/, ""), + caf: !!o.canPlayType("audio/x-caf;").replace(/^no$/, ""), + m4a: !!( + o.canPlayType("audio/x-m4a;") || + o.canPlayType("audio/m4a;") || + o.canPlayType("audio/aac;") + ).replace(/^no$/, ""), + m4b: !!( + o.canPlayType("audio/x-m4b;") || + o.canPlayType("audio/m4b;") || + o.canPlayType("audio/aac;") + ).replace(/^no$/, ""), + mp4: !!( + o.canPlayType("audio/x-mp4;") || + o.canPlayType("audio/mp4;") || + o.canPlayType("audio/aac;") + ).replace(/^no$/, ""), + weba: !( + _ || + !o.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/, "") + ), + webm: !( + _ || + !o.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/, "") + ), + dolby: !!o + .canPlayType('audio/mp4; codecs="ec-3"') + .replace(/^no$/, ""), + flac: !!( + o.canPlayType("audio/x-flac;") || o.canPlayType("audio/flac;") + ).replace(/^no$/, ""), + }), + e + ); + }, + _unlockAudio: function () { + var e = this || n; + if (!e._audioUnlocked && e.ctx) { + (e._audioUnlocked = !1), + (e.autoUnlock = !1), + e._mobileUnloaded || + 44100 === e.ctx.sampleRate || + ((e._mobileUnloaded = !0), e.unload()), + (e._scratchBuffer = e.ctx.createBuffer(1, 1, 22050)); + var o = function (n) { + for (; e._html5AudioPool.length < e.html5PoolSize; ) + try { + var t = new Audio(); + (t._unlocked = !0), e._releaseHtml5Audio(t); + } catch (n) { + e.noAudio = !0; + break; + } + for (var r = 0; r < e._howls.length; r++) + if (!e._howls[r]._webAudio) + for ( + var a = e._howls[r]._getSoundIds(), u = 0; + u < a.length; + u++ + ) { + var d = e._howls[r]._soundById(a[u]); + d && + d._node && + !d._node._unlocked && + ((d._node._unlocked = !0), d._node.load()); + } + e._autoResume(); + var i = e.ctx.createBufferSource(); + (i.buffer = e._scratchBuffer), + i.connect(e.ctx.destination), + void 0 === i.start ? i.noteOn(0) : i.start(0), + "function" == typeof e.ctx.resume && e.ctx.resume(), + (i.onended = function () { + i.disconnect(0), + (e._audioUnlocked = !0), + document.removeEventListener("touchstart", o, !0), + document.removeEventListener("touchend", o, !0), + document.removeEventListener("click", o, !0), + document.removeEventListener("keydown", o, !0); + for (var n = 0; n < e._howls.length; n++) + e._howls[n]._emit("unlock"); + }); + }; + return ( + document.addEventListener("touchstart", o, !0), + document.addEventListener("touchend", o, !0), + document.addEventListener("click", o, !0), + document.addEventListener("keydown", o, !0), + e + ); + } + }, + _obtainHtml5Audio: function () { + var e = this || n; + if (e._html5AudioPool.length) return e._html5AudioPool.pop(); + var o = new Audio().play(); + return ( + o && + "undefined" != typeof Promise && + (o instanceof Promise || "function" == typeof o.then) && + o.catch(function () { + console.warn( + "HTML5 Audio pool exhausted, returning potentially locked audio object." + ); + }), + new Audio() + ); + }, + _releaseHtml5Audio: function (e) { + var o = this || n; + return e._unlocked && o._html5AudioPool.push(e), o; + }, + _autoSuspend: function () { + var e = this; + if ( + e.autoSuspend && + e.ctx && + void 0 !== e.ctx.suspend && + n.usingWebAudio + ) { + for (var o = 0; o < e._howls.length; o++) + if (e._howls[o]._webAudio) + for (var t = 0; t < e._howls[o]._sounds.length; t++) + if (!e._howls[o]._sounds[t]._paused) return e; + return ( + e._suspendTimer && clearTimeout(e._suspendTimer), + (e._suspendTimer = setTimeout(function () { + if (e.autoSuspend) { + (e._suspendTimer = null), (e.state = "suspending"); + var n = function () { + (e.state = "suspended"), + e._resumeAfterSuspend && + (delete e._resumeAfterSuspend, e._autoResume()); + }; + e.ctx.suspend().then(n, n); + } + }, 3e4)), + e + ); + } + }, + _autoResume: function () { + var e = this; + if (e.ctx && void 0 !== e.ctx.resume && n.usingWebAudio) + return ( + "running" === e.state && + "interrupted" !== e.ctx.state && + e._suspendTimer + ? (clearTimeout(e._suspendTimer), (e._suspendTimer = null)) + : "suspended" === e.state || + ("running" === e.state && "interrupted" === e.ctx.state) + ? (e.ctx.resume().then(function () { + e.state = "running"; + for (var n = 0; n < e._howls.length; n++) + e._howls[n]._emit("resume"); + }), + e._suspendTimer && + (clearTimeout(e._suspendTimer), (e._suspendTimer = null))) + : "suspending" === e.state && (e._resumeAfterSuspend = !0), + e + ); + }, + }; + var n = new e(), + o = function (e) { + var n = this; + if (!e.src || 0 === e.src.length) + return void console.error( + "An array of source files must be passed with any new Howl." + ); + n.init(e); + }; + o.prototype = { + init: function (e) { + var o = this; + return ( + n.ctx || _(), + (o._autoplay = e.autoplay || !1), + (o._format = "string" != typeof e.format ? e.format : [e.format]), + (o._html5 = e.html5 || !1), + (o._muted = e.mute || !1), + (o._loop = e.loop || !1), + (o._pool = e.pool || 5), + (o._preload = + ("boolean" != typeof e.preload && "metadata" !== e.preload) || + e.preload), + (o._rate = e.rate || 1), + (o._sprite = e.sprite || {}), + (o._src = "string" != typeof e.src ? e.src : [e.src]), + (o._volume = void 0 !== e.volume ? e.volume : 1), + (o._xhr = { + method: e.xhr && e.xhr.method ? e.xhr.method : "GET", + headers: e.xhr && e.xhr.headers ? e.xhr.headers : null, + withCredentials: + !(!e.xhr || !e.xhr.withCredentials) && e.xhr.withCredentials, + }), + (o._duration = 0), + (o._state = "unloaded"), + (o._sounds = []), + (o._endTimers = {}), + (o._queue = []), + (o._playLock = !1), + (o._onend = e.onend ? [{ fn: e.onend }] : []), + (o._onfade = e.onfade ? [{ fn: e.onfade }] : []), + (o._onload = e.onload ? [{ fn: e.onload }] : []), + (o._onloaderror = e.onloaderror ? [{ fn: e.onloaderror }] : []), + (o._onplayerror = e.onplayerror ? [{ fn: e.onplayerror }] : []), + (o._onpause = e.onpause ? [{ fn: e.onpause }] : []), + (o._onplay = e.onplay ? [{ fn: e.onplay }] : []), + (o._onstop = e.onstop ? [{ fn: e.onstop }] : []), + (o._onmute = e.onmute ? [{ fn: e.onmute }] : []), + (o._onvolume = e.onvolume ? [{ fn: e.onvolume }] : []), + (o._onrate = e.onrate ? [{ fn: e.onrate }] : []), + (o._onseek = e.onseek ? [{ fn: e.onseek }] : []), + (o._onunlock = e.onunlock ? [{ fn: e.onunlock }] : []), + (o._onresume = []), + (o._webAudio = n.usingWebAudio && !o._html5), + void 0 !== n.ctx && n.ctx && n.autoUnlock && n._unlockAudio(), + n._howls.push(o), + o._autoplay && + o._queue.push({ + event: "play", + action: function () { + o.play(); + }, + }), + o._preload && "none" !== o._preload && o.load(), + o + ); + }, + load: function () { + var e = this, + o = null; + if (n.noAudio) + return void e._emit("loaderror", null, "No audio support."); + "string" == typeof e._src && (e._src = [e._src]); + for (var r = 0; r < e._src.length; r++) { + var u, d; + if (e._format && e._format[r]) u = e._format[r]; + else { + if ("string" != typeof (d = e._src[r])) { + e._emit( + "loaderror", + null, + "Non-string found in selected audio sources - ignoring." + ); + continue; + } + (u = /^data:audio\/([^;,]+);/i.exec(d)), + u || (u = /\.([^.]+)$/.exec(d.split("?", 1)[0])), + u && (u = u[1].toLowerCase()); + } + if ( + (u || + console.warn( + 'No file extension was found. Consider using the "format" property or specify an extension.' + ), + u && n.codecs(u)) + ) { + o = e._src[r]; + break; + } + } + return o + ? ((e._src = o), + (e._state = "loading"), + "https:" === window.location.protocol && + "http:" === o.slice(0, 5) && + ((e._html5 = !0), (e._webAudio = !1)), + new t(e), + e._webAudio && a(e), + e) + : void e._emit( + "loaderror", + null, + "No codec support for selected audio sources." + ); + }, + play: function (e, o) { + var t = this, + r = null; + if ("number" == typeof e) (r = e), (e = null); + else { + if ("string" == typeof e && "loaded" === t._state && !t._sprite[e]) + return null; + if (void 0 === e && ((e = "__default"), !t._playLock)) { + for (var a = 0, u = 0; u < t._sounds.length; u++) + t._sounds[u]._paused && + !t._sounds[u]._ended && + (a++, (r = t._sounds[u]._id)); + 1 === a ? (e = null) : (r = null); + } + } + var d = r ? t._soundById(r) : t._inactiveSound(); + if (!d) return null; + if ((r && !e && (e = d._sprite || "__default"), "loaded" !== t._state)) { + (d._sprite = e), (d._ended = !1); + var i = d._id; + return ( + t._queue.push({ + event: "play", + action: function () { + t.play(i); + }, + }), + i + ); + } + if (r && !d._paused) return o || t._loadQueue("play"), d._id; + t._webAudio && n._autoResume(); + var _ = Math.max(0, d._seek > 0 ? d._seek : t._sprite[e][0] / 1e3), + s = Math.max(0, (t._sprite[e][0] + t._sprite[e][1]) / 1e3 - _), + l = (1e3 * s) / Math.abs(d._rate), + c = t._sprite[e][0] / 1e3, + f = (t._sprite[e][0] + t._sprite[e][1]) / 1e3; + (d._sprite = e), (d._ended = !1); + var p = function () { + (d._paused = !1), + (d._seek = _), + (d._start = c), + (d._stop = f), + (d._loop = !(!d._loop && !t._sprite[e][2])); + }; + if (_ >= f) return void t._ended(d); + var m = d._node; + if (t._webAudio) { + var v = function () { + (t._playLock = !1), p(), t._refreshBuffer(d); + var e = d._muted || t._muted ? 0 : d._volume; + m.gain.setValueAtTime(e, n.ctx.currentTime), + (d._playStart = n.ctx.currentTime), + void 0 === m.bufferSource.start + ? d._loop + ? m.bufferSource.noteGrainOn(0, _, 86400) + : m.bufferSource.noteGrainOn(0, _, s) + : d._loop + ? m.bufferSource.start(0, _, 86400) + : m.bufferSource.start(0, _, s), + l !== 1 / 0 && + (t._endTimers[d._id] = setTimeout(t._ended.bind(t, d), l)), + o || + setTimeout(function () { + t._emit("play", d._id), t._loadQueue(); + }, 0); + }; + "running" === n.state && "interrupted" !== n.ctx.state + ? v() + : ((t._playLock = !0), t.once("resume", v), t._clearTimer(d._id)); + } else { + var h = function () { + (m.currentTime = _), + (m.muted = d._muted || t._muted || n._muted || m.muted), + (m.volume = d._volume * n.volume()), + (m.playbackRate = d._rate); + try { + var r = m.play(); + if ( + (r && + "undefined" != typeof Promise && + (r instanceof Promise || "function" == typeof r.then) + ? ((t._playLock = !0), + p(), + r + .then(function () { + (t._playLock = !1), + (m._unlocked = !0), + o ? t._loadQueue() : t._emit("play", d._id); + }) + .catch(function () { + (t._playLock = !1), + t._emit( + "playerror", + d._id, + "Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction." + ), + (d._ended = !0), + (d._paused = !0); + })) + : o || ((t._playLock = !1), p(), t._emit("play", d._id)), + (m.playbackRate = d._rate), + m.paused) + ) + return void t._emit( + "playerror", + d._id, + "Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction." + ); + "__default" !== e || d._loop + ? (t._endTimers[d._id] = setTimeout(t._ended.bind(t, d), l)) + : ((t._endTimers[d._id] = function () { + t._ended(d), + m.removeEventListener("ended", t._endTimers[d._id], !1); + }), + m.addEventListener("ended", t._endTimers[d._id], !1)); + } catch (e) { + t._emit("playerror", d._id, e); + } + }; + "data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA" === + m.src && ((m.src = t._src), m.load()); + var y = + (window && window.ejecta) || + (!m.readyState && n._navigator.isCocoonJS); + if (m.readyState >= 3 || y) h(); + else { + (t._playLock = !0), (t._state = "loading"); + var g = function () { + (t._state = "loaded"), + h(), + m.removeEventListener(n._canPlayEvent, g, !1); + }; + m.addEventListener(n._canPlayEvent, g, !1), t._clearTimer(d._id); + } + } + return d._id; + }, + pause: function (e) { + var n = this; + if ("loaded" !== n._state || n._playLock) + return ( + n._queue.push({ + event: "pause", + action: function () { + n.pause(e); + }, + }), + n + ); + for (var o = n._getSoundIds(e), t = 0; t < o.length; t++) { + n._clearTimer(o[t]); + var r = n._soundById(o[t]); + if ( + r && + !r._paused && + ((r._seek = n.seek(o[t])), + (r._rateSeek = 0), + (r._paused = !0), + n._stopFade(o[t]), + r._node) + ) + if (n._webAudio) { + if (!r._node.bufferSource) continue; + void 0 === r._node.bufferSource.stop + ? r._node.bufferSource.noteOff(0) + : r._node.bufferSource.stop(0), + n._cleanBuffer(r._node); + } else + (isNaN(r._node.duration) && r._node.duration !== 1 / 0) || + r._node.pause(); + arguments[1] || n._emit("pause", r ? r._id : null); + } + return n; + }, + stop: function (e, n) { + var o = this; + if ("loaded" !== o._state || o._playLock) + return ( + o._queue.push({ + event: "stop", + action: function () { + o.stop(e); + }, + }), + o + ); + for (var t = o._getSoundIds(e), r = 0; r < t.length; r++) { + o._clearTimer(t[r]); + var a = o._soundById(t[r]); + a && + ((a._seek = a._start || 0), + (a._rateSeek = 0), + (a._paused = !0), + (a._ended = !0), + o._stopFade(t[r]), + a._node && + (o._webAudio + ? a._node.bufferSource && + (void 0 === a._node.bufferSource.stop + ? a._node.bufferSource.noteOff(0) + : a._node.bufferSource.stop(0), + o._cleanBuffer(a._node)) + : (isNaN(a._node.duration) && a._node.duration !== 1 / 0) || + ((a._node.currentTime = a._start || 0), + a._node.pause(), + a._node.duration === 1 / 0 && o._clearSound(a._node))), + n || o._emit("stop", a._id)); + } + return o; + }, + mute: function (e, o) { + var t = this; + if ("loaded" !== t._state || t._playLock) + return ( + t._queue.push({ + event: "mute", + action: function () { + t.mute(e, o); + }, + }), + t + ); + if (void 0 === o) { + if ("boolean" != typeof e) return t._muted; + t._muted = e; + } + for (var r = t._getSoundIds(o), a = 0; a < r.length; a++) { + var u = t._soundById(r[a]); + u && + ((u._muted = e), + u._interval && t._stopFade(u._id), + t._webAudio && u._node + ? u._node.gain.setValueAtTime(e ? 0 : u._volume, n.ctx.currentTime) + : u._node && (u._node.muted = !!n._muted || e), + t._emit("mute", u._id)); + } + return t; + }, + volume: function () { + var e, + o, + t = this, + r = arguments; + if (0 === r.length) return t._volume; + if (1 === r.length || (2 === r.length && void 0 === r[1])) { + t._getSoundIds().indexOf(r[0]) >= 0 + ? (o = parseInt(r[0], 10)) + : (e = parseFloat(r[0])); + } else + r.length >= 2 && ((e = parseFloat(r[0])), (o = parseInt(r[1], 10))); + var a; + if (!(void 0 !== e && e >= 0 && e <= 1)) + return (a = o ? t._soundById(o) : t._sounds[0]), a ? a._volume : 0; + if ("loaded" !== t._state || t._playLock) + return ( + t._queue.push({ + event: "volume", + action: function () { + t.volume.apply(t, r); + }, + }), + t + ); + void 0 === o && (t._volume = e), (o = t._getSoundIds(o)); + for (var u = 0; u < o.length; u++) + (a = t._soundById(o[u])) && + ((a._volume = e), + r[2] || t._stopFade(o[u]), + t._webAudio && a._node && !a._muted + ? a._node.gain.setValueAtTime(e, n.ctx.currentTime) + : a._node && !a._muted && (a._node.volume = e * n.volume()), + t._emit("volume", a._id)); + return t; + }, + fade: function (e, o, t, r) { + var a = this; + if ("loaded" !== a._state || a._playLock) + return ( + a._queue.push({ + event: "fade", + action: function () { + a.fade(e, o, t, r); + }, + }), + a + ); + (e = Math.min(Math.max(0, parseFloat(e)), 1)), + (o = Math.min(Math.max(0, parseFloat(o)), 1)), + (t = parseFloat(t)), + a.volume(e, r); + for (var u = a._getSoundIds(r), d = 0; d < u.length; d++) { + var i = a._soundById(u[d]); + if (i) { + if ((r || a._stopFade(u[d]), a._webAudio && !i._muted)) { + var _ = n.ctx.currentTime, + s = _ + t / 1e3; + (i._volume = e), + i._node.gain.setValueAtTime(e, _), + i._node.gain.linearRampToValueAtTime(o, s); + } + a._startFadeInterval(i, e, o, t, u[d], void 0 === r); + } + } + return a; + }, + _startFadeInterval: function (e, n, o, t, r, a) { + var u = this, + d = n, + i = o - n, + _ = Math.abs(i / 0.01), + s = Math.max(4, _ > 0 ? t / _ : t), + l = Date.now(); + (e._fadeTo = o), + (e._interval = setInterval(function () { + var r = (Date.now() - l) / t; + (l = Date.now()), + (d += i * r), + (d = Math.round(100 * d) / 100), + (d = i < 0 ? Math.max(o, d) : Math.min(o, d)), + u._webAudio ? (e._volume = d) : u.volume(d, e._id, !0), + a && (u._volume = d), + ((o < n && d <= o) || (o > n && d >= o)) && + (clearInterval(e._interval), + (e._interval = null), + (e._fadeTo = null), + u.volume(o, e._id), + u._emit("fade", e._id)); + }, s)); + }, + _stopFade: function (e) { + var o = this, + t = o._soundById(e); + return ( + t && + t._interval && + (o._webAudio && t._node.gain.cancelScheduledValues(n.ctx.currentTime), + clearInterval(t._interval), + (t._interval = null), + o.volume(t._fadeTo, e), + (t._fadeTo = null), + o._emit("fade", e)), + o + ); + }, + loop: function () { + var e, + n, + o, + t = this, + r = arguments; + if (0 === r.length) return t._loop; + if (1 === r.length) { + if ("boolean" != typeof r[0]) + return !!(o = t._soundById(parseInt(r[0], 10))) && o._loop; + (e = r[0]), (t._loop = e); + } else 2 === r.length && ((e = r[0]), (n = parseInt(r[1], 10))); + for (var a = t._getSoundIds(n), u = 0; u < a.length; u++) + (o = t._soundById(a[u])) && + ((o._loop = e), + t._webAudio && + o._node && + o._node.bufferSource && + ((o._node.bufferSource.loop = e), + e && + ((o._node.bufferSource.loopStart = o._start || 0), + (o._node.bufferSource.loopEnd = o._stop), + t.playing(a[u]) && (t.pause(a[u], !0), t.play(a[u], !0))))); + return t; + }, + rate: function () { + var e, + o, + t = this, + r = arguments; + if (0 === r.length) o = t._sounds[0]._id; + else if (1 === r.length) { + var a = t._getSoundIds(), + u = a.indexOf(r[0]); + u >= 0 ? (o = parseInt(r[0], 10)) : (e = parseFloat(r[0])); + } else + 2 === r.length && ((e = parseFloat(r[0])), (o = parseInt(r[1], 10))); + var d; + if ("number" != typeof e) + return (d = t._soundById(o)), d ? d._rate : t._rate; + if ("loaded" !== t._state || t._playLock) + return ( + t._queue.push({ + event: "rate", + action: function () { + t.rate.apply(t, r); + }, + }), + t + ); + void 0 === o && (t._rate = e), (o = t._getSoundIds(o)); + for (var i = 0; i < o.length; i++) + if ((d = t._soundById(o[i]))) { + t.playing(o[i]) && + ((d._rateSeek = t.seek(o[i])), + (d._playStart = t._webAudio ? n.ctx.currentTime : d._playStart)), + (d._rate = e), + t._webAudio && d._node && d._node.bufferSource + ? d._node.bufferSource.playbackRate.setValueAtTime( + e, + n.ctx.currentTime + ) + : d._node && (d._node.playbackRate = e); + var _ = t.seek(o[i]), + s = (t._sprite[d._sprite][0] + t._sprite[d._sprite][1]) / 1e3 - _, + l = (1e3 * s) / Math.abs(d._rate); + (!t._endTimers[o[i]] && d._paused) || + (t._clearTimer(o[i]), + (t._endTimers[o[i]] = setTimeout(t._ended.bind(t, d), l))), + t._emit("rate", d._id); + } + return t; + }, + seek: function () { + var e, + o, + t = this, + r = arguments; + if (0 === r.length) t._sounds.length && (o = t._sounds[0]._id); + else if (1 === r.length) { + var a = t._getSoundIds(), + u = a.indexOf(r[0]); + u >= 0 + ? (o = parseInt(r[0], 10)) + : t._sounds.length && + ((o = t._sounds[0]._id), (e = parseFloat(r[0]))); + } else + 2 === r.length && ((e = parseFloat(r[0])), (o = parseInt(r[1], 10))); + if (void 0 === o) return 0; + if ("number" == typeof e && ("loaded" !== t._state || t._playLock)) + return ( + t._queue.push({ + event: "seek", + action: function () { + t.seek.apply(t, r); + }, + }), + t + ); + var d = t._soundById(o); + if (d) { + if (!("number" == typeof e && e >= 0)) { + if (t._webAudio) { + var i = t.playing(o) ? n.ctx.currentTime - d._playStart : 0, + _ = d._rateSeek ? d._rateSeek - d._seek : 0; + return d._seek + (_ + i * Math.abs(d._rate)); + } + return d._node.currentTime; + } + var s = t.playing(o); + s && t.pause(o, !0), + (d._seek = e), + (d._ended = !1), + t._clearTimer(o), + t._webAudio || + !d._node || + isNaN(d._node.duration) || + (d._node.currentTime = e); + var l = function () { + s && t.play(o, !0), t._emit("seek", o); + }; + if (s && !t._webAudio) { + var c = function () { + t._playLock ? setTimeout(c, 0) : l(); + }; + setTimeout(c, 0); + } else l(); + } + return t; + }, + playing: function (e) { + var n = this; + if ("number" == typeof e) { + var o = n._soundById(e); + return !!o && !o._paused; + } + for (var t = 0; t < n._sounds.length; t++) + if (!n._sounds[t]._paused) return !0; + return !1; + }, + duration: function (e) { + var n = this, + o = n._duration, + t = n._soundById(e); + return t && (o = n._sprite[t._sprite][1] / 1e3), o; + }, + state: function () { + return this._state; + }, + unload: function () { + for (var e = this, o = e._sounds, t = 0; t < o.length; t++) + o[t]._paused || e.stop(o[t]._id), + e._webAudio || + (e._clearSound(o[t]._node), + o[t]._node.removeEventListener("error", o[t]._errorFn, !1), + o[t]._node.removeEventListener(n._canPlayEvent, o[t]._loadFn, !1), + o[t]._node.removeEventListener("ended", o[t]._endFn, !1), + n._releaseHtml5Audio(o[t]._node)), + delete o[t]._node, + e._clearTimer(o[t]._id); + var a = n._howls.indexOf(e); + a >= 0 && n._howls.splice(a, 1); + var u = !0; + for (t = 0; t < n._howls.length; t++) + if ( + n._howls[t]._src === e._src || + e._src.indexOf(n._howls[t]._src) >= 0 + ) { + u = !1; + break; + } + return ( + r && u && delete r[e._src], + (n.noAudio = !1), + (e._state = "unloaded"), + (e._sounds = []), + (e = null), + null + ); + }, + on: function (e, n, o, t) { + var r = this, + a = r["_on" + e]; + return ( + "function" == typeof n && + a.push(t ? { id: o, fn: n, once: t } : { id: o, fn: n }), + r + ); + }, + off: function (e, n, o) { + var t = this, + r = t["_on" + e], + a = 0; + if (("number" == typeof n && ((o = n), (n = null)), n || o)) + for (a = 0; a < r.length; a++) { + var u = o === r[a].id; + if ((n === r[a].fn && u) || (!n && u)) { + r.splice(a, 1); + break; + } + } + else if (e) t["_on" + e] = []; + else { + var d = Object.keys(t); + for (a = 0; a < d.length; a++) + 0 === d[a].indexOf("_on") && Array.isArray(t[d[a]]) && (t[d[a]] = []); + } + return t; + }, + once: function (e, n, o) { + var t = this; + return t.on(e, n, o, 1), t; + }, + _emit: function (e, n, o) { + for (var t = this, r = t["_on" + e], a = r.length - 1; a >= 0; a--) + (r[a].id && r[a].id !== n && "load" !== e) || + (setTimeout( + function (e) { + e.call(this, n, o); + }.bind(t, r[a].fn), + 0 + ), + r[a].once && t.off(e, r[a].fn, r[a].id)); + return t._loadQueue(e), t; + }, + _loadQueue: function (e) { + var n = this; + if (n._queue.length > 0) { + var o = n._queue[0]; + o.event === e && (n._queue.shift(), n._loadQueue()), e || o.action(); + } + return n; + }, + _ended: function (e) { + var o = this, + t = e._sprite; + if ( + !o._webAudio && + e._node && + !e._node.paused && + !e._node.ended && + e._node.currentTime < e._stop + ) + return setTimeout(o._ended.bind(o, e), 100), o; + var r = !(!e._loop && !o._sprite[t][2]); + if ( + (o._emit("end", e._id), + !o._webAudio && r && o.stop(e._id, !0).play(e._id), + o._webAudio && r) + ) { + o._emit("play", e._id), + (e._seek = e._start || 0), + (e._rateSeek = 0), + (e._playStart = n.ctx.currentTime); + var a = (1e3 * (e._stop - e._start)) / Math.abs(e._rate); + o._endTimers[e._id] = setTimeout(o._ended.bind(o, e), a); + } + return ( + o._webAudio && + !r && + ((e._paused = !0), + (e._ended = !0), + (e._seek = e._start || 0), + (e._rateSeek = 0), + o._clearTimer(e._id), + o._cleanBuffer(e._node), + n._autoSuspend()), + o._webAudio || r || o.stop(e._id, !0), + o + ); + }, + _clearTimer: function (e) { + var n = this; + if (n._endTimers[e]) { + if ("function" != typeof n._endTimers[e]) clearTimeout(n._endTimers[e]); + else { + var o = n._soundById(e); + o && + o._node && + o._node.removeEventListener("ended", n._endTimers[e], !1); + } + delete n._endTimers[e]; + } + return n; + }, + _soundById: function (e) { + for (var n = this, o = 0; o < n._sounds.length; o++) + if (e === n._sounds[o]._id) return n._sounds[o]; + return null; + }, + _inactiveSound: function () { + var e = this; + e._drain(); + for (var n = 0; n < e._sounds.length; n++) + if (e._sounds[n]._ended) return e._sounds[n].reset(); + return new t(e); + }, + _drain: function () { + var e = this, + n = e._pool, + o = 0, + t = 0; + if (!(e._sounds.length < n)) { + for (t = 0; t < e._sounds.length; t++) e._sounds[t]._ended && o++; + for (t = e._sounds.length - 1; t >= 0; t--) { + if (o <= n) return; + e._sounds[t]._ended && + (e._webAudio && + e._sounds[t]._node && + e._sounds[t]._node.disconnect(0), + e._sounds.splice(t, 1), + o--); + } + } + }, + _getSoundIds: function (e) { + var n = this; + if (void 0 === e) { + for (var o = [], t = 0; t < n._sounds.length; t++) + o.push(n._sounds[t]._id); + return o; + } + return [e]; + }, + _refreshBuffer: function (e) { + var o = this; + return ( + (e._node.bufferSource = n.ctx.createBufferSource()), + (e._node.bufferSource.buffer = r[o._src]), + e._panner + ? e._node.bufferSource.connect(e._panner) + : e._node.bufferSource.connect(e._node), + (e._node.bufferSource.loop = e._loop), + e._loop && + ((e._node.bufferSource.loopStart = e._start || 0), + (e._node.bufferSource.loopEnd = e._stop || 0)), + e._node.bufferSource.playbackRate.setValueAtTime( + e._rate, + n.ctx.currentTime + ), + o + ); + }, + _cleanBuffer: function (e) { + var o = this, + t = n._navigator && n._navigator.vendor.indexOf("Apple") >= 0; + if ( + n._scratchBuffer && + e.bufferSource && + ((e.bufferSource.onended = null), e.bufferSource.disconnect(0), t) + ) + try { + e.bufferSource.buffer = n._scratchBuffer; + } catch (e) {} + return (e.bufferSource = null), o; + }, + _clearSound: function (e) { + /MSIE |Trident\//.test(n._navigator && n._navigator.userAgent) || + (e.src = + "data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"); + }, + }; + var t = function (e) { + (this._parent = e), this.init(); + }; + t.prototype = { + init: function () { + var e = this, + o = e._parent; + return ( + (e._muted = o._muted), + (e._loop = o._loop), + (e._volume = o._volume), + (e._rate = o._rate), + (e._seek = 0), + (e._paused = !0), + (e._ended = !0), + (e._sprite = "__default"), + (e._id = ++n._counter), + o._sounds.push(e), + e.create(), + e + ); + }, + create: function () { + var e = this, + o = e._parent, + t = n._muted || e._muted || e._parent._muted ? 0 : e._volume; + return ( + o._webAudio + ? ((e._node = + void 0 === n.ctx.createGain + ? n.ctx.createGainNode() + : n.ctx.createGain()), + e._node.gain.setValueAtTime(t, n.ctx.currentTime), + (e._node.paused = !0), + e._node.connect(n.masterGain)) + : n.noAudio || + ((e._node = n._obtainHtml5Audio()), + (e._errorFn = e._errorListener.bind(e)), + e._node.addEventListener("error", e._errorFn, !1), + (e._loadFn = e._loadListener.bind(e)), + e._node.addEventListener(n._canPlayEvent, e._loadFn, !1), + (e._endFn = e._endListener.bind(e)), + e._node.addEventListener("ended", e._endFn, !1), + (e._node.src = o._src), + (e._node.preload = !0 === o._preload ? "auto" : o._preload), + (e._node.volume = t * n.volume()), + e._node.load()), + e + ); + }, + reset: function () { + var e = this, + o = e._parent; + return ( + (e._muted = o._muted), + (e._loop = o._loop), + (e._volume = o._volume), + (e._rate = o._rate), + (e._seek = 0), + (e._rateSeek = 0), + (e._paused = !0), + (e._ended = !0), + (e._sprite = "__default"), + (e._id = ++n._counter), + e + ); + }, + _errorListener: function () { + var e = this; + e._parent._emit( + "loaderror", + e._id, + e._node.error ? e._node.error.code : 0 + ), + e._node.removeEventListener("error", e._errorFn, !1); + }, + _loadListener: function () { + var e = this, + o = e._parent; + (o._duration = Math.ceil(10 * e._node.duration) / 10), + 0 === Object.keys(o._sprite).length && + (o._sprite = { __default: [0, 1e3 * o._duration] }), + "loaded" !== o._state && + ((o._state = "loaded"), o._emit("load"), o._loadQueue()), + e._node.removeEventListener(n._canPlayEvent, e._loadFn, !1); + }, + _endListener: function () { + var e = this, + n = e._parent; + n._duration === 1 / 0 && + ((n._duration = Math.ceil(10 * e._node.duration) / 10), + n._sprite.__default[1] === 1 / 0 && + (n._sprite.__default[1] = 1e3 * n._duration), + n._ended(e)), + e._node.removeEventListener("ended", e._endFn, !1); + }, + }; + var r = {}, + a = function (e) { + var n = e._src; + if (r[n]) return (e._duration = r[n].duration), void i(e); + if (/^data:[^;]+;base64,/.test(n)) { + for ( + var o = atob(n.split(",")[1]), t = new Uint8Array(o.length), a = 0; + a < o.length; + ++a + ) + t[a] = o.charCodeAt(a); + d(t.buffer, e); + } else { + var _ = new XMLHttpRequest(); + _.open(e._xhr.method, n, !0), + (_.withCredentials = e._xhr.withCredentials), + (_.responseType = "arraybuffer"), + e._xhr.headers && + Object.keys(e._xhr.headers).forEach(function (n) { + _.setRequestHeader(n, e._xhr.headers[n]); + }), + (_.onload = function () { + var n = (_.status + "")[0]; + if ("0" !== n && "2" !== n && "3" !== n) + return void e._emit( + "loaderror", + null, + "Failed loading audio file with status: " + _.status + "." + ); + d(_.response, e); + }), + (_.onerror = function () { + e._webAudio && + ((e._html5 = !0), + (e._webAudio = !1), + (e._sounds = []), + delete r[n], + e.load()); + }), + u(_); + } + }, + u = function (e) { + try { + e.send(); + } catch (n) { + e.onerror(); + } + }, + d = function (e, o) { + var t = function () { + o._emit("loaderror", null, "Decoding audio data failed."); + }, + a = function (e) { + e && o._sounds.length > 0 ? ((r[o._src] = e), i(o, e)) : t(); + }; + "undefined" != typeof Promise && 1 === n.ctx.decodeAudioData.length + ? n.ctx.decodeAudioData(e).then(a).catch(t) + : n.ctx.decodeAudioData(e, a, t); + }, + i = function (e, n) { + n && !e._duration && (e._duration = n.duration), + 0 === Object.keys(e._sprite).length && + (e._sprite = { __default: [0, 1e3 * e._duration] }), + "loaded" !== e._state && + ((e._state = "loaded"), e._emit("load"), e._loadQueue()); + }, + _ = function () { + if (n.usingWebAudio) { + try { + "undefined" != typeof AudioContext + ? (n.ctx = new AudioContext()) + : "undefined" != typeof webkitAudioContext + ? (n.ctx = new webkitAudioContext()) + : (n.usingWebAudio = !1); + } catch (e) { + n.usingWebAudio = !1; + } + n.ctx || (n.usingWebAudio = !1); + var e = /iP(hone|od|ad)/.test(n._navigator && n._navigator.platform), + o = + n._navigator && + n._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/), + t = o ? parseInt(o[1], 10) : null; + if (e && t && t < 9) { + var r = /safari/.test( + n._navigator && n._navigator.userAgent.toLowerCase() + ); + n._navigator && !r && (n.usingWebAudio = !1); + } + n.usingWebAudio && + ((n.masterGain = + void 0 === n.ctx.createGain + ? n.ctx.createGainNode() + : n.ctx.createGain()), + n.masterGain.gain.setValueAtTime( + n._muted ? 0 : n._volume, + n.ctx.currentTime + ), + n.masterGain.connect(n.ctx.destination)), + n._setup(); + } + }; + "function" == typeof define && + define.amd && + define([], function () { + return { Howler: n, Howl: o }; + }), + "undefined" != typeof exports && ((exports.Howler = n), (exports.Howl = o)), + "undefined" != typeof global + ? ((global.HowlerGlobal = e), + (global.Howler = n), + (global.Howl = o), + (global.Sound = t)) + : "undefined" != typeof window && + ((window.HowlerGlobal = e), + (window.Howler = n), + (window.Howl = o), + (window.Sound = t)); +})(); +/*! Spatial Plugin */ +!(function () { + "use strict"; + (HowlerGlobal.prototype._pos = [0, 0, 0]), + (HowlerGlobal.prototype._orientation = [0, 0, -1, 0, 1, 0]), + (HowlerGlobal.prototype.stereo = function (e) { + var n = this; + if (!n.ctx || !n.ctx.listener) return n; + for (var t = n._howls.length - 1; t >= 0; t--) n._howls[t].stereo(e); + return n; + }), + (HowlerGlobal.prototype.pos = function (e, n, t) { + var r = this; + return r.ctx && r.ctx.listener + ? ((n = "number" != typeof n ? r._pos[1] : n), + (t = "number" != typeof t ? r._pos[2] : t), + "number" != typeof e + ? r._pos + : ((r._pos = [e, n, t]), + void 0 !== r.ctx.listener.positionX + ? (r.ctx.listener.positionX.setTargetAtTime( + r._pos[0], + Howler.ctx.currentTime, + 0.1 + ), + r.ctx.listener.positionY.setTargetAtTime( + r._pos[1], + Howler.ctx.currentTime, + 0.1 + ), + r.ctx.listener.positionZ.setTargetAtTime( + r._pos[2], + Howler.ctx.currentTime, + 0.1 + )) + : r.ctx.listener.setPosition(r._pos[0], r._pos[1], r._pos[2]), + r)) + : r; + }), + (HowlerGlobal.prototype.orientation = function (e, n, t, r, o, i) { + var a = this; + if (!a.ctx || !a.ctx.listener) return a; + var s = a._orientation; + return ( + (n = "number" != typeof n ? s[1] : n), + (t = "number" != typeof t ? s[2] : t), + (r = "number" != typeof r ? s[3] : r), + (o = "number" != typeof o ? s[4] : o), + (i = "number" != typeof i ? s[5] : i), + "number" != typeof e + ? s + : ((a._orientation = [e, n, t, r, o, i]), + void 0 !== a.ctx.listener.forwardX + ? (a.ctx.listener.forwardX.setTargetAtTime( + e, + Howler.ctx.currentTime, + 0.1 + ), + a.ctx.listener.forwardY.setTargetAtTime( + n, + Howler.ctx.currentTime, + 0.1 + ), + a.ctx.listener.forwardZ.setTargetAtTime( + t, + Howler.ctx.currentTime, + 0.1 + ), + a.ctx.listener.upX.setTargetAtTime( + r, + Howler.ctx.currentTime, + 0.1 + ), + a.ctx.listener.upY.setTargetAtTime( + o, + Howler.ctx.currentTime, + 0.1 + ), + a.ctx.listener.upZ.setTargetAtTime( + i, + Howler.ctx.currentTime, + 0.1 + )) + : a.ctx.listener.setOrientation(e, n, t, r, o, i), + a) + ); + }), + (Howl.prototype.init = (function (e) { + return function (n) { + var t = this; + return ( + (t._orientation = n.orientation || [1, 0, 0]), + (t._stereo = n.stereo || null), + (t._pos = n.pos || null), + (t._pannerAttr = { + coneInnerAngle: + void 0 !== n.coneInnerAngle ? n.coneInnerAngle : 360, + coneOuterAngle: + void 0 !== n.coneOuterAngle ? n.coneOuterAngle : 360, + coneOuterGain: void 0 !== n.coneOuterGain ? n.coneOuterGain : 0, + distanceModel: + void 0 !== n.distanceModel ? n.distanceModel : "inverse", + maxDistance: void 0 !== n.maxDistance ? n.maxDistance : 1e4, + panningModel: void 0 !== n.panningModel ? n.panningModel : "HRTF", + refDistance: void 0 !== n.refDistance ? n.refDistance : 1, + rolloffFactor: void 0 !== n.rolloffFactor ? n.rolloffFactor : 1, + }), + (t._onstereo = n.onstereo ? [{ fn: n.onstereo }] : []), + (t._onpos = n.onpos ? [{ fn: n.onpos }] : []), + (t._onorientation = n.onorientation ? [{ fn: n.onorientation }] : []), + e.call(this, n) + ); + }; + })(Howl.prototype.init)), + (Howl.prototype.stereo = function (n, t) { + var r = this; + if (!r._webAudio) return r; + if ("loaded" !== r._state) + return ( + r._queue.push({ + event: "stereo", + action: function () { + r.stereo(n, t); + }, + }), + r + ); + var o = void 0 === Howler.ctx.createStereoPanner ? "spatial" : "stereo"; + if (void 0 === t) { + if ("number" != typeof n) return r._stereo; + (r._stereo = n), (r._pos = [n, 0, 0]); + } + for (var i = r._getSoundIds(t), a = 0; a < i.length; a++) { + var s = r._soundById(i[a]); + if (s) { + if ("number" != typeof n) return s._stereo; + (s._stereo = n), + (s._pos = [n, 0, 0]), + s._node && + ((s._pannerAttr.panningModel = "equalpower"), + (s._panner && s._panner.pan) || e(s, o), + "spatial" === o + ? void 0 !== s._panner.positionX + ? (s._panner.positionX.setValueAtTime( + n, + Howler.ctx.currentTime + ), + s._panner.positionY.setValueAtTime( + 0, + Howler.ctx.currentTime + ), + s._panner.positionZ.setValueAtTime( + 0, + Howler.ctx.currentTime + )) + : s._panner.setPosition(n, 0, 0) + : s._panner.pan.setValueAtTime(n, Howler.ctx.currentTime)), + r._emit("stereo", s._id); + } + } + return r; + }), + (Howl.prototype.pos = function (n, t, r, o) { + var i = this; + if (!i._webAudio) return i; + if ("loaded" !== i._state) + return ( + i._queue.push({ + event: "pos", + action: function () { + i.pos(n, t, r, o); + }, + }), + i + ); + if ( + ((t = "number" != typeof t ? 0 : t), + (r = "number" != typeof r ? -0.5 : r), + void 0 === o) + ) { + if ("number" != typeof n) return i._pos; + i._pos = [n, t, r]; + } + for (var a = i._getSoundIds(o), s = 0; s < a.length; s++) { + var p = i._soundById(a[s]); + if (p) { + if ("number" != typeof n) return p._pos; + (p._pos = [n, t, r]), + p._node && + ((p._panner && !p._panner.pan) || e(p, "spatial"), + void 0 !== p._panner.positionX + ? (p._panner.positionX.setValueAtTime( + n, + Howler.ctx.currentTime + ), + p._panner.positionY.setValueAtTime(t, Howler.ctx.currentTime), + p._panner.positionZ.setValueAtTime(r, Howler.ctx.currentTime)) + : p._panner.setPosition(n, t, r)), + i._emit("pos", p._id); + } + } + return i; + }), + (Howl.prototype.orientation = function (n, t, r, o) { + var i = this; + if (!i._webAudio) return i; + if ("loaded" !== i._state) + return ( + i._queue.push({ + event: "orientation", + action: function () { + i.orientation(n, t, r, o); + }, + }), + i + ); + if ( + ((t = "number" != typeof t ? i._orientation[1] : t), + (r = "number" != typeof r ? i._orientation[2] : r), + void 0 === o) + ) { + if ("number" != typeof n) return i._orientation; + i._orientation = [n, t, r]; + } + for (var a = i._getSoundIds(o), s = 0; s < a.length; s++) { + var p = i._soundById(a[s]); + if (p) { + if ("number" != typeof n) return p._orientation; + (p._orientation = [n, t, r]), + p._node && + (p._panner || + (p._pos || (p._pos = i._pos || [0, 0, -0.5]), e(p, "spatial")), + void 0 !== p._panner.orientationX + ? (p._panner.orientationX.setValueAtTime( + n, + Howler.ctx.currentTime + ), + p._panner.orientationY.setValueAtTime( + t, + Howler.ctx.currentTime + ), + p._panner.orientationZ.setValueAtTime( + r, + Howler.ctx.currentTime + )) + : p._panner.setOrientation(n, t, r)), + i._emit("orientation", p._id); + } + } + return i; + }), + (Howl.prototype.pannerAttr = function () { + var n, + t, + r, + o = this, + i = arguments; + if (!o._webAudio) return o; + if (0 === i.length) return o._pannerAttr; + if (1 === i.length) { + if ("object" != typeof i[0]) + return ( + (r = o._soundById(parseInt(i[0], 10))), + r ? r._pannerAttr : o._pannerAttr + ); + (n = i[0]), + void 0 === t && + (n.pannerAttr || + (n.pannerAttr = { + coneInnerAngle: n.coneInnerAngle, + coneOuterAngle: n.coneOuterAngle, + coneOuterGain: n.coneOuterGain, + distanceModel: n.distanceModel, + maxDistance: n.maxDistance, + refDistance: n.refDistance, + rolloffFactor: n.rolloffFactor, + panningModel: n.panningModel, + }), + (o._pannerAttr = { + coneInnerAngle: + void 0 !== n.pannerAttr.coneInnerAngle + ? n.pannerAttr.coneInnerAngle + : o._coneInnerAngle, + coneOuterAngle: + void 0 !== n.pannerAttr.coneOuterAngle + ? n.pannerAttr.coneOuterAngle + : o._coneOuterAngle, + coneOuterGain: + void 0 !== n.pannerAttr.coneOuterGain + ? n.pannerAttr.coneOuterGain + : o._coneOuterGain, + distanceModel: + void 0 !== n.pannerAttr.distanceModel + ? n.pannerAttr.distanceModel + : o._distanceModel, + maxDistance: + void 0 !== n.pannerAttr.maxDistance + ? n.pannerAttr.maxDistance + : o._maxDistance, + refDistance: + void 0 !== n.pannerAttr.refDistance + ? n.pannerAttr.refDistance + : o._refDistance, + rolloffFactor: + void 0 !== n.pannerAttr.rolloffFactor + ? n.pannerAttr.rolloffFactor + : o._rolloffFactor, + panningModel: + void 0 !== n.pannerAttr.panningModel + ? n.pannerAttr.panningModel + : o._panningModel, + })); + } else 2 === i.length && ((n = i[0]), (t = parseInt(i[1], 10))); + for (var a = o._getSoundIds(t), s = 0; s < a.length; s++) + if ((r = o._soundById(a[s]))) { + var p = r._pannerAttr; + p = { + coneInnerAngle: + void 0 !== n.coneInnerAngle ? n.coneInnerAngle : p.coneInnerAngle, + coneOuterAngle: + void 0 !== n.coneOuterAngle ? n.coneOuterAngle : p.coneOuterAngle, + coneOuterGain: + void 0 !== n.coneOuterGain ? n.coneOuterGain : p.coneOuterGain, + distanceModel: + void 0 !== n.distanceModel ? n.distanceModel : p.distanceModel, + maxDistance: + void 0 !== n.maxDistance ? n.maxDistance : p.maxDistance, + refDistance: + void 0 !== n.refDistance ? n.refDistance : p.refDistance, + rolloffFactor: + void 0 !== n.rolloffFactor ? n.rolloffFactor : p.rolloffFactor, + panningModel: + void 0 !== n.panningModel ? n.panningModel : p.panningModel, + }; + var c = r._panner; + c + ? ((c.coneInnerAngle = p.coneInnerAngle), + (c.coneOuterAngle = p.coneOuterAngle), + (c.coneOuterGain = p.coneOuterGain), + (c.distanceModel = p.distanceModel), + (c.maxDistance = p.maxDistance), + (c.refDistance = p.refDistance), + (c.rolloffFactor = p.rolloffFactor), + (c.panningModel = p.panningModel)) + : (r._pos || (r._pos = o._pos || [0, 0, -0.5]), e(r, "spatial")); + } + return o; + }), + (Sound.prototype.init = (function (e) { + return function () { + var n = this, + t = n._parent; + (n._orientation = t._orientation), + (n._stereo = t._stereo), + (n._pos = t._pos), + (n._pannerAttr = t._pannerAttr), + e.call(this), + n._stereo + ? t.stereo(n._stereo) + : n._pos && t.pos(n._pos[0], n._pos[1], n._pos[2], n._id); + }; + })(Sound.prototype.init)), + (Sound.prototype.reset = (function (e) { + return function () { + var n = this, + t = n._parent; + return ( + (n._orientation = t._orientation), + (n._stereo = t._stereo), + (n._pos = t._pos), + (n._pannerAttr = t._pannerAttr), + n._stereo + ? t.stereo(n._stereo) + : n._pos + ? t.pos(n._pos[0], n._pos[1], n._pos[2], n._id) + : n._panner && + (n._panner.disconnect(0), + (n._panner = void 0), + t._refreshBuffer(n)), + e.call(this) + ); + }; + })(Sound.prototype.reset)); + var e = function (e, n) { + (n = n || "spatial"), + "spatial" === n + ? ((e._panner = Howler.ctx.createPanner()), + (e._panner.coneInnerAngle = e._pannerAttr.coneInnerAngle), + (e._panner.coneOuterAngle = e._pannerAttr.coneOuterAngle), + (e._panner.coneOuterGain = e._pannerAttr.coneOuterGain), + (e._panner.distanceModel = e._pannerAttr.distanceModel), + (e._panner.maxDistance = e._pannerAttr.maxDistance), + (e._panner.refDistance = e._pannerAttr.refDistance), + (e._panner.rolloffFactor = e._pannerAttr.rolloffFactor), + (e._panner.panningModel = e._pannerAttr.panningModel), + void 0 !== e._panner.positionX + ? (e._panner.positionX.setValueAtTime( + e._pos[0], + Howler.ctx.currentTime + ), + e._panner.positionY.setValueAtTime( + e._pos[1], + Howler.ctx.currentTime + ), + e._panner.positionZ.setValueAtTime( + e._pos[2], + Howler.ctx.currentTime + )) + : e._panner.setPosition(e._pos[0], e._pos[1], e._pos[2]), + void 0 !== e._panner.orientationX + ? (e._panner.orientationX.setValueAtTime( + e._orientation[0], + Howler.ctx.currentTime + ), + e._panner.orientationY.setValueAtTime( + e._orientation[1], + Howler.ctx.currentTime + ), + e._panner.orientationZ.setValueAtTime( + e._orientation[2], + Howler.ctx.currentTime + )) + : e._panner.setOrientation( + e._orientation[0], + e._orientation[1], + e._orientation[2] + )) + : ((e._panner = Howler.ctx.createStereoPanner()), + e._panner.pan.setValueAtTime(e._stereo, Howler.ctx.currentTime)), + e._panner.connect(e._node), + e._paused || e._parent.pause(e._id, !0).play(e._id, !0); + }; +})(); + +globalThis.HowlerAudioPlayer = { + audioStore: {}, + loadedAudio: {}, + paused: {}, + volumes: {}, + muted: {}, + init(runtime) { + this.runtime = runtime; + }, + + dbToLinear(x) { + var v = this.dbToLinear_nocap(x); + + if (!isFinite(v)) + // accidentally passing a string can result in NaN; set volume to 0 if so + v = 0; + + if (v <= 0.0011) v = 0; + if (v > 1) v = 1; + return v; + }, + + linearToDb(x) { + if (x < 0.001) x = 0.001; + if (x > 1) x = 1; + return this.linearToDb_nocap(x); + }, + + dbToLinear_nocap(x) { + return Math.pow(10, x / 20); + }, + + linearToDb_nocap(x) { + return (Math.log(x) / Math.log(10)) * 20; + }, + + play(name, group = "sounds") { + //if sound has already been played before, reuse it, else create new Howler. + let howler; + this.audioStore[group] = this.audioStore[group] || {}; + if (this.audioStore[group][name]) howler = this.audioStore[group][name]; + else if (this.loadedAudio[name]) { + howler = this.audioStore[group][name] = this.loadedAudio[name]; + delete this.loadedAudio[name]; + } else howler = this.load(name, group); + + howler.volume(this.volumes[group] || 1); + howler.mute(!!this.muted[group]); + howler.play(); + }, + setPaused(paused = true, group) { + if (group) { + if (paused) { + if (!this.audioStore.hasOwnProperty(group)) return; + this.paused[group] = this.paused[group] || {}; + Object.keys(this.audioStore[group]).forEach((name) => { + this.paused[group][name] = this.paused[group][name] || []; + let self = this.audioStore[group][name]; + for (var i = 0; i < self._sounds.length; i++) { + let sound = self._sounds[i]; + if (!sound._paused && !sound._ended) { + this.paused[group][name].push(sound._id); + self.pause(sound._id); + } + } + }); + } else { + if (!this.paused.hasOwnProperty(group)) return; + if (!this.audioStore.hasOwnProperty(group)) return; + Object.keys(this.paused[group]).forEach((name) => { + if (!this.audioStore[group].hasOwnProperty(name)) return; + let ids = this.paused[group][name]; + ids.forEach((id) => { + this.audioStore[group][name].play(id); + }); + this.paused[group][name] = []; + }); + } + } else { + if (paused) { + let arr = Object.keys(this.audioStore); + for (let i = 0; i < arr.length; i++) { + const groupName = arr[i]; + this.setPaused(true, groupName); + } + } else { + let arr = Object.keys(this.paused); + for (let i = 0; i < arr.length; i++) { + const groupName = arr[i]; + this.setPaused(false, groupName); + } + } + } + }, + setMuted(muted = true, group) { + if (group) { + if (!this.audioStore.hasOwnProperty(group)) return; + this.muted[group] = muted; + Object.values(this.audioStore[group]).forEach((howl) => { + howl.mute(muted); + }); + } else { + Howler.mute(muted); + } + }, + setLooping(looping = true, group) { + if (group) { + if (!this.audioStore.hasOwnProperty(group)) return; + Object.values(this.audioStore[group]).forEach((howl) => { + howl.loop(looping); + }); + } else { + let arr = Object.keys(this.audioStore); + for (let i = 0; i < arr.length; i++) { + const groupName = arr[i]; + this.setLooping(looping, groupName); + } + } + }, + setVolume(volume, group) { + volume = this.dbToLinear(volume); + this.setLinearVolume(volume, group); + }, + setLinearVolume(volume, group) { + if (group) { + if (!this.audioStore.hasOwnProperty(group)) return; + this.volumes[group] = volume; + Object.values(this.audioStore[group]).forEach((howl) => { + howl.volume(volume); + }); + } else { + Howler.volume(volume); + } + }, + stop(group) { + if (group) { + if (!this.audioStore.hasOwnProperty(group)) return; + + if (this.paused.hasOwnProperty(group)) { + this.paused[group] = {}; + } + + Object.values(this.audioStore[group]).forEach((howl) => { + howl.stop(); + }); + } else { + this.paused = {}; + Howler.stop(); + } + }, + unload(name, group) { + if (name) { + if (group) { + if (this.audioStore[group] && this.audioStore[group][name]) + this.audioStore[group][name].unload(); + } else { + Object.values(this.audioStore).forEach((group) => { + if (group[name]) group[name].unload(); + }); + } + } else { + Howler.unload(); + } + }, + load(name, group) { + let fullName = this.runtime.files_subfolder + name.toLowerCase(); + if (group) { + this.audioStore[group] = this.audioStore[group] || {}; + if (!this.audioStore[group][name]) { + this.audioStore[group][name] = new Howl({ + src: [fullName + ".ogg", fullName + ".m4a"], + }); + } + return this.audioStore[group][name]; + } else { + if (this.loadedAudio[name]) return; + this.loadedAudio[name] = new Howl({ + src: [fullName + ".ogg", fullName + ".m4a"], + }); + } + }, + isPlaying(group) { + if (group) { + if (!this.audioStore.hasOwnProperty(group)) return false; + let arr = Object.values(this.audioStore[group]); + for (let i = 0; i < arr.length; i++) { + const howl = arr[i]; + if (howl.playing()) return true; + } + return false; + } else { + let arr = Object.keys(this.audioStore); + for (let i = 0; i < arr.length; i++) { + const groupName = arr[i]; + if (this.isPlaying(groupName)) return true; + } + return false; + } + }, + getVolume(group) { + if (group) { + return this.linearToDb(this.volumes[group] || 1); + } else { + return this.linearToDb(Howler.volume()); + } + }, + getLinearVolume(group) { + if (group) { + return this.volumes[group] || 1; + } else { + return Howler.volume(); + } + }, +}; diff --git a/games/ovo/1.4.4/html2canvas.min.js b/games/ovo/1.4.4/html2canvas.min.js new file mode 100644 index 00000000..3d7173a0 --- /dev/null +++ b/games/ovo/1.4.4/html2canvas.min.js @@ -0,0 +1,8 @@ +/* + html2canvas 0.5.0-beta2 + Copyright (c) 2015 Niklas von Hertzen + + Released under License +*/ +!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.html2canvas=a()}}(function(){var a;return function b(a,c,d){function e(g,h){if(!c[g]){if(!a[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};a[g][0].call(k.exports,function(b){var c=a[g][1][b];return e(c?c:b)},k,k.exports,b,a,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g1&&(d=c[0]+"@",a=c[1]),a=a.replace(H,".");var e=a.split("."),f=g(e,b).join(".");return d+f}function i(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function j(a){return g(a,function(a){var b="";return a>65535&&(a-=65536,b+=L(a>>>10&1023|55296),a=56320|1023&a),b+=L(a)}).join("")}function k(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:x}function l(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function m(a,b,c){var d=0;for(a=c?K(a/B):a>>1,a+=K(a/b);a>J*z>>1;d+=x)a=K(a/J);return K(d+(J+1)*a/(a+A))}function n(a){var b,c,d,e,g,h,i,l,n,o,p=[],q=a.length,r=0,s=D,t=C;for(c=a.lastIndexOf(E),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&f("not-basic"),p.push(a.charCodeAt(d));for(e=c>0?c+1:0;q>e;){for(g=r,h=1,i=x;e>=q&&f("invalid-input"),l=k(a.charCodeAt(e++)),(l>=x||l>K((w-r)/h))&&f("overflow"),r+=l*h,n=t>=i?y:i>=t+z?z:i-t,!(n>l);i+=x)o=x-n,h>K(w/o)&&f("overflow"),h*=o;b=p.length+1,t=m(r-g,b,0==g),K(r/b)>w-s&&f("overflow"),s+=K(r/b),r%=b,p.splice(r++,0,s)}return j(p)}function o(a){var b,c,d,e,g,h,j,k,n,o,p,q,r,s,t,u=[];for(a=i(a),q=a.length,b=D,c=0,g=C,h=0;q>h;++h)p=a[h],128>p&&u.push(L(p));for(d=e=u.length,e&&u.push(E);q>d;){for(j=w,h=0;q>h;++h)p=a[h],p>=b&&j>p&&(j=p);for(r=d+1,j-b>K((w-c)/r)&&f("overflow"),c+=(j-b)*r,b=j,h=0;q>h;++h)if(p=a[h],b>p&&++c>w&&f("overflow"),p==b){for(k=c,n=x;o=g>=n?y:n>=g+z?z:n-g,!(o>k);n+=x)t=k-o,s=x-o,u.push(L(l(o+t%s,0))),k=K(t/s);u.push(L(l(k,0))),g=m(c,r,d==e),c=0,++d}++c,++b}return u.join("")}function p(a){return h(a,function(a){return F.test(a)?n(a.slice(4).toLowerCase()):a})}function q(a){return h(a,function(a){return G.test(a)?"xn--"+o(a):a})}var r="object"==typeof d&&d&&!d.nodeType&&d,s="object"==typeof c&&c&&!c.nodeType&&c,t="object"==typeof b&&b;(t.global===t||t.window===t||t.self===t)&&(e=t);var u,v,w=2147483647,x=36,y=1,z=26,A=38,B=700,C=72,D=128,E="-",F=/^xn--/,G=/[^\x20-\x7E]/,H=/[\x2E\u3002\uFF0E\uFF61]/g,I={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},J=x-y,K=Math.floor,L=String.fromCharCode;if(u={version:"1.3.2",ucs2:{decode:i,encode:j},decode:n,encode:o,toASCII:q,toUnicode:p},"function"==typeof a&&"object"==typeof a.amd&&a.amd)a("punycode",function(){return u});else if(r&&s)if(c.exports==r)s.exports=u;else for(v in u)u.hasOwnProperty(v)&&(r[v]=u[v]);else e.punycode=u}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],2:[function(a,b,c){function d(a,b,c){!a.defaultView||b===a.defaultView.pageXOffset&&c===a.defaultView.pageYOffset||a.defaultView.scrollTo(b,c)}function e(a,b){try{b&&(b.width=a.width,b.height=a.height,b.getContext("2d").putImageData(a.getContext("2d").getImageData(0,0,a.width,a.height),0,0))}catch(c){h("Unable to copy canvas content from",a,c)}}function f(a,b){for(var c=3===a.nodeType?document.createTextNode(a.nodeValue):a.cloneNode(!1),d=a.firstChild;d;)(b===!0||1!==d.nodeType||"SCRIPT"!==d.nodeName)&&c.appendChild(f(d,b)),d=d.nextSibling;return 1===a.nodeType&&(c._scrollTop=a.scrollTop,c._scrollLeft=a.scrollLeft,"CANVAS"===a.nodeName?e(a,c):("TEXTAREA"===a.nodeName||"SELECT"===a.nodeName)&&(c.value=a.value)),c}function g(a){if(1===a.nodeType){a.scrollTop=a._scrollTop,a.scrollLeft=a._scrollLeft;for(var b=a.firstChild;b;)g(b),b=b.nextSibling}}var h=a("./log");b.exports=function(a,b,c,e,h,i,j){var k=f(a.documentElement,h.javascriptEnabled),l=b.createElement("iframe");return l.className="html2canvas-container",l.style.visibility="hidden",l.style.position="fixed",l.style.left="-10000px",l.style.top="0px",l.style.border="0",l.width=c,l.height=e,l.scrolling="no",b.body.appendChild(l),new Promise(function(b){var c=l.contentWindow.document;l.contentWindow.onload=l.onload=function(){var a=setInterval(function(){c.body.childNodes.length>0&&(g(c.documentElement),clearInterval(a),"view"===h.type&&(l.contentWindow.scrollTo(i,j),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||l.contentWindow.scrollY===j&&l.contentWindow.scrollX===i||(c.documentElement.style.top=-j+"px",c.documentElement.style.left=-i+"px",c.documentElement.style.position="absolute")),b(l))},50)},c.open(),c.write(""),d(a,i,j),c.replaceChild(c.adoptNode(k),c.documentElement),c.close()})}},{"./log":13}],3:[function(a,b,c){function d(a){this.r=0,this.g=0,this.b=0,this.a=null;this.fromArray(a)||this.namedColor(a)||this.rgb(a)||this.rgba(a)||this.hex6(a)||this.hex3(a)}d.prototype.darken=function(a){var b=1-a;return new d([Math.round(this.r*b),Math.round(this.g*b),Math.round(this.b*b),this.a])},d.prototype.isTransparent=function(){return 0===this.a},d.prototype.isBlack=function(){return 0===this.r&&0===this.g&&0===this.b},d.prototype.fromArray=function(a){return Array.isArray(a)&&(this.r=Math.min(a[0],255),this.g=Math.min(a[1],255),this.b=Math.min(a[2],255),a.length>3&&(this.a=a[3])),Array.isArray(a)};var e=/^#([a-f0-9]{3})$/i;d.prototype.hex3=function(a){var b=null;return null!==(b=a.match(e))&&(this.r=parseInt(b[1][0]+b[1][0],16),this.g=parseInt(b[1][1]+b[1][1],16),this.b=parseInt(b[1][2]+b[1][2],16)),null!==b};var f=/^#([a-f0-9]{6})$/i;d.prototype.hex6=function(a){var b=null;return null!==(b=a.match(f))&&(this.r=parseInt(b[1].substring(0,2),16),this.g=parseInt(b[1].substring(2,4),16),this.b=parseInt(b[1].substring(4,6),16)),null!==b};var g=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/;d.prototype.rgb=function(a){var b=null;return null!==(b=a.match(g))&&(this.r=Number(b[1]),this.g=Number(b[2]),this.b=Number(b[3])),null!==b};var h=/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?\.?\d+)\s*\)$/;d.prototype.rgba=function(a){var b=null;return null!==(b=a.match(h))&&(this.r=Number(b[1]),this.g=Number(b[2]),this.b=Number(b[3]),this.a=Number(b[4])),null!==b},d.prototype.toString=function(){return null!==this.a&&1!==this.a?"rgba("+[this.r,this.g,this.b,this.a].join(",")+")":"rgb("+[this.r,this.g,this.b].join(",")+")"},d.prototype.namedColor=function(a){a=a.toLowerCase();var b=i[a];if(b)this.r=b[0],this.g=b[1],this.b=b[2];else if("transparent"===a)return this.r=this.g=this.b=this.a=0,!0;return!!b},d.prototype.isColor=!0;var i={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};b.exports=d},{}],4:[function(b,c,d){function e(a,b){var c=x++;if(b=b||{},b.logging&&(window.html2canvas.logging=!0,window.html2canvas.start=Date.now()),b.async="undefined"==typeof b.async?!0:b.async,b.allowTaint="undefined"==typeof b.allowTaint?!1:b.allowTaint,b.removeContainer="undefined"==typeof b.removeContainer?!0:b.removeContainer,b.javascriptEnabled="undefined"==typeof b.javascriptEnabled?!1:b.javascriptEnabled,b.imageTimeout="undefined"==typeof b.imageTimeout?1e4:b.imageTimeout,b.renderer="function"==typeof b.renderer?b.renderer:n,b.strict=!!b.strict,"string"==typeof a){if("string"!=typeof b.proxy)return Promise.reject("Proxy must be used when rendering url");var d=null!=b.width?b.width:window.innerWidth,e=null!=b.height?b.height:window.innerHeight;return u(l(a),b.proxy,document,d,e,b).then(function(a){return g(a.contentWindow.document.documentElement,a,b,d,e)})}var h=(void 0===a?[document.documentElement]:a.length?a:[a])[0];return h.setAttribute(w+c,c),f(h.ownerDocument,b,h.ownerDocument.defaultView.innerWidth,h.ownerDocument.defaultView.innerHeight,c).then(function(a){return"function"==typeof b.onrendered&&(r("options.onrendered is deprecated, html2canvas returns a Promise containing the canvas"),b.onrendered(a)),a})}function f(a,b,c,d,e){return t(a,a,c,d,b,a.defaultView.pageXOffset,a.defaultView.pageYOffset).then(function(f){r("Document cloned");var h=w+e,i="["+h+"='"+e+"']";a.querySelector(i).removeAttribute(h);var j=f.contentWindow,k=j.document.querySelector(i),l="function"==typeof b.onclone?Promise.resolve(b.onclone(j.document)):Promise.resolve(!0);return l.then(function(){return g(k,f,b,c,d)})})}function g(a,b,c,d,e){var f=b.contentWindow,g=new m(f.document),l=new o(c,g),n=v(a),q="view"===c.type?d:j(f.document),s="view"===c.type?e:k(f.document),t=new c.renderer(q,s,l,c,document),u=new p(a,t,g,l,c);return u.ready.then(function(){r("Finished rendering");var d;return d="view"===c.type?i(t.canvas,{width:t.canvas.width,height:t.canvas.height,top:0,left:0,x:0,y:0}):a===f.document.body||a===f.document.documentElement||null!=c.canvas?t.canvas:i(t.canvas,{width:null!=c.width?c.width:n.width,height:null!=c.height?c.height:n.height,top:n.top,left:n.left,x:f.pageXOffset,y:f.pageYOffset}),h(b,c),d})}function h(a,b){b.removeContainer&&(a.parentNode.removeChild(a),r("Cleaned up container"))}function i(a,b){var c=document.createElement("canvas"),d=Math.min(a.width-1,Math.max(0,b.left)),e=Math.min(a.width,Math.max(1,b.left+b.width)),f=Math.min(a.height-1,Math.max(0,b.top)),g=Math.min(a.height,Math.max(1,b.top+b.height));return c.width=b.width,c.height=b.height,r("Cropping canvas at:","left:",b.left,"top:",b.top,"width:",e-d,"height:",g-f),r("Resulting crop with width",b.width,"and height",b.height," with x",d,"and y",f),c.getContext("2d").drawImage(a,d,f,e-d,g-f,b.x,b.y,e-d,g-f),c}function j(a){return Math.max(Math.max(a.body.scrollWidth,a.documentElement.scrollWidth),Math.max(a.body.offsetWidth,a.documentElement.offsetWidth),Math.max(a.body.clientWidth,a.documentElement.clientWidth))}function k(a){return Math.max(Math.max(a.body.scrollHeight,a.documentElement.scrollHeight),Math.max(a.body.offsetHeight,a.documentElement.offsetHeight),Math.max(a.body.clientHeight,a.documentElement.clientHeight))}function l(a){var b=document.createElement("a");return b.href=a,b.href=b.href,b}var m=b("./support"),n=b("./renderers/canvas"),o=b("./imageloader"),p=b("./nodeparser"),q=b("./nodecontainer"),r=b("./log"),s=b("./utils"),t=b("./clone"),u=b("./proxy").loadUrlDocument,v=s.getBounds,w="data-html2canvas-node",x=0;e.CanvasRenderer=n,e.NodeContainer=q,e.log=r,e.utils=s;var y="undefined"==typeof document||"function"!=typeof Object.create||"function"!=typeof document.createElement("canvas").getContext?function(){return Promise.reject("No canvas support")}:e;c.exports=y,"function"==typeof a&&a.amd&&a("html2canvas",[],function(){return y})},{"./clone":2,"./imageloader":11,"./log":13,"./nodecontainer":14,"./nodeparser":15,"./proxy":16,"./renderers/canvas":20,"./support":22,"./utils":26}],5:[function(a,b,c){function d(a){if(this.src=a,e("DummyImageContainer for",a),!this.promise||!this.image){e("Initiating DummyImageContainer"),d.prototype.image=new Image;var b=this.image;d.prototype.promise=new Promise(function(a,c){b.onload=a,b.onerror=c,b.src=f(),b.complete===!0&&a(b)})}}var e=a("./log"),f=a("./utils").smallImage;b.exports=d},{"./log":13,"./utils":26}],6:[function(a,b,c){function d(a,b){var c,d,f=document.createElement("div"),g=document.createElement("img"),h=document.createElement("span"),i="Hidden Text";f.style.visibility="hidden",f.style.fontFamily=a,f.style.fontSize=b,f.style.margin=0,f.style.padding=0,document.body.appendChild(f),g.src=e(),g.width=1,g.height=1,g.style.margin=0,g.style.padding=0,g.style.verticalAlign="baseline",h.style.fontFamily=a,h.style.fontSize=b,h.style.margin=0,h.style.padding=0,h.appendChild(document.createTextNode(i)),f.appendChild(h),f.appendChild(g),c=g.offsetTop-h.offsetTop+1,f.removeChild(h),f.appendChild(document.createTextNode(i)),f.style.lineHeight="normal",g.style.verticalAlign="super",d=g.offsetTop-f.offsetTop+1,document.body.removeChild(f),this.baseline=c,this.lineWidth=1,this.middle=d}var e=a("./utils").smallImage;b.exports=d},{"./utils":26}],7:[function(a,b,c){function d(){this.data={}}var e=a("./font");d.prototype.getMetrics=function(a,b){return void 0===this.data[a+"-"+b]&&(this.data[a+"-"+b]=new e(a,b)),this.data[a+"-"+b]},b.exports=d},{"./font":6}],8:[function(a,b,c){function d(b,c,d){this.image=null,this.src=b;var e=this,g=f(b);this.promise=(c?new Promise(function(a){"about:blank"===b.contentWindow.document.URL||null==b.contentWindow.document.documentElement?b.contentWindow.onload=b.onload=function(){a(b)}:a(b)}):this.proxyLoad(d.proxy,g,d)).then(function(b){var c=a("./core");return c(b.contentWindow.document.documentElement,{type:"view",width:b.width,height:b.height,proxy:d.proxy,javascriptEnabled:d.javascriptEnabled,removeContainer:d.removeContainer,allowTaint:d.allowTaint,imageTimeout:d.imageTimeout/2})}).then(function(a){return e.image=a})}var e=a("./utils"),f=e.getBounds,g=a("./proxy").loadUrlDocument;d.prototype.proxyLoad=function(a,b,c){var d=this.src;return g(d.src,a,d.ownerDocument,b.width,b.height,c)},b.exports=d},{"./core":4,"./proxy":16,"./utils":26}],9:[function(a,b,c){function d(a){this.src=a.value,this.colorStops=[],this.type=null,this.x0=.5,this.y0=.5,this.x1=.5,this.y1=.5,this.promise=Promise.resolve(!0)}d.TYPES={LINEAR:1,RADIAL:2},d.REGEXP_COLORSTOP=/^\s*(rgba?\(\s*\d{1,3},\s*\d{1,3},\s*\d{1,3}(?:,\s*[0-9\.]+)?\s*\)|[a-z]{3,20}|#[a-f0-9]{3,6})(?:\s+(\d{1,3}(?:\.\d+)?)(%|px)?)?(?:\s|$)/i,b.exports=d},{}],10:[function(a,b,c){function d(a,b){this.src=a,this.image=new Image;var c=this;this.tainted=null,this.promise=new Promise(function(d,e){c.image.onload=d,c.image.onerror=e,b&&(c.image.crossOrigin="anonymous"),c.image.src=a,c.image.complete===!0&&d(c.image)})}b.exports=d},{}],11:[function(a,b,c){function d(a,b){this.link=null,this.options=a,this.support=b,this.origin=this.getOrigin(window.location.href)}var e=a("./log"),f=a("./imagecontainer"),g=a("./dummyimagecontainer"),h=a("./proxyimagecontainer"),i=a("./framecontainer"),j=a("./svgcontainer"),k=a("./svgnodecontainer"),l=a("./lineargradientcontainer"),m=a("./webkitgradientcontainer"),n=a("./utils").bind;d.prototype.findImages=function(a){var b=[];return a.reduce(function(a,b){switch(b.node.nodeName){case"IMG":return a.concat([{args:[b.node.src],method:"url"}]);case"svg":case"IFRAME":return a.concat([{args:[b.node],method:b.node.nodeName}])}return a},[]).forEach(this.addImage(b,this.loadImage),this),b},d.prototype.findBackgroundImage=function(a,b){return b.parseBackgroundImages().filter(this.hasImageBackground).forEach(this.addImage(a,this.loadImage),this),a},d.prototype.addImage=function(a,b){return function(c){c.args.forEach(function(d){this.imageExists(a,d)||(a.splice(0,0,b.call(this,c)),e("Added image #"+a.length,"string"==typeof d?d.substring(0,100):d))},this)}},d.prototype.hasImageBackground=function(a){return"none"!==a.method},d.prototype.loadImage=function(a){if("url"===a.method){var b=a.args[0];return!this.isSVG(b)||this.support.svg||this.options.allowTaint?b.match(/data:image\/.*;base64,/i)?new f(b.replace(/url\(['"]{0,}|['"]{0,}\)$/gi,""),!1):this.isSameOrigin(b)||this.options.allowTaint===!0||this.isSVG(b)?new f(b,!1):this.support.cors&&!this.options.allowTaint&&this.options.useCORS?new f(b,!0):this.options.proxy?new h(b,this.options.proxy):new g(b):new j(b)}return"linear-gradient"===a.method?new l(a):"gradient"===a.method?new m(a):"svg"===a.method?new k(a.args[0],this.support.svg):"IFRAME"===a.method?new i(a.args[0],this.isSameOrigin(a.args[0].src),this.options):new g(a)},d.prototype.isSVG=function(a){return"svg"===a.substring(a.length-3).toLowerCase()||j.prototype.isInline(a)},d.prototype.imageExists=function(a,b){return a.some(function(a){return a.src===b})},d.prototype.isSameOrigin=function(a){return this.getOrigin(a)===this.origin},d.prototype.getOrigin=function(a){var b=this.link||(this.link=document.createElement("a"));return b.href=a,b.href=b.href,b.protocol+b.hostname+b.port},d.prototype.getPromise=function(a){return this.timeout(a,this.options.imageTimeout)["catch"](function(){var b=new g(a.src);return b.promise.then(function(b){a.image=b})})},d.prototype.get=function(a){var b=null;return this.images.some(function(c){return(b=c).src===a})?b:null},d.prototype.fetch=function(a){return this.images=a.reduce(n(this.findBackgroundImage,this),this.findImages(a)),this.images.forEach(function(a,b){a.promise.then(function(){e("Succesfully loaded image #"+(b+1),a)},function(c){e("Failed loading image #"+(b+1),a,c)})}),this.ready=Promise.all(this.images.map(this.getPromise,this)),e("Finished searching images"),this},d.prototype.timeout=function(a,b){var c,d=Promise.race([a.promise,new Promise(function(d,f){c=setTimeout(function(){e("Timed out loading image",a),f(a)},b)})]).then(function(a){return clearTimeout(c),a});return d["catch"](function(){clearTimeout(c)}),d},b.exports=d},{"./dummyimagecontainer":5,"./framecontainer":8,"./imagecontainer":10,"./lineargradientcontainer":12,"./log":13,"./proxyimagecontainer":17,"./svgcontainer":23,"./svgnodecontainer":24,"./utils":26,"./webkitgradientcontainer":27}],12:[function(a,b,c){function d(a){e.apply(this,arguments),this.type=e.TYPES.LINEAR;var b=d.REGEXP_DIRECTION.test(a.args[0])||!e.REGEXP_COLORSTOP.test(a.args[0]);b?a.args[0].split(/\s+/).reverse().forEach(function(a,b){switch(a){case"left":this.x0=0,this.x1=1;break;case"top":this.y0=0,this.y1=1;break;case"right":this.x0=1,this.x1=0;break;case"bottom":this.y0=1,this.y1=0;break;case"to":var c=this.y0,d=this.x0;this.y0=this.y1,this.x0=this.x1,this.x1=d,this.y1=c;break;case"center":break;default:var e=.01*parseFloat(a,10);if(isNaN(e))break;0===b?(this.y0=e,this.y1=1-this.y0):(this.x0=e,this.x1=1-this.x0)}},this):(this.y0=0,this.y1=1),this.colorStops=a.args.slice(b?1:0).map(function(a){var b=a.match(e.REGEXP_COLORSTOP),c=+b[2],d=0===c?"%":b[3];return{color:new f(b[1]),stop:"%"===d?c/100:null}}),null===this.colorStops[0].stop&&(this.colorStops[0].stop=0),null===this.colorStops[this.colorStops.length-1].stop&&(this.colorStops[this.colorStops.length-1].stop=1),this.colorStops.forEach(function(a,b){null===a.stop&&this.colorStops.slice(b).some(function(c,d){return null!==c.stop?(a.stop=(c.stop-this.colorStops[b-1].stop)/(d+1)+this.colorStops[b-1].stop,!0):!1},this)},this)}var e=a("./gradientcontainer"),f=a("./color");d.prototype=Object.create(e.prototype),d.REGEXP_DIRECTION=/^\s*(?:to|left|right|top|bottom|center|\d{1,3}(?:\.\d+)?%?)(?:\s|$)/i,b.exports=d},{"./color":3,"./gradientcontainer":9}],13:[function(a,b,c){b.exports=function(){window.html2canvas.logging&&window.console&&window.console.log&&Function.prototype.bind.call(window.console.log,window.console).apply(window.console,[Date.now()-window.html2canvas.start+"ms","html2canvas:"].concat([].slice.call(arguments,0)))}},{}],14:[function(a,b,c){function d(a,b){this.node=a,this.parent=b,this.stack=null,this.bounds=null,this.borders=null,this.clip=[],this.backgroundClip=[],this.offsetBounds=null,this.visible=null,this.computedStyles=null,this.colors={},this.styles={},this.backgroundImages=null,this.transformData=null,this.transformMatrix=null,this.isPseudoElement=!1,this.opacity=null}function e(a){var b=a.options[a.selectedIndex||0];return b?b.text||"":""}function f(a){if(a&&"matrix"===a[1])return a[2].split(",").map(function(a){return parseFloat(a.trim())});if(a&&"matrix3d"===a[1]){var b=a[2].split(",").map(function(a){return parseFloat(a.trim())});return[b[0],b[1],b[4],b[5],b[12],b[13]]}}function g(a){return-1!==a.toString().indexOf("%")}function h(a){return a.replace("px","")}function i(a){return parseFloat(a)}var j=a("./color"),k=a("./utils"),l=k.getBounds,m=k.parseBackgrounds,n=k.offsetBounds;d.prototype.cloneTo=function(a){a.visible=this.visible,a.borders=this.borders,a.bounds=this.bounds,a.clip=this.clip,a.backgroundClip=this.backgroundClip,a.computedStyles=this.computedStyles,a.styles=this.styles,a.backgroundImages=this.backgroundImages,a.opacity=this.opacity},d.prototype.getOpacity=function(){return null===this.opacity?this.opacity=this.cssFloat("opacity"):this.opacity},d.prototype.assignStack=function(a){this.stack=a,a.children.push(this)},d.prototype.isElementVisible=function(){return this.node.nodeType===Node.TEXT_NODE?this.parent.visible:"none"!==this.css("display")&&"hidden"!==this.css("visibility")&&!this.node.hasAttribute("data-html2canvas-ignore")&&("INPUT"!==this.node.nodeName||"hidden"!==this.node.getAttribute("type"))},d.prototype.css=function(a){return this.computedStyles||(this.computedStyles=this.isPseudoElement?this.parent.computedStyle(this.before?":before":":after"):this.computedStyle(null)),this.styles[a]||(this.styles[a]=this.computedStyles[a])},d.prototype.prefixedCss=function(a){var b=["webkit","moz","ms","o"],c=this.css(a);return void 0===c&&b.some(function(b){return c=this.css(b+a.substr(0,1).toUpperCase()+a.substr(1)),void 0!==c},this),void 0===c?null:c},d.prototype.computedStyle=function(a){return this.node.ownerDocument.defaultView.getComputedStyle(this.node,a)},d.prototype.cssInt=function(a){var b=parseInt(this.css(a),10);return isNaN(b)?0:b},d.prototype.color=function(a){return this.colors[a]||(this.colors[a]=new j(this.css(a)))},d.prototype.cssFloat=function(a){var b=parseFloat(this.css(a));return isNaN(b)?0:b},d.prototype.fontWeight=function(){var a=this.css("fontWeight");switch(parseInt(a,10)){case 401:a="bold";break;case 400:a="normal"}return a},d.prototype.parseClip=function(){var a=this.css("clip").match(this.CLIP);return a?{top:parseInt(a[1],10),right:parseInt(a[2],10),bottom:parseInt(a[3],10),left:parseInt(a[4],10)}:null},d.prototype.parseBackgroundImages=function(){return this.backgroundImages||(this.backgroundImages=m(this.css("backgroundImage")))},d.prototype.cssList=function(a,b){var c=(this.css(a)||"").split(",");return c=c[b||0]||c[0]||"auto",c=c.trim().split(" "),1===c.length&&(c=[c[0],g(c[0])?"auto":c[0]]),c},d.prototype.parseBackgroundSize=function(a,b,c){var d,e,f=this.cssList("backgroundSize",c);if(g(f[0]))d=a.width*parseFloat(f[0])/100;else{if(/contain|cover/.test(f[0])){var h=a.width/a.height,i=b.width/b.height;return i>h^"contain"===f[0]?{width:a.height*i,height:a.height}:{width:a.width,height:a.width/i}}d=parseInt(f[0],10)}return e="auto"===f[0]&&"auto"===f[1]?b.height:"auto"===f[1]?d/b.width*b.height:g(f[1])?a.height*parseFloat(f[1])/100:parseInt(f[1],10),"auto"===f[0]&&(d=e/b.height*b.width),{width:d,height:e}},d.prototype.parseBackgroundPosition=function(a,b,c,d){var e,f,h=this.cssList("backgroundPosition",c);return e=g(h[0])?(a.width-(d||b).width)*(parseFloat(h[0])/100):parseInt(h[0],10),f="auto"===h[1]?e/b.width*b.height:g(h[1])?(a.height-(d||b).height)*parseFloat(h[1])/100:parseInt(h[1],10),"auto"===h[0]&&(e=f/b.height*b.width),{left:e,top:f}},d.prototype.parseBackgroundRepeat=function(a){return this.cssList("backgroundRepeat",a)[0]},d.prototype.parseTextShadows=function(){var a=this.css("textShadow"),b=[];if(a&&"none"!==a)for(var c=a.match(this.TEXT_SHADOW_PROPERTY),d=0;c&&d0?(this.renderIndex=0,this.asyncRenderer(this.renderQueue,a)):a():(this.renderQueue.forEach(this.paint,this),a())},this))},this))}function e(a){return a.parent&&a.parent.clip.length}function f(a){return a.replace(/(\-[a-z])/g,function(a){return a.toUpperCase().replace("-","")})}function g(){}function h(a,b,c,d){return a.map(function(e,f){if(e.width>0){var g=b.left,h=b.top,i=b.width,j=b.height-a[2].width;switch(f){case 0:j=a[0].width,e.args=l({c1:[g,h],c2:[g+i,h],c3:[g+i-a[1].width,h+j],c4:[g+a[3].width,h+j]},d[0],d[1],c.topLeftOuter,c.topLeftInner,c.topRightOuter,c.topRightInner);break;case 1:g=b.left+b.width-a[1].width,i=a[1].width,e.args=l({c1:[g+i,h],c2:[g+i,h+j+a[2].width],c3:[g,h+j],c4:[g,h+a[0].width]},d[1],d[2],c.topRightOuter,c.topRightInner,c.bottomRightOuter,c.bottomRightInner);break;case 2:h=h+b.height-a[2].width,j=a[2].width,e.args=l({c1:[g+i,h+j],c2:[g,h+j],c3:[g+a[3].width,h],c4:[g+i-a[3].width,h]},d[2],d[3],c.bottomRightOuter,c.bottomRightInner,c.bottomLeftOuter,c.bottomLeftInner);break;case 3:i=a[3].width,e.args=l({c1:[g,h+j+a[2].width],c2:[g,h],c3:[g+i,h+a[0].width],c4:[g+i,h+j]},d[3],d[0],c.bottomLeftOuter,c.bottomLeftInner,c.topLeftOuter,c.topLeftInner)}}return e})}function i(a,b,c,d){var e=4*((Math.sqrt(2)-1)/3),f=c*e,g=d*e,h=a+c,i=b+d;return{topLeft:k({x:a,y:i},{x:a,y:i-g},{x:h-f,y:b},{x:h,y:b}),topRight:k({x:a,y:b},{x:a+f,y:b},{x:h,y:i-g},{x:h,y:i}),bottomRight:k({x:h,y:b},{x:h,y:b+g},{x:a+f,y:i},{x:a,y:i}),bottomLeft:k({x:h,y:i},{x:h-f,y:i},{x:a,y:b+g},{x:a,y:b})}}function j(a,b,c){var d=a.left,e=a.top,f=a.width,g=a.height,h=b[0][0]f+c[3].width?0:k-c[3].width,l-c[0].width).topRight.subdivide(.5),bottomRightOuter:i(d+s,e+r,m,n).bottomRight.subdivide(.5),bottomRightInner:i(d+Math.min(s,f-c[3].width),e+Math.min(r,g+c[0].width),Math.max(0,m-c[1].width),n-c[2].width).bottomRight.subdivide(.5), +bottomLeftOuter:i(d,e+t,o,p).bottomLeft.subdivide(.5),bottomLeftInner:i(d+c[3].width,e+t,Math.max(0,o-c[3].width),p-c[2].width).bottomLeft.subdivide(.5)}}function k(a,b,c,d){var e=function(a,b,c){return{x:a.x+(b.x-a.x)*c,y:a.y+(b.y-a.y)*c}};return{start:a,startControl:b,endControl:c,end:d,subdivide:function(f){var g=e(a,b,f),h=e(b,c,f),i=e(c,d,f),j=e(g,h,f),l=e(h,i,f),m=e(j,l,f);return[k(a,g,j,m),k(m,l,i,d)]},curveTo:function(a){a.push(["bezierCurve",b.x,b.y,c.x,c.y,d.x,d.y])},curveToReversed:function(d){d.push(["bezierCurve",c.x,c.y,b.x,b.y,a.x,a.y])}}}function l(a,b,c,d,e,f,g){var h=[];return b[0]>0||b[1]>0?(h.push(["line",d[1].start.x,d[1].start.y]),d[1].curveTo(h)):h.push(["line",a.c1[0],a.c1[1]]),c[0]>0||c[1]>0?(h.push(["line",f[0].start.x,f[0].start.y]),f[0].curveTo(h),h.push(["line",g[0].end.x,g[0].end.y]),g[0].curveToReversed(h)):(h.push(["line",a.c2[0],a.c2[1]]),h.push(["line",a.c3[0],a.c3[1]])),b[0]>0||b[1]>0?(h.push(["line",e[1].end.x,e[1].end.y]),e[1].curveToReversed(h)):h.push(["line",a.c4[0],a.c4[1]]),h}function m(a,b,c,d,e,f,g){b[0]>0||b[1]>0?(a.push(["line",d[0].start.x,d[0].start.y]),d[0].curveTo(a),d[1].curveTo(a)):a.push(["line",f,g]),(c[0]>0||c[1]>0)&&a.push(["line",e[0].start.x,e[0].start.y])}function n(a){return a.cssInt("zIndex")<0}function o(a){return a.cssInt("zIndex")>0}function p(a){return 0===a.cssInt("zIndex")}function q(a){return-1!==["inline","inline-block","inline-table"].indexOf(a.css("display"))}function r(a){return a instanceof V}function s(a){return a.node.data.trim().length>0}function t(a){return/^(normal|none|0px)$/.test(a.parent.css("letterSpacing"))}function u(a){return["TopLeft","TopRight","BottomRight","BottomLeft"].map(function(b){var c=a.css("border"+b+"Radius"),d=c.split(" ");return d.length<=1&&(d[1]=d[0]),d.map(G)})}function v(a){return a.nodeType===Node.TEXT_NODE||a.nodeType===Node.ELEMENT_NODE}function w(a){var b=a.css("position"),c=-1!==["absolute","relative","fixed"].indexOf(b)?a.css("zIndex"):"auto";return"auto"!==c}function x(a){return"static"!==a.css("position")}function y(a){return"none"!==a.css("float")}function z(a){return-1!==["inline-block","inline-table"].indexOf(a.css("display"))}function A(a){var b=this;return function(){return!a.apply(b,arguments)}}function B(a){return a.node.nodeType===Node.ELEMENT_NODE}function C(a){return a.isPseudoElement===!0}function D(a){return a.node.nodeType===Node.TEXT_NODE}function E(a){return function(b,c){return b.cssInt("zIndex")+a.indexOf(b)/a.length-(c.cssInt("zIndex")+a.indexOf(c)/a.length)}}function F(a){return a.getOpacity()<1}function G(a){return parseInt(a,10)}function H(a){return a.width}function I(a){return a.node.nodeType!==Node.ELEMENT_NODE||-1===["SCRIPT","HEAD","TITLE","OBJECT","BR","OPTION"].indexOf(a.node.nodeName)}function J(a){return[].concat.apply([],a)}function K(a){var b=a.substr(0,1);return b===a.substr(a.length-1)&&b.match(/'|"/)?a.substr(1,a.length-2):a}function L(a){for(var b,c=[],d=0,e=!1;a.length;)M(a[d])===e?(b=a.splice(0,d),b.length&&c.push(P.ucs2.encode(b)),e=!e,d=0):d++,d>=a.length&&(b=a.splice(0,d),b.length&&c.push(P.ucs2.encode(b)));return c}function M(a){return-1!==[32,13,10,9,45].indexOf(a)}function N(a){return/[^\u0000-\u00ff]/.test(a)}var O=a("./log"),P=a("punycode"),Q=a("./nodecontainer"),R=a("./textcontainer"),S=a("./pseudoelementcontainer"),T=a("./fontmetrics"),U=a("./color"),V=a("./stackingcontext"),W=a("./utils"),X=W.bind,Y=W.getBounds,Z=W.parseBackgrounds,$=W.offsetBounds;d.prototype.calculateOverflowClips=function(){this.nodes.forEach(function(a){if(B(a)){C(a)&&a.appendToDOM(),a.borders=this.parseBorders(a);var b="hidden"===a.css("overflow")?[a.borders.clip]:[],c=a.parseClip();c&&-1!==["absolute","fixed"].indexOf(a.css("position"))&&b.push([["rect",a.bounds.left+c.left,a.bounds.top+c.top,c.right-c.left,c.bottom-c.top]]),a.clip=e(a)?a.parent.clip.concat(b):b,a.backgroundClip="hidden"!==a.css("overflow")?a.clip.concat([a.borders.clip]):a.clip,C(a)&&a.cleanDOM()}else D(a)&&(a.clip=e(a)?a.parent.clip:[]);C(a)||(a.bounds=null)},this)},d.prototype.asyncRenderer=function(a,b,c){c=c||Date.now(),this.paint(a[this.renderIndex++]),a.length===this.renderIndex?b():c+20>Date.now()?this.asyncRenderer(a,b,c):setTimeout(X(function(){this.asyncRenderer(a,b)},this),0)},d.prototype.createPseudoHideStyles=function(a){this.createStyles(a,"."+S.prototype.PSEUDO_HIDE_ELEMENT_CLASS_BEFORE+':before { content: "" !important; display: none !important; }.'+S.prototype.PSEUDO_HIDE_ELEMENT_CLASS_AFTER+':after { content: "" !important; display: none !important; }')},d.prototype.disableAnimations=function(a){this.createStyles(a,"* { -webkit-animation: none !important; -moz-animation: none !important; -o-animation: none !important; animation: none !important; -webkit-transition: none !important; -moz-transition: none !important; -o-transition: none !important; transition: none !important;}")},d.prototype.createStyles=function(a,b){var c=a.createElement("style");c.innerHTML=b,a.body.appendChild(c)},d.prototype.getPseudoElements=function(a){var b=[[a]];if(a.node.nodeType===Node.ELEMENT_NODE){var c=this.getPseudoElement(a,":before"),d=this.getPseudoElement(a,":after");c&&b.push(c),d&&b.push(d)}return J(b)},d.prototype.getPseudoElement=function(a,b){var c=a.computedStyle(b);if(!c||!c.content||"none"===c.content||"-moz-alt-content"===c.content||"none"===c.display)return null;for(var d=K(c.content),e="url"===d.substr(0,3),g=document.createElement(e?"img":"html2canvaspseudoelement"),h=new S(g,a,b),i=c.length-1;i>=0;i--){var j=f(c.item(i));g.style[j]=c[j]}if(g.className=S.prototype.PSEUDO_HIDE_ELEMENT_CLASS_BEFORE+" "+S.prototype.PSEUDO_HIDE_ELEMENT_CLASS_AFTER,e)return g.src=Z(d)[0].args[0],[h];var k=document.createTextNode(d);return g.appendChild(k),[h,new R(k,h)]},d.prototype.getChildren=function(a){return J([].filter.call(a.node.childNodes,v).map(function(b){var c=[b.nodeType===Node.TEXT_NODE?new R(b,a):new Q(b,a)].filter(I);return b.nodeType===Node.ELEMENT_NODE&&c.length&&"TEXTAREA"!==b.tagName?c[0].isElementVisible()?c.concat(this.getChildren(c[0])):[]:c},this))},d.prototype.newStackingContext=function(a,b){var c=new V(b,a.getOpacity(),a.node,a.parent);a.cloneTo(c);var d=b?c.getParentStack(this):c.parent.stack;d.contexts.push(c),a.stack=c},d.prototype.createStackingContexts=function(){this.nodes.forEach(function(a){B(a)&&(this.isRootElement(a)||F(a)||w(a)||this.isBodyWithTransparentRoot(a)||a.hasTransform())?this.newStackingContext(a,!0):B(a)&&(x(a)&&p(a)||z(a)||y(a))?this.newStackingContext(a,!1):a.assignStack(a.parent.stack)},this)},d.prototype.isBodyWithTransparentRoot=function(a){return"BODY"===a.node.nodeName&&a.parent.color("backgroundColor").isTransparent()},d.prototype.isRootElement=function(a){return null===a.parent},d.prototype.sortStackingContexts=function(a){a.contexts.sort(E(a.contexts.slice(0))),a.contexts.forEach(this.sortStackingContexts,this)},d.prototype.parseTextBounds=function(a){return function(b,c,d){if("none"!==a.parent.css("textDecoration").substr(0,4)||0!==b.trim().length){if(this.support.rangeBounds&&!a.parent.hasTransform()){var e=d.slice(0,c).join("").length;return this.getRangeBounds(a.node,e,b.length)}if(a.node&&"string"==typeof a.node.data){var f=a.node.splitText(b.length),g=this.getWrapperBounds(a.node,a.parent.hasTransform());return a.node=f,g}}else(!this.support.rangeBounds||a.parent.hasTransform())&&(a.node=a.node.splitText(b.length));return{}}},d.prototype.getWrapperBounds=function(a,b){var c=a.ownerDocument.createElement("html2canvaswrapper"),d=a.parentNode,e=a.cloneNode(!0);c.appendChild(a.cloneNode(!0)),d.replaceChild(c,a);var f=b?$(c):Y(c);return d.replaceChild(e,c),f},d.prototype.getRangeBounds=function(a,b,c){var d=this.range||(this.range=a.ownerDocument.createRange());return d.setStart(a,b),d.setEnd(a,b+c),d.getBoundingClientRect()},d.prototype.parse=function(a){var b=a.contexts.filter(n),c=a.children.filter(B),d=c.filter(A(y)),e=d.filter(A(x)).filter(A(q)),f=c.filter(A(x)).filter(y),h=d.filter(A(x)).filter(q),i=a.contexts.concat(d.filter(x)).filter(p),j=a.children.filter(D).filter(s),k=a.contexts.filter(o);b.concat(e).concat(f).concat(h).concat(i).concat(j).concat(k).forEach(function(a){this.renderQueue.push(a),r(a)&&(this.parse(a),this.renderQueue.push(new g))},this)},d.prototype.paint=function(a){try{a instanceof g?this.renderer.ctx.restore():D(a)?(C(a.parent)&&a.parent.appendToDOM(),this.paintText(a),C(a.parent)&&a.parent.cleanDOM()):this.paintNode(a)}catch(b){if(O(b),this.options.strict)throw b}},d.prototype.paintNode=function(a){r(a)&&(this.renderer.setOpacity(a.opacity),this.renderer.ctx.save(),a.hasTransform()&&this.renderer.setTransform(a.parseTransform())),"INPUT"===a.node.nodeName&&"checkbox"===a.node.type?this.paintCheckbox(a):"INPUT"===a.node.nodeName&&"radio"===a.node.type?this.paintRadio(a):this.paintElement(a)},d.prototype.paintElement=function(a){var b=a.parseBounds();this.renderer.clip(a.backgroundClip,function(){this.renderer.renderBackground(a,b,a.borders.borders.map(H))},this),this.renderer.clip(a.clip,function(){this.renderer.renderBorders(a.borders.borders)},this),this.renderer.clip(a.backgroundClip,function(){switch(a.node.nodeName){case"svg":case"IFRAME":var c=this.images.get(a.node);c?this.renderer.renderImage(a,b,a.borders,c):O("Error loading <"+a.node.nodeName+">",a.node);break;case"IMG":var d=this.images.get(a.node.src);d?this.renderer.renderImage(a,b,a.borders,d):O("Error loading ",a.node.src);break;case"CANVAS":this.renderer.renderImage(a,b,a.borders,{image:a.node});break;case"SELECT":case"INPUT":case"TEXTAREA":this.paintFormValue(a)}},this)},d.prototype.paintCheckbox=function(a){var b=a.parseBounds(),c=Math.min(b.width,b.height),d={width:c-1,height:c-1,top:b.top,left:b.left},e=[3,3],f=[e,e,e,e],g=[1,1,1,1].map(function(a){return{color:new U("#A5A5A5"),width:a}}),i=j(d,f,g);this.renderer.clip(a.backgroundClip,function(){this.renderer.rectangle(d.left+1,d.top+1,d.width-2,d.height-2,new U("#DEDEDE")),this.renderer.renderBorders(h(g,d,i,f)),a.node.checked&&(this.renderer.font(new U("#424242"),"normal","normal","bold",c-3+"px","arial"),this.renderer.text("✔",d.left+c/6,d.top+c-1))},this)},d.prototype.paintRadio=function(a){var b=a.parseBounds(),c=Math.min(b.width,b.height)-2;this.renderer.clip(a.backgroundClip,function(){this.renderer.circleStroke(b.left+1,b.top+1,c,new U("#DEDEDE"),1,new U("#A5A5A5")),a.node.checked&&this.renderer.circle(Math.ceil(b.left+c/4)+1,Math.ceil(b.top+c/4)+1,Math.floor(c/2),new U("#424242"))},this)},d.prototype.paintFormValue=function(a){var b=a.getValue();if(b.length>0){var c=a.node.ownerDocument,d=c.createElement("html2canvaswrapper"),e=["lineHeight","textAlign","fontFamily","fontWeight","fontSize","color","paddingLeft","paddingTop","paddingRight","paddingBottom","width","height","borderLeftStyle","borderTopStyle","borderLeftWidth","borderTopWidth","boxSizing","whiteSpace","wordWrap"];e.forEach(function(b){try{d.style[b]=a.css(b)}catch(c){O("html2canvas: Parse: Exception caught in renderFormValue: "+c.message)}});var f=a.parseBounds();d.style.position="fixed",d.style.left=f.left+"px",d.style.top=f.top+"px",d.textContent=b,c.body.appendChild(d),this.paintText(new R(d.firstChild,a)),c.body.removeChild(d)}},d.prototype.paintText=function(a){a.applyTextTransform();var b=P.ucs2.decode(a.node.data),c=this.options.letterRendering&&!t(a)||N(a.node.data)?b.map(function(a){return P.ucs2.encode([a])}):L(b),d=a.parent.fontWeight(),e=a.parent.css("fontSize"),f=a.parent.css("fontFamily"),g=a.parent.parseTextShadows();this.renderer.font(a.parent.color("color"),a.parent.css("fontStyle"),a.parent.css("fontVariant"),d,e,f),g.length?this.renderer.fontShadow(g[0].color,g[0].offsetX,g[0].offsetY,g[0].blur):this.renderer.clearShadow(),this.renderer.clip(a.parent.clip,function(){c.map(this.parseTextBounds(a),this).forEach(function(b,d){b&&(this.renderer.text(c[d],b.left,b.bottom),this.renderTextDecoration(a.parent,b,this.fontMetrics.getMetrics(f,e)))},this)},this)},d.prototype.renderTextDecoration=function(a,b,c){switch(a.css("textDecoration").split(" ")[0]){case"underline":this.renderer.rectangle(b.left,Math.round(b.top+c.baseline+c.lineWidth),b.width,1,a.color("color"));break;case"overline":this.renderer.rectangle(b.left,Math.round(b.top),b.width,1,a.color("color"));break;case"line-through":this.renderer.rectangle(b.left,Math.ceil(b.top+c.middle+c.lineWidth),b.width,1,a.color("color"))}};var _={inset:[["darken",.6],["darken",.1],["darken",.1],["darken",.6]]};d.prototype.parseBorders=function(a){var b=a.parseBounds(),c=u(a),d=["Top","Right","Bottom","Left"].map(function(b,c){var d=a.css("border"+b+"Style"),e=a.color("border"+b+"Color");"inset"===d&&e.isBlack()&&(e=new U([255,255,255,e.a]));var f=_[d]?_[d][c]:null;return{width:a.cssInt("border"+b+"Width"),color:f?e[f[0]](f[1]):e,args:null}}),e=j(b,c,d);return{clip:this.parseBackgroundClip(a,e,d,c,b),borders:h(d,b,e,c)}},d.prototype.parseBackgroundClip=function(a,b,c,d,e){var f=a.css("backgroundClip"),g=[];switch(f){case"content-box":case"padding-box":m(g,d[0],d[1],b.topLeftInner,b.topRightInner,e.left+c[3].width,e.top+c[0].width),m(g,d[1],d[2],b.topRightInner,b.bottomRightInner,e.left+e.width-c[1].width,e.top+c[0].width),m(g,d[2],d[3],b.bottomRightInner,b.bottomLeftInner,e.left+e.width-c[1].width,e.top+e.height-c[2].width),m(g,d[3],d[0],b.bottomLeftInner,b.topLeftInner,e.left+c[3].width,e.top+e.height-c[2].width);break;default:m(g,d[0],d[1],b.topLeftOuter,b.topRightOuter,e.left,e.top),m(g,d[1],d[2],b.topRightOuter,b.bottomRightOuter,e.left+e.width,e.top),m(g,d[2],d[3],b.bottomRightOuter,b.bottomLeftOuter,e.left+e.width,e.top+e.height),m(g,d[3],d[0],b.bottomLeftOuter,b.topLeftOuter,e.left,e.top+e.height)}return g},b.exports=d},{"./color":3,"./fontmetrics":7,"./log":13,"./nodecontainer":14,"./pseudoelementcontainer":18,"./stackingcontext":21,"./textcontainer":25,"./utils":26,punycode:1}],16:[function(a,b,c){function d(a,b,c){var d="withCredentials"in new XMLHttpRequest;if(!b)return Promise.reject("No proxy configured");var e=g(d),i=h(b,a,e);return d?k(i):f(c,i,e).then(function(a){return o(a.content)})}function e(a,b,c){var d="crossOrigin"in new Image,e=g(d),i=h(b,a,e);return d?Promise.resolve(i):f(c,i,e).then(function(a){return"data:"+a.type+";base64,"+a.content})}function f(a,b,c){return new Promise(function(d,e){var f=a.createElement("script"),g=function(){delete window.html2canvas.proxy[c],a.body.removeChild(f)};window.html2canvas.proxy[c]=function(a){g(),d(a)},f.src=b,f.onerror=function(a){g(),e(a)},a.body.appendChild(f)})}function g(a){return a?"":"html2canvas_"+Date.now()+"_"+ ++p+"_"+Math.round(1e5*Math.random())}function h(a,b,c){return a+"?url="+encodeURIComponent(b)+(c.length?"&callback=html2canvas.proxy."+c:"")}function i(a){return function(b){var c,d=new DOMParser;try{c=d.parseFromString(b,"text/html")}catch(e){m("DOMParser not supported, falling back to createHTMLDocument"),c=document.implementation.createHTMLDocument("");try{c.open(),c.write(b),c.close()}catch(f){m("createHTMLDocument write not supported, falling back to document.body.innerHTML"),c.body.innerHTML=b}}var g=c.querySelector("base");if(!g||!g.href.host){var h=c.createElement("base");h.href=a,c.head.insertBefore(h,c.head.firstChild)}return c}}function j(a,b,c,e,f,g){return new d(a,b,window.document).then(i(a)).then(function(a){return n(a,c,e,f,g,0,0)})}var k=a("./xhr"),l=a("./utils"),m=a("./log"),n=a("./clone"),o=l.decode64,p=0;c.Proxy=d,c.ProxyURL=e,c.loadUrlDocument=j},{"./clone":2,"./log":13,"./utils":26,"./xhr":28}],17:[function(a,b,c){function d(a,b){var c=document.createElement("a");c.href=a,a=c.href,this.src=a,this.image=new Image;var d=this;this.promise=new Promise(function(c,f){d.image.crossOrigin="Anonymous",d.image.onload=c,d.image.onerror=f,new e(a,b,document).then(function(a){d.image.src=a})["catch"](f)})}var e=a("./proxy").ProxyURL;b.exports=d},{"./proxy":16}],18:[function(a,b,c){function d(a,b,c){e.call(this,a,b),this.isPseudoElement=!0,this.before=":before"===c}var e=a("./nodecontainer");d.prototype.cloneTo=function(a){d.prototype.cloneTo.call(this,a),a.isPseudoElement=!0,a.before=this.before},d.prototype=Object.create(e.prototype),d.prototype.appendToDOM=function(){this.before?this.parent.node.insertBefore(this.node,this.parent.node.firstChild):this.parent.node.appendChild(this.node),this.parent.node.className+=" "+this.getHideClass()},d.prototype.cleanDOM=function(){this.node.parentNode.removeChild(this.node),this.parent.node.className=this.parent.node.className.replace(this.getHideClass(),"")},d.prototype.getHideClass=function(){return this["PSEUDO_HIDE_ELEMENT_CLASS_"+(this.before?"BEFORE":"AFTER")]},d.prototype.PSEUDO_HIDE_ELEMENT_CLASS_BEFORE="___html2canvas___pseudoelement_before",d.prototype.PSEUDO_HIDE_ELEMENT_CLASS_AFTER="___html2canvas___pseudoelement_after",b.exports=d},{"./nodecontainer":14}],19:[function(a,b,c){function d(a,b,c,d,e){this.width=a,this.height=b,this.images=c,this.options=d,this.document=e}var e=a("./log");d.prototype.renderImage=function(a,b,c,d){var e=a.cssInt("paddingLeft"),f=a.cssInt("paddingTop"),g=a.cssInt("paddingRight"),h=a.cssInt("paddingBottom"),i=c.borders,j=b.width-(i[1].width+i[3].width+e+g),k=b.height-(i[0].width+i[2].width+f+h);this.drawImage(d,0,0,d.image.width||j,d.image.height||k,b.left+e+i[3].width,b.top+f+i[0].width,j,k)},d.prototype.renderBackground=function(a,b,c){b.height>0&&b.width>0&&(this.renderBackgroundColor(a,b),this.renderBackgroundImage(a,b,c))},d.prototype.renderBackgroundColor=function(a,b){var c=a.color("backgroundColor");c.isTransparent()||this.rectangle(b.left,b.top,b.width,b.height,c)},d.prototype.renderBorders=function(a){a.forEach(this.renderBorder,this)},d.prototype.renderBorder=function(a){a.color.isTransparent()||null===a.args||this.drawShape(a.args,a.color)},d.prototype.renderBackgroundImage=function(a,b,c){var d=a.parseBackgroundImages();d.reverse().forEach(function(d,f,g){switch(d.method){case"url":var h=this.images.get(d.args[0]);h?this.renderBackgroundRepeating(a,b,h,g.length-(f+1),c):e("Error loading background-image",d.args[0]);break;case"linear-gradient":case"gradient":var i=this.images.get(d.value);i?this.renderBackgroundGradient(i,b,c):e("Error loading background-image",d.args[0]);break;case"none":break;default:e("Unknown background-image type",d.args[0])}},this)},d.prototype.renderBackgroundRepeating=function(a,b,c,d,e){var f=a.parseBackgroundSize(b,c.image,d),g=a.parseBackgroundPosition(b,c.image,d,f),h=a.parseBackgroundRepeat(d);switch(h){case"repeat-x":case"repeat no-repeat":this.backgroundRepeatShape(c,g,f,b,b.left+e[3],b.top+g.top+e[0],99999,f.height,e);break;case"repeat-y":case"no-repeat repeat":this.backgroundRepeatShape(c,g,f,b,b.left+g.left+e[3],b.top+e[0],f.width,99999,e);break;case"no-repeat":this.backgroundRepeatShape(c,g,f,b,b.left+g.left+e[3],b.top+g.top+e[0],f.width,f.height,e);break;default:this.renderBackgroundRepeat(c,g,f,{top:b.top,left:b.left},e[3],e[0])}},b.exports=d},{"./log":13}],20:[function(a,b,c){function d(a,b){f.apply(this,arguments),this.canvas=this.options.canvas||this.document.createElement("canvas"),this.options.canvas||(this.canvas.width=a,this.canvas.height=b),this.ctx=this.canvas.getContext("2d"),this.taintCtx=this.document.createElement("canvas").getContext("2d"),this.ctx.textBaseline="bottom",this.variables={},h("Initialized CanvasRenderer with size",a,"x",b)}function e(a){return a.length>0}var f=a("../renderer"),g=a("../lineargradientcontainer"),h=a("../log");d.prototype=Object.create(f.prototype),d.prototype.setFillStyle=function(a){return this.ctx.fillStyle="object"==typeof a&&a.isColor?a.toString():a,this.ctx},d.prototype.rectangle=function(a,b,c,d,e){this.setFillStyle(e).fillRect(a,b,c,d)},d.prototype.circle=function(a,b,c,d){this.setFillStyle(d),this.ctx.beginPath(),this.ctx.arc(a+c/2,b+c/2,c/2,0,2*Math.PI,!0),this.ctx.closePath(),this.ctx.fill()},d.prototype.circleStroke=function(a,b,c,d,e,f){this.circle(a,b,c,d),this.ctx.strokeStyle=f.toString(),this.ctx.stroke()},d.prototype.drawShape=function(a,b){this.shape(a),this.setFillStyle(b).fill()},d.prototype.taints=function(a){if(null===a.tainted){this.taintCtx.drawImage(a.image,0,0);try{this.taintCtx.getImageData(0,0,1,1),a.tainted=!1}catch(b){this.taintCtx=document.createElement("canvas").getContext("2d"),a.tainted=!0}}return a.tainted},d.prototype.drawImage=function(a,b,c,d,e,f,g,h,i){(!this.taints(a)||this.options.allowTaint)&&this.ctx.drawImage(a.image,b,c,d,e,f,g,h,i)},d.prototype.clip=function(a,b,c){this.ctx.save(),a.filter(e).forEach(function(a){this.shape(a).clip()},this),b.call(c),this.ctx.restore()},d.prototype.shape=function(a){return this.ctx.beginPath(),a.forEach(function(a,b){"rect"===a[0]?this.ctx.rect.apply(this.ctx,a.slice(1)):this.ctx[0===b?"moveTo":a[0]+"To"].apply(this.ctx,a.slice(1))},this),this.ctx.closePath(),this.ctx},d.prototype.font=function(a,b,c,d,e,f){this.setFillStyle(a).font=[b,c,d,e,f].join(" ").split(",")[0]},d.prototype.fontShadow=function(a,b,c,d){this.setVariable("shadowColor",a.toString()).setVariable("shadowOffsetY",b).setVariable("shadowOffsetX",c).setVariable("shadowBlur",d)},d.prototype.clearShadow=function(){this.setVariable("shadowColor","rgba(0,0,0,0)")},d.prototype.setOpacity=function(a){this.ctx.globalAlpha=a},d.prototype.setTransform=function(a){this.ctx.translate(a.origin[0],a.origin[1]),this.ctx.transform.apply(this.ctx,a.matrix),this.ctx.translate(-a.origin[0],-a.origin[1])},d.prototype.setVariable=function(a,b){return this.variables[a]!==b&&(this.variables[a]=this.ctx[a]=b),this},d.prototype.text=function(a,b,c){this.ctx.fillText(a,b,c)},d.prototype.backgroundRepeatShape=function(a,b,c,d,e,f,g,h,i){var j=[["line",Math.round(e),Math.round(f)],["line",Math.round(e+g),Math.round(f)],["line",Math.round(e+g),Math.round(h+f)],["line",Math.round(e),Math.round(h+f)]];this.clip([j],function(){this.renderBackgroundRepeat(a,b,c,d,i[3],i[0])},this)},d.prototype.renderBackgroundRepeat=function(a,b,c,d,e,f){var g=Math.round(d.left+b.left+e),h=Math.round(d.top+b.top+f);this.setFillStyle(this.ctx.createPattern(this.resizeImage(a,c),"repeat")),this.ctx.translate(g,h),this.ctx.fill(),this.ctx.translate(-g,-h)},d.prototype.renderBackgroundGradient=function(a,b){if(a instanceof g){var c=this.ctx.createLinearGradient(b.left+b.width*a.x0,b.top+b.height*a.y0,b.left+b.width*a.x1,b.top+b.height*a.y1);a.colorStops.forEach(function(a){c.addColorStop(a.stop,a.color.toString())}),this.rectangle(b.left,b.top,b.width,b.height,c)}},d.prototype.resizeImage=function(a,b){var c=a.image;if(c.width===b.width&&c.height===b.height)return c;var d,e=document.createElement("canvas");return e.width=b.width,e.height=b.height,d=e.getContext("2d"),d.drawImage(c,0,0,c.width,c.height,0,0,b.width,b.height),e},b.exports=d},{"../lineargradientcontainer":12,"../log":13,"../renderer":19}],21:[function(a,b,c){function d(a,b,c,d){e.call(this,c,d),this.ownStacking=a,this.contexts=[],this.children=[],this.opacity=(this.parent?this.parent.stack.opacity:1)*b}var e=a("./nodecontainer");d.prototype=Object.create(e.prototype),d.prototype.getParentStack=function(a){var b=this.parent?this.parent.stack:null;return b?b.ownStacking?b:b.getParentStack(a):a.stack},b.exports=d},{"./nodecontainer":14}],22:[function(a,b,c){function d(a){this.rangeBounds=this.testRangeBounds(a),this.cors=this.testCORS(),this.svg=this.testSVG()}d.prototype.testRangeBounds=function(a){var b,c,d,e,f=!1;return a.createRange&&(b=a.createRange(),b.getBoundingClientRect&&(c=a.createElement("boundtest"),c.style.height="123px",c.style.display="block",a.body.appendChild(c),b.selectNode(c),d=b.getBoundingClientRect(),e=d.height,123===e&&(f=!0),a.body.removeChild(c))),f},d.prototype.testCORS=function(){return"undefined"!=typeof(new Image).crossOrigin},d.prototype.testSVG=function(){var a=new Image,b=document.createElement("canvas"),c=b.getContext("2d");a.src="data:image/svg+xml,";try{c.drawImage(a,0,0),b.toDataURL()}catch(d){return!1}return!0},b.exports=d},{}],23:[function(a,b,c){function d(a){this.src=a,this.image=null;var b=this;this.promise=this.hasFabric().then(function(){return b.isInline(a)?Promise.resolve(b.inlineFormatting(a)):e(a)}).then(function(a){return new Promise(function(c){window.html2canvas.svg.fabric.loadSVGFromString(a,b.createCanvas.call(b,c))})})}var e=a("./xhr"),f=a("./utils").decode64;d.prototype.hasFabric=function(){return window.html2canvas.svg&&window.html2canvas.svg.fabric?Promise.resolve():Promise.reject(new Error("html2canvas.svg.js is not loaded, cannot render svg"))},d.prototype.inlineFormatting=function(a){return/^data:image\/svg\+xml;base64,/.test(a)?this.decode64(this.removeContentType(a)):this.removeContentType(a)},d.prototype.removeContentType=function(a){return a.replace(/^data:image\/svg\+xml(;base64)?,/,"")},d.prototype.isInline=function(a){return/^data:image\/svg\+xml/i.test(a)},d.prototype.createCanvas=function(a){var b=this;return function(c,d){var e=new window.html2canvas.svg.fabric.StaticCanvas("c");b.image=e.lowerCanvasEl,e.setWidth(d.width).setHeight(d.height).add(window.html2canvas.svg.fabric.util.groupSVGElements(c,d)).renderAll(),a(e.lowerCanvasEl)}},d.prototype.decode64=function(a){return"function"==typeof window.atob?window.atob(a):f(a)},b.exports=d},{"./utils":26,"./xhr":28}],24:[function(a,b,c){function d(a,b){this.src=a,this.image=null;var c=this;this.promise=b?new Promise(function(b,d){c.image=new Image,c.image.onload=b,c.image.onerror=d,c.image.src="data:image/svg+xml,"+(new XMLSerializer).serializeToString(a),c.image.complete===!0&&b(c.image)}):this.hasFabric().then(function(){return new Promise(function(b){window.html2canvas.svg.fabric.parseSVGDocument(a,c.createCanvas.call(c,b))})})}var e=a("./svgcontainer");d.prototype=Object.create(e.prototype),b.exports=d},{"./svgcontainer":23}],25:[function(a,b,c){function d(a,b){f.call(this,a,b)}function e(a,b,c){return a.length>0?b+c.toUpperCase():void 0}var f=a("./nodecontainer");d.prototype=Object.create(f.prototype),d.prototype.applyTextTransform=function(){this.node.data=this.transform(this.parent.css("textTransform"))},d.prototype.transform=function(a){var b=this.node.data;switch(a){case"lowercase":return b.toLowerCase();case"capitalize":return b.replace(/(^|\s|:|-|\(|\))([a-z])/g,e);case"uppercase":return b.toUpperCase();default:return b}},b.exports=d},{"./nodecontainer":14}],26:[function(a,b,c){c.smallImage=function(){return"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"},c.bind=function(a,b){return function(){return a.apply(b,arguments)}},c.decode64=function(a){var b,c,d,e,f,g,h,i,j="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",k=a.length,l="";for(b=0;k>b;b+=4)c=j.indexOf(a[b]),d=j.indexOf(a[b+1]),e=j.indexOf(a[b+2]),f=j.indexOf(a[b+3]),g=c<<2|d>>4,h=(15&d)<<4|e>>2,i=(3&e)<<6|f,l+=64===e?String.fromCharCode(g):64===f||-1===f?String.fromCharCode(g,h):String.fromCharCode(g,h,i);return l},c.getBounds=function(a){if(a.getBoundingClientRect){var b=a.getBoundingClientRect(),c=null==a.offsetWidth?b.width:a.offsetWidth;return{top:b.top,bottom:b.bottom||b.top+b.height,right:b.left+c,left:b.left,width:c,height:null==a.offsetHeight?b.height:a.offsetHeight}}return{}},c.offsetBounds=function(a){var b=a.offsetParent?c.offsetBounds(a.offsetParent):{top:0,left:0};return{top:a.offsetTop+b.top,bottom:a.offsetTop+a.offsetHeight+b.top,right:a.offsetLeft+b.left+a.offsetWidth,left:a.offsetLeft+b.left,width:a.offsetWidth,height:a.offsetHeight}},c.parseBackgrounds=function(a){var b,c,d,e,f,g,h,i=" \r\n ",j=[],k=0,l=0,m=function(){b&&('"'===c.substr(0,1)&&(c=c.substr(1,c.length-2)),c&&h.push(c),"-"===b.substr(0,1)&&(e=b.indexOf("-",1)+1)>0&&(d=b.substr(0,e),b=b.substr(e)),j.push({prefix:d,method:b.toLowerCase(),value:f,args:h,image:null})),h=[],b=d=c=f=""};return h=[],b=d=c=f="",a.split("").forEach(function(a){if(!(0===k&&i.indexOf(a)>-1)){switch(a){case'"':g?g===a&&(g=null):g=a;break;case"(":if(g)break;if(0===k)return k=1,void(f+=a);l++;break;case")":if(g)break;if(1===k){if(0===l)return k=0,f+=a,void m();l--}break;case",":if(g)break;if(0===k)return void m();if(1===k&&0===l&&!b.match(/^url$/i))return h.push(c),c="",void(f+=a)}f+=a,0===k?b+=a:c+=a}}),m(),j}},{}],27:[function(a,b,c){function d(a){e.apply(this,arguments),this.type="linear"===a.args[0]?e.TYPES.LINEAR:e.TYPES.RADIAL}var e=a("./gradientcontainer");d.prototype=Object.create(e.prototype),b.exports=d},{"./gradientcontainer":9}],28:[function(a,b,c){function d(a){return new Promise(function(b,c){var d=new XMLHttpRequest;d.open("GET",a),d.onload=function(){200===d.status?b(d.responseText):c(new Error(d.statusText))},d.onerror=function(){c(new Error("Network Error"))},d.send()})}b.exports=d},{}]},{},[4])(4)}); \ No newline at end of file diff --git a/games/ovo/1.4.4/icon-256.png b/games/ovo/1.4.4/icon-256.png new file mode 100644 index 00000000..61674cfb Binary files /dev/null and b/games/ovo/1.4.4/icon-256.png differ diff --git a/games/ovo/1.4.4/images/ablue-sheet0.png b/games/ovo/1.4.4/images/ablue-sheet0.png new file mode 100644 index 00000000..ace9ce54 Binary files /dev/null and b/games/ovo/1.4.4/images/ablue-sheet0.png differ diff --git a/games/ovo/1.4.4/images/adblocksign-sheet0.png b/games/ovo/1.4.4/images/adblocksign-sheet0.png new file mode 100644 index 00000000..78cbfae9 Binary files /dev/null and b/games/ovo/1.4.4/images/adblocksign-sheet0.png differ diff --git a/games/ovo/1.4.4/images/agreen-sheet0.png b/games/ovo/1.4.4/images/agreen-sheet0.png new file mode 100644 index 00000000..a705cc89 Binary files /dev/null and b/games/ovo/1.4.4/images/agreen-sheet0.png differ diff --git a/games/ovo/1.4.4/images/ared-sheet0.png b/games/ovo/1.4.4/images/ared-sheet0.png new file mode 100644 index 00000000..a909b3b6 Binary files /dev/null and b/games/ovo/1.4.4/images/ared-sheet0.png differ diff --git a/games/ovo/1.4.4/images/background-sheet0.png b/games/ovo/1.4.4/images/background-sheet0.png new file mode 100644 index 00000000..55927466 Binary files /dev/null and b/games/ovo/1.4.4/images/background-sheet0.png differ diff --git a/games/ovo/1.4.4/images/bannercontainer-sheet0.png b/games/ovo/1.4.4/images/bannercontainer-sheet0.png new file mode 100644 index 00000000..764148dd Binary files /dev/null and b/games/ovo/1.4.4/images/bannercontainer-sheet0.png differ diff --git a/games/ovo/1.4.4/images/bfakenine-sheet0.png b/games/ovo/1.4.4/images/bfakenine-sheet0.png new file mode 100644 index 00000000..499d67e6 Binary files /dev/null and b/games/ovo/1.4.4/images/bfakenine-sheet0.png differ diff --git a/games/ovo/1.4.4/images/body-sheet0.png b/games/ovo/1.4.4/images/body-sheet0.png new file mode 100644 index 00000000..860c301b Binary files /dev/null and b/games/ovo/1.4.4/images/body-sheet0.png differ diff --git a/games/ovo/1.4.4/images/border.png b/games/ovo/1.4.4/images/border.png new file mode 100644 index 00000000..8e6fc616 Binary files /dev/null and b/games/ovo/1.4.4/images/border.png differ diff --git a/games/ovo/1.4.4/images/buttontrigger-sheet0.png b/games/ovo/1.4.4/images/buttontrigger-sheet0.png new file mode 100644 index 00000000..c4560d7e Binary files /dev/null and b/games/ovo/1.4.4/images/buttontrigger-sheet0.png differ diff --git a/games/ovo/1.4.4/images/buttontrigger-sheet1.png b/games/ovo/1.4.4/images/buttontrigger-sheet1.png new file mode 100644 index 00000000..97bbdae6 Binary files /dev/null and b/games/ovo/1.4.4/images/buttontrigger-sheet1.png differ diff --git a/games/ovo/1.4.4/images/camera-sheet0.png b/games/ovo/1.4.4/images/camera-sheet0.png new file mode 100644 index 00000000..d87d7266 Binary files /dev/null and b/games/ovo/1.4.4/images/camera-sheet0.png differ diff --git a/games/ovo/1.4.4/images/checkbox-sheet0.png b/games/ovo/1.4.4/images/checkbox-sheet0.png new file mode 100644 index 00000000..649a08f2 Binary files /dev/null and b/games/ovo/1.4.4/images/checkbox-sheet0.png differ diff --git a/games/ovo/1.4.4/images/cmgskin-sheet0.png b/games/ovo/1.4.4/images/cmgskin-sheet0.png new file mode 100644 index 00000000..9fddb0c4 Binary files /dev/null and b/games/ovo/1.4.4/images/cmgskin-sheet0.png differ diff --git a/games/ovo/1.4.4/images/coin-sheet0.png b/games/ovo/1.4.4/images/coin-sheet0.png new file mode 100644 index 00000000..5b206571 Binary files /dev/null and b/games/ovo/1.4.4/images/coin-sheet0.png differ diff --git a/games/ovo/1.4.4/images/collider-sheet0.png b/games/ovo/1.4.4/images/collider-sheet0.png new file mode 100644 index 00000000..b6b655e1 Binary files /dev/null and b/games/ovo/1.4.4/images/collider-sheet0.png differ diff --git a/games/ovo/1.4.4/images/collider-sheet1.png b/games/ovo/1.4.4/images/collider-sheet1.png new file mode 100644 index 00000000..f48cd47e Binary files /dev/null and b/games/ovo/1.4.4/images/collider-sheet1.png differ diff --git a/games/ovo/1.4.4/images/coolmathgames800x-sheet0.png b/games/ovo/1.4.4/images/coolmathgames800x-sheet0.png new file mode 100644 index 00000000..82505859 Binary files /dev/null and b/games/ovo/1.4.4/images/coolmathgames800x-sheet0.png differ diff --git a/games/ovo/1.4.4/images/credits-sheet0.png b/games/ovo/1.4.4/images/credits-sheet0.png new file mode 100644 index 00000000..388df4d7 Binary files /dev/null and b/games/ovo/1.4.4/images/credits-sheet0.png differ diff --git a/games/ovo/1.4.4/images/decor-sheet0.png b/games/ovo/1.4.4/images/decor-sheet0.png new file mode 100644 index 00000000..89227c7e Binary files /dev/null and b/games/ovo/1.4.4/images/decor-sheet0.png differ diff --git a/games/ovo/1.4.4/images/decor-sheet1.png b/games/ovo/1.4.4/images/decor-sheet1.png new file mode 100644 index 00000000..15a2c22e Binary files /dev/null and b/games/ovo/1.4.4/images/decor-sheet1.png differ diff --git a/games/ovo/1.4.4/images/decor2-sheet0.png b/games/ovo/1.4.4/images/decor2-sheet0.png new file mode 100644 index 00000000..bc6276d2 Binary files /dev/null and b/games/ovo/1.4.4/images/decor2-sheet0.png differ diff --git a/games/ovo/1.4.4/images/dedraloader-sheet0.png b/games/ovo/1.4.4/images/dedraloader-sheet0.png new file mode 100644 index 00000000..96ae53fd Binary files /dev/null and b/games/ovo/1.4.4/images/dedraloader-sheet0.png differ diff --git a/games/ovo/1.4.4/images/dedraloader-sheet1.png b/games/ovo/1.4.4/images/dedraloader-sheet1.png new file mode 100644 index 00000000..5fa0239c Binary files /dev/null and b/games/ovo/1.4.4/images/dedraloader-sheet1.png differ diff --git a/games/ovo/1.4.4/images/dialogoverlay-sheet0.png b/games/ovo/1.4.4/images/dialogoverlay-sheet0.png new file mode 100644 index 00000000..d2c74dee Binary files /dev/null and b/games/ovo/1.4.4/images/dialogoverlay-sheet0.png differ diff --git a/games/ovo/1.4.4/images/endcarddialog-sheet0.png b/games/ovo/1.4.4/images/endcarddialog-sheet0.png new file mode 100644 index 00000000..76e1b8e8 Binary files /dev/null and b/games/ovo/1.4.4/images/endcarddialog-sheet0.png differ diff --git a/games/ovo/1.4.4/images/endflag-sheet0.png b/games/ovo/1.4.4/images/endflag-sheet0.png new file mode 100644 index 00000000..6590c7d0 Binary files /dev/null and b/games/ovo/1.4.4/images/endflag-sheet0.png differ diff --git a/games/ovo/1.4.4/images/fakenine-sheet0.png b/games/ovo/1.4.4/images/fakenine-sheet0.png new file mode 100644 index 00000000..86121f43 Binary files /dev/null and b/games/ovo/1.4.4/images/fakenine-sheet0.png differ diff --git a/games/ovo/1.4.4/images/fakeparseimage-sheet0.png b/games/ovo/1.4.4/images/fakeparseimage-sheet0.png new file mode 100644 index 00000000..6f03e3f0 Binary files /dev/null and b/games/ovo/1.4.4/images/fakeparseimage-sheet0.png differ diff --git a/games/ovo/1.4.4/images/frank_1-sheet0.png b/games/ovo/1.4.4/images/frank_1-sheet0.png new file mode 100644 index 00000000..46a155aa Binary files /dev/null and b/games/ovo/1.4.4/images/frank_1-sheet0.png differ diff --git a/games/ovo/1.4.4/images/groundpoundsolid.png b/games/ovo/1.4.4/images/groundpoundsolid.png new file mode 100644 index 00000000..c131c69b Binary files /dev/null and b/games/ovo/1.4.4/images/groundpoundsolid.png differ diff --git a/games/ovo/1.4.4/images/head-sheet0.png b/games/ovo/1.4.4/images/head-sheet0.png new file mode 100644 index 00000000..245c11a8 Binary files /dev/null and b/games/ovo/1.4.4/images/head-sheet0.png differ diff --git a/games/ovo/1.4.4/images/inputsdialog.png b/games/ovo/1.4.4/images/inputsdialog.png new file mode 100644 index 00000000..228f68f4 Binary files /dev/null and b/games/ovo/1.4.4/images/inputsdialog.png differ diff --git a/games/ovo/1.4.4/images/jumpboost-sheet0.png b/games/ovo/1.4.4/images/jumpboost-sheet0.png new file mode 100644 index 00000000..5396708a Binary files /dev/null and b/games/ovo/1.4.4/images/jumpboost-sheet0.png differ diff --git a/games/ovo/1.4.4/images/jumpthrough.png b/games/ovo/1.4.4/images/jumpthrough.png new file mode 100644 index 00000000..1516bec7 Binary files /dev/null and b/games/ovo/1.4.4/images/jumpthrough.png differ diff --git a/games/ovo/1.4.4/images/languagebutton-sheet0.png b/games/ovo/1.4.4/images/languagebutton-sheet0.png new file mode 100644 index 00000000..68063204 Binary files /dev/null and b/games/ovo/1.4.4/images/languagebutton-sheet0.png differ diff --git a/games/ovo/1.4.4/images/languagebutton2-sheet0.png b/games/ovo/1.4.4/images/languagebutton2-sheet0.png new file mode 100644 index 00000000..953fac87 Binary files /dev/null and b/games/ovo/1.4.4/images/languagebutton2-sheet0.png differ diff --git a/games/ovo/1.4.4/images/languageflag-sheet0.png b/games/ovo/1.4.4/images/languageflag-sheet0.png new file mode 100644 index 00000000..0767653f Binary files /dev/null and b/games/ovo/1.4.4/images/languageflag-sheet0.png differ diff --git a/games/ovo/1.4.4/images/layoutnameholder-sheet0.png b/games/ovo/1.4.4/images/layoutnameholder-sheet0.png new file mode 100644 index 00000000..5a04da66 Binary files /dev/null and b/games/ovo/1.4.4/images/layoutnameholder-sheet0.png differ diff --git a/games/ovo/1.4.4/images/layoutnumber.png b/games/ovo/1.4.4/images/layoutnumber.png new file mode 100644 index 00000000..4e7db830 Binary files /dev/null and b/games/ovo/1.4.4/images/layoutnumber.png differ diff --git a/games/ovo/1.4.4/images/layoutsubtitle.png b/games/ovo/1.4.4/images/layoutsubtitle.png new file mode 100644 index 00000000..b8f64716 Binary files /dev/null and b/games/ovo/1.4.4/images/layoutsubtitle.png differ diff --git a/games/ovo/1.4.4/images/leftarm-sheet0.png b/games/ovo/1.4.4/images/leftarm-sheet0.png new file mode 100644 index 00000000..4857e9e4 Binary files /dev/null and b/games/ovo/1.4.4/images/leftarm-sheet0.png differ diff --git a/games/ovo/1.4.4/images/levelbutton-sheet0.png b/games/ovo/1.4.4/images/levelbutton-sheet0.png new file mode 100644 index 00000000..9d9b01ce Binary files /dev/null and b/games/ovo/1.4.4/images/levelbutton-sheet0.png differ diff --git a/games/ovo/1.4.4/images/listitem-sheet0.png b/games/ovo/1.4.4/images/listitem-sheet0.png new file mode 100644 index 00000000..1866751a Binary files /dev/null and b/games/ovo/1.4.4/images/listitem-sheet0.png differ diff --git a/games/ovo/1.4.4/images/listparent-sheet0.png b/games/ovo/1.4.4/images/listparent-sheet0.png new file mode 100644 index 00000000..ea60bc71 Binary files /dev/null and b/games/ovo/1.4.4/images/listparent-sheet0.png differ diff --git a/games/ovo/1.4.4/images/listsubitembtn-sheet0.png b/games/ovo/1.4.4/images/listsubitembtn-sheet0.png new file mode 100644 index 00000000..16e35f70 Binary files /dev/null and b/games/ovo/1.4.4/images/listsubitembtn-sheet0.png differ diff --git a/games/ovo/1.4.4/images/listsubitembtn-sheet1.png b/games/ovo/1.4.4/images/listsubitembtn-sheet1.png new file mode 100644 index 00000000..83114fe5 Binary files /dev/null and b/games/ovo/1.4.4/images/listsubitembtn-sheet1.png differ diff --git a/games/ovo/1.4.4/images/listsubitembtn-sheet2.png b/games/ovo/1.4.4/images/listsubitembtn-sheet2.png new file mode 100644 index 00000000..ade36e24 Binary files /dev/null and b/games/ovo/1.4.4/images/listsubitembtn-sheet2.png differ diff --git a/games/ovo/1.4.4/images/loadinganim-sheet0.png b/games/ovo/1.4.4/images/loadinganim-sheet0.png new file mode 100644 index 00000000..3ce76f82 Binary files /dev/null and b/games/ovo/1.4.4/images/loadinganim-sheet0.png differ diff --git a/games/ovo/1.4.4/images/loadinganim-sheet1.png b/games/ovo/1.4.4/images/loadinganim-sheet1.png new file mode 100644 index 00000000..d2f02ed5 Binary files /dev/null and b/games/ovo/1.4.4/images/loadinganim-sheet1.png differ diff --git a/games/ovo/1.4.4/images/mark-sheet0.png b/games/ovo/1.4.4/images/mark-sheet0.png new file mode 100644 index 00000000..81136312 Binary files /dev/null and b/games/ovo/1.4.4/images/mark-sheet0.png differ diff --git a/games/ovo/1.4.4/images/menubutton-sheet0.png b/games/ovo/1.4.4/images/menubutton-sheet0.png new file mode 100644 index 00000000..b17c9eba Binary files /dev/null and b/games/ovo/1.4.4/images/menubutton-sheet0.png differ diff --git a/games/ovo/1.4.4/images/menubutton-sheet1.png b/games/ovo/1.4.4/images/menubutton-sheet1.png new file mode 100644 index 00000000..5aa58ae8 Binary files /dev/null and b/games/ovo/1.4.4/images/menubutton-sheet1.png differ diff --git a/games/ovo/1.4.4/images/menubutton-sheet2.png b/games/ovo/1.4.4/images/menubutton-sheet2.png new file mode 100644 index 00000000..c43bcf49 Binary files /dev/null and b/games/ovo/1.4.4/images/menubutton-sheet2.png differ diff --git a/games/ovo/1.4.4/images/menubutton2-sheet0.png b/games/ovo/1.4.4/images/menubutton2-sheet0.png new file mode 100644 index 00000000..a0a1305b Binary files /dev/null and b/games/ovo/1.4.4/images/menubutton2-sheet0.png differ diff --git a/games/ovo/1.4.4/images/menubutton3-sheet0.png b/games/ovo/1.4.4/images/menubutton3-sheet0.png new file mode 100644 index 00000000..ae44624c Binary files /dev/null and b/games/ovo/1.4.4/images/menubutton3-sheet0.png differ diff --git a/games/ovo/1.4.4/images/menubutton3-sheet1.png b/games/ovo/1.4.4/images/menubutton3-sheet1.png new file mode 100644 index 00000000..d9bff4df Binary files /dev/null and b/games/ovo/1.4.4/images/menubutton3-sheet1.png differ diff --git a/games/ovo/1.4.4/images/movearea-sheet0.png b/games/ovo/1.4.4/images/movearea-sheet0.png new file mode 100644 index 00000000..1c5a0699 Binary files /dev/null and b/games/ovo/1.4.4/images/movearea-sheet0.png differ diff --git a/games/ovo/1.4.4/images/movearea-sheet1.png b/games/ovo/1.4.4/images/movearea-sheet1.png new file mode 100644 index 00000000..21df2ea4 Binary files /dev/null and b/games/ovo/1.4.4/images/movearea-sheet1.png differ diff --git a/games/ovo/1.4.4/images/particles.png b/games/ovo/1.4.4/images/particles.png new file mode 100644 index 00000000..69f7e031 Binary files /dev/null and b/games/ovo/1.4.4/images/particles.png differ diff --git a/games/ovo/1.4.4/images/particlesbg.png b/games/ovo/1.4.4/images/particlesbg.png new file mode 100644 index 00000000..28d3a714 Binary files /dev/null and b/games/ovo/1.4.4/images/particlesbg.png differ diff --git a/games/ovo/1.4.4/images/portal-sheet0.png b/games/ovo/1.4.4/images/portal-sheet0.png new file mode 100644 index 00000000..1d6dcdf6 Binary files /dev/null and b/games/ovo/1.4.4/images/portal-sheet0.png differ diff --git a/games/ovo/1.4.4/images/pulse-sheet0.png b/games/ovo/1.4.4/images/pulse-sheet0.png new file mode 100644 index 00000000..2a1ab283 Binary files /dev/null and b/games/ovo/1.4.4/images/pulse-sheet0.png differ diff --git a/games/ovo/1.4.4/images/pulse-sheet1.png b/games/ovo/1.4.4/images/pulse-sheet1.png new file mode 100644 index 00000000..997b5364 Binary files /dev/null and b/games/ovo/1.4.4/images/pulse-sheet1.png differ diff --git a/games/ovo/1.4.4/images/pulse-sheet2.png b/games/ovo/1.4.4/images/pulse-sheet2.png new file mode 100644 index 00000000..bfd07751 Binary files /dev/null and b/games/ovo/1.4.4/images/pulse-sheet2.png differ diff --git a/games/ovo/1.4.4/images/pumpkin-sheet0.png b/games/ovo/1.4.4/images/pumpkin-sheet0.png new file mode 100644 index 00000000..05982049 Binary files /dev/null and b/games/ovo/1.4.4/images/pumpkin-sheet0.png differ diff --git a/games/ovo/1.4.4/images/rocket-sheet0.png b/games/ovo/1.4.4/images/rocket-sheet0.png new file mode 100644 index 00000000..fc974ad9 Binary files /dev/null and b/games/ovo/1.4.4/images/rocket-sheet0.png differ diff --git a/games/ovo/1.4.4/images/rocketlauncher-sheet0.png b/games/ovo/1.4.4/images/rocketlauncher-sheet0.png new file mode 100644 index 00000000..50665fe0 Binary files /dev/null and b/games/ovo/1.4.4/images/rocketlauncher-sheet0.png differ diff --git a/games/ovo/1.4.4/images/runningcanvas.png b/games/ovo/1.4.4/images/runningcanvas.png new file mode 100644 index 00000000..84a62753 Binary files /dev/null and b/games/ovo/1.4.4/images/runningcanvas.png differ diff --git a/games/ovo/1.4.4/images/skin1-sheet0.png b/games/ovo/1.4.4/images/skin1-sheet0.png new file mode 100644 index 00000000..ec94a122 Binary files /dev/null and b/games/ovo/1.4.4/images/skin1-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin10-sheet0.png b/games/ovo/1.4.4/images/skin10-sheet0.png new file mode 100644 index 00000000..f0a21eaa Binary files /dev/null and b/games/ovo/1.4.4/images/skin10-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin10-sheet1.png b/games/ovo/1.4.4/images/skin10-sheet1.png new file mode 100644 index 00000000..e2618a35 Binary files /dev/null and b/games/ovo/1.4.4/images/skin10-sheet1.png differ diff --git a/games/ovo/1.4.4/images/skin11-sheet0.png b/games/ovo/1.4.4/images/skin11-sheet0.png new file mode 100644 index 00000000..8117e9c8 Binary files /dev/null and b/games/ovo/1.4.4/images/skin11-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin12-sheet0.png b/games/ovo/1.4.4/images/skin12-sheet0.png new file mode 100644 index 00000000..803536de Binary files /dev/null and b/games/ovo/1.4.4/images/skin12-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin13-sheet0.png b/games/ovo/1.4.4/images/skin13-sheet0.png new file mode 100644 index 00000000..024f88bd Binary files /dev/null and b/games/ovo/1.4.4/images/skin13-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin14-sheet0.png b/games/ovo/1.4.4/images/skin14-sheet0.png new file mode 100644 index 00000000..6e9e2da3 Binary files /dev/null and b/games/ovo/1.4.4/images/skin14-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin15-sheet0.png b/games/ovo/1.4.4/images/skin15-sheet0.png new file mode 100644 index 00000000..4c670f43 Binary files /dev/null and b/games/ovo/1.4.4/images/skin15-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin16-sheet0.png b/games/ovo/1.4.4/images/skin16-sheet0.png new file mode 100644 index 00000000..3d1a3759 Binary files /dev/null and b/games/ovo/1.4.4/images/skin16-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin17-sheet0.png b/games/ovo/1.4.4/images/skin17-sheet0.png new file mode 100644 index 00000000..c765b922 Binary files /dev/null and b/games/ovo/1.4.4/images/skin17-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin18-sheet0.png b/games/ovo/1.4.4/images/skin18-sheet0.png new file mode 100644 index 00000000..9843785e Binary files /dev/null and b/games/ovo/1.4.4/images/skin18-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin19-sheet0.png b/games/ovo/1.4.4/images/skin19-sheet0.png new file mode 100644 index 00000000..410ee747 Binary files /dev/null and b/games/ovo/1.4.4/images/skin19-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin19-sheet1.png b/games/ovo/1.4.4/images/skin19-sheet1.png new file mode 100644 index 00000000..4538fe49 Binary files /dev/null and b/games/ovo/1.4.4/images/skin19-sheet1.png differ diff --git a/games/ovo/1.4.4/images/skin2-sheet0.png b/games/ovo/1.4.4/images/skin2-sheet0.png new file mode 100644 index 00000000..38738cac Binary files /dev/null and b/games/ovo/1.4.4/images/skin2-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin20-sheet0.png b/games/ovo/1.4.4/images/skin20-sheet0.png new file mode 100644 index 00000000..0615450f Binary files /dev/null and b/games/ovo/1.4.4/images/skin20-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin21-sheet0.png b/games/ovo/1.4.4/images/skin21-sheet0.png new file mode 100644 index 00000000..2cd9c626 Binary files /dev/null and b/games/ovo/1.4.4/images/skin21-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin22-sheet0.png b/games/ovo/1.4.4/images/skin22-sheet0.png new file mode 100644 index 00000000..9994e152 Binary files /dev/null and b/games/ovo/1.4.4/images/skin22-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin23-sheet0.png b/games/ovo/1.4.4/images/skin23-sheet0.png new file mode 100644 index 00000000..2f488008 Binary files /dev/null and b/games/ovo/1.4.4/images/skin23-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin24-sheet0.png b/games/ovo/1.4.4/images/skin24-sheet0.png new file mode 100644 index 00000000..d6e4db56 Binary files /dev/null and b/games/ovo/1.4.4/images/skin24-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin3-sheet0.png b/games/ovo/1.4.4/images/skin3-sheet0.png new file mode 100644 index 00000000..de7c51a9 Binary files /dev/null and b/games/ovo/1.4.4/images/skin3-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin3-sheet1.png b/games/ovo/1.4.4/images/skin3-sheet1.png new file mode 100644 index 00000000..50606310 Binary files /dev/null and b/games/ovo/1.4.4/images/skin3-sheet1.png differ diff --git a/games/ovo/1.4.4/images/skin3-sheet2.png b/games/ovo/1.4.4/images/skin3-sheet2.png new file mode 100644 index 00000000..c6f39ed0 Binary files /dev/null and b/games/ovo/1.4.4/images/skin3-sheet2.png differ diff --git a/games/ovo/1.4.4/images/skin4-sheet0.png b/games/ovo/1.4.4/images/skin4-sheet0.png new file mode 100644 index 00000000..47955160 Binary files /dev/null and b/games/ovo/1.4.4/images/skin4-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin4-sheet1.png b/games/ovo/1.4.4/images/skin4-sheet1.png new file mode 100644 index 00000000..f208cef6 Binary files /dev/null and b/games/ovo/1.4.4/images/skin4-sheet1.png differ diff --git a/games/ovo/1.4.4/images/skin4-sheet2.png b/games/ovo/1.4.4/images/skin4-sheet2.png new file mode 100644 index 00000000..673c314c Binary files /dev/null and b/games/ovo/1.4.4/images/skin4-sheet2.png differ diff --git a/games/ovo/1.4.4/images/skin5-sheet0.png b/games/ovo/1.4.4/images/skin5-sheet0.png new file mode 100644 index 00000000..10a119aa Binary files /dev/null and b/games/ovo/1.4.4/images/skin5-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin6-sheet0.png b/games/ovo/1.4.4/images/skin6-sheet0.png new file mode 100644 index 00000000..639b5e24 Binary files /dev/null and b/games/ovo/1.4.4/images/skin6-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin6-sheet1.png b/games/ovo/1.4.4/images/skin6-sheet1.png new file mode 100644 index 00000000..966332fa Binary files /dev/null and b/games/ovo/1.4.4/images/skin6-sheet1.png differ diff --git a/games/ovo/1.4.4/images/skin7-sheet0.png b/games/ovo/1.4.4/images/skin7-sheet0.png new file mode 100644 index 00000000..88973c0c Binary files /dev/null and b/games/ovo/1.4.4/images/skin7-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin8-sheet0.png b/games/ovo/1.4.4/images/skin8-sheet0.png new file mode 100644 index 00000000..b5c27079 Binary files /dev/null and b/games/ovo/1.4.4/images/skin8-sheet0.png differ diff --git a/games/ovo/1.4.4/images/skin9-sheet0.png b/games/ovo/1.4.4/images/skin9-sheet0.png new file mode 100644 index 00000000..312e7d56 Binary files /dev/null and b/games/ovo/1.4.4/images/skin9-sheet0.png differ diff --git a/games/ovo/1.4.4/images/sliderbar-sheet0.png b/games/ovo/1.4.4/images/sliderbar-sheet0.png new file mode 100644 index 00000000..f2d657b6 Binary files /dev/null and b/games/ovo/1.4.4/images/sliderbar-sheet0.png differ diff --git a/games/ovo/1.4.4/images/solid.png b/games/ovo/1.4.4/images/solid.png new file mode 100644 index 00000000..06f8eb6f Binary files /dev/null and b/games/ovo/1.4.4/images/solid.png differ diff --git a/games/ovo/1.4.4/images/solid2.png b/games/ovo/1.4.4/images/solid2.png new file mode 100644 index 00000000..2060c636 Binary files /dev/null and b/games/ovo/1.4.4/images/solid2.png differ diff --git a/games/ovo/1.4.4/images/solid3.png b/games/ovo/1.4.4/images/solid3.png new file mode 100644 index 00000000..764148dd Binary files /dev/null and b/games/ovo/1.4.4/images/solid3.png differ diff --git a/games/ovo/1.4.4/images/solidmove.png b/games/ovo/1.4.4/images/solidmove.png new file mode 100644 index 00000000..d01204b2 Binary files /dev/null and b/games/ovo/1.4.4/images/solidmove.png differ diff --git a/games/ovo/1.4.4/images/spike-sheet0.png b/games/ovo/1.4.4/images/spike-sheet0.png new file mode 100644 index 00000000..5b517ae6 Binary files /dev/null and b/games/ovo/1.4.4/images/spike-sheet0.png differ diff --git a/games/ovo/1.4.4/images/spike2-sheet0.png b/games/ovo/1.4.4/images/spike2-sheet0.png new file mode 100644 index 00000000..aec18d67 Binary files /dev/null and b/games/ovo/1.4.4/images/spike2-sheet0.png differ diff --git a/games/ovo/1.4.4/images/sprite-sheet0.png b/games/ovo/1.4.4/images/sprite-sheet0.png new file mode 100644 index 00000000..4994139b Binary files /dev/null and b/games/ovo/1.4.4/images/sprite-sheet0.png differ diff --git a/games/ovo/1.4.4/images/sprite-sheet1.png b/games/ovo/1.4.4/images/sprite-sheet1.png new file mode 100644 index 00000000..c787a18b Binary files /dev/null and b/games/ovo/1.4.4/images/sprite-sheet1.png differ diff --git a/games/ovo/1.4.4/images/sprite2-sheet0.png b/games/ovo/1.4.4/images/sprite2-sheet0.png new file mode 100644 index 00000000..61945e05 Binary files /dev/null and b/games/ovo/1.4.4/images/sprite2-sheet0.png differ diff --git a/games/ovo/1.4.4/images/sprite4-sheet0.png b/games/ovo/1.4.4/images/sprite4-sheet0.png new file mode 100644 index 00000000..07068a84 Binary files /dev/null and b/games/ovo/1.4.4/images/sprite4-sheet0.png differ diff --git a/games/ovo/1.4.4/images/sprite5-sheet0.png b/games/ovo/1.4.4/images/sprite5-sheet0.png new file mode 100644 index 00000000..fcaf18c5 Binary files /dev/null and b/games/ovo/1.4.4/images/sprite5-sheet0.png differ diff --git a/games/ovo/1.4.4/images/sprite6-sheet0.png b/games/ovo/1.4.4/images/sprite6-sheet0.png new file mode 100644 index 00000000..81432b04 Binary files /dev/null and b/games/ovo/1.4.4/images/sprite6-sheet0.png differ diff --git a/games/ovo/1.4.4/images/sprite7-sheet0.png b/games/ovo/1.4.4/images/sprite7-sheet0.png new file mode 100644 index 00000000..7de39d49 Binary files /dev/null and b/games/ovo/1.4.4/images/sprite7-sheet0.png differ diff --git a/games/ovo/1.4.4/images/sprite8-sheet0.png b/games/ovo/1.4.4/images/sprite8-sheet0.png new file mode 100644 index 00000000..84a62753 Binary files /dev/null and b/games/ovo/1.4.4/images/sprite8-sheet0.png differ diff --git a/games/ovo/1.4.4/images/sprite9-sheet0.png b/games/ovo/1.4.4/images/sprite9-sheet0.png new file mode 100644 index 00000000..950f5efb Binary files /dev/null and b/games/ovo/1.4.4/images/sprite9-sheet0.png differ diff --git a/games/ovo/1.4.4/images/spritefontdeluxe.png b/games/ovo/1.4.4/images/spritefontdeluxe.png new file mode 100644 index 00000000..c33ce4b4 Binary files /dev/null and b/games/ovo/1.4.4/images/spritefontdeluxe.png differ diff --git a/games/ovo/1.4.4/images/spritefontdeluxew.png b/games/ovo/1.4.4/images/spritefontdeluxew.png new file mode 100644 index 00000000..7cf529b9 Binary files /dev/null and b/games/ovo/1.4.4/images/spritefontdeluxew.png differ diff --git a/games/ovo/1.4.4/images/tiledbackground.png b/games/ovo/1.4.4/images/tiledbackground.png new file mode 100644 index 00000000..9dcc35dc Binary files /dev/null and b/games/ovo/1.4.4/images/tiledbackground.png differ diff --git a/games/ovo/1.4.4/images/tiledbackground2.png b/games/ovo/1.4.4/images/tiledbackground2.png new file mode 100644 index 00000000..b14f3b34 Binary files /dev/null and b/games/ovo/1.4.4/images/tiledbackground2.png differ diff --git a/games/ovo/1.4.4/images/tiledbackground3.png b/games/ovo/1.4.4/images/tiledbackground3.png new file mode 100644 index 00000000..d7b09151 Binary files /dev/null and b/games/ovo/1.4.4/images/tiledbackground3.png differ diff --git a/games/ovo/1.4.4/images/titlelogo-sheet0.png b/games/ovo/1.4.4/images/titlelogo-sheet0.png new file mode 100644 index 00000000..b4bc4518 Binary files /dev/null and b/games/ovo/1.4.4/images/titlelogo-sheet0.png differ diff --git a/games/ovo/1.4.4/images/triggerarea-sheet0.png b/games/ovo/1.4.4/images/triggerarea-sheet0.png new file mode 100644 index 00000000..3dc4b5ce Binary files /dev/null and b/games/ovo/1.4.4/images/triggerarea-sheet0.png differ diff --git a/games/ovo/1.4.4/images/uidirectionbtn-sheet0.png b/games/ovo/1.4.4/images/uidirectionbtn-sheet0.png new file mode 100644 index 00000000..63b132e4 Binary files /dev/null and b/games/ovo/1.4.4/images/uidirectionbtn-sheet0.png differ diff --git a/games/ovo/1.4.4/images/vector-sheet0.png b/games/ovo/1.4.4/images/vector-sheet0.png new file mode 100644 index 00000000..25591d16 Binary files /dev/null and b/games/ovo/1.4.4/images/vector-sheet0.png differ diff --git a/games/ovo/1.4.4/index.html b/games/ovo/1.4.4/index.html new file mode 100644 index 00000000..dbe23aca --- /dev/null +++ b/games/ovo/1.4.4/index.html @@ -0,0 +1,151 @@ + + + + + + + OvO 1.4.4 + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + +

+ Your browser does not appear to support HTML5. Try upgrading your + browser to the latest version. + What is a browser? +

Microsoft Internet + Explorer
+ Mozilla Firefox
+ Google Chrome
+ Apple Safari +

+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/games/ovo/1.4.4/jquery-3.4.1.min.js b/games/ovo/1.4.4/jquery-3.4.1.min.js new file mode 100644 index 00000000..a1c07fd8 --- /dev/null +++ b/games/ovo/1.4.4/jquery-3.4.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0Close Notification', + _tpl_title: '[[title]]', + _tpl_item: '', + _tpl_wrap: '
', + _notificaiton_queue: [], + + + /** + * Add a notification to the queue. + * @param {Object} params The object that contains all the options for drawing the notification + * @return {Integer} The specific numeric id to that gritter notification + */ + addToQueue: function(params){ + // Handle straight text + if(typeof(params) === 'string'){ + params = {text:params}; + } + + this._item_count++; + this._notificaiton_queue.push($.extend(params, {item_number: this._item_count})); //add this notification to the end of the queue. include its unique id which is the item_count. + this._updateDomFromQueue(); + return this._item_count; + }, + + + /** + * Check whether we can move a notification from the queue onto the DOM. + */ + _updateDomFromQueue: function(){ + var maxNotifications = $.gritter.options.max_to_display; + var isLimited = maxNotifications > 0; // if maxNotifications is greater than 0, then there is a set limit. + if(!isLimited || $('.gritter-item-wrapper').length < maxNotifications){ //no limit or have not reached the max yet + if(this._notificaiton_queue.length > 0){ //there's something in the queue to add + this._addToDom(this._notificaiton_queue.shift()); //put the first item in the queue onto the dom + } + } + }, + + /** + * Add a gritter notification to the screen + * @param {Object} params The object that contains all the options for drawing the notification + */ + _addToDom: function(params){ + + // We might have some issues if we don't have a title or text! + if(params.text === null){ + throw 'You must supply "text" parameter.'; + } + + // Check the options and set them once + if(!this._is_setup){ + this._runSetup(); + } + + // Basics + var title = params.title, + text = params.text, + image = params.image || '', + sticky = params.sticky || false, + item_class = params.class_name || $.gritter.options.class_name, + position = $.gritter.options.position, + time_alive = params.time || '', + widget_click_close = params.close_on_click || false; + + //this._testBorderRadius(); + this._verifyWrapper(); + + var number = params.item_number, + tmp = this._tpl_item; + + // Assign callbacks + $(['before_open', 'after_open', 'before_close', 'after_close','on_click']).each(function(i, val){ + Gritter['_' + val + '_' + number] = ($.isFunction(params[val])) ? params[val] : function(){}; + }); + + // Reset + this._custom_timer = 0; + + // A custom fade time set + if(time_alive){ + this._custom_timer = time_alive; + } + + var image_str = (image !== '') ? '' : '', + class_name = (image !== '') ? 'gritter-with-image' : 'gritter-without-image'; + + // String replacements on the template + if(title){ + title = this._str_replace('[[title]]',title,this._tpl_title); + }else{ + title = ''; + } + + tmp = this._str_replace( + ['[[title]]', '[[text]]', '[[close]]', '[[image]]', '[[number]]', '[[class_name]]', '[[item_class]]'], + [title, text, this._tpl_close, image_str, number, class_name, item_class], tmp + ); + + // If it's false, don't show another gritter message + if(this['_before_open_' + number]() === false){ + return false; + } + + $('#gritter-notice-wrapper').addClass(position).append(tmp); + + var item = $('#gritter-item-' + number); + + item.fadeIn(this.fade_in_speed, function(){ + Gritter['_after_open_' + number]($(this)); + }); + + if(!sticky){ + this._setFadeTimer(item, number); + } + + // Add on_click listener + $(item).click(function(){ + Gritter['_' + 'on_click' + '_' + number]($(this)); + if(widget_click_close) { + Gritter.removeSpecific(number, {}, $(item), true); + } + }); + + /** + * In order to avoid conflicts between on_click and before/after_close + * Disable on_click event when hover over close button + * Enable on_click event on mouse leave + */ + $(item).find('.gritter-close').bind('mouseenter mouseleave', function(event){ + if(event.type == 'mouseenter'){ + $(item).off("click"); + } else { + $(item).on("click",function(){ + Gritter['_' + 'on_click' + '_' + number]($(this)); + if(widget_click_close) { + Gritter.removeSpecific(number, {}, $(item), true); + } + }); + } + }); + + // Bind the hover/unhover states + $(item).bind('mouseenter mouseleave', function(event){ + if(event.type === 'mouseenter'){ + if(!sticky){ + Gritter._restoreItemIfFading($(this), number); + } + } + else { + if(!sticky){ + Gritter._setFadeTimer($(this), number); + } + } + /*Gritter._hoverState($(this), event.type);*/ + }); + + // Clicking (X) makes the perdy thing close + $(item).find('.gritter-close').click(function(){ + Gritter.removeSpecific(number, {}, null, true); + return false; + }); + }, + + /** + * If we don't have any more gritter notifications, get rid of the wrapper using this check + * @private + * @param {Integer} unique_id The ID of the element that was just deleted, use it for a callback + * @param {Object} e The jQuery element that we're going to perform the remove() action on + * @param {Boolean} manual_close Did we close the gritter dialog with the (X) button + */ + _countRemoveWrapper: function(unique_id, e, manual_close){ + + // Remove it then run the callback function + e.remove(); + this['_after_close_' + unique_id](e, manual_close); + + // Check if the wrapper is empty, if it is.. remove the wrapper + if($('.gritter-item-wrapper').length === 0){ + $('#gritter-notice-wrapper').remove(); + } + + }, + + + /** + * Fade out an element after it's been on the screen for x amount of time + * @private + * @param {Object} e The jQuery element to get rid of + * @param {Integer} unique_id The id of the element to remove + * @param {Object} [params] An optional list of params to set fade speeds etc. + * @param {Boolean} [unbind_events] Unbind the mouseenter/mouseleave events if they click (X) + */ + _fade: function(e, unique_id /*, params, unbind_events */){ + + var params = arguments[2] || {}, + unbind_events = arguments[3] || false, + fade = (typeof(params.fade) !== 'undefined') ? params.fade : true, + fade_out_speed = params.speed || this.fade_out_speed, + manual_close = unbind_events; + + this['_before_close_' + unique_id](e, manual_close); + + // If this is true, then we are coming from clicking the (X) + if(unbind_events){ + e.unbind('mouseenter mouseleave'); + } + + // Fade it out or remove it + if(fade){ + + e.animate({ + opacity: 0 + }, fade_out_speed, function(){ + e.animate({ height: 0 }, 300, function(){ + Gritter._countRemoveWrapper(unique_id, e, manual_close); + }); + }); + + } else { + + this._countRemoveWrapper(unique_id, e); + + } + + }, + + /** + * Remove a specific notification based on an ID + * @param {Integer} unique_id The ID used to delete a specific notification + * @param {Object} params A set of options passed in to determine how to get rid of it + * @param {Object} [e] The optional jQuery element that we're "fading" then removing + * @param {Boolean} [unbind_events] If we clicked on the (X) we set this to true to unbind mouseenter/mouseleave + */ + removeSpecific: function(unique_id, params /*, e, unbind_events */){ + + var e = arguments[2] || false, + unbind_events = arguments[3] || false; + + if(!e){ + e = $('#gritter-item-' + unique_id); + } + + // We set the fourth param to let the _fade function know to + // unbind the "mouseleave" event. Once you click (X) there's no going back! + this._fade(e, unique_id, params || {}, unbind_events); + + }, + + /** + * If the item is fading out and we hover over it, restore it! + * @private + * @param {Object} e The HTML element to remove + * @param {Integer} unique_id The ID of the element + */ + _restoreItemIfFading: function(e, unique_id){ + + clearTimeout(this['_int_id_' + unique_id]); + e.stop().css({ opacity: '', height: '' }); + + }, + + /** + * Setup the global options - only once + * @private + */ + _runSetup: function(){ + + for(var opt in $.gritter.options){ + this[opt] = $.gritter.options[opt]; + } + this._is_setup = 1; + + }, + + /** + * Set the notification to fade out after a certain amount of time + * @private + * @param {Object} item The HTML element we're dealing with + * @param {Integer} unique_id The ID of the element + */ + _setFadeTimer: function(e, unique_id){ + + var timer_str = (this._custom_timer) ? this._custom_timer : this.time; + this['_int_id_' + unique_id] = setTimeout(function(){ + Gritter._fade(e, unique_id); + }, timer_str); + + }, + + /** + * Bring everything to a halt + * @param {Object} params A list of callback functions to pass when all notifications are removed + */ + stop: function(params){ + + // callbacks (if passed) + var before_close = ($.isFunction(params.before_close)) ? params.before_close : function(){}; + var after_close = ($.isFunction(params.after_close)) ? params.after_close : function(){}; + + var wrap = $('#gritter-notice-wrapper'); + before_close(wrap); + wrap.fadeOut(function(){ + $(this).remove(); + after_close(); + }); + + }, + + /** + * An extremely handy PHP function ported to JS, works well for templating + * @private + * @param {String/Array} search A list of things to search for + * @param {String/Array} replace A list of things to replace the searches with + * @return {String} sa The output + */ + _str_replace: function(search, replace, subject, count){ + + var i = 0, j = 0, temp = '', repl = '', sl = 0, fl = 0, + f = [].concat(search), + r = [].concat(replace), + s = subject, + ra = r instanceof Array, sa = s instanceof Array; + s = [].concat(s); + + if(count){ + this.window[count] = 0; + } + + for(i = 0, sl = s.length; i < sl; i++){ + + if(s[i] === ''){ + continue; + } + + for (j = 0, fl = f.length; j < fl; j++){ + + temp = s[i] + ''; + repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0]; + s[i] = (temp).split(f[j]).join(repl); + + if(count && s[i] !== temp){ + this.window[count] += (temp.length-s[i].length) / f[j].length; + } + + } + } + + return sa ? s : s[0]; + + }, + + /** + * A check to make sure we have something to wrap our notices with + * @private + */ + _verifyWrapper: function(){ + + if($('#gritter-notice-wrapper').length === 0){ + $('#c2canvasdiv').append(this._tpl_wrap); + } + + } + + } + +})(jQuery); diff --git a/games/ovo/1.4.4/jttp.png b/games/ovo/1.4.4/jttp.png new file mode 100644 index 00000000..43a5e15c Binary files /dev/null and b/games/ovo/1.4.4/jttp.png differ diff --git a/games/ovo/1.4.4/knight.png b/games/ovo/1.4.4/knight.png new file mode 100644 index 00000000..d2a8786a Binary files /dev/null and b/games/ovo/1.4.4/knight.png differ diff --git a/games/ovo/1.4.4/languages.json b/games/ovo/1.4.4/languages.json new file mode 100644 index 00000000..a3867a44 --- /dev/null +++ b/games/ovo/1.4.4/languages.json @@ -0,0 +1,5304 @@ +{ + "version": "1.4.4", + "languages": { + "en-us": "English (US)", + "fr-fr": "Français", + "pt-br": "Português (BR)", + "es-es": "Español", + "it-it": "Italiano" + }, + "data": { + "en-us": { + "play": { + "text": "PLAY", + "extra": [""] + }, + "playlevelmenu": { + "text": "PLAY", + "extra": [""] + }, + "resume": { + "text": "RESUME", + "extra": [""] + }, + "restart": { + "text": "RESTART", + "extra": [""] + }, + "levels": { + "text": "LEVELS", + "extra": [""] + }, + "credits": { + "text": "CREDITS", + "extra": [""] + }, + "removemidrollads": { + "text": "REMOVE MIDROLL ADS", + "extra": [""] + }, + "randomskin": { + "text": "RANDOM SKIN", + "extra": [""] + }, + "adblocktitle": { + "text": "Adblock detected", + "extra": [""] + }, + "adblockdescription": { + "text": "Disable adblock and try again", + "extra": [""] + }, + "offlineready": { + "text": "Offline ready !", + "extra": [""] + }, + "offlinereadydesc": { + "text": "You can now play the game offline !", + "extra": [""] + }, + "updatefound": { + "text": "Update found !", + "extra": [""] + }, + "updatefounddesc": { + "text": "A new update has been found, and is getting downloaded in the background", + "extra": [""] + }, + "updateready": { + "text": "Update ready !", + "extra": [""] + }, + "updatereadydesc": { + "text": "A new update has been downloaded ! Reload or click here to load the new version", + "extra": [""] + }, + "tip1": { + "text": "Did you know you can play this game on mobile ?", + "extra": [""] + }, + "tip2": { + "text": "============== Want to speedrun this game? ============== Join the community at discord.gg/ hTNX225Njt", + "extra": [""] + }, + "tip3": { + "text": "Pressing R restarts the level. Ctrl + R resets the whole run in Play mode", + "extra": [""] + }, + "tip4": { + "text": "Activate hard mode in the options if you're a tough player", + "extra": [""] + }, + "tip5": { + "text": "Activate advanced mode in the options to get level replays", + "extra": [""] + }, + "tip6": { + "text": "In advanced mode, you can toggle debug mode in the pause menu or using F2", + "extra": [""] + }, + "selectlang": { + "text": "Select language", + "extra": [""] + }, + "ad1": { + "text": "No ad available", + "extra": [""] + }, + "ad2": { + "text": "Midrolls are no more", + "extra": [""] + }, + "ad3": { + "text": "Midrolls ads will no longer appear in the game", + "extra": [""] + }, + "tip7": { + "text": "On desktop you can change the keys you wish to use for movement in the options", + "extra": [""] + }, + "default": { + "text": "Default", + "extra": [""] + }, + "electrical": { + "text": "Electrical", + "extra": [""] + }, + "pole": { + "text": "Pole", + "extra": [""] + }, + "pinkguy": { + "text": "Pink guy", + "extra": [""] + }, + "ovoplus": { + "text": "OvO+", + "extra": [""] + }, + "knight": { + "text": "Knight", + "extra": [""] + }, + "dknight": { + "text": "Dark Knight", + "extra": [""] + }, + "lknight": { + "text": "Light Knight", + "extra": [""] + }, + "astronaut": { + "text": "Astronaut", + "extra": [""] + }, + "alien": { + "text": "Alien", + "extra": [""] + }, + "erigato": { + "text": "Erigato", + "extra": [""] + }, + "batter": { + "text": "Batter", + "extra": [""] + }, + "adalich": { + "text": "Adalich", + "extra": [""] + }, + "fallen": { + "text": "Fallen", + "extra": [""] + }, + "pulse": { + "text": "Pulse", + "extra": [""] + }, + "materwelon": { + "text": "MaterWelon", + "extra": [""] + }, + "flickd": { + "text": "Fl1ckd", + "extra": [""] + }, + "theliljoker": { + "text": "TheLil Joker", + "extra": [""] + }, + "amogus": { + "text": "Among us", + "extra": [""] + }, + "french": { + "text": "French", + "extra": [""] + }, + "english": { + "text": "English", + "extra": [""] + }, + "spanish": { + "text": "Spanish", + "extra": [""] + }, + "brazilian": { + "text": "Brazilian", + "extra": [""] + }, + "shyguy": { + "text": "ShyGuy", + "extra": [""] + }, + "hidden": { + "text": "Hidden", + "extra": [""] + }, + "choose": { + "text": "Choose", + "extra": [""] + }, + "chosen": { + "text": "Chosen", + "extra": [""] + }, + "price": { + "text": "Price: {0}", + "extra": [""] + }, + "achievement": { + "text": "Achievement: {0}", + "extra": [""] + }, + "buy": { + "text": "Buy", + "extra": [""] + }, + "acquired": { + "text": "Acquired", + "extra": [""] + }, + "back": { + "text": "BACK", + "extra": [""] + }, + "a1t": { + "text": "OvO", + "extra": [""] + }, + "a1d": { + "text": "What's this?", + "extra": [""] + }, + "a2t": { + "text": "Hittin da head", + "extra": [""] + }, + "a2d": { + "text": "Stop it please", + "extra": [""] + }, + "a3t": { + "text": "Hurting da head", + "extra": [""] + }, + "a3d": { + "text": ":(", + "extra": [""] + }, + "a4t": { + "text": "Tutorials", + "extra": [""] + }, + "a4d": { + "text": "Finish the tutorial section", + "extra": [""] + }, + "a5t": { + "text": "Getting serious", + "extra": [""] + }, + "a5d": { + "text": "Finish the Getting serious section", + "extra": [""] + }, + "a6t": { + "text": "Mechanics", + "extra": [""] + }, + "a6d": { + "text": "Finish the Mechanics section", + "extra": [""] + }, + "a7t": { + "text": "Higher Order", + "extra": [""] + }, + "a7d": { + "text": "Finish the higher order section", + "extra": [""] + }, + "a8t": { + "text": "OvO Space Program", + "extra": [""] + }, + "a8d": { + "text": "Finish the OvO Space Program section", + "extra": [""] + }, + "a9t": { + "text": "A mystical Journey", + "extra": [""] + }, + "a9d": { + "text": "Finish the journey through the portal section", + "extra": [""] + }, + "a10t": { + "text": "Community work", + "extra": [""] + }, + "a10d": { + "text": "Finish the community levels", + "extra": [""] + }, + "a11t": { + "text": "Purified", + "extra": [""] + }, + "a11d": { + "text": "Finish every level", + "extra": [""] + }, + "a12t": { + "text": "Coins !", + "extra": [""] + }, + "a12d": { + "text": "Collect a coin", + "extra": [""] + }, + "a13t": { + "text": "Coin Enthusiast", + "extra": [""] + }, + "a13d": { + "text": "Collect 5 coins", + "extra": [""] + }, + "a14t": { + "text": "Coin Connoiseur", + "extra": [""] + }, + "a14d": { + "text": "Collect 10 coins", + "extra": [""] + }, + "a15t": { + "text": "Coin Hunter", + "extra": [""] + }, + "a15d": { + "text": "Collect 30 coins", + "extra": [""] + }, + "a16t": { + "text": "Coin God", + "extra": [""] + }, + "a16d": { + "text": "Collect 4O coins", + "extra": [""] + }, + "a17t": { + "text": "Secret coin", + "extra": [""] + }, + "a17d": { + "text": "Collect the secret coin", + "extra": [""] + }, + "a18t": { + "text": "Runner", + "extra": [""] + }, + "a18d": { + "text": "Finish the game in less than 30mn", + "extra": [""] + }, + "a19t": { + "text": "Speedrunner", + "extra": [""] + }, + "a19d": { + "text": "Finish the game in less than 20mn", + "extra": [""] + }, + "a20t": { + "text": "Velocity Master", + "extra": [""] + }, + "a20d": { + "text": "Finish the game in less than 15mn", + "extra": [""] + }, + "a21t": { + "text": "Top Charts", + "extra": [""] + }, + "a21d": { + "text": "Finish the game in less than 12mn", + "extra": [""] + }, + "a22t": { + "text": "Light Speed", + "extra": [""] + }, + "a22d": { + "text": "Finish the game in less than 10mn", + "extra": [""] + }, + "likemagic": { + "text": "Like magic", + "extra": [""] + }, + "unlockall": { + "text": "You unlocked every level!", + "extra": [""] + }, + "achievementunlocked": { + "text": "Achievement unlocked !", + "extra": [""] + }, + "skinunlocked": { + "text": "Skin Unlocked !", + "extra": [""] + }, + "goldearned": { + "text": "Gold earned !", + "extra": [""] + }, + "xgoldearned": { + "text": "{0} Gold earned", + "extra": [""] + }, + "locked": { + "text": "Locked", + "extra": [""] + }, + "music": { + "text": "Music", + "extra": [""] + }, + "sounds": { + "text": "Sounds", + "extra": [""] + }, + "hard": { + "text": "Hard mode", + "extra": [""] + }, + "advanced": { + "text": "Advanced mode", + "extra": [""] + }, + "inputs": { + "text": "Inputs", + "extra": [""] + }, + "savedata": { + "text": "Data", + "extra": [""] + }, + "savedatatext": { + "text": "Save Data", + "extra": [""] + }, + "mobilemode": { + "text": "Device", + "extra": [""] + }, + "up": { + "text": "Up", + "extra": [""] + }, + "down": { + "text": "Down", + "extra": [""] + }, + "left": { + "text": "Left", + "extra": [""] + }, + "right": { + "text": "Right", + "extra": [""] + }, + "setkey": { + "text": "Set a key…", + "extra": [""] + }, + "collectedcoins": { + "text": "Collected Coins", + "extra": [""] + }, + "clearsave": { + "text": "Clear Save", + "extra": [""] + }, + "clearcoins": { + "text": "Clear Coins", + "extra": [""] + }, + "autodetectinput": { + "text": "Auto detect", + "extra": [""] + }, + "forcemobile": { + "text": "Force mobile", + "extra": [""] + }, + "forcedesktop": { + "text": "Force desktop", + "extra": [""] + }, + "whatdeviceinput": { + "text": "What is your device?", + "extra": [""] + }, + "madebydedra": { + "text": "Made by Dedra", + "extra": [""] + }, + "poweredby": { + "text": "Powered by Construct 2", + "extra": [""] + }, + "runsection": { + "text": "Run Section", + "extra": [""] + }, + "basics": { + "text": "Basics", + "extra": [""] + }, + "gettingserious": { + "text": "Getting serious", + "extra": [""] + }, + "higherorder": { + "text": "Higher Order", + "extra": [""] + }, + "mechanicis": { + "text": "Mechanics", + "extra": [""] + }, + "ovospaceprogram": { + "text": "OvO Space Program", + "extra": [""] + }, + "jttp": { + "text": "Journey Through the portal", + "extra": [""] + }, + "community": { + "text": "Community levels", + "extra": [""] + }, + "besttime": { + "text": "Best time", + "extra": [""] + }, + "individuallevels": { + "text": "Individual levels", + "extra": [""] + }, + "loadreplay": { + "text": "Load Replay", + "extra": [""] + }, + "adplaying": { + "text": "An ad should be playing right now", + "extra": [""] + }, + "toggledebug": { + "text": "Toggle debug", + "extra": [""] + }, + "downloadreplay": { + "text": "Download Replay", + "extra": [""] + }, + "next": { + "text": "NEXT", + "extra": [""] + }, + "replay": { + "text": "REPLAY", + "extra": [""] + }, + "pause": { + "text": "PAUSE", + "extra": [""] + }, + "quit": { + "text": "QUIT", + "extra": [""] + }, + "lvltxt1-1": { + "text": "Hello, and welcome to OvO", + "extra": [""] + }, + "lvltxt1-2": { + "text": "Use arrow keys to move", + "extra": [""] + }, + "lvltxt1-3": { + "text": "Press Up to jump", + "extra": [""] + }, + "lvltxt1-4": { + "text": "This is the end of the level", + "extra": [""] + }, + "lvltxt2-1": { + "text": "Jump", + "extra": [""] + }, + "lvltxt2-2": { + "text": "Go next to the wall", + "extra": [""] + }, + "lvltxt2-3": { + "text": "And jump higher", + "extra": [""] + }, + "lvltxt2-4": { + "text": "Jump on place and press down to smash the ground", + "extra": [""] + }, + "lvltxt2-5": { + "text": "(you can smash this)", + "extra": [""] + }, + "lvltxt2-6": { + "text": "Jump after a smash", + "extra": [""] + }, + "lvltxt2-7": { + "text": "To jump higher", + "extra": [""] + }, + "lvltxt3-1": { + "text": "You can slide down walls", + "extra": [""] + }, + "lvltxt3-2": { + "text": "Jump while sliding to wall jump", + "extra": [""] + }, + "lvltxt4-1": { + "text": "You can even slide!", + "extra": [""] + }, + "lvltxt4-2": { + "text": "Press the down key", + "extra": [""] + }, + "lvltxt4-3": { + "text": "Jump while sliding to dive", + "extra": [""] + }, + "lvltxt4-4": { + "text": "Be careful not to hit your head", + "extra": [""] + }, + "lvltxt5-1": { + "text": "Those are bad guys", + "extra": [""] + }, + "lvltxt5-2": { + "text": "Try to do a smash while going right to Dive", + "extra": [""] + }, + "lvltxt6-1": { + "text": "Now dive again", + "extra": [""] + }, + "lvltxt6-2": { + "text": "And jump", + "extra": [""] + }, + "lvltxt6-3": { + "text": "Those are good guys", + "extra": [""] + }, + "lvltxt7-2": { + "text": "Smashing the jumpers won't activate them", + "extra": [""] + }, + "lvltxt8-1": { + "text": "Jump", + "extra": [""] + }, + "lvltxt8-2": { + "text": "Dive", + "extra": [""] + }, + "lvltxt8-3": { + "text": "Re-jump", + "extra": [""] + }, + "lvltxt9-1": { + "text": "Hey... This is", + "extra": [""] + }, + "lvltxt9-2": { + "text": "SMASH!", + "extra": [""] + }, + "lvltxt9-3": { + "text": "\"Getting SERIOUS\"", + "extra": [""] + }, + "lvltxt10-1": { + "text": "Strong", + "extra": [""] + }, + "lvltxt10-2": { + "text": "Normal", + "extra": [""] + }, + "lvltxt10-3": { + "text": "Weak", + "extra": [""] + }, + "lvltct10-4": { + "text": "(Sliding increases velocity)", + "extra": [""] + }, + "lvltxt10-4": { + "text": "Trust", + "extra": [""] + }, + "lvltxt14-1": { + "text": "Here !", + "extra": [""] + }, + "lvltxt17-1": { + "text": "Slow down!", + "extra": [""] + }, + "lvltxt19-1": { + "text": "Press Up and Down", + "extra": [""] + }, + "lvltxt23-1": { + "text": "Believe and Dive", + "extra": [""] + }, + "lvltxt28-1": { + "text": "Wrong way :)", + "extra": [""] + }, + "lvltxt25-1": { + "text": "Sorry, nothing here...", + "extra": [""] + }, + "lvltxt25-2": { + "text": "This can be opened somehow...", + "extra": [""] + }, + "lvltxt51-1": { + "text": "By Leetle Toady", + "extra": [""] + }, + "lvltxt33-1": { + "text": "Take part in the OvO space Program!", + "extra": [""] + }, + "lvltxt33-2": { + "text": "This way ---->", + "extra": [""] + }, + "lvltxt33-3": { + "text": "Step 1 is...", + "extra": [""] + }, + "lvltxt33-4": { + "text": "ROCKETS!", + "extra": [""] + }, + "lvltxt33-5": { + "text": "MORE ROCKETS!", + "extra": [""] + }, + "lvltxt33-6": { + "text": "MORE ROCKEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEETS!", + "extra": [""] + }, + "lvltxt34-1": { + "text": "You will have to outrange rockets however you can", + "extra": [""] + }, + "lvltxt38-1": { + "text": "Move", + "extra": [""] + }, + "lvltxt41-1": { + "text": "Quickly", + "extra": [""] + }, + "lvltxt41-2": { + "text": "Through", + "extra": [""] + }, + "lvltxt41-3": { + "text": "The", + "extra": [""] + }, + "lvltxt41-4": { + "text": "Portal!", + "extra": [""] + }, + "": { + "text": "", + "extra": [""] + }, + "lvltxt40-1": { + "text": "<--- Dive", + "extra": [""] + }, + "level1": { + "text": "Start", + "extra": [""] + }, + "level2": { + "text": "Hard", + "extra": [""] + }, + "level3": { + "text": "Harder", + "extra": [""] + }, + "level4": { + "text": "Hardest", + "extra": [""] + }, + "level5": { + "text": "Hellish", + "extra": [""] + }, + "level6": { + "text": "Impossible", + "extra": [""] + }, + "level7": { + "text": "Godlike", + "extra": [""] + }, + "level8": { + "text": "Jump & Dive", + "extra": [""] + }, + "level9": { + "text": "A wise Decision", + "extra": [""] + }, + "level10": { + "text": "A matter of strength", + "extra": [""] + }, + "level11": { + "text": "Reactivity", + "extra": [""] + }, + "level12": { + "text": "A little wall maze", + "extra": [""] + }, + "level13": { + "text": "A matter of speed", + "extra": [""] + }, + "level14": { + "text": "Timing", + "extra": [""] + }, + "level15": { + "text": "Deadly contraption I", + "extra": [""] + }, + "level16": { + "text": "A way down", + "extra": [""] + }, + "level17": { + "text": "Take it slow", + "extra": [""] + }, + "level18": { + "text": "Mirrored Room I", + "extra": [""] + }, + "level19": { + "text": "Little Spikehouse", + "extra": [""] + }, + "level20": { + "text": "Dormant contraption", + "extra": [""] + }, + "level21": { + "text": "A way up", + "extra": [""] + }, + "level22": { + "text": "Iterations", + "extra": [""] + }, + "level23": { + "text": "Leap of faith", + "extra": [""] + }, + "level24": { + "text": "Maelstrom", + "extra": [""] + }, + "level25": { + "text": "Simple Mechanics", + "extra": [""] + }, + "level26": { + "text": "Three doors", + "extra": [""] + }, + "level27": { + "text": "Awake contraption", + "extra": [""] + }, + "level28": { + "text": "Deadly contraption II", + "extra": [""] + }, + "level29": { + "text": "Friendly little platform I", + "extra": [""] + }, + "level30": { + "text": "Friendly little platform II", + "extra": [""] + }, + "level31": { + "text": "Hilarious Quadrilateral", + "extra": [""] + }, + "level32": { + "text": "Run for your life", + "extra": [""] + }, + "level33": { + "text": "Selection Exam", + "extra": [""] + }, + "level34": { + "text": "Test of intelligence", + "extra": [""] + }, + "level35": { + "text": "Test of instinct", + "extra": [""] + }, + "level36": { + "text": "Test of speed", + "extra": [""] + }, + "level37": { + "text": "Test of accuracy", + "extra": [""] + }, + "level38": { + "text": "Test of adaptation", + "extra": [""] + }, + "level39": { + "text": "Graduation?", + "extra": [""] + }, + "level40": { + "text": "Final Exam", + "extra": [""] + }, + "level41": { + "text": "Initialization", + "extra": [""] + }, + "level42": { + "text": "Procedural", + "extra": [""] + }, + "level43": { + "text": "Hysterical Quadrilatral", + "extra": [""] + }, + "level44": { + "text": "Back-propagation", + "extra": [""] + }, + "level45": { + "text": "Arithmetic", + "extra": [""] + }, + "level46": { + "text": "Recursion", + "extra": [""] + }, + "level47": { + "text": "Rocket Science", + "extra": [""] + }, + "level48": { + "text": "Binary", + "extra": [""] + }, + "level49": { + "text": "The Iron maiden", + "extra": [""] + }, + "level50": { + "text": "Threading the needle", + "extra": [""] + }, + "level51": { + "text": "The twin towers", + "extra": [""] + }, + "level52": { + "text": "Andromeda", + "extra": [""] + }, + "yourfinaltime": { + "text": "Your Final Time", + "extra": [""] + }, + "timerforthislevel": { + "text": "Timer for this level", + "extra": [""] + }, + "tryagainhardmode": { + "text": "Try again in Hard mode !", + "extra": [""] + } + }, + "fr-fr": { + "play": { + "text": "JOUER", + "extra": [""] + }, + "playlevelmenu": { + "text": "JOUER", + "extra": [""] + }, + "resume": { + "text": "CONTINUER", + "extra": [], + "size": 12, + "alignY": 62 + }, + "restart": { + "text": "RECOMMENCER", + "extra": [], + "size": 10, + "alignY": 62 + }, + "levels": { + "text": "NIVEAUX", + "extra": [], + "size": 12, + "alignY": 62 + }, + "credits": { + "text": "CREDITS", + "extra": [], + "size": 12, + "alignY": 62 + }, + "removemidrollads": { + "text": "RETIRER PUB MID-ROLL", + "extra": [], + "size": 9, + "alignX": 85 + }, + "randomskin": { + "text": "SKIN ALEATOIRE", + "extra": [], + "size": 10, + "alignX": 82 + }, + "adblocktitle": { + "text": "Adblock détecté", + "extra": [""] + }, + "adblockdescription": { + "text": "Désactivez l'adblock et réessayez", + "extra": [""] + }, + "offlineready": { + "text": "Mode hors-ligne prêt !", + "extra": [""] + }, + "offlinereadydesc": { + "text": "Vous pouvez désormais jouer en mode hors-ligne !", + "extra": [""] + }, + "updatefound": { + "text": "Mise à jour détectée !", + "extra": [""] + }, + "updatefounddesc": { + "text": "Une mise à jour est en cours d'installation", + "extra": [""] + }, + "updateready": { + "text": "Mise à jour terminée !", + "extra": [""] + }, + "updatereadydesc": { + "text": "Une mise à jour a été téléchargée ! Rechargez la page ou cliquez ici.", + "extra": [""] + }, + "tip1": { + "text": "Le saviez-vous? Vous pouvez jouer à OvO sur mobile !", + "extra": [""] + }, + "tip2": { + "text": "============== Tu veux speedrunner OvO? ============== Rejoins la communauté ici discord.gg/ hTNX225Njt", + "extra": [""] + }, + "tip3": { + "text": "Appuyer sur R recommence le niveau. Ctrl+R recommence toute une partie en mode jouer", + "extra": [""] + }, + "tip4": { + "text": "Active le mode difficile dans les options si tu en es capable !", + "extra": [""] + }, + "tip5": { + "text": "Active le mode avancé dans les options pour générer les replays des niveaux", + "extra": [""] + }, + "tip6": { + "text": "En mode Avancé, active le mode Debug depuis le menu pause ou en appuyant sur F2", + "extra": [""] + }, + "selectlang": { + "text": "Choisir la langue", + "extra": [""] + }, + "ad1": { + "text": "Pas de pub disponible", + "extra": [""] + }, + "ad2": { + "text": "les pubs sont vaincues", + "extra": [""] + }, + "ad3": { + "text": "les pubs n'apparaîtront plus en jeu", + "extra": [""] + }, + "tip7": { + "text": "Sur PC, tu peux changer les touches de déplacement dans les options.", + "extra": [""] + }, + "default": { + "text": "Defaut", + "extra": [""] + }, + "electrical": { + "text": "Electrique", + "extra": [""] + }, + "pole": { + "text": "Pole", + "extra": [""] + }, + "pinkguy": { + "text": "Pink guy", + "extra": [""] + }, + "ovoplus": { + "text": "OvO+", + "extra": [""] + }, + "knight": { + "text": "Chevalier", + "extra": [""] + }, + "dknight": { + "text": "Chevalier sombre", + "extra": [""] + }, + "lknight": { + "text": "Chevalier lumineux", + "extra": [""] + }, + "astronaut": { + "text": "Astronaute", + "extra": [""] + }, + "alien": { + "text": "Alien", + "extra": [""] + }, + "erigato": { + "text": "Erigato", + "extra": [""] + }, + "batter": { + "text": "Batteur", + "extra": [""] + }, + "adalich": { + "text": "Adalich", + "extra": [""] + }, + "fallen": { + "text": "Déchu", + "extra": [""] + }, + "pulse": { + "text": "Pulse", + "extra": [""] + }, + "materwelon": { + "text": "MaterWelon", + "extra": [""] + }, + "flickd": { + "text": "Fl1ckd", + "extra": [""] + }, + "theliljoker": { + "text": "TheLilJoker", + "extra": [""] + }, + "amogus": { + "text": "PARMI NOUS", + "extra": [""] + }, + "french": { + "text": "Français", + "extra": [""] + }, + "english": { + "text": "", + "extra": [""] + }, + "spanish": { + "text": "", + "extra": [""] + }, + "brazilian": { + "text": "", + "extra": [""] + }, + "shyguy": { + "text": "ShyGuy", + "extra": [""] + }, + "hidden": { + "text": "Caché", + "extra": [""] + }, + "choose": { + "text": "Choisir", + "extra": [""] + }, + "chosen": { + "text": "Séléctionné", + "extra": [""] + }, + "price": { + "text": "Prix: {0}", + "extra": [""] + }, + "achievement": { + "text": "Succès: {0}", + "extra": [""] + }, + "buy": { + "text": "Acheter", + "extra": [""] + }, + "acquired": { + "text": "Obtenu", + "extra": [""] + }, + "back": { + "text": "RETOUR", + "extra": [""] + }, + "a1t": { + "text": "OvO", + "extra": [""] + }, + "a1d": { + "text": "Qu'est-ce que…?", + "extra": [""] + }, + "a2t": { + "text": "Toucher la tête", + "extra": [""] + }, + "a2d": { + "text": "Arrête ca !", + "extra": [""] + }, + "a3t": { + "text": "Frapper la tête", + "extra": [""] + }, + "a3d": { + "text": ":(", + "extra": [""] + }, + "a4t": { + "text": "Tutoriel", + "extra": [""] + }, + "a4d": { + "text": "Terminer la section tutoriel", + "extra": [""] + }, + "a5t": { + "text": "Les choses sérieuses", + "extra": [""] + }, + "a5d": { + "text": "Terminer la section les choses sérieuses", + "extra": [""] + }, + "a6t": { + "text": "Méchaniques", + "extra": [""] + }, + "a6d": { + "text": "Terminer la section méchaniques", + "extra": [""] + }, + "a7t": { + "text": "Ordre supérieur", + "extra": [""] + }, + "a7d": { + "text": "Terminer la section order supérieur", + "extra": [""] + }, + "a8t": { + "text": "Programme Spatial OvO", + "extra": [""] + }, + "a8d": { + "text": "Terminer la section Programme spatial OvO", + "extra": [""] + }, + "a9t": { + "text": "Un voyage mystique", + "extra": [""] + }, + "a9d": { + "text": "Terminer la section Le Voyage au travers du portail", + "extra": [""] + }, + "a10t": { + "text": "Travaux communautaires", + "extra": [""] + }, + "a10d": { + "text": "Terminer les niveaux de la communauté", + "extra": [""] + }, + "a11t": { + "text": "Purifié", + "extra": [""] + }, + "a11d": { + "text": "Terminer tous les niveaux", + "extra": [""] + }, + "a12t": { + "text": "Des pièces !", + "extra": [""] + }, + "a12d": { + "text": "Collecter une pièce", + "extra": [""] + }, + "a13t": { + "text": "Amateur de pièces", + "extra": [""] + }, + "a13d": { + "text": "Collecter 5 pièces", + "extra": [""] + }, + "a14t": { + "text": "Connaisseur de pièces", + "extra": [""] + }, + "a14d": { + "text": "Collecter 10 pièces", + "extra": [""] + }, + "a15t": { + "text": "Chasseur de pièces", + "extra": [""] + }, + "a15d": { + "text": "Collecter 30 pièces", + "extra": [""] + }, + "a16t": { + "text": "Dieu de la pièce", + "extra": [""] + }, + "a16d": { + "text": "Collecter 40 pièces", + "extra": [""] + }, + "a17t": { + "text": "Pièce secrète", + "extra": [""] + }, + "a17d": { + "text": "Trouver la pièce secrète", + "extra": [""] + }, + "a18t": { + "text": "Runner", + "extra": [""] + }, + "a18d": { + "text": "Terminer le jeu en moins de 30mn", + "extra": [""] + }, + "a19t": { + "text": "Speedrunner", + "extra": [""] + }, + "a19d": { + "text": "Terminer le jeu en moins de 20mn", + "extra": [""] + }, + "a20t": { + "text": "Maitrise de la vitesse", + "extra": [""] + }, + "a20d": { + "text": "Terminer le jeu en moins de 15mn", + "extra": [""] + }, + "a21t": { + "text": "Le podium", + "extra": [""] + }, + "a21d": { + "text": "Terminer le jeu en moins de 12mn", + "extra": [""] + }, + "a22t": { + "text": "Vitesse lumière", + "extra": [""] + }, + "a22d": { + "text": "Terminer le jeu en moins de 10mn", + "extra": [""] + }, + "likemagic": { + "text": "Comme par magie !", + "extra": [""] + }, + "unlockall": { + "text": "Tu as débloqué tous les niveaux !", + "extra": [""] + }, + "achievementunlocked": { + "text": "Succès débloqué !", + "extra": [""] + }, + "skinunlocked": { + "text": "Costume débloqué !", + "extra": [""] + }, + "goldearned": { + "text": "Pièce obtenue", + "extra": [""] + }, + "xgoldearned": { + "text": "{0} Pièces obtenues", + "extra": [""] + }, + "locked": { + "text": "Verrouillé", + "extra": [""] + }, + "music": { + "text": "Musique", + "extra": [""] + }, + "sounds": { + "text": "Sons", + "extra": [""] + }, + "hard": { + "text": "Mode difficile", + "extra": [""] + }, + "advanced": { + "text": "Mode avancé", + "extra": [""] + }, + "inputs": { + "text": "Touches", + "extra": [], + "size": 22 + }, + "savedata": { + "text": "Données", + "extra": [], + "size": 22 + }, + "savedatatext": { + "text": "Données de sauvegarde", + "extra": [""] + }, + "mobilemode": { + "text": "Appareil", + "extra": [], + "size": 22 + }, + "up": { + "text": "Haut", + "extra": [""] + }, + "down": { + "text": "Bas", + "extra": [""] + }, + "left": { + "text": "Gauche", + "extra": [""] + }, + "right": { + "text": "Droite", + "extra": [""] + }, + "setkey": { + "text": "Choisis…", + "extra": [""] + }, + "collectedcoins": { + "text": "Pièces collectées", + "extra": [""] + }, + "clearsave": { + "text": "Suppr. données", + "extra": [], + "size": 10, + "alignY": 65 + }, + "clearcoins": { + "text": "Suppr. pièces", + "extra": [], + "size": 10, + "alignY": 65 + }, + "autodetectinput": { + "text": "Automatique", + "extra": [""] + }, + "forcemobile": { + "text": "Mobile", + "extra": [""] + }, + "forcedesktop": { + "text": "Ordinateur", + "extra": [""] + }, + "whatdeviceinput": { + "text": "Quel est ton appareil?", + "extra": [""] + }, + "madebydedra": { + "text": "Créé par Dedra", + "extra": [""] + }, + "poweredby": { + "text": "Fait avec Construct 2", + "extra": [""] + }, + "runsection": { + "text": "Jouer la section", + "extra": [""] + }, + "basics": { + "text": "Tutoriel", + "extra": [""] + }, + "gettingserious": { + "text": "Les choses sérieuses", + "extra": [""] + }, + "higherorder": { + "text": "Ordre supérieur", + "extra": [""] + }, + "mechanicis": { + "text": "Méchaniques", + "extra": [""] + }, + "ovospaceprogram": { + "text": "Programme Spatial OvO", + "extra": [""] + }, + "jttp": { + "text": "Le Voyage au travers du portail", + "extra": [""] + }, + "community": { + "text": "Niveaux de la communauté", + "extra": [""] + }, + "besttime": { + "text": "Meilleur temps", + "extra": [""] + }, + "individuallevels": { + "text": "Niveaux individuels", + "extra": [""] + }, + "loadreplay": { + "text": "Charger un replay", + "extra": [], + "size": 12 + }, + "adplaying": { + "text": "Une pub devrait être affichée", + "extra": [""] + }, + "toggledebug": { + "text": "Mode debug", + "extra": [""] + }, + "downloadreplay": { + "text": "Télécharger le replay", + "extra": [], + "size": 17 + }, + "next": { + "text": "SUIVANT", + "extra": [""] + }, + "replay": { + "text": "REPLAY", + "extra": [""] + }, + "pause": { + "text": "PAUSE", + "extra": [""] + }, + "quit": { + "text": "QUITTER", + "extra": [""] + }, + "lvltxt1-1": { + "text": "Bienvenue dans OvO", + "extra": [""] + }, + "lvltxt1-2": { + "text": "Utilise les flèches pour te déplacer", + "extra": [""] + }, + "lvltxt1-3": { + "text": "Appuie sur Haut pour sauter", + "extra": [""] + }, + "lvltxt1-4": { + "text": "Fin du niveau", + "extra": [""] + }, + "lvltxt2-1": { + "text": "Saute", + "extra": [""] + }, + "lvltxt2-2": { + "text": "Reste près du mur", + "extra": [""] + }, + "lvltxt2-3": { + "text": "Pour sauter plus haut", + "extra": [""] + }, + "lvltxt2-4": { + "text": "Saute sur place et appuie sur bas pour smasher", + "extra": [""] + }, + "lvltxt2-5": { + "text": "Tu peux smasher ça", + "extra": [""] + }, + "lvltxt2-6": { + "text": "Saute après un Smash", + "extra": [""] + }, + "lvltxt2-7": { + "text": "Pour sauter plus haut", + "extra": [""] + }, + "lvltxt3-1": { + "text": "Tu peux descendre des murs", + "extra": [""] + }, + "lvltxt3-2": { + "text": "Saute en descendant pour faire un saut mural", + "extra": [""] + }, + "lvltxt4-1": { + "text": "Tu peux aussi glisser !", + "extra": [""] + }, + "lvltxt4-2": { + "text": "Appuie sur Bas", + "extra": [""] + }, + "lvltxt4-3": { + "text": "Saute en glissant pour plonger", + "extra": [""] + }, + "lvltxt4-4": { + "text": "Attention la tête…", + "extra": [""] + }, + "lvltxt5-1": { + "text": "Eux, ils sont méchants", + "extra": [""] + }, + "lvltxt5-2": { + "text": "Essaie de smasher en restant appuyé sur Droite pour faire un plongeon", + "extra": [""] + }, + "lvltxt6-1": { + "text": "Plonge encore", + "extra": [""] + }, + "lvltxt6-2": { + "text": "Puis saute !", + "extra": [""] + }, + "lvltxt6-3": { + "text": "Eux, ils sont cools", + "extra": [""] + }, + "lvltxt7-2": { + "text": "Smasher les boosters ne les active pas", + "extra": [""] + }, + "lvltxt8-1": { + "text": "Saute", + "extra": [""] + }, + "lvltxt8-2": { + "text": "Plonge", + "extra": [""] + }, + "lvltxt8-3": { + "text": "Re-saute!", + "extra": [""] + }, + "lvltxt9-1": { + "text": "Hé... on a dit", + "extra": [""] + }, + "lvltxt9-2": { + "text": "SMASH!", + "extra": [""] + }, + "lvltxt9-3": { + "text": "\"Les choses Sérieuses\"", + "extra": [""] + }, + "lvltxt10-1": { + "text": "Puissant", + "extra": [""] + }, + "lvltxt10-2": { + "text": "Normal", + "extra": [""] + }, + "lvltxt10-3": { + "text": "Faible", + "extra": [""] + }, + "lvltct10-4": { + "text": "(Glisser augmente ta vitesse)", + "extra": [""] + }, + "lvltxt10-4": { + "text": "Aie foi", + "extra": [""] + }, + "lvltxt14-1": { + "text": "Ici !", + "extra": [""] + }, + "lvltxt17-1": { + "text": "Ralentis !", + "extra": [""] + }, + "lvltxt19-1": { + "text": "Appuies sur Haut et Bas", + "extra": [""] + }, + "lvltxt23-1": { + "text": "Prie et Plonge !", + "extra": [""] + }, + "lvltxt28-1": { + "text": "Mauvais sens :)", + "extra": [""] + }, + "lvltxt25-1": { + "text": "Y'a rien à voir, désolé…", + "extra": [""] + }, + "lvltxt25-2": { + "text": "Tu dois pouvoir activer ça…", + "extra": [""] + }, + "lvltxt51-1": { + "text": "Par Leetle Toady", + "extra": [""] + }, + "lvltxt33-1": { + "text": "Bienvenue dans Le programme spatial OvO !", + "extra": [""] + }, + "lvltxt33-2": { + "text": "Par ici ---->", + "extra": [""] + }, + "lvltxt33-3": { + "text": "Etape 1 :", + "extra": [""] + }, + "lvltxt33-4": { + "text": "ROCKETS!", + "extra": [""] + }, + "lvltxt33-5": { + "text": "PLUS DE ROCKETS!", + "extra": [""] + }, + "lvltxt33-6": { + "text": "PLUS DE ROCKEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEETS!", + "extra": [""] + }, + "lvltxt34-1": { + "text": "Sois inventif pour éviter les rockets", + "extra": [""] + }, + "lvltxt38-1": { + "text": "Bouge", + "extra": [""] + }, + "lvltxt41-1": { + "text": "Vite", + "extra": [""] + }, + "lvltxt41-2": { + "text": "Dans", + "extra": [""] + }, + "lvltxt41-3": { + "text": "Le", + "extra": [""] + }, + "lvltxt41-4": { + "text": "Portail!", + "extra": [""] + }, + "": { + "text": "", + "extra": [""] + }, + "lvltxt40-1": { + "text": "<--- Plonge", + "extra": [""] + }, + "level1": { + "text": "Départ", + "extra": [""] + }, + "level2": { + "text": "Dur", + "extra": [""] + }, + "level3": { + "text": "Super dur", + "extra": [""] + }, + "level4": { + "text": "Trop dur", + "extra": [""] + }, + "level5": { + "text": "Dangereux", + "extra": [""] + }, + "level6": { + "text": "Impossible", + "extra": [""] + }, + "level7": { + "text": "Agréable", + "extra": [""] + }, + "level8": { + "text": "Saute & plonge", + "extra": [""] + }, + "level9": { + "text": "Une sage décision", + "extra": [""] + }, + "level10": { + "text": "Une question de force", + "extra": [""] + }, + "level11": { + "text": "Réactivité", + "extra": [""] + }, + "level12": { + "text": "Le petit labyrinthe", + "extra": [""] + }, + "level13": { + "text": "Une question de vitesse", + "extra": [""] + }, + "level14": { + "text": "Timing", + "extra": [""] + }, + "level15": { + "text": "Piège mortel I", + "extra": [""] + }, + "level16": { + "text": "La descente", + "extra": [""] + }, + "level17": { + "text": "Vas-y doucement", + "extra": [""] + }, + "level18": { + "text": "Pièce symétrique I", + "extra": [""] + }, + "level19": { + "text": "Petite maison de piques", + "extra": [""] + }, + "level20": { + "text": "Piège endormi", + "extra": [""] + }, + "level21": { + "text": "La montée", + "extra": [""] + }, + "level22": { + "text": "Itérations", + "extra": [""] + }, + "level23": { + "text": "Saut de la foi", + "extra": [""] + }, + "level24": { + "text": "Maelstrom", + "extra": [""] + }, + "level25": { + "text": "Méchaniques de base", + "extra": [""] + }, + "level26": { + "text": "Trois portes", + "extra": [""] + }, + "level27": { + "text": "Piège éveillé", + "extra": [""] + }, + "level28": { + "text": "Piège mortel II", + "extra": [""] + }, + "level29": { + "text": "Petite plateforme sympathique I", + "extra": [""] + }, + "level30": { + "text": "Petite plateforme sympathique II", + "extra": [""] + }, + "level31": { + "text": "Quadrilatère Hilarant", + "extra": [""] + }, + "level32": { + "text": "Fuis pour ta vie", + "extra": [""] + }, + "level33": { + "text": "Examen séléctif", + "extra": [""] + }, + "level34": { + "text": "Test d'intelligence", + "extra": [""] + }, + "level35": { + "text": "Test d'instinct", + "extra": [""] + }, + "level36": { + "text": "Test de vitesse", + "extra": [""] + }, + "level37": { + "text": "Test de visée", + "extra": [""] + }, + "level38": { + "text": "Test d'adaptation", + "extra": [""] + }, + "level39": { + "text": "Le diplôme ?", + "extra": [""] + }, + "level40": { + "text": "Examen final", + "extra": [""] + }, + "level41": { + "text": "Initialisation", + "extra": [""] + }, + "level42": { + "text": "Procédural", + "extra": [""] + }, + "level43": { + "text": "Quadrilatère Hystérique", + "extra": [""] + }, + "level44": { + "text": "Propagation arrière", + "extra": [""] + }, + "level45": { + "text": "Arithmétique", + "extra": [""] + }, + "level46": { + "text": "Recursion", + "extra": [""] + }, + "level47": { + "text": "Fuséologie avancée", + "extra": [""] + }, + "level48": { + "text": "Binaire", + "extra": [""] + }, + "level49": { + "text": "La vierge de fer", + "extra": [""] + }, + "level50": { + "text": "Au travers de l'aiguille", + "extra": [""] + }, + "level51": { + "text": "Les deux tours", + "extra": [""] + }, + "level52": { + "text": "Andromède", + "extra": [""] + }, + "yourfinaltime": { + "text": "Temps final", + "extra": [""] + }, + "timerforthislevel": { + "text": "Temps du niveau", + "extra": [""] + }, + "tryagainhardmode": { + "text": "Essaie en mode difficile maintenant !", + "extra": [""] + } + }, + "pt-br": { + "play": { + "text": "JOGAR", + "extra": [""] + }, + "playlevelmenu": { + "text": "JOGAR", + "extra": [""] + }, + "resume": { + "text": "CONTINUAR", + "extra": [], + "size": 12, + "alignY": 62 + }, + "restart": { + "text": "REINICIAR", + "extra": [], + "size": 12, + "alignY": 62 + }, + "levels": { + "text": "NÍVEIS", + "extra": [], + "size": 12, + "alignY": 62 + }, + "credits": { + "text": "CRÉDITOS", + "extra": [], + "size": 12, + "alignY": 62 + }, + "removemidrollads": { + "text": "REMOVER ANÚNCIOS", + "extra": [""] + }, + "randomskin": { + "text": "SKIN ALEATÓRIA", + "extra": [], + "size": 10, + "alignX": 82 + }, + "adblocktitle": { + "text": "Adblock detectado", + "extra": [""] + }, + "adblockdescription": { + "text": "Desative seu adblock e tente denovo", + "extra": [""] + }, + "offlineready": { + "text": "Modo Offline pronto!", + "extra": [""] + }, + "offlinereadydesc": { + "text": "Você agora pode jogar offline!", + "extra": [""] + }, + "updatefound": { + "text": "Atualização encontrada!", + "extra": [""] + }, + "updatefounddesc": { + "text": "Uma nova atualização foi encontrada e está sendo baixada em segundo plano", + "extra": [""] + }, + "updateready": { + "text": "Atualização pronta!", + "extra": [""] + }, + "updatereadydesc": { + "text": "Uma nova atualização foi baixada! Recarrege ou clique aqui para carregar a nova versão.", + "extra": [""] + }, + "tip1": { + "text": "Você sabia que é possível jogar também pelo seu celular?", + "extra": [""] + }, + "tip2": { + "text": "============== Você quer fazer um speedrun desse jogo? ============== Entre para a nossa comunidade em discord.gg/ hTNX225Njt", + "extra": [""] + }, + "tip3": { + "text": "A tecla R reinicia o nível, enquanto que Ctrl + R reinicia toda a run ao jogar", + "extra": [""] + }, + "tip4": { + "text": "Ative o modo difícil nas opções se você já é um expert", + "extra": [""] + }, + "tip5": { + "text": "Ative o modo avançado nas opções para ter replays de níveis", + "extra": [""] + }, + "tip6": { + "text": "No modo avançado, você pode ativar o modo debug no menu de pausa ou pressionando F2", + "extra": [""] + }, + "selectlang": { + "text": "Selecione o idioma", + "extra": [""] + }, + "ad1": { + "text": "Nenhum anúncio disponível", + "extra": [""] + }, + "ad2": { + "text": "Sem mais anúncios no meio do jogo", + "extra": [""] + }, + "ad3": { + "text": "Os anúncios não irão mais aparecer no meio do jogo", + "extra": [""] + }, + "tip7": { + "text": "Você pode mudar a qualquer hora os controles de movimento nas opções, caso esteja jogando pelo computador", + "extra": [""] + }, + "default": { + "text": "Padrão", + "extra": [""] + }, + "electrical": { + "text": "Elétrico", + "extra": [""] + }, + "pole": { + "text": "Pólo", + "extra": [""] + }, + "pinkguy": { + "text": "Pink Guy", + "extra": [""] + }, + "ovoplus": { + "text": "OvO+", + "extra": [""] + }, + "knight": { + "text": "Cavaleiro", + "extra": [""] + }, + "dknight": { + "text": "Cavaleiro das Trevas", + "extra": [""] + }, + "lknight": { + "text": "Cavaleiro da Luz", + "extra": [""] + }, + "astronaut": { + "text": "Astronauta", + "extra": [""] + }, + "alien": { + "text": "Alien", + "extra": [""] + }, + "erigato": { + "text": "Erigato", + "extra": [""] + }, + "batter": { + "text": "Batter", + "extra": [""] + }, + "adalich": { + "text": "Adalich", + "extra": [""] + }, + "fallen": { + "text": "Ancestral", + "extra": [""] + }, + "pulse": { + "text": "Pulse", + "extra": [""] + }, + "materwelon": { + "text": "MaterWelon", + "extra": [""] + }, + "flickd": { + "text": "Fl1ckd", + "extra": [""] + }, + "theliljoker": { + "text": "TheLilJoker", + "extra": [""] + }, + "amogus": { + "text": "amungokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk", + "extra": [""] + }, + "french": { + "text": "", + "extra": [""] + }, + "english": { + "text": "", + "extra": [""] + }, + "spanish": { + "text": "", + "extra": [""] + }, + "brazilian": { + "text": "", + "extra": [""] + }, + "shyguy": { + "text": "ShyGuy", + "extra": [""] + }, + "hidden": { + "text": "Secreto", + "extra": [""] + }, + "choose": { + "text": "Escolher", + "extra": [""] + }, + "chosen": { + "text": "Selecionado", + "extra": [""] + }, + "price": { + "text": "Preço: {0}", + "extra": [""] + }, + "achievement": { + "text": "Conquista: {0}", + "extra": [""] + }, + "buy": { + "text": "Comprar", + "extra": [""] + }, + "acquired": { + "text": "Obtido", + "extra": [""] + }, + "back": { + "text": "VOLTAR", + "extra": [""] + }, + "a1t": { + "text": "OvO", + "extra": [""] + }, + "a1d": { + "text": "Que isso?", + "extra": [""] + }, + "a2t": { + "text": "Paulada na cabeça", + "extra": [""] + }, + "a2d": { + "text": "Pare com isso, por favor", + "extra": [""] + }, + "a3t": { + "text": "Dor de cabeça", + "extra": [""] + }, + "a3d": { + "text": ":(", + "extra": [""] + }, + "a4t": { + "text": "Tutorial", + "extra": [""] + }, + "a4d": { + "text": "Termine o Tutorial", + "extra": [""] + }, + "a5t": { + "text": "Ficando Tenso", + "extra": [""] + }, + "a5d": { + "text": "Termine a seção \"Ficando Tenso\"", + "extra": [""] + }, + "a6t": { + "text": "Mecânicas", + "extra": [""] + }, + "a6d": { + "text": "Termine a seção \"Mecânicas\"", + "extra": [""] + }, + "a7t": { + "text": "A Grande Ordem", + "extra": [""] + }, + "a7d": { + "text": "Termine a seção \"A Grande Ordem\"", + "extra": [""] + }, + "a8t": { + "text": "Programa Espacial OvO", + "extra": [""] + }, + "a8d": { + "text": "Termine a seção \"Programa Espacial OvO\"", + "extra": [""] + }, + "a9t": { + "text": "Uma Jornada Mística", + "extra": [""] + }, + "a9d": { + "text": "Termine a seção \"Uma Jornada Mística\"", + "extra": [""] + }, + "a10t": { + "text": "Níveis da Comunidade", + "extra": [""] + }, + "a10d": { + "text": "Termine os Níveis da Comunidade", + "extra": [""] + }, + "a11t": { + "text": "Purificado", + "extra": [""] + }, + "a11d": { + "text": "Termine todos os níveis", + "extra": [""] + }, + "a12t": { + "text": "Moedas!", + "extra": [""] + }, + "a12d": { + "text": "Pegue uma moeda", + "extra": [""] + }, + "a13t": { + "text": "Entusiasta de Moedas", + "extra": [""] + }, + "a13d": { + "text": "Pegue 5 moedas", + "extra": [""] + }, + "a14t": { + "text": "Apreciador de Moedas", + "extra": [""] + }, + "a14d": { + "text": "Pegue 10 moedas", + "extra": [""] + }, + "a15t": { + "text": "Caçador de Moedas", + "extra": [""] + }, + "a15d": { + "text": "Pegue 30 moedas", + "extra": [""] + }, + "a16t": { + "text": "Deus da Moeda", + "extra": [""] + }, + "a16d": { + "text": "Pegue 40 moedas", + "extra": [""] + }, + "a17t": { + "text": "Moeda Secreta?", + "extra": [""] + }, + "a17d": { + "text": "Pegue a moeda secreta", + "extra": [""] + }, + "a18t": { + "text": "Corredor", + "extra": [""] + }, + "a18d": { + "text": "Termine o jogo em menos de 30 minutos", + "extra": [""] + }, + "a19t": { + "text": "Speedrunner", + "extra": [""] + }, + "a19d": { + "text": "Termine o jogo em menos de 20 minutos", + "extra": [""] + }, + "a20t": { + "text": "Mestre da velocidade", + "extra": [""] + }, + "a20d": { + "text": "Termine o jogo em menos de 10 minutos", + "extra": [""] + }, + "a21t": { + "text": "Top 10 Melhores", + "extra": [""] + }, + "a21d": { + "text": "Termine o jogo em menos de 12 minutos", + "extra": [""] + }, + "a22t": { + "text": "Velocidade da Luz", + "extra": [""] + }, + "a22d": { + "text": "Termine o jogo em menos de 10 minutos", + "extra": [""] + }, + "likemagic": { + "text": "Como mágica!", + "extra": [""] + }, + "unlockall": { + "text": "Você desbloqueou todos os níveis!", + "extra": [""] + }, + "achievementunlocked": { + "text": "Conquista desbloqueada!", + "extra": [""] + }, + "skinunlocked": { + "text": "Nova skin desbloqueada!", + "extra": [""] + }, + "goldearned": { + "text": "Ganhou umas moedas!", + "extra": [""] + }, + "xgoldearned": { + "text": "{0} Dinheiro ganho", + "extra": [""] + }, + "locked": { + "text": "Bloqueado", + "extra": [""] + }, + "music": { + "text": "Música", + "extra": [""] + }, + "sounds": { + "text": "Sons", + "extra": [""] + }, + "hard": { + "text": "Modo difícil", + "extra": [""] + }, + "advanced": { + "text": "Modo avançado", + "extra": [""] + }, + "inputs": { + "text": "Entradas", + "extra": [], + "size": 21 + }, + "savedata": { + "text": "Data", + "extra": [], + "size": 21 + }, + "savedatatext": { + "text": "Salvar Dados", + "extra": [""] + }, + "mobilemode": { + "text": "Aparelho", + "extra": [], + "size": 21 + }, + "up": { + "text": "Cima", + "extra": [""] + }, + "down": { + "text": "Baixo", + "extra": [""] + }, + "left": { + "text": "Esquerda", + "extra": [""] + }, + "right": { + "text": "Direita", + "extra": [""] + }, + "setkey": { + "text": "Pressione uma tecla...", + "extra": [""] + }, + "collectedcoins": { + "text": "Moedas Coletadas", + "extra": [""] + }, + "clearsave": { + "text": "Deletar Dados", + "extra": [], + "size": 10, + "alignY": 65 + }, + "clearcoins": { + "text": "Deletar Moedas", + "extra": [], + "size": 10, + "alignY": 65 + }, + "autodetectinput": { + "text": "Auto detectar", + "extra": [""] + }, + "forcemobile": { + "text": "Dispositivo Móvel", + "extra": [""] + }, + "forcedesktop": { + "text": "Computador", + "extra": [""] + }, + "whatdeviceinput": { + "text": "Qual é o seu aparelho?", + "extra": [""] + }, + "madebydedra": { + "text": "Criado por Dedra", + "extra": [""] + }, + "poweredby": { + "text": "Feito no Construct 2", + "extra": [""] + }, + "runsection": { + "text": "Sessões da Run", + "extra": [""] + }, + "basics": { + "text": "Tutorial", + "extra": [""] + }, + "gettingserious": { + "text": "Ficando Tenso", + "extra": [""] + }, + "higherorder": { + "text": "A Grande Ordem", + "extra": [""] + }, + "mechanicis": { + "text": "Mecânicas", + "extra": [""] + }, + "ovospaceprogram": { + "text": "Programa Espacial OvO", + "extra": [""] + }, + "jttp": { + "text": "Uma Jornada Mística Por Portais", + "extra": [""] + }, + "community": { + "text": "Níveis da Comunidade", + "extra": [""] + }, + "besttime": { + "text": "Melhor tempo", + "extra": [""] + }, + "individuallevels": { + "text": "Níveis Individuais", + "extra": [""] + }, + "loadreplay": { + "text": "Carregar um Replay", + "extra": [], + "size": 12 + }, + "adplaying": { + "text": "Um anúncio irá ser reproduzido", + "extra": [""] + }, + "toggledebug": { + "text": "Modo Debug", + "extra": [""] + }, + "downloadreplay": { + "text": "Baixar Replay", + "extra": [""] + }, + "next": { + "text": "PRÓXIMO", + "extra": [""] + }, + "replay": { + "text": "REPLAY", + "extra": [""] + }, + "pause": { + "text": "PAUSA", + "extra": [""] + }, + "quit": { + "text": "SAIR", + "extra": [""] + }, + "lvltxt1-1": { + "text": "Olá! Bem-vindo à OvO", + "extra": [""] + }, + "lvltxt1-2": { + "text": "Use as setas para se mover", + "extra": [""] + }, + "lvltxt1-3": { + "text": "Pressione Cima para pular", + "extra": [""] + }, + "lvltxt1-4": { + "text": "Esse é o final do nível", + "extra": [""] + }, + "lvltxt2-1": { + "text": "Pule", + "extra": [""] + }, + "lvltxt2-2": { + "text": "Vá para à parede", + "extra": [""] + }, + "lvltxt2-3": { + "text": "E pule mais alto", + "extra": [""] + }, + "lvltxt2-4": { + "text": "Pule no lugar e pressione Baixo para dar uma pézada", + "extra": [""] + }, + "lvltxt2-5": { + "text": "(Você pode Atravessar com a pézada aqui)", + "extra": [""] + }, + "lvltxt2-6": { + "text": "Pule após dar uma pézada", + "extra": [""] + }, + "lvltxt2-7": { + "text": "Para pular bem mais alto", + "extra": [""] + }, + "lvltxt3-1": { + "text": "Você pode deslizar nas paredes", + "extra": [""] + }, + "lvltxt3-2": { + "text": "Pule enquanto deslize nas paredes para fazer um Pulo De Parede", + "extra": [], + "size": 8 + }, + "lvltxt4-1": { + "text": "Você pode até deslizar no chão!", + "extra": [""] + }, + "lvltxt4-2": { + "text": "Pressione a tecla Baixo", + "extra": [""] + }, + "lvltxt4-3": { + "text": "Pule enquanto desliza para Mergulhar", + "extra": [""] + }, + "lvltxt4-4": { + "text": "Tome cuidado para não bater a cabeça...", + "extra": [""] + }, + "lvltxt5-1": { + "text": "Esse são os caras maus", + "extra": [""] + }, + "lvltxt5-2": { + "text": "Tente dar uma pézada enquanto anda pra direita para Mergulhar", + "extra": [""] + }, + "lvltxt6-1": { + "text": "Mergulhe denovo...", + "extra": [""] + }, + "lvltxt6-2": { + "text": "E Pule!", + "extra": [""] + }, + "lvltxt6-3": { + "text": "Esse são os caras bons", + "extra": [""] + }, + "lvltxt7-2": { + "text": "Dar uma pézada nas molas não irá ativar-las", + "extra": [""] + }, + "lvltxt8-1": { + "text": "Pule", + "extra": [""] + }, + "lvltxt8-2": { + "text": "Mergulhe denovo...", + "extra": [""] + }, + "lvltxt8-3": { + "text": "Pule denovo!", + "extra": [""] + }, + "lvltxt9-1": { + "text": "Ei... isso está", + "extra": [""] + }, + "lvltxt9-2": { + "text": "KABUM!", + "extra": [""] + }, + "lvltxt9-3": { + "text": "\"ficando tenso\"", + "extra": [""] + }, + "lvltxt10-1": { + "text": "Forte", + "extra": [""] + }, + "lvltxt10-2": { + "text": "Normal", + "extra": [""] + }, + "lvltxt10-3": { + "text": "Fraco", + "extra": [""] + }, + "lvltct10-4": { + "text": "(O deslizamento aumenta a velocidade)", + "extra": [""] + }, + "lvltxt10-4": { + "text": "Confie", + "extra": [""] + }, + "lvltxt14-1": { + "text": "Aqui!", + "extra": [""] + }, + "lvltxt17-1": { + "text": "Desacelere!", + "extra": [""] + }, + "lvltxt19-1": { + "text": "Pressione Cima e Baixo", + "extra": [""] + }, + "lvltxt23-1": { + "text": "Confie e Mergulhe!", + "extra": [""] + }, + "lvltxt28-1": { + "text": "Caminho errado :)", + "extra": [""] + }, + "lvltxt25-1": { + "text": "Nada aqui, foi mal!", + "extra": [""] + }, + "lvltxt25-2": { + "text": "Deve ter alguma forma de abrir isso...", + "extra": [""] + }, + "lvltxt51-1": { + "text": "Por Leetle Toady", + "extra": [""] + }, + "lvltxt33-1": { + "text": "Bem-vindo ao Programa Espacial OvO!", + "extra": [""] + }, + "lvltxt33-2": { + "text": "Por aqui ---->", + "extra": [""] + }, + "lvltxt33-3": { + "text": "Passo 1 :", + "extra": [""] + }, + "lvltxt33-4": { + "text": "FOGUETES!", + "extra": [""] + }, + "lvltxt33-5": { + "text": "MAIS FOGUETES!", + "extra": [""] + }, + "lvltxt33-6": { + "text": "MAIS FOGUEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEETES!", + "extra": [""] + }, + "lvltxt34-1": { + "text": "Seja criativo para evitar foguetes", + "extra": [""] + }, + "lvltxt38-1": { + "text": "Mover", + "extra": [""] + }, + "lvltxt41-1": { + "text": "Rapido", + "extra": [""] + }, + "lvltxt41-2": { + "text": "Atravès", + "extra": [""] + }, + "lvltxt41-3": { + "text": "A", + "extra": [""] + }, + "lvltxt41-4": { + "text": "Portal!", + "extra": [""] + }, + "": { + "text": "", + "extra": [""] + }, + "lvltxt40-1": { + "text": "<--- Mergulhe", + "extra": [""] + }, + "level1": { + "text": "Começo", + "extra": [""] + }, + "level2": { + "text": "Difícil", + "extra": [""] + }, + "level3": { + "text": "Muito Difícil", + "extra": [""] + }, + "level4": { + "text": "Super Dificil", + "extra": [""] + }, + "level5": { + "text": "Perigoso", + "extra": [""] + }, + "level6": { + "text": "Impossível", + "extra": [""] + }, + "level7": { + "text": "Prazeroso", + "extra": [""] + }, + "level8": { + "text": "Pule e Mergulhe", + "extra": [""] + }, + "level9": { + "text": "Uma Decisão Sábia", + "extra": [""] + }, + "level10": { + "text": "Uma Questão de Força", + "extra": [""] + }, + "level11": { + "text": "Reatividade", + "extra": [""] + }, + "level12": { + "text": "Um Pequeno Labirinto de Paredes", + "extra": [""] + }, + "level13": { + "text": "Uma Questão de Velocidade", + "extra": [""] + }, + "level14": { + "text": "Tempo", + "extra": [""] + }, + "level15": { + "text": "Engenhoca Mortal I", + "extra": [""] + }, + "level16": { + "text": "Ladeira Abaixo", + "extra": [""] + }, + "level17": { + "text": "Pegue Leve", + "extra": [""] + }, + "level18": { + "text": "Sala Espelhada I", + "extra": [""] + }, + "level19": { + "text": "Pequena Sala Pontiaguda", + "extra": [""] + }, + "level20": { + "text": "Engenhoca Adormecida", + "extra": [""] + }, + "level21": { + "text": "Ladeira Acima", + "extra": [""] + }, + "level22": { + "text": "Iterações", + "extra": [""] + }, + "level23": { + "text": "Salto de Fé", + "extra": [""] + }, + "level24": { + "text": "Redemoinho", + "extra": [""] + }, + "level25": { + "text": "Mecânicas Simples", + "extra": [""] + }, + "level26": { + "text": "Três Portas", + "extra": [""] + }, + "level27": { + "text": "Engenhoca Acordada", + "extra": [""] + }, + "level28": { + "text": "Engenhoca Mortal II", + "extra": [""] + }, + "level29": { + "text": "Pequena Plataforma Amigável I", + "extra": [""] + }, + "level30": { + "text": "Pequena Plataforma Amigável II", + "extra": [""] + }, + "level31": { + "text": "Quadrilátero Hilário", + "extra": [""] + }, + "level32": { + "text": "Corra Por Sua Vida", + "extra": [""] + }, + "level33": { + "text": "Exame De Seleção", + "extra": [""] + }, + "level34": { + "text": "Teste de Inteligência", + "extra": [""] + }, + "level35": { + "text": "Teste de Instinto", + "extra": [""] + }, + "level36": { + "text": "Teste de Velocidade", + "extra": [""] + }, + "level37": { + "text": "Teste de Precisão", + "extra": [""] + }, + "level38": { + "text": "Teste de Adaptação", + "extra": [""] + }, + "level39": { + "text": "O Diploma...?", + "extra": [""] + }, + "level40": { + "text": "O Exame Final", + "extra": [""] + }, + "level41": { + "text": "Inicialização", + "extra": [""] + }, + "level42": { + "text": "Procedural", + "extra": [""] + }, + "level43": { + "text": "Quadrilátero Histérico", + "extra": [""] + }, + "level44": { + "text": "Retropropagação", + "extra": [""] + }, + "level45": { + "text": "Aritmética", + "extra": [""] + }, + "level46": { + "text": "Recursão", + "extra": [""] + }, + "level47": { + "text": "Ciência de Foguetes", + "extra": [""] + }, + "level48": { + "text": "Binário", + "extra": [""] + }, + "level49": { + "text": "A Donzela De Ferro", + "extra": [""] + }, + "level50": { + "text": "Linha Na Agulha", + "extra": [""] + }, + "level51": { + "text": "As Torres Gêmeas", + "extra": [""] + }, + "level52": { + "text": "Andrômeda", + "extra": [""] + }, + "yourfinaltime": { + "text": "Seu tempo final:", + "extra": [""] + }, + "timerforthislevel": { + "text": "Tempo de niveis", + "extra": [""] + }, + "tryagainhardmode": { + "text": "Tente denovo no Modo Difícil!", + "extra": [""] + } + }, + "es-es": { + "play": { + "text": "JUGAR", + "extra": [""] + }, + "playlevelmenu": { + "text": "JUGAR", + "extra": [""] + }, + "resume": { + "text": "SEGUIR", + "extra": [], + "size": 14, + "alignX": 48 + }, + "restart": { + "text": "REINICIAR", + "extra": [], + "size": 12, + "alignX": 48 + }, + "levels": { + "text": "NIVELES", + "extra": [], + "size": 14, + "alignX": 48 + }, + "credits": { + "text": "CREDITOS", + "extra": [], + "size": 14, + "alignX": 48 + }, + "removemidrollads": { + "text": "ELIMINAR ANUNCIOS", + "extra": [""] + }, + "randomskin": { + "text": "SKIN ALEATORIA", + "extra": [], + "size": 10, + "alignX": 82 + }, + "adblocktitle": { + "text": "Adblock detectado", + "extra": [""] + }, + "adblockdescription": { + "text": "Deshabilite su adblock y vuelva a intentarlo", + "extra": [""] + }, + "offlineready": { + "text": "¡Modo Offline listo!", + "extra": [""] + }, + "offlinereadydesc": { + "text": "¡Ahora puedes jugar Offline!", + "extra": [""] + }, + "updatefound": { + "text": "¡Actualizacion encontrada!", + "extra": [""] + }, + "updatefounddesc": { + "text": "Se ha encontrado una nueva actualización y se está descargando en segundo plano", + "extra": [""] + }, + "updateready": { + "text": "¡Actualización lista!", + "extra": [""] + }, + "updatereadydesc": { + "text": "¡Se ha descargado una nueva actualización! Vuelva a cargar o haga clic aquí para cargar la nueva versión.", + "extra": [""] + }, + "tip1": { + "text": "¿Sabías que es posible jugar también en tu teléfono móvil?", + "extra": [""] + }, + "tip2": { + "text": "============== ¿Haces speedrun? ============== Únase a nuestra comunidad en discord.gg/ hTNX225Njt", + "extra": [""] + }, + "tip3": { + "text": "La tecla R reinicia el nivel, mientras que Ctrl + R reinicia todo el juego mientras se juega", + "extra": [""] + }, + "tip4": { + "text": "Activa el modo difícil en las opciones si ya eres un experto", + "extra": [""] + }, + "tip5": { + "text": "Activar el modo avanzado en las opciones para tener repeticiones de nivel", + "extra": [""] + }, + "tip6": { + "text": "En el modo avanzado, puede activar el modo de depuración en el menú de pausa o presionando F2", + "extra": [""] + }, + "selectlang": { + "text": "Seleccione el idioma", + "extra": [""] + }, + "ad1": { + "text": "No hay anuncios disponibles", + "extra": [""] + }, + "ad2": { + "text": "No más anuncios en medio del juego", + "extra": [""] + }, + "ad3": { + "text": "Los anuncios ya no aparecerán en medio del juego", + "extra": [""] + }, + "tip7": { + "text": "Puede cambiar los controles de movimiento en las opciones en cualquier momento", + "extra": [""] + }, + "default": { + "text": "Estándar", + "extra": [""] + }, + "electrical": { + "text": "Eléctrico", + "extra": [""] + }, + "pole": { + "text": "Polo", + "extra": [""] + }, + "pinkguy": { + "text": "Pink Guy", + "extra": [""] + }, + "ovoplus": { + "text": "OvO+", + "extra": [""] + }, + "knight": { + "text": "Caballero", + "extra": [""] + }, + "dknight": { + "text": "Caballero Oscuro", + "extra": [""] + }, + "lknight": { + "text": "Caballero de la Luz", + "extra": [""] + }, + "astronaut": { + "text": "Astronauta", + "extra": [""] + }, + "alien": { + "text": "Alien", + "extra": [""] + }, + "erigato": { + "text": "Erigato", + "extra": [""] + }, + "batter": { + "text": "Bateador", + "extra": [""] + }, + "adalich": { + "text": "Adalich", + "extra": [""] + }, + "fallen": { + "text": "Ancestral", + "extra": [""] + }, + "pulse": { + "text": "Pulse", + "extra": [""] + }, + "materwelon": { + "text": "MaterWelon", + "extra": [""] + }, + "flickd": { + "text": "Fl1ckd", + "extra": [""] + }, + "theliljoker": { + "text": "TheLilJoker", + "extra": [""] + }, + "amogus": { + "text": "AMUNGO", + "extra": [""] + }, + "french": { + "text": "", + "extra": [""] + }, + "english": { + "text": "", + "extra": [""] + }, + "spanish": { + "text": "", + "extra": [""] + }, + "brazilian": { + "text": "", + "extra": [""] + }, + "shyguy": { + "text": "ShyGuy", + "extra": [""] + }, + "hidden": { + "text": "Secreto", + "extra": [""] + }, + "choose": { + "text": "Escoger", + "extra": [""] + }, + "chosen": { + "text": "Seleccionado", + "extra": [""] + }, + "price": { + "text": "Precio: {0}", + "extra": [""] + }, + "achievement": { + "text": "Logro: {0}", + "extra": [""] + }, + "buy": { + "text": "Compra", + "extra": [""] + }, + "acquired": { + "text": "Adquirido", + "extra": [""] + }, + "back": { + "text": "VUELVE", + "extra": [""] + }, + "a1t": { + "text": "OvO", + "extra": [""] + }, + "a1d": { + "text": "¿Que es eso?", + "extra": [""] + }, + "a2t": { + "text": "Paulada en la cabeza", + "extra": [""] + }, + "a2d": { + "text": "Detente, porfavor", + "extra": [""] + }, + "a3t": { + "text": "Dolor de cabeza", + "extra": [""] + }, + "a3d": { + "text": ":(", + "extra": [""] + }, + "a4t": { + "text": "Tutorial", + "extra": [""] + }, + "a4d": { + "text": "Termina el tutorial", + "extra": [""] + }, + "a5t": { + "text": "Ponerse tenso", + "extra": [""] + }, + "a5d": { + "text": "Termina la sección \"Ponerse tenso\"", + "extra": [""] + }, + "a6t": { + "text": "Mecánica", + "extra": [""] + }, + "a6d": { + "text": "Termina la sección \"Mecánica\"", + "extra": [""] + }, + "a7t": { + "text": "La Gran Orden", + "extra": [""] + }, + "a7d": { + "text": "Termina la sección \"La Gran Orden\"", + "extra": [""] + }, + "a8t": { + "text": "Programa espacial OvO", + "extra": [""] + }, + "a8d": { + "text": "Termina la sección \"Programa espacial OvO\"", + "extra": [""] + }, + "a9t": { + "text": "Un viaje místico", + "extra": [""] + }, + "a9d": { + "text": "Termina la sección \"Un viaje místico\"", + "extra": [""] + }, + "a10t": { + "text": "Niveles comunitarios", + "extra": [""] + }, + "a10d": { + "text": "Termina los niveles de la comunidad", + "extra": [""] + }, + "a11t": { + "text": "Purificado", + "extra": [""] + }, + "a11d": { + "text": "Termina todos los niveles", + "extra": [""] + }, + "a12t": { + "text": "¡Monedas!", + "extra": [""] + }, + "a12d": { + "text": "Toma una moneda", + "extra": [""] + }, + "a13t": { + "text": "Entusiasta de las monedas", + "extra": [""] + }, + "a13d": { + "text": "Toma 5 monedas", + "extra": [""] + }, + "a14t": { + "text": "Tasador de monedas", + "extra": [""] + }, + "a14d": { + "text": "Toma 10 monedas", + "extra": [""] + }, + "a15t": { + "text": "Cazador de monedas", + "extra": [""] + }, + "a15d": { + "text": "Toma 30 monedas", + "extra": [""] + }, + "a16t": { + "text": "Dios de las monedas", + "extra": [""] + }, + "a16d": { + "text": "Toma 30 monedas", + "extra": [""] + }, + "a17t": { + "text": "¿Moneda secreta?", + "extra": [""] + }, + "a17d": { + "text": "Toma la moneda secreta", + "extra": [""] + }, + "a18t": { + "text": "corredor", + "extra": [""] + }, + "a18d": { + "text": "Termina el juego en menos de 30 minutos", + "extra": [""] + }, + "a19t": { + "text": "Speedrunner", + "extra": [""] + }, + "a19d": { + "text": "Termina el juego en menos de 20 minutos", + "extra": [""] + }, + "a20t": { + "text": "Maestro de la velocidad", + "extra": [""] + }, + "a20d": { + "text": "Termina el juego en menos de 10 minutos", + "extra": [""] + }, + "a21t": { + "text": "Top 10 mejores", + "extra": [""] + }, + "a21d": { + "text": "Termina el juego en menos de 12 minutos", + "extra": [""] + }, + "a22t": { + "text": "Velocidad de la luz", + "extra": [""] + }, + "a22d": { + "text": "Termina el juego en menos de 10 minutos", + "extra": [""] + }, + "likemagic": { + "text": "¡Como magia!", + "extra": [""] + }, + "unlockall": { + "text": "¡Has desbloqueado todos los niveles!", + "extra": [""] + }, + "achievementunlocked": { + "text": "Los anuncios no aparecerán en medio del juego", + "extra": [""] + }, + "skinunlocked": { + "text": "¡Nueva skin desbloqueada!", + "extra": [""] + }, + "goldearned": { + "text": "¡Ganaste algunas monedas!", + "extra": [""] + }, + "xgoldearned": { + "text": "{0} Dinero ganado", + "extra": [""] + }, + "locked": { + "text": "Obstruido", + "extra": [""] + }, + "music": { + "text": "Canción", + "extra": [""] + }, + "sounds": { + "text": "Sonidos", + "extra": [""] + }, + "hard": { + "text": "Modo difícil", + "extra": [""] + }, + "advanced": { + "text": "Modo avanzado", + "extra": [""] + }, + "inputs": { + "text": "Aperitivo", + "extra": [], + "size": 18 + }, + "savedata": { + "text": "Datos", + "extra": [], + "size": 18 + }, + "savedatatext": { + "text": "Guardar datos", + "extra": [""] + }, + "mobilemode": { + "text": "Dispositivo", + "extra": [], + "size": 18 + }, + "up": { + "text": "Arriba", + "extra": [""] + }, + "down": { + "text": "Bajo", + "extra": [""] + }, + "left": { + "text": "Izquierda", + "extra": [""] + }, + "right": { + "text": "Derecha", + "extra": [""] + }, + "setkey": { + "text": "Presione una tecla ...", + "extra": [""] + }, + "collectedcoins": { + "text": "Monedas colectadas", + "extra": [""] + }, + "clearsave": { + "text": "Borrar datos", + "extra": [], + "size": 10, + "alignY": 65 + }, + "clearcoins": { + "text": "Borrar monedas", + "extra": [], + "size": 10, + "alignY": 65 + }, + "autodetectinput": { + "text": "Detección automática", + "extra": [""] + }, + "forcemobile": { + "text": "Móvil", + "extra": [""] + }, + "forcedesktop": { + "text": "Ordenador", + "extra": [""] + }, + "whatdeviceinput": { + "text": "¿Cuál es tu dispositivo?", + "extra": [""] + }, + "madebydedra": { + "text": "Creado por Dedra", + "extra": [""] + }, + "poweredby": { + "text": "Hecho en Construct 2", + "extra": [""] + }, + "runsection": { + "text": "Sesiones del Run", + "extra": [""] + }, + "basics": { + "text": "Tutorial", + "extra": [""] + }, + "gettingserious": { + "text": "Ponerse tenso", + "extra": [""] + }, + "higherorder": { + "text": "La Gran Orden", + "extra": [""] + }, + "mechanicis": { + "text": "Mecánica", + "extra": [""] + }, + "ovospaceprogram": { + "text": "Programa espacial OvO", + "extra": [""] + }, + "jttp": { + "text": "Un viaje místico a través de portales", + "extra": [""] + }, + "community": { + "text": "Niveles comunitarios", + "extra": [""] + }, + "besttime": { + "text": "Mejor tiempo", + "extra": [""] + }, + "individuallevels": { + "text": "Niveles individuales", + "extra": [""] + }, + "loadreplay": { + "text": "Subir una repetición", + "extra": [], + "size": 12 + }, + "adplaying": { + "text": "Se reproducirá un anuncio", + "extra": [""] + }, + "toggledebug": { + "text": "Modo de depuración", + "extra": [], + "size": 12 + }, + "downloadreplay": { + "text": "Descargar Replay", + "extra": [], + "size": 20 + }, + "next": { + "text": "SIGUIENTE", + "extra": [], + "size": 18 + }, + "replay": { + "text": "REPETIR", + "extra": [], + "size": 22 + }, + "pause": { + "text": "PAUSA", + "extra": [""] + }, + "quit": { + "text": "SALIR", + "extra": [""] + }, + "lvltxt1-1": { + "text": "¡Hola! Bienvenido a OvO", + "extra": [""] + }, + "lvltxt1-2": { + "text": "Usa las flechas para moverte", + "extra": [""] + }, + "lvltxt1-3": { + "text": "Presiona Arriba para saltar", + "extra": [""] + }, + "lvltxt1-4": { + "text": "Este es el final del nivel", + "extra": [""] + }, + "lvltxt2-1": { + "text": "Saltar", + "extra": [""] + }, + "lvltxt2-2": { + "text": "Vete al muro", + "extra": [""] + }, + "lvltxt2-3": { + "text": "Y saltar más alto", + "extra": [""] + }, + "lvltxt2-4": { + "text": "Salta en tu lugar y presiona Abajo para aplastar", + "extra": [""] + }, + "lvltxt2-5": { + "text": "(Puedes cruzar con el aplastar aquí)", + "extra": [""] + }, + "lvltxt2-6": { + "text": "Saltar tras aplastar", + "extra": [""] + }, + "lvltxt2-7": { + "text": "Para saltar mucho mas alto", + "extra": [""] + }, + "lvltxt3-1": { + "text": "Puedes deslizarte por las paredes", + "extra": [""] + }, + "lvltxt3-2": { + "text": "Salta mientras te deslizas por las paredes para hacer un salto de pared", + "extra": [""] + }, + "lvltxt4-1": { + "text": "¡Incluso puedes deslizarte por el suelo!", + "extra": [""] + }, + "lvltxt4-2": { + "text": "Presione la tecla Abajo", + "extra": [""] + }, + "lvltxt4-3": { + "text": "Salta mientras te deslizas para sumergirte", + "extra": [""] + }, + "lvltxt4-4": { + "text": "Tenga cuidado de no golpearse la cabeza ...", + "extra": [""] + }, + "lvltxt5-1": { + "text": "Estos son los malos", + "extra": [""] + }, + "lvltxt5-2": { + "text": "Intenta aplastar mientras caminas directamente a bucear", + "extra": [""] + }, + "lvltxt6-1": { + "text": "Bucea de nuevo ...", + "extra": [""] + }, + "lvltxt6-2": { + "text": "¡Y salta!", + "extra": [""] + }, + "lvltxt6-3": { + "text": "Estos son los buenos", + "extra": [""] + }, + "lvltxt7-2": { + "text": "Aplastar los resortes no los activará", + "extra": [""] + }, + "lvltxt8-1": { + "text": "Saltar", + "extra": [""] + }, + "lvltxt8-2": { + "text": "Bucea de nuevo ...", + "extra": [""] + }, + "lvltxt8-3": { + "text": "¡Salta de nuevo!", + "extra": [""] + }, + "lvltxt9-1": { + "text": "Oye, esto se está", + "extra": [""] + }, + "lvltxt9-2": { + "text": "SMASH!", + "extra": [""] + }, + "lvltxt9-3": { + "text": "\"Poniendo tenso\"", + "extra": [""] + }, + "lvltxt10-1": { + "text": "Fuerte", + "extra": [""] + }, + "lvltxt10-2": { + "text": "Normal", + "extra": [""] + }, + "lvltxt10-3": { + "text": "Débil", + "extra": [""] + }, + "lvltct10-4": { + "text": "(El deslizamiento aumenta la velocidad)", + "extra": [""] + }, + "lvltxt10-4": { + "text": "Confía", + "extra": [""] + }, + "lvltxt14-1": { + "text": "¡Aqui!", + "extra": [""] + }, + "lvltxt17-1": { + "text": "¡Reduzca la velocidad!", + "extra": [""] + }, + "lvltxt19-1": { + "text": "Presione Arriba y Abajo", + "extra": [""] + }, + "lvltxt23-1": { + "text": "¡Confía y bucea!", + "extra": [""] + }, + "lvltxt28-1": { + "text": "Camino equivocado :)", + "extra": [""] + }, + "lvltxt25-1": { + "text": "¡Nada aquí, lo siento!", + "extra": [""] + }, + "lvltxt25-2": { + "text": "Debe haber alguna forma de abrir esto ...", + "extra": [""] + }, + "lvltxt51-1": { + "text": "Por Leetle Toady", + "extra": [""] + }, + "lvltxt33-1": { + "text": "¡Bienvenido al programa espacial OvO!", + "extra": [""] + }, + "lvltxt33-2": { + "text": "por aquí ---->", + "extra": [""] + }, + "lvltxt33-3": { + "text": "Paso 1 :", + "extra": [""] + }, + "lvltxt33-4": { + "text": "¡COHETES!", + "extra": [""] + }, + "lvltxt33-5": { + "text": "¡MÁS COHETES!", + "extra": [""] + }, + "lvltxt33-6": { + "text": "¡MÁS COHEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEETES!", + "extra": [""] + }, + "lvltxt34-1": { + "text": "Sea inventivo para evitar los cohetes", + "extra": [""] + }, + "lvltxt38-1": { + "text": "Moverse", + "extra": [""] + }, + "lvltxt41-1": { + "text": "Ràpidamente", + "extra": [""] + }, + "lvltxt41-2": { + "text": "Mediante", + "extra": [""] + }, + "lvltxt41-3": { + "text": "El", + "extra": [""] + }, + "lvltxt41-4": { + "text": "Portal", + "extra": [""] + }, + "": { + "text": "", + "extra": [""] + }, + "lvltxt40-1": { + "text": "<--- Bucea", + "extra": [""] + }, + "level1": { + "text": "Comienzo", + "extra": [""] + }, + "level2": { + "text": "Difícil", + "extra": [""] + }, + "level3": { + "text": "Muito Difícil", + "extra": [""] + }, + "level4": { + "text": "Extremadamente Difícil", + "extra": [""] + }, + "level5": { + "text": "Peligroso", + "extra": [""] + }, + "level6": { + "text": "Imposible", + "extra": [""] + }, + "level7": { + "text": "Agradable", + "extra": [""] + }, + "level8": { + "text": "Saltar y bucear", + "extra": [""] + }, + "level9": { + "text": "Una sabia decisión", + "extra": [""] + }, + "level10": { + "text": "Una cuestión de fuerza", + "extra": [""] + }, + "level11": { + "text": "Reactividad", + "extra": [""] + }, + "level12": { + "text": "Un pequeño laberinto de muros", + "extra": [""] + }, + "level13": { + "text": "Una cuestión de velocidad", + "extra": [""] + }, + "level14": { + "text": "Momento", + "extra": [""] + }, + "level15": { + "text": "Artilugio mortal I", + "extra": [""] + }, + "level16": { + "text": "Cuesta abajo", + "extra": [""] + }, + "level17": { + "text": "Con calma", + "extra": [""] + }, + "level18": { + "text": "Habitación con espejos I", + "extra": [""] + }, + "level19": { + "text": "Habitación pequeña puntiaguda", + "extra": [""] + }, + "level20": { + "text": "Artilugio durmiente", + "extra": [""] + }, + "level21": { + "text": "Cuesta arriba", + "extra": [""] + }, + "level22": { + "text": "Iteraciones", + "extra": [""] + }, + "level23": { + "text": "Salto de fe", + "extra": [""] + }, + "level24": { + "text": "Remolino", + "extra": [""] + }, + "level25": { + "text": "Mecánica simple", + "extra": [""] + }, + "level26": { + "text": "Tres puertas", + "extra": [""] + }, + "level27": { + "text": "Artilugio despierto", + "extra": [""] + }, + "level28": { + "text": "Artilugio mortal II", + "extra": [""] + }, + "level29": { + "text": "Pequeña plataforma amigable I", + "extra": [""] + }, + "level30": { + "text": "Pequeña plataforma amigable II", + "extra": [""] + }, + "level31": { + "text": "Cuadrilátero hilarante", + "extra": [""] + }, + "level32": { + "text": "Corre por tu vida", + "extra": [""] + }, + "level33": { + "text": "Examen de selección", + "extra": [""] + }, + "level34": { + "text": "Prueba de inteligencia", + "extra": [""] + }, + "level35": { + "text": "Prueba de instinto", + "extra": [""] + }, + "level36": { + "text": "Prueba de velocidad", + "extra": [""] + }, + "level37": { + "text": "Prueba de precisión", + "extra": [""] + }, + "level38": { + "text": "Prueba de adaptación", + "extra": [""] + }, + "level39": { + "text": "El diploma ...?", + "extra": [""] + }, + "level40": { + "text": "El examen final", + "extra": [""] + }, + "level41": { + "text": "Puesta en marcha", + "extra": [""] + }, + "level42": { + "text": "Procesal", + "extra": [""] + }, + "level43": { + "text": "Cuadrilátero histérico", + "extra": [""] + }, + "level44": { + "text": "Retropropagación", + "extra": [""] + }, + "level45": { + "text": "Aritmética", + "extra": [""] + }, + "level46": { + "text": "Recursividad", + "extra": [""] + }, + "level47": { + "text": "Ciencia espacial", + "extra": [""] + }, + "level48": { + "text": "Binario", + "extra": [""] + }, + "level49": { + "text": "La doncella de hierro", + "extra": [""] + }, + "level50": { + "text": "Hilo de aguja", + "extra": [""] + }, + "level51": { + "text": "Las torres Gemelas", + "extra": [""] + }, + "level52": { + "text": "Andrómeda", + "extra": [""] + }, + "yourfinaltime": { + "text": "Tu tiempo final:", + "extra": [""] + }, + "timerforthislevel": { + "text": "Tiempo de niveles", + "extra": [""] + }, + "tryagainhardmode": { + "text": "¡Vuelve a intentarlo en modo difícil!", + "extra": [""] + } + }, + "it-it": { + "play": { + "text": "GIOCA", + "extra": [""] + }, + "playlevelmenu": { + "text": "GIOCA", + "extra": [""] + }, + "resume": { + "text": "RIPRENDI", + "extra": [""] + }, + "restart": { + "text": "RICOMINCIA", + "extra": [""] + }, + "levels": { + "text": "LIVELLI", + "extra": [""] + }, + "credits": { + "text": "CREDITI", + "extra": [""] + }, + "removemidrollads": { + "text": "rimuovi pubblicità tra i livelli", + "extra": [""] + }, + "randomskin": { + "text": "SKIN CASUALE", + "extra": [""] + }, + "adblocktitle": { + "text": "ADLOCK RILEVATO", + "extra": [""] + }, + "adblockdescription": { + "text": "disabilità adblock e riprova", + "extra": [""] + }, + "offlineready": { + "text": "gioco offline pronto!", + "extra": [""] + }, + "offlinereadydesc": { + "text": "ora puoi giocare offline!", + "extra": [""] + }, + "updatefound": { + "text": "aggiornamento rilevato!", + "extra": [""] + }, + "updatefounddesc": { + "text": "un nuovo aggiornamento è stato rilevato e si sta scaricando nel background", + "extra": [""] + }, + "updateready": { + "text": "aggiornamento terminato!", + "extra": [""] + }, + "updatereadydesc": { + "text": "un nuovo aggiornamento è stato scaricato! ricarica il gioco o clicca QUI per caricare la nuova versione ", + "extra": [""] + }, + "tip1": { + "text": "sapevi che puoi giocare ad OvO anche su mobile ?", + "extra": [""] + }, + "tip2": { + "text": "vuoi diventare uno speedrunner di ovo? unisciti alla nostra community su discord.gg/hTNX225Njt", + "extra": [""] + }, + "tip3": { + "text": "premi R per ricominciare il livello, premi Ctrl + R per ricominciare la partita in modalità Gioca", + "extra": [""] + }, + "tip4": { + "text": "attiva la modalità esperto se sei un giocatore esperto", + "extra": [""] + }, + "tip5": { + "text": "attiva la modalità moderna per scaricare i replay dei livelli ", + "extra": [""] + }, + "tip6": { + "text": "in modalità moderna puoi attivare il debug nel menu di pausa o usando F2", + "extra": [""] + }, + "selectlang": { + "text": "seleziona la lingua ", + "extra": [""] + }, + "ad1": { + "text": "nessuna pubblicità disponibile", + "extra": [""] + }, + "ad2": { + "text": "nientepiù pubblicità tra i livelli", + "extra": [""] + }, + "ad3": { + "text": "le pubblicità non appariranno più tra i livelli", + "extra": [""] + }, + "tip7": { + "text": "sul desktopo puoi configurare i comandi che preferisci dalle opzioni ", + "extra": [""] + }, + "default": { + "text": "classica", + "extra": [""] + }, + "electrical": { + "text": "elettrica", + "extra": [""] + }, + "pole": { + "text": "poligono ", + "extra": [""] + }, + "pinkguy": { + "text": "Pink Guy", + "extra": [""] + }, + "ovoplus": { + "text": "OvO+", + "extra": [""] + }, + "knight": { + "text": "cavaliere", + "extra": [""] + }, + "dknight": { + "text": "cavaliere oscuro", + "extra": [""] + }, + "lknight": { + "text": "cavaliere della luce", + "extra": [""] + }, + "astronaut": { + "text": "astronauta", + "extra": [""] + }, + "alien": { + "text": "alieno", + "extra": [""] + }, + "erigato": { + "text": "Erigato", + "extra": [""] + }, + "batter": { + "text": "Battitore", + "extra": [""] + }, + "adalich": { + "text": "Adalich", + "extra": [""] + }, + "fallen": { + "text": "il caduto", + "extra": [""] + }, + "pulse": { + "text": "pulsante ", + "extra": [""] + }, + "materwelon": { + "text": "cocomero", + "extra": [""] + }, + "flickd": { + "text": "Fl1ckd", + "extra": [""] + }, + "theliljoker": { + "text": "TheLil Joker", + "extra": [""] + }, + "amogus": { + "text": "amogus ", + "extra": [""] + }, + "french": { + "text": "", + "extra": [""] + }, + "english": { + "text": "", + "extra": [""] + }, + "spanish": { + "text": "", + "extra": [""] + }, + "brazilian": { + "text": "", + "extra": [""] + }, + "shyguy": { + "text": "ShyGuy", + "extra": [""] + }, + "hidden": { + "text": "Nascosto", + "extra": [""] + }, + "choose": { + "text": "seleziona ", + "extra": [""] + }, + "chosen": { + "text": "selezionato", + "extra": [""] + }, + "price": { + "text": "prezzo: {0}", + "extra": [""] + }, + "achievement": { + "text": "Obbiettivi: {0}", + "extra": [""] + }, + "buy": { + "text": "compra ", + "extra": [""] + }, + "acquired": { + "text": "ottenuto", + "extra": [""] + }, + "back": { + "text": "INDIETRO", + "extra": [""] + }, + "a1t": { + "text": "OvO", + "extra": [""] + }, + "a1d": { + "text": "Cos'è questo?", + "extra": [""] + }, + "a2t": { + "text": "oh no la mia testa", + "extra": [""] + }, + "a2d": { + "text": "smettila per favore!", + "extra": [""] + }, + "a3t": { + "text": "mi fai male alla testa", + "extra": [""] + }, + "a3d": { + "text": ":(", + "extra": [""] + }, + "a4t": { + "text": "Tutorial", + "extra": [""] + }, + "a4d": { + "text": "finisci la sezione tutorial", + "extra": [""] + }, + "a5t": { + "text": "la cosa si fa seria", + "extra": [""] + }, + "a5d": { + "text": "finisci la sezione seria", + "extra": [""] + }, + "a6t": { + "text": "meccaniche", + "extra": [""] + }, + "a6d": { + "text": "finisci la sezione meccaniche", + "extra": [""] + }, + "a7t": { + "text": "ordine superiore", + "extra": [""] + }, + "a7d": { + "text": "finisci la sezione ordine superiore", + "extra": [""] + }, + "a8t": { + "text": "spazio ai programmatori di OvO", + "extra": [""] + }, + "a8d": { + "text": "finisci la sezione spazio ai programmatori", + "extra": [""] + }, + "a9t": { + "text": "avventura mistica", + "extra": [""] + }, + "a9d": { + "text": "finisci l'avventura attraverso il portale", + "extra": [""] + }, + "a10t": { + "text": "lavoro della community", + "extra": [""] + }, + "a10d": { + "text": "finisci i livelli della community", + "extra": [""] + }, + "a11t": { + "text": "Purificato", + "extra": [""] + }, + "a11d": { + "text": "finisci ogni livello", + "extra": [""] + }, + "a12t": { + "text": "monete !", + "extra": [""] + }, + "a12d": { + "text": "collezziona una moneta", + "extra": [""] + }, + "a13t": { + "text": "entusiasmo da denaro", + "extra": [""] + }, + "a13d": { + "text": "collezziona 5 monete", + "extra": [""] + }, + "a14t": { + "text": "denaro-sauro", + "extra": [""] + }, + "a14d": { + "text": "collezziona 10 monete", + "extra": [""] + }, + "a15t": { + "text": "cacciatore di risparmi", + "extra": [""] + }, + "a15d": { + "text": "collezziona 30 monete", + "extra": [""] + }, + "a16t": { + "text": "dio denaro", + "extra": [""] + }, + "a16d": { + "text": "collezziona 40 monete", + "extra": [""] + }, + "a17t": { + "text": "moneta segreta", + "extra": [""] + }, + "a17d": { + "text": "collezziona la moneta segreta", + "extra": [""] + }, + "a18t": { + "text": "corridore", + "extra": [""] + }, + "a18d": { + "text": "finisci il gioco in meno di 30 minuti", + "extra": [""] + }, + "a19t": { + "text": "speedrunner", + "extra": [""] + }, + "a19d": { + "text": "finisci il gioco in meno di 20 minuti", + "extra": [""] + }, + "a20t": { + "text": "maestro dello scatto", + "extra": [""] + }, + "a20d": { + "text": "finisci il gioco in meno di 15 minuti", + "extra": [""] + }, + "a21t": { + "text": "migliori corridori ", + "extra": [""] + }, + "a21d": { + "text": "finisci il gioco in meno di 12 minuti", + "extra": [""] + }, + "a22t": { + "text": "velocità della luce", + "extra": [""] + }, + "a22d": { + "text": "finisci il gioco in meno di 10 minuti", + "extra": [""] + }, + "likemagic": { + "text": "magia!", + "extra": [""] + }, + "unlockall": { + "text": "hai sbloccatp ogni livello!", + "extra": [""] + }, + "achievementunlocked": { + "text": "obbiettivo sbloccato!", + "extra": [""] + }, + "skinunlocked": { + "text": "skin sbloccata!", + "extra": [""] + }, + "goldearned": { + "text": "oro ottenuto!", + "extra": [""] + }, + "xgoldearned": { + "text": "hai ottenuto {0} di oro", + "extra": [""] + }, + "locked": { + "text": "bloccato", + "extra": [""] + }, + "music": { + "text": "musica", + "extra": [""] + }, + "sounds": { + "text": "suoni", + "extra": [""] + }, + "hard": { + "text": "modalità difficile", + "extra": [""] + }, + "advanced": { + "text": "modalità moderna", + "extra": [""] + }, + "inputs": { + "text": "comandi", + "extra": [""] + }, + "savedata": { + "text": "salvataggio", + "extra": [""] + }, + "savedatatext": { + "text": "salva progressi", + "extra": [""] + }, + "mobilemode": { + "text": "dispositivo", + "extra": [""] + }, + "up": { + "text": "su", + "extra": [""] + }, + "down": { + "text": "giù", + "extra": [""] + }, + "left": { + "text": "sinistra", + "extra": [""] + }, + "right": { + "text": "destra", + "extra": [""] + }, + "setkey": { + "text": "cambia un comando", + "extra": [""] + }, + "collectedcoins": { + "text": "monet collezzionate", + "extra": [""] + }, + "clearsave": { + "text": "cancella salvataggio", + "extra": [""] + }, + "clearcoins": { + "text": "resetta le monete", + "extra": [""] + }, + "autodetectinput": { + "text": "auto rilevazione", + "extra": [""] + }, + "forcemobile": { + "text": "forza mobile", + "extra": [""] + }, + "forcedesktop": { + "text": "forza il desktop", + "extra": [""] + }, + "whatdeviceinput": { + "text": "che dispositivo stai usando?", + "extra": [""] + }, + "madebydedra": { + "text": "creato da Dedra", + "extra": [""] + }, + "poweredby": { + "text": "offerto da construct 2", + "extra": [""] + }, + "runsection": { + "text": "sezione partita", + "extra": [""] + }, + "basics": { + "text": "le basi", + "extra": [""] + }, + "gettingserious": { + "text": "la cosa si fa seria", + "extra": [""] + }, + "higherorder": { + "text": "ordine superiore", + "extra": [""] + }, + "mechanicis": { + "text": "meccaniche", + "extra": [""] + }, + "ovospaceprogram": { + "text": "spazio ai programmatori di OvO", + "extra": [""] + }, + "jttp": { + "text": "avventura attraverso il portale", + "extra": [""] + }, + "community": { + "text": "livelli della community", + "extra": [""] + }, + "besttime": { + "text": "tempo migliore:", + "extra": [""] + }, + "individuallevels": { + "text": "livelli individuali", + "extra": [""] + }, + "loadreplay": { + "text": "carica replay", + "extra": [""] + }, + "adplaying": { + "text": "una pubblicità dovrebbe essere in corso", + "extra": [""] + }, + "toggledebug": { + "text": "attiva il debug", + "extra": [""] + }, + "downloadreplay": { + "text": "scarica replay", + "extra": [""] + }, + "next": { + "text": "PROSSIMO", + "extra": [""] + }, + "replay": { + "text": "REPLAY", + "extra": [""] + }, + "pause": { + "text": "PAUSA", + "extra": [""] + }, + "quit": { + "text": "ESCI", + "extra": [""] + }, + "lvltxt1-1": { + "text": "Ciao, e benvento su OvO", + "extra": [""] + }, + "lvltxt1-2": { + "text": "usa le frecce per muoverti!", + "extra": [""] + }, + "lvltxt1-3": { + "text": "premi la freccia SU per saltare ", + "extra": [""] + }, + "lvltxt1-4": { + "text": "questa è la fine del livello", + "extra": [""] + }, + "lvltxt2-1": { + "text": "SALTA", + "extra": [""] + }, + "lvltxt2-2": { + "text": "vai vicino al muro", + "extra": [""] + }, + "lvltxt2-3": { + "text": "e salta più in alto", + "extra": [""] + }, + "lvltxt2-4": { + "text": "fai uno schianto a terra premendo giù mentre sei in volo", + "extra": [""] + }, + "lvltxt2-5": { + "text": "(puoi rompere questo)", + "extra": [""] + }, + "lvltxt2-6": { + "text": "salta dopo uno schianto", + "extra": [""] + }, + "lvltxt2-7": { + "text": "per saltare più in alto", + "extra": [""] + }, + "lvltxt3-1": { + "text": "puoi scivolare lungo i muri", + "extra": [""] + }, + "lvltxt3-2": { + "text": "salta mentre scivoli per fare un salto a parete", + "extra": [""] + }, + "lvltxt4-1": { + "text": "puoi anche scivolare!", + "extra": [""] + }, + "lvltxt4-2": { + "text": "premi la freccia giù", + "extra": [""] + }, + "lvltxt4-3": { + "text": "salta mentre scivoli per fare un tuffo nell'aria", + "extra": [""] + }, + "lvltxt4-4": { + "text": "stai attento a non sbattere la testa", + "extra": [""] + }, + "lvltxt5-1": { + "text": "quest sono dei ragazzacci", + "extra": [""] + }, + "lvltxt5-2": { + "text": "prova a fare uno schianto poco prima di fare un tuffo", + "extra": [""] + }, + "lvltxt6-1": { + "text": "fai un altro tuffo", + "extra": [""] + }, + "lvltxt6-2": { + "text": "e salta", + "extra": [""] + }, + "lvltxt6-3": { + "text": "questi sono bravi ragazzi", + "extra": [""] + }, + "lvltxt7-2": { + "text": "se fai uno schianto sui trampolini non verranno attivati", + "extra": [""] + }, + "lvltxt8-1": { + "text": "salta", + "extra": [""] + }, + "lvltxt8-2": { + "text": "tuffo", + "extra": [""] + }, + "lvltxt8-3": { + "text": "ri-salta", + "extra": [""] + }, + "lvltxt9-1": { + "text": "hey questo è...", + "extra": [""] + }, + "lvltxt9-2": { + "text": "SCHANTO!", + "extra": [""] + }, + "lvltxt9-3": { + "text": "\"La cosa si fa SERIA\"", + "extra": [""] + }, + "lvltxt10-1": { + "text": "Forte", + "extra": [""] + }, + "lvltxt10-2": { + "text": "Normale", + "extra": [""] + }, + "lvltxt10-3": { + "text": "Debole", + "extra": [""] + }, + "lvltct10-4": { + "text": "(scivolare aumenta la velocità)", + "extra": [""] + }, + "lvltxt10-4": { + "text": "Fidati", + "extra": [""] + }, + "lvltxt14-1": { + "text": "QUI!", + "extra": [""] + }, + "lvltxt17-1": { + "text": "RALLENTA!", + "extra": [""] + }, + "lvltxt19-1": { + "text": "premi su e giù", + "extra": [""] + }, + "lvltxt23-1": { + "text": "fidati e tuffati", + "extra": [""] + }, + "lvltxt28-1": { + "text": "psto sbagliato :)", + "extra": [""] + }, + "lvltxt25-1": { + "text": "Mi dispiace, non c'è proprio niente qui...", + "extra": [""] + }, + "lvltxt25-2": { + "text": "si può aprire in qualche modo....", + "extra": [""] + }, + "lvltxt51-1": { + "text": "Di Leetle Toady", + "extra": [""] + }, + "lvltxt33-1": { + "text": "Prendi parte allo spazio per i programmatori di Ovo!", + "extra": [""] + }, + "lvltxt33-2": { + "text": "da questa parte ---->", + "extra": [""] + }, + "lvltxt33-3": { + "text": "il primo passo è...", + "extra": [""] + }, + "lvltxt33-4": { + "text": "RAZZI!", + "extra": [""] + }, + "lvltxt33-5": { + "text": "ALTRI RAZZI!", + "extra": [""] + }, + "lvltxt33-6": { + "text": "ANCORA RAZZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII!", + "extra": [""] + }, + "lvltxt34-1": { + "text": "Dovrai cercare di stare fuori portata quando possibile", + "extra": [""] + }, + "lvltxt38-1": { + "text": "MUOVITI!", + "extra": [""] + }, + "lvltxt41-1": { + "text": "VELOCE", + "extra": [""] + }, + "lvltxt41-2": { + "text": "ATTRAVERSA", + "extra": [""] + }, + "lvltxt41-3": { + "text": "IL ", + "extra": [""] + }, + "lvltxt41-4": { + "text": "PORTALE!", + "extra": [""] + }, + "": { + "text": "", + "extra": [""] + }, + "lvltxt40-1": { + "text": "<--- tuffo", + "extra": [""] + }, + "level1": { + "text": "inizia", + "extra": [""] + }, + "level2": { + "text": "difficile", + "extra": [""] + }, + "level3": { + "text": "più difficile", + "extra": [""] + }, + "level4": { + "text": "il più difficile", + "extra": [""] + }, + "level5": { + "text": "infernale", + "extra": [""] + }, + "level6": { + "text": "impossiile", + "extra": [""] + }, + "level7": { + "text": "celestiale", + "extra": [""] + }, + "level8": { + "text": "salto & tuffo", + "extra": [""] + }, + "level9": { + "text": "una decisione saggia", + "extra": [""] + }, + "level10": { + "text": "questione di forza", + "extra": [""] + }, + "level11": { + "text": "reattività", + "extra": [""] + }, + "level12": { + "text": "un piccolo labirinto", + "extra": [""] + }, + "level13": { + "text": "questione di velocità", + "extra": [""] + }, + "level14": { + "text": "tempismo", + "extra": [""] + }, + "level15": { + "text": "aggeggio mortale 1", + "extra": [""] + }, + "level16": { + "text": "una via giù", + "extra": [""] + }, + "level17": { + "text": "con calma", + "extra": [""] + }, + "level18": { + "text": "stanza specchiata 1", + "extra": [""] + }, + "level19": { + "text": "piccola casa spinosa", + "extra": [""] + }, + "level20": { + "text": "aggeggio dormiente", + "extra": [""] + }, + "level21": { + "text": "una via SU", + "extra": [""] + }, + "level22": { + "text": "iterazioni", + "extra": [""] + }, + "level23": { + "text": "salto della fede", + "extra": [""] + }, + "level24": { + "text": "vortice", + "extra": [""] + }, + "level25": { + "text": "semplici meccaniche", + "extra": [""] + }, + "level26": { + "text": "tre porte", + "extra": [""] + }, + "level27": { + "text": "aggeggio risevegliato", + "extra": [""] + }, + "level28": { + "text": "aggeggio mortale 2", + "extra": [""] + }, + "level29": { + "text": "piccola piattaforma amichevole 1", + "extra": [""] + }, + "level30": { + "text": "piccola piattaforma amichevole 2", + "extra": [""] + }, + "level31": { + "text": "quadrilatero buffo", + "extra": [""] + }, + "level32": { + "text": "corri se vuoi vivere", + "extra": [""] + }, + "level33": { + "text": "esame di selezione", + "extra": [""] + }, + "level34": { + "text": "test di intelligenza", + "extra": [""] + }, + "level35": { + "text": "test di istinto", + "extra": [""] + }, + "level36": { + "text": "test di velocità", + "extra": [""] + }, + "level37": { + "text": "test di accuratezza", + "extra": [""] + }, + "level38": { + "text": "test di adattazzione", + "extra": [""] + }, + "level39": { + "text": "sfumature?", + "extra": [""] + }, + "level40": { + "text": "esame finale", + "extra": [""] + }, + "level41": { + "text": "inizializzazione", + "extra": [""] + }, + "level42": { + "text": "procedurale", + "extra": [""] + }, + "level43": { + "text": "quadrilatero isterico", + "extra": [""] + }, + "level44": { + "text": "propagazione all'indietro", + "extra": [""] + }, + "level45": { + "text": "aritmetica", + "extra": [""] + }, + "level46": { + "text": "ricorsione", + "extra": [""] + }, + "level47": { + "text": "scenza dei razzi", + "extra": [""] + }, + "level48": { + "text": "binario", + "extra": [""] + }, + "level49": { + "text": "la sirena d'acciaio", + "extra": [""] + }, + "level50": { + "text": "infilare l'ago", + "extra": [""] + }, + "level51": { + "text": "le torri gemelle", + "extra": [""] + }, + "level52": { + "text": "Andromeda", + "extra": [""] + }, + "yourfinaltime": { + "text": "Il tuo tempo finale", + "extra": [""] + }, + "timerforthislevel": { + "text": "Timer per questo livello", + "extra": [""] + }, + "tryagainhardmode": { + "text": "ora prova in modalità difficile!", + "extra": [""] + } + } + } +} diff --git a/games/ovo/1.4.4/levels.json b/games/ovo/1.4.4/levels.json new file mode 100644 index 00000000..96ebb726 --- /dev/null +++ b/games/ovo/1.4.4/levels.json @@ -0,0 +1,44 @@ +[ + { + "name": "Basics", + "lang": "basics", + "textScale": 1, + "levels": [1, 8] + }, + { + "name": "Getting serious", + "lang": "gettingserious", + "textScale": 1, + "levels": [9, 16] + }, + { + "name": "Higher order", + "lang": "higherorder", + "textScale": 1, + "levels": [17, 24] + }, + { + "name": "Mechanics", + "lang": "mechanicis", + "textScale": 1, + "levels": [25, 32] + }, + { + "name": "OvO Space Program", + "lang": "ovospaceprogram", + "textScale": 1, + "levels": [33, 40] + }, + { + "name": "Journey through the portal", + "lang": "jttp", + "textScale": 0.8, + "levels": [41, 48] + }, + { + "name": "Community levels", + "lang": "community", + "textScale": 1, + "levels": [49, 52] + } +] diff --git a/games/ovo/1.4.4/lightspeed.png b/games/ovo/1.4.4/lightspeed.png new file mode 100644 index 00000000..21f6aaa6 Binary files /dev/null and b/games/ovo/1.4.4/lightspeed.png differ diff --git a/games/ovo/1.4.4/lknight.png b/games/ovo/1.4.4/lknight.png new file mode 100644 index 00000000..071fd034 Binary files /dev/null and b/games/ovo/1.4.4/lknight.png differ diff --git a/games/ovo/1.4.4/loading-logo.png b/games/ovo/1.4.4/loading-logo.png new file mode 100644 index 00000000..cc8ab332 Binary files /dev/null and b/games/ovo/1.4.4/loading-logo.png differ diff --git a/games/ovo/1.4.4/lzma.js b/games/ovo/1.4.4/lzma.js new file mode 100644 index 00000000..a2a6121a --- /dev/null +++ b/games/ovo/1.4.4/lzma.js @@ -0,0 +1,5 @@ +var e=function(){"use strict";function r(e,r){postMessage({action:xt,cbn:r,result:e})}function t(e){var r=[];return r[e-1]=void 0,r}function o(e,r){return i(e[0]+r[0],e[1]+r[1])}function n(e,r){return u(~~Math.max(Math.min(e[1]/Ot,2147483647),-2147483648)&~~Math.max(Math.min(r[1]/Ot,2147483647),-2147483648),c(e)&c(r))}function s(e,r){var t,o;return e[0]==r[0]&&e[1]==r[1]?0:(t=0>e[1],o=0>r[1],t&&!o?-1:!t&&o?1:h(e,r)[1]<0?-1:1)}function i(e,r){var t,o;for(r%=0x10000000000000000,e%=0x10000000000000000,t=r%Ot,o=Math.floor(e/Ot)*Ot,r=r-t+o,e=e-o+t;0>e;)e+=Ot,r-=Ot;for(;e>4294967295;)e-=Ot,r+=Ot;for(r%=0x10000000000000000;r>0x7fffffff00000000;)r-=0x10000000000000000;for(;-0x8000000000000000>r;)r+=0x10000000000000000;return[e,r]}function _(e,r){return e[0]==r[0]&&e[1]==r[1]}function a(e){return e>=0?[e,0]:[e+Ot,-Ot]}function c(e){return e[0]>=2147483648?~~Math.max(Math.min(e[0]-Ot,2147483647),-2147483648):~~Math.max(Math.min(e[0],2147483647),-2147483648)}function u(e,r){var t,o;return t=e*Ot,o=r,0>r&&(o+=Ot),[o,t]}function f(e){return 30>=e?1<e[1])throw Error("Neg");return s=f(r),o=e[1]*s%0x10000000000000000,n=e[0]*s,t=n-n%Ot,o+=t,n-=t,o>=0x8000000000000000&&(o-=0x10000000000000000),[n,o]}function d(e,r){var t;return r&=63,t=f(r),i(Math.floor(e[0]/t),e[1]/t)}function p(e,r){var t;return r&=63,t=d(e,r),0>e[1]&&(t=o(t,m([2,0],63-r))),t}function h(e,r){return i(e[0]-r[0],e[1]-r[1])}function P(e,r){return e.Mc=r,e.Lc=0,e.Yb=r.length,e}function l(e){return e.Lc>=e.Yb?-1:255&e.Mc[e.Lc++]}function v(e,r,t,o){return e.Lc>=e.Yb?-1:(o=Math.min(o,e.Yb-e.Lc),M(e.Mc,e.Lc,r,t,o),e.Lc+=o,o)}function B(e){return e.Mc=t(32),e.Yb=0,e}function S(e){var r=e.Mc;return r.length=e.Yb,r}function g(e,r){e.Mc[e.Yb++]=r<<24>>24}function k(e,r,t,o){M(r,t,e.Mc,e.Yb,o),e.Yb+=o}function R(e,r,t,o,n){var s;for(s=r;t>s;++s)o[n++]=e.charCodeAt(s)}function M(e,r,t,o,n){for(var s=0;n>s;++s)t[o+s]=e[r+s]}function D(e,r){Ar(r,1<a;a+=8)g(o,255&c(d(n,a)));r.yb=(_.W=0,_.oc=t,_.pc=0,Mr(_),_.d.Ab=o,Fr(_),wr(_),br(_),_.$.rb=_.n+1-2,Qr(_.$,1<<_.Y),_.i.rb=_.n+1-2,Qr(_.i,1<<_.Y),void(_.g=Gt),X({},_))}function w(e,r,t){return e.Nb=B({}),b(e,P({},r),e.Nb,a(r.length),t),e}function E(e,r,t){var o,n,s,i,_="",c=[];for(n=0;5>n;++n){if(s=l(r),-1==s)throw Error("truncated input");c[n]=s<<24>>24}if(o=ir({}),!ar(o,c))throw Error("corrupted input");for(n=0;64>n;n+=8){if(s=l(r),-1==s)throw Error("truncated input");s=s.toString(16),1==s.length&&(s="0"+s),_=s+""+_}/^0+$|^f+$/i.test(_)?e.Tb=At:(i=parseInt(_,16),e.Tb=i>4294967295?At:a(i)),e.yb=nr(o,r,t,e.Tb)}function L(e,r){return e.Nb=B({}),E(e,P({},r),e.Nb),e}function y(e,r,o,n){var s;e.Bc=r,e._b=o,s=r+o+n,(null==e.c||e.Kb!=s)&&(e.c=null,e.Kb=s,e.c=t(e.Kb)),e.H=e.Kb-o}function C(e,r){return e.c[e.f+e.o+r]}function z(e,r,t,o){var n,s;for(e.T&&e.o+r+o>e.h&&(o=e.h-(e.o+r)),++t,s=e.f+e.o+r,n=0;o>n&&e.c[s+n]==e.c[s+n-t];++n);return n}function F(e){return e.h-e.o}function I(e){var r,t,o;for(o=e.f+e.o-e.Bc,o>0&&--o,t=e.f+e.h-o,r=0;t>r;++r)e.c[r]=e.c[o+r];e.f-=o}function x(e){var r;++e.o,e.o>e.zb&&(r=e.f+e.o,r>e.H&&I(e),N(e))}function N(e){var r,t,o;if(!e.T)for(;;){if(o=-e.f+e.Kb-e.h,!o)return;if(r=v(e.cc,e.c,e.f+e.h,o),-1==r)return e.zb=e.h,t=e.f+e.zb,t>e.H&&(e.zb=e.H-e.f),void(e.T=1);e.h+=r,e.h>=e.o+e._b&&(e.zb=e.h-e._b)}}function O(e,r){e.f+=r,e.zb-=r,e.o-=r,e.h-=r}function A(e,r,o,n,s){var i,_,a;1073741567>r&&(e.Fc=16+(n>>1),a=~~((r+o+n+s)/2)+256,y(e,r+o,n+s,a),e.ob=n,i=r+1,e.p!=i&&(e.L=t(2*(e.p=i))),_=65536,e.qb&&(_=r-1,_|=_>>1,_|=_>>2,_|=_>>4,_|=_>>8,_>>=1,_|=65535,_>16777216&&(_>>=1),e.Ec=_,++_,_+=e.R),_!=e.rc&&(e.ub=t(e.rc=_)))}function H(e,r){var t,o,n,s,i,_,a,c,u,f,m,d,p,h,P,l,v,B,S,g,k;if(e.h>=e.o+e.ob)h=e.ob;else if(h=e.h-e.o,e.xb>h)return W(e),0;for(v=0,P=e.o>e.p?e.o-e.p:0,o=e.f+e.o,l=1,c=0,u=0,e.qb?(k=Tt[255&e.c[o]]^255&e.c[o+1],c=1023&k,k^=(255&e.c[o+2])<<8,u=65535&k,f=(k^Tt[255&e.c[o+3]]<<5)&e.Ec):f=255&e.c[o]^(255&e.c[o+1])<<8,n=e.ub[e.R+f]||0,e.qb&&(s=e.ub[c]||0,i=e.ub[1024+u]||0,e.ub[c]=e.o,e.ub[1024+u]=e.o,s>P&&e.c[e.f+s]==e.c[o]&&(r[v++]=l=2,r[v++]=e.o-s-1),i>P&&e.c[e.f+i]==e.c[o]&&(i==s&&(v-=2),r[v++]=l=3,r[v++]=e.o-i-1,s=i),0!=v&&s==n&&(v-=2,l=1)),e.ub[e.R+f]=e.o,S=(e.k<<1)+1,g=e.k<<1,d=p=e.w,0!=e.w&&n>P&&e.c[e.f+n+e.w]!=e.c[o+e.w]&&(r[v++]=l=e.w,r[v++]=e.o-n-1),t=e.Fc;;){if(P>=n||0==t--){e.L[S]=e.L[g]=0;break}if(a=e.o-n,_=(e.k>=a?e.k-a:e.k-a+e.p)<<1,B=e.f+n,m=p>d?d:p,e.c[B+m]==e.c[o+m]){for(;++m!=h&&e.c[B+m]==e.c[o+m];);if(m>l&&(r[v++]=l=m,r[v++]=a-1,m==h)){e.L[g]=e.L[_],e.L[S]=e.L[_+1];break}}(255&e.c[o+m])>(255&e.c[B+m])?(e.L[g]=n,g=_+1,n=e.L[g],p=m):(e.L[S]=n,S=_,n=e.L[S],d=m)}return W(e),v}function G(e){e.f=0,e.o=0,e.h=0,e.T=0,N(e),e.k=0,O(e,-1)}function W(e){var r;++e.k>=e.p&&(e.k=0),x(e),1073741823==e.o&&(r=e.o-e.p,T(e.L,2*e.p,r),T(e.ub,e.rc,r),O(e,r))}function T(e,r,t){var o,n;for(o=0;r>o;++o)n=e[o]||0,t>=n?n=0:n-=t,e[o]=n}function Z(e,r){e.qb=r>2,e.qb?(e.w=0,e.xb=4,e.R=66560):(e.w=2,e.xb=3,e.R=0)}function Y(e,r){var t,o,n,s,i,_,a,c,u,f,m,d,p,h,P,l,v;do{if(e.h>=e.o+e.ob)d=e.ob;else if(d=e.h-e.o,e.xb>d){W(e);continue}for(p=e.o>e.p?e.o-e.p:0,o=e.f+e.o,e.qb?(v=Tt[255&e.c[o]]^255&e.c[o+1],_=1023&v,e.ub[_]=e.o,v^=(255&e.c[o+2])<<8,a=65535&v,e.ub[1024+a]=e.o,c=(v^Tt[255&e.c[o+3]]<<5)&e.Ec):c=255&e.c[o]^(255&e.c[o+1])<<8,n=e.ub[e.R+c],e.ub[e.R+c]=e.o,P=(e.k<<1)+1,l=e.k<<1,f=m=e.w,t=e.Fc;;){if(p>=n||0==t--){e.L[P]=e.L[l]=0;break}if(i=e.o-n,s=(e.k>=i?e.k-i:e.k-i+e.p)<<1,h=e.f+n,u=m>f?f:m,e.c[h+u]==e.c[o+u]){for(;++u!=d&&e.c[h+u]==e.c[o+u];);if(u==d){e.L[l]=e.L[s],e.L[P]=e.L[s+1];break}}(255&e.c[o+u])>(255&e.c[h+u])?(e.L[l]=n,l=s+1,n=e.L[l],m=u):(e.L[P]=n,P=s,n=e.L[P],f=u)}W(e)}while(0!=--r)}function V(e,r,t){var o=e.o-r-1;for(0>o&&(o+=e.M);0!=t;--t)o>=e.M&&(o=0),e.Lb[e.o++]=e.Lb[o++],e.o>=e.M&&$(e)}function j(e,r){(null==e.Lb||e.M!=r)&&(e.Lb=t(r)),e.M=r,e.o=0,e.h=0}function $(e){var r=e.o-e.h;r&&(k(e.cc,e.Lb,e.h,r),e.o>=e.M&&(e.o=0),e.h=e.o)}function K(e,r){var t=e.o-r-1;return 0>t&&(t+=e.M),e.Lb[t]}function q(e,r){e.Lb[e.o++]=r,e.o>=e.M&&$(e)}function J(e){$(e),e.cc=null}function Q(e){return e-=2,4>e?e:3}function U(e){return 4>e?0:10>e?e-3:e-6}function X(e,r){return e.cb=r,e.Z=null,e.zc=1,e}function er(e,r){return e.Z=r,e.cb=null,e.zc=1,e}function rr(e){if(!e.zc)throw Error("bad state");return e.cb?or(e):tr(e),e.zc}function tr(e){var r=sr(e.Z);if(-1==r)throw Error("corrupted input");e.Pb=At,e.Pc=e.Z.g,(r||s(e.Z.Nc,Gt)>=0&&s(e.Z.g,e.Z.Nc)>=0)&&($(e.Z.B),J(e.Z.B),e.Z.e.Ab=null,e.zc=0)}function or(e){Rr(e.cb,e.cb.Xb,e.cb.uc,e.cb.Kc),e.Pb=e.cb.Xb[0],e.cb.Kc[0]&&(Or(e.cb),e.zc=0)}function nr(e,r,t,o){return e.e.Ab=r,J(e.B),e.B.cc=t,_r(e),e.U=0,e.ib=0,e.Jc=0,e.Ic=0,e.Qc=0,e.Nc=o,e.g=Gt,e.jc=0,er({},e)}function sr(e){var r,t,n,i,_,u;if(u=c(e.g)&e.Dc,vt(e.e,e.Gb,(e.U<<4)+u)){if(vt(e.e,e.Zb,e.U))n=0,vt(e.e,e.Cb,e.U)?(vt(e.e,e.Db,e.U)?(vt(e.e,e.Eb,e.U)?(t=e.Qc,e.Qc=e.Ic):t=e.Ic,e.Ic=e.Jc):t=e.Jc,e.Jc=e.ib,e.ib=t):vt(e.e,e.pb,(e.U<<4)+u)||(e.U=7>e.U?9:11,n=1),n||(n=mr(e.sb,e.e,u)+2,e.U=7>e.U?8:11);else if(e.Qc=e.Ic,e.Ic=e.Jc,e.Jc=e.ib,n=2+mr(e.Rb,e.e,u),e.U=7>e.U?7:10,_=at(e.kb[Q(n)],e.e),_>=4){if(i=(_>>1)-1,e.ib=(2|1&_)<_)e.ib+=ut(e.kc,e.ib-_-1,e.e,i);else if(e.ib+=Bt(e.e,i-4)<<4,e.ib+=ct(e.Fb,e.e),0>e.ib)return-1==e.ib?1:-1}else e.ib=_;if(s(a(e.ib),e.g)>=0||e.ib>=e.nb)return-1;V(e.B,e.ib,n),e.g=o(e.g,a(n)),e.jc=K(e.B,0)}else r=Pr(e.gb,c(e.g),e.jc),e.jc=7>e.U?vr(r,e.e):Br(r,e.e,K(e.B,e.ib)),q(e.B,e.jc),e.U=U(e.U),e.g=o(e.g,Wt);return 0}function ir(e){e.B={},e.e={},e.Gb=t(192),e.Zb=t(12),e.Cb=t(12),e.Db=t(12),e.Eb=t(12),e.pb=t(192),e.kb=t(4),e.kc=t(114),e.Fb=_t({},4),e.Rb=dr({}),e.sb=dr({}),e.gb={};for(var r=0;4>r;++r)e.kb[r]=_t({},6);return e}function _r(e){e.B.h=0,e.B.o=0,gt(e.Gb),gt(e.pb),gt(e.Zb),gt(e.Cb),gt(e.Db),gt(e.Eb),gt(e.kc),lr(e.gb);for(var r=0;4>r;++r)gt(e.kb[r].G);pr(e.Rb),pr(e.sb),gt(e.Fb.G),St(e.e)}function ar(e,r){var t,o,n,s,i,_,a;if(5>r.length)return 0;for(a=255&r[0],n=a%9,_=~~(a/9),s=_%5,i=~~(_/5),t=0,o=0;4>o;++o)t+=(255&r[1+o])<<8*o;return t>99999999||!ur(e,n,s,i)?0:cr(e,t)}function cr(e,r){return 0>r?0:(e.Ob!=r&&(e.Ob=r,e.nb=Math.max(e.Ob,1),j(e.B,Math.max(e.nb,4096))),1)}function ur(e,r,t,o){if(r>8||t>4||o>4)return 0;hr(e.gb,t,r);var n=1<e.O;++e.O)e.ec[e.O]=_t({},3),e.hc[e.O]=_t({},3)}function mr(e,r,t){if(!vt(r,e.wc,0))return at(e.ec[t],r);var o=8;return o+=vt(r,e.wc,1)?8+at(e.tc,r):at(e.hc[t],r)}function dr(e){return e.wc=t(2),e.ec=t(16),e.hc=t(16),e.tc=_t({},8),e.O=0,e}function pr(e){gt(e.wc);for(var r=0;e.O>r;++r)gt(e.ec[r].G),gt(e.hc[r].G);gt(e.tc.G)}function hr(e,r,o){var n,s;if(null==e.V||e.u!=o||e.I!=r)for(e.I=r,e.qc=(1<n;++n)e.V[n]=Sr({})}function Pr(e,r,t){return e.V[((r&e.qc)<>>8-e.u)]}function lr(e){var r,t;for(t=1<r;++r)gt(e.V[r].Ib)}function vr(e,r){var t=1;do t=t<<1|vt(r,e.Ib,t);while(256>t);return t<<24>>24}function Br(e,r,t){var o,n,s=1;do if(n=t>>7&1,t<<=1,o=vt(r,e.Ib,(1+n<<8)+s),s=s<<1|o,n!=o){for(;256>s;)s=s<<1|vt(r,e.Ib,s);break}while(256>s);return s<<24>>24}function Sr(e){return e.Ib=t(768),e}function gr(e,r){var t,o,n,s;e.jb=r,n=e.a[r].r,o=e.a[r].j;do e.a[r].t&&(st(e.a[n]),e.a[n].r=n-1,e.a[r].Ac&&(e.a[n-1].t=0,e.a[n-1].r=e.a[r].r2,e.a[n-1].j=e.a[r].j2)),s=n,t=o,o=e.a[s].j,n=e.a[s].r,e.a[s].j=t,e.a[s].r=r,r=s;while(r>0);return e.mb=e.a[0].j,e.q=e.a[0].r}function kr(e){e.l=0,e.J=0;for(var r=0;4>r;++r)e.v[r]=0}function Rr(e,r,t,n){var i,u,f,m,d,p,P,l,v,B,S,g,k,R,M;if(r[0]=Gt,t[0]=Gt,n[0]=1,e.oc&&(e.b.cc=e.oc,G(e.b),e.W=1,e.oc=null),!e.pc){if(e.pc=1,R=e.g,_(e.g,Gt)){if(!F(e.b))return void Er(e,c(e.g));xr(e),k=c(e.g)&e.y,kt(e.d,e.C,(e.l<<4)+k,0),e.l=U(e.l),f=C(e.b,-e.s),rt(Xr(e.A,c(e.g),e.J),e.d,f),e.J=f,--e.s,e.g=o(e.g,Wt)}if(!F(e.b))return void Er(e,c(e.g));for(;;){if(P=Lr(e,c(e.g)),B=e.mb,k=c(e.g)&e.y,u=(e.l<<4)+k,1==P&&-1==B)kt(e.d,e.C,u,0),f=C(e.b,-e.s),M=Xr(e.A,c(e.g),e.J),7>e.l?rt(M,e.d,f):(v=C(e.b,-e.v[0]-1-e.s),tt(M,e.d,v,f)),e.J=f,e.l=U(e.l);else{if(kt(e.d,e.C,u,1),4>B){if(kt(e.d,e.bb,e.l,1),B?(kt(e.d,e.hb,e.l,1),1==B?kt(e.d,e.Ub,e.l,0):(kt(e.d,e.Ub,e.l,1),kt(e.d,e.vc,e.l,B-2))):(kt(e.d,e.hb,e.l,0),1==P?kt(e.d,e._,u,0):kt(e.d,e._,u,1)),1==P?e.l=7>e.l?9:11:(Kr(e.i,e.d,P-2,k),e.l=7>e.l?8:11),m=e.v[B],0!=B){for(p=B;p>=1;--p)e.v[p]=e.v[p-1];e.v[0]=m}}else{for(kt(e.d,e.bb,e.l,0),e.l=7>e.l?7:10,Kr(e.$,e.d,P-2,k),B-=4,g=Tr(B),l=Q(P),mt(e.K[l],e.d,g),g>=4&&(d=(g>>1)-1,i=(2|1&g)<g?Pt(e.Sb,i-g-1,e.d,d,S):(Rt(e.d,S>>4,d-4),pt(e.S,e.d,15&S),++e.Qb)),m=B,p=3;p>=1;--p)e.v[p]=e.v[p-1];e.v[0]=m,++e.Mb}e.J=C(e.b,P-1-e.s)}if(e.s-=P,e.g=o(e.g,a(P)),!e.s){if(e.Mb>=128&&wr(e),e.Qb>=16&&br(e),r[0]=e.g,t[0]=Mt(e.d),!F(e.b))return void Er(e,c(e.g));if(s(h(e.g,R),[4096,0])>=0)return e.pc=0,void(n[0]=0)}}}}function Mr(e){var r,t;e.b||(r={},t=4,e.X||(t=2),Z(r,t),e.b=r),Ur(e.A,e.eb,e.fb),(e.ab!=e.wb||e.Hb!=e.n)&&(A(e.b,e.ab,4096,e.n,274),e.wb=e.ab,e.Hb=e.n)}function Dr(e){var r;for(e.v=t(4),e.a=[],e.d={},e.C=t(192),e.bb=t(12),e.hb=t(12),e.Ub=t(12),e.vc=t(12),e._=t(192),e.K=[],e.Sb=t(114),e.S=ft({},4),e.$=qr({}),e.i=qr({}),e.A={},e.m=[],e.P=[],e.lb=[],e.nc=t(16),e.x=t(4),e.Q=t(4),e.Xb=[Gt],e.uc=[Gt],e.Kc=[0],e.fc=t(5),e.yc=t(128),e.vb=0,e.X=1,e.D=0,e.Hb=-1,e.mb=0,r=0;4096>r;++r)e.a[r]={};for(r=0;4>r;++r)e.K[r]=ft({},6);return e}function br(e){for(var r=0;16>r;++r)e.nc[r]=ht(e.S,r);e.Qb=0}function wr(e){var r,t,o,n,s,i,_,a;for(n=4;128>n;++n)i=Tr(n),o=(i>>1)-1,r=(2|1&i)<s;++s){for(t=e.K[s],_=s<<6,i=0;e.$b>i;++i)e.P[_+i]=dt(t,i);for(i=14;e.$b>i;++i)e.P[_+i]+=(i>>1)-1-4<<6;for(a=128*s,n=0;4>n;++n)e.lb[a+n]=e.P[_+n];for(;128>n;++n)e.lb[a+n]=e.P[_+Tr(n)]+e.yc[n]}e.Mb=0}function Er(e,r){Nr(e),Wr(e,r&e.y);for(var t=0;5>t;++t)bt(e.d)}function Lr(e,r){var t,o,n,s,i,_,a,c,u,f,m,d,p,h,P,l,v,B,S,g,k,R,M,D,b,w,E,L,y,I,x,N,O,A,H,G,W,T,Z,Y,V,j,$,K,q,J,Q,X,er,rr;if(e.jb!=e.q)return p=e.a[e.q].r-e.q,e.mb=e.a[e.q].j,e.q=e.a[e.q].r,p;if(e.q=e.jb=0,e.N?(d=e.vb,e.N=0):d=xr(e),E=e.D,b=F(e.b)+1,2>b)return e.mb=-1,1;for(b>273&&(b=273),Y=0,u=0;4>u;++u)e.x[u]=e.v[u],e.Q[u]=z(e.b,-1,e.x[u],273),e.Q[u]>e.Q[Y]&&(Y=u);if(e.Q[Y]>=e.n)return e.mb=Y,p=e.Q[Y],Ir(e,p-1),p;if(d>=e.n)return e.mb=e.m[E-1]+4,Ir(e,d-1),d;if(a=C(e.b,-1),v=C(e.b,-e.v[0]-1-1),2>d&&a!=v&&2>e.Q[Y])return e.mb=-1,1;if(e.a[0].Hc=e.l,A=r&e.y,e.a[1].z=Yt[e.C[(e.l<<4)+A]>>>2]+nt(Xr(e.A,r,e.J),e.l>=7,v,a),st(e.a[1]),B=Yt[2048-e.C[(e.l<<4)+A]>>>2],Z=B+Yt[2048-e.bb[e.l]>>>2],v==a&&(V=Z+zr(e,e.l,A),e.a[1].z>V&&(e.a[1].z=V,it(e.a[1]))),m=d>=e.Q[Y]?d:e.Q[Y],2>m)return e.mb=e.a[1].j,1;e.a[1].r=0,e.a[0].bc=e.x[0],e.a[0].ac=e.x[1],e.a[0].dc=e.x[2],e.a[0].lc=e.x[3],f=m;do e.a[f--].z=268435455;while(f>=2);for(u=0;4>u;++u)if(T=e.Q[u],!(2>T)){G=Z+Cr(e,u,e.l,A);do s=G+Jr(e.i,T-2,A),x=e.a[T],x.z>s&&(x.z=s,x.r=0,x.j=u,x.t=0);while(--T>=2)}if(D=B+Yt[e.bb[e.l]>>>2],f=e.Q[0]>=2?e.Q[0]+1:2,d>=f){for(L=0;f>e.m[L];)L+=2;for(;c=e.m[L+1],s=D+yr(e,c,f,A),x=e.a[f],x.z>s&&(x.z=s,x.r=0,x.j=c+4,x.t=0),f!=e.m[L]||(L+=2,L!=E);++f);}for(t=0;;){if(++t,t==m)return gr(e,t);if(S=xr(e),E=e.D,S>=e.n)return e.vb=S,e.N=1,gr(e,t);if(++r,O=e.a[t].r,e.a[t].t?(--O,e.a[t].Ac?($=e.a[e.a[t].r2].Hc,$=4>e.a[t].j2?7>$?8:11:7>$?7:10):$=e.a[O].Hc,$=U($)):$=e.a[O].Hc,O==t-1?$=e.a[t].j?U($):7>$?9:11:(e.a[t].t&&e.a[t].Ac?(O=e.a[t].r2,N=e.a[t].j2,$=7>$?8:11):(N=e.a[t].j,$=4>N?7>$?8:11:7>$?7:10),I=e.a[O],4>N?N?1==N?(e.x[0]=I.ac,e.x[1]=I.bc,e.x[2]=I.dc,e.x[3]=I.lc):2==N?(e.x[0]=I.dc,e.x[1]=I.bc,e.x[2]=I.ac,e.x[3]=I.lc):(e.x[0]=I.lc,e.x[1]=I.bc,e.x[2]=I.ac,e.x[3]=I.dc):(e.x[0]=I.bc,e.x[1]=I.ac,e.x[2]=I.dc,e.x[3]=I.lc):(e.x[0]=N-4,e.x[1]=I.bc,e.x[2]=I.ac,e.x[3]=I.dc)),e.a[t].Hc=$,e.a[t].bc=e.x[0],e.a[t].ac=e.x[1],e.a[t].dc=e.x[2],e.a[t].lc=e.x[3],_=e.a[t].z,a=C(e.b,-1),v=C(e.b,-e.x[0]-1-1),A=r&e.y,o=_+Yt[e.C[($<<4)+A]>>>2]+nt(Xr(e.A,r,C(e.b,-2)),$>=7,v,a),R=e.a[t+1],g=0,R.z>o&&(R.z=o,R.r=t,R.j=-1,R.t=0,g=1),B=_+Yt[2048-e.C[($<<4)+A]>>>2],Z=B+Yt[2048-e.bb[$]>>>2],v!=a||t>R.r&&!R.j||(V=Z+(Yt[e.hb[$]>>>2]+Yt[e._[($<<4)+A]>>>2]),R.z>=V&&(R.z=V,R.r=t,R.j=0,R.t=0,g=1)),w=F(e.b)+1,w=w>4095-t?4095-t:w,b=w,!(2>b)){if(b>e.n&&(b=e.n),!g&&v!=a&&(q=Math.min(w-1,e.n),P=z(e.b,0,e.x[0],q),P>=2)){for(K=U($),H=r+1&e.y,M=o+Yt[2048-e.C[(K<<4)+H]>>>2]+Yt[2048-e.bb[K]>>>2],y=t+1+P;y>m;)e.a[++m].z=268435455;s=M+(J=Jr(e.i,P-2,H),J+Cr(e,0,K,H)),x=e.a[y],x.z>s&&(x.z=s,x.r=t+1,x.j=0,x.t=1,x.Ac=0)}for(j=2,W=0;4>W;++W)if(h=z(e.b,-1,e.x[W],b),!(2>h)){l=h;do{for(;t+h>m;)e.a[++m].z=268435455;s=Z+(Q=Jr(e.i,h-2,A),Q+Cr(e,W,$,A)),x=e.a[t+h],x.z>s&&(x.z=s,x.r=t,x.j=W,x.t=0)}while(--h>=2);if(h=l,W||(j=h+1),w>h&&(q=Math.min(w-1-h,e.n),P=z(e.b,h,e.x[W],q),P>=2)){for(K=7>$?8:11,H=r+h&e.y,n=Z+(X=Jr(e.i,h-2,A),X+Cr(e,W,$,A))+Yt[e.C[(K<<4)+H]>>>2]+nt(Xr(e.A,r+h,C(e.b,h-1-1)),1,C(e.b,h-1-(e.x[W]+1)),C(e.b,h-1)),K=U(K),H=r+h+1&e.y,k=n+Yt[2048-e.C[(K<<4)+H]>>>2],M=k+Yt[2048-e.bb[K]>>>2],y=h+1+P;t+y>m;)e.a[++m].z=268435455;s=M+(er=Jr(e.i,P-2,H),er+Cr(e,0,K,H)),x=e.a[t+y],x.z>s&&(x.z=s,x.r=t+h+1,x.j=0,x.t=1,x.Ac=1,x.r2=t,x.j2=W)}}if(S>b){for(S=b,E=0;S>e.m[E];E+=2);e.m[E]=S,E+=2}if(S>=j){for(D=B+Yt[e.bb[$]>>>2];t+S>m;)e.a[++m].z=268435455;for(L=0;j>e.m[L];)L+=2;for(h=j;;++h)if(i=e.m[L+1],s=D+yr(e,i,h,A),x=e.a[t+h],x.z>s&&(x.z=s,x.r=t,x.j=i+4,x.t=0),h==e.m[L]){if(w>h&&(q=Math.min(w-1-h,e.n),P=z(e.b,h,i,q),P>=2)){for(K=7>$?7:10,H=r+h&e.y,n=s+Yt[e.C[(K<<4)+H]>>>2]+nt(Xr(e.A,r+h,C(e.b,h-1-1)),1,C(e.b,h-(i+1)-1),C(e.b,h-1)),K=U(K),H=r+h+1&e.y,k=n+Yt[2048-e.C[(K<<4)+H]>>>2],M=k+Yt[2048-e.bb[K]>>>2],y=h+1+P;t+y>m;)e.a[++m].z=268435455;s=M+(rr=Jr(e.i,P-2,H),rr+Cr(e,0,K,H)),x=e.a[t+y],x.z>s&&(x.z=s,x.r=t+h+1,x.j=0,x.t=1,x.Ac=1,x.r2=t,x.j2=i+4)}if(L+=2,L==E)break}}}}}function yr(e,r,t,o){var n,s=Q(t);return n=128>r?e.lb[128*s+r]:e.P[(s<<6)+Zr(r)]+e.nc[15&r],n+Jr(e.$,t-2,o)}function Cr(e,r,t,o){var n;return r?(n=Yt[2048-e.hb[t]>>>2],1==r?n+=Yt[e.Ub[t]>>>2]:(n+=Yt[2048-e.Ub[t]>>>2],n+=wt(e.vc[t],r-2))):(n=Yt[e.hb[t]>>>2],n+=Yt[2048-e._[(t<<4)+o]>>>2]),n}function zr(e,r,t){return Yt[e.hb[r]>>>2]+Yt[e._[(r<<4)+t]>>>2]}function Fr(e){kr(e),Dt(e.d),gt(e.C),gt(e._),gt(e.bb),gt(e.hb),gt(e.Ub),gt(e.vc),gt(e.Sb),et(e.A);for(var r=0;4>r;++r)gt(e.K[r].G);jr(e.$,1<0&&(Y(e.b,r),e.s+=r)}function xr(e){var r=0;return e.D=H(e.b,e.m),e.D>0&&(r=e.m[e.D-2],r==e.n&&(r+=z(e.b,r-1,e.m[e.D-1],273-r))),++e.s,r}function Nr(e){e.b&&e.W&&(e.b.cc=null,e.W=0)}function Or(e){Nr(e),e.d.Ab=null}function Ar(e,r){e.ab=r;for(var t=0;r>1<>24;for(var t=0;4>t;++t)e.fc[1+t]=e.ab>>8*t<<24>>24;k(r,e.fc,0,5)}function Wr(e,r){if(e.Gc){kt(e.d,e.C,(e.l<<4)+r,1),kt(e.d,e.bb,e.l,0),e.l=7>e.l?7:10,Kr(e.$,e.d,0,r);var t=Q(2);mt(e.K[t],e.d,63),Rt(e.d,67108863,26),pt(e.S,e.d,15)}}function Tr(e){return 2048>e?Zt[e]:2097152>e?Zt[e>>10]+20:Zt[e>>20]+40}function Zr(e){return 131072>e?Zt[e>>6]+12:134217728>e?Zt[e>>16]+32:Zt[e>>26]+52}function Yr(e,r,t,o){8>t?(kt(r,e.db,0,0),mt(e.Vb[o],r,t)):(t-=8,kt(r,e.db,0,1),8>t?(kt(r,e.db,1,0),mt(e.Wb[o],r,t)):(kt(r,e.db,1,1),mt(e.ic,r,t-8)))}function Vr(e){e.db=t(2),e.Vb=t(16),e.Wb=t(16),e.ic=ft({},8);for(var r=0;16>r;++r)e.Vb[r]=ft({},3),e.Wb[r]=ft({},3);return e}function jr(e,r){gt(e.db);for(var t=0;r>t;++t)gt(e.Vb[t].G),gt(e.Wb[t].G);gt(e.ic.G)}function $r(e,r,t,o,n){var s,i,_,a,c;for(s=Yt[e.db[0]>>>2],i=Yt[2048-e.db[0]>>>2],_=i+Yt[e.db[1]>>>2],a=i+Yt[2048-e.db[1]>>>2],c=0,c=0;8>c;++c){if(c>=t)return;o[n+c]=s+dt(e.Vb[r],c)}for(;16>c;++c){if(c>=t)return;o[n+c]=_+dt(e.Wb[r],c-8)}for(;t>c;++c)o[n+c]=a+dt(e.ic,c-8-8)}function Kr(e,r,t,o){Yr(e,r,t,o),0==--e.sc[o]&&($r(e,o,e.rb,e.Cc,272*o),e.sc[o]=e.rb)}function qr(e){return Vr(e),e.Cc=[],e.sc=[],e}function Jr(e,r,t){return e.Cc[272*t+r]}function Qr(e,r){for(var t=0;r>t;++t)$r(e,t,e.rb,e.Cc,272*t),e.sc[t]=e.rb}function Ur(e,r,o){var n,s;if(null==e.V||e.u!=o||e.I!=r)for(e.I=r,e.qc=(1<n;++n)e.V[n]=ot({})}function Xr(e,r,t){return e.V[((r&e.qc)<>>8-e.u)]}function et(e){var r,t=1<r;++r)gt(e.V[r].tb)}function rt(e,r,t){var o,n,s=1;for(n=7;n>=0;--n)o=t>>n&1,kt(r,e.tb,s,o),s=s<<1|o}function tt(e,r,t,o){var n,s,i,_,a=1,c=1;for(s=7;s>=0;--s)n=o>>s&1,_=c,a&&(i=t>>s&1,_+=1+i<<8,a=i==n),kt(r,e.tb,_,n),c=c<<1|n}function ot(e){return e.tb=t(768),e}function nt(e,r,t,o){var n,s,i=1,_=7,a=0;if(r)for(;_>=0;--_)if(s=t>>_&1,n=o>>_&1,a+=wt(e.tb[(1+s<<8)+i],n),i=i<<1|n,s!=n){--_;break}for(;_>=0;--_)n=o>>_&1,a+=wt(e.tb[i],n),i=i<<1|n;return a}function st(e){e.j=-1,e.t=0}function it(e){e.j=0,e.t=0}function _t(e,r){return e.F=r,e.G=t(1<o;++o)t=vt(r,e.G,n),n<<=1,n+=t,s|=t<s;++s)n=vt(t,e,r+i),i<<=1,i+=n,_|=n<>>n&1,kt(r,e.G,s,o),s=s<<1|o}function dt(e,r){var t,o,n=1,s=0;for(o=e.F;0!=o;)--o,t=r>>>o&1,s+=wt(e.G[n],t),n=(n<<1)+t;return s}function pt(e,r,t){var o,n,s=1;for(n=0;e.F>n;++n)o=1&t,kt(r,e.G,s,o),s=s<<1|o,t>>=1}function ht(e,r){var t,o,n=1,s=0;for(o=e.F;0!=o;--o)t=1&r,r>>>=1,s+=wt(e.G[n],t),n=n<<1|t;return s}function Pt(e,r,t,o,n){var s,i,_=1;for(i=0;o>i;++i)s=1&n,kt(t,e,r+_,s),_=_<<1|s,n>>=1}function lt(e,r,t,o){var n,s,i=1,_=0;for(s=t;0!=s;--s)n=1&o,o>>>=1,_+=Yt[(2047&(e[r+i]-n^-n))>>>2],i=i<<1|n;return _}function vt(e,r,t){var o,n=r[t];return o=(e.E>>>11)*n,(-2147483648^o)>(-2147483648^e.Bb)?(e.E=o,r[t]=n+(2048-n>>>5)<<16>>16,-16777216&e.E||(e.Bb=e.Bb<<8|l(e.Ab),e.E<<=8),0):(e.E-=o,e.Bb-=o,r[t]=n-(n>>>5)<<16>>16,-16777216&e.E||(e.Bb=e.Bb<<8|l(e.Ab),e.E<<=8),1)}function Bt(e,r){var t,o,n=0;for(t=r;0!=t;--t)e.E>>>=1,o=e.Bb-e.E>>>31,e.Bb-=e.E&o-1,n=n<<1|1-o,-16777216&e.E||(e.Bb=e.Bb<<8|l(e.Ab),e.E<<=8);return n}function St(e){e.Bb=0,e.E=-1;for(var r=0;5>r;++r)e.Bb=e.Bb<<8|l(e.Ab)}function gt(e){for(var r=e.length-1;r>=0;--r)e[r]=1024}function kt(e,r,t,s){var i,_=r[t];i=(e.E>>>11)*_,s?(e.xc=o(e.xc,n(a(i),[4294967295,0])),e.E-=i,r[t]=_-(_>>>5)<<16>>16):(e.E=i,r[t]=_+(2048-_>>>5)<<16>>16),-16777216&e.E||(e.E<<=8,bt(e))}function Rt(e,r,t){for(var n=t-1;n>=0;--n)e.E>>>=1,1==(r>>>n&1)&&(e.xc=o(e.xc,a(e.E))),-16777216&e.E||(e.E<<=8,bt(e))}function Mt(e){return o(o(a(e.Jb),e.mc),[4,0])}function Dt(e){e.mc=Gt,e.xc=Gt,e.E=-1,e.Jb=1,e.Oc=0}function bt(e){var r,t=c(p(e.xc,32));if(0!=t||s(e.xc,[4278190080,0])<0){e.mc=o(e.mc,a(e.Jb)),r=e.Oc;do g(e.Ab,r+t),r=255;while(0!=--e.Jb);e.Oc=c(e.xc)>>>24}++e.Jb,e.xc=m(n(e.xc,[16777215,0]),8)}function wt(e,r){return Yt[(2047&(e-r^-r))>>>2]}function Et(e){for(var r,t,o,n=0,s=0,i=e.length,_=[],a=[];i>n;++n,++s){if(r=255&e[n],128&r)if(192==(224&r)){if(n+1>=i)return e;if(t=255&e[++n],128!=(192&t))return e;a[s]=(31&r)<<6|63&t}else{if(224!=(240&r))return e; +if(n+2>=i)return e;if(t=255&e[++n],128!=(192&t))return e;if(o=255&e[++n],128!=(192&o))return e;a[s]=(15&r)<<12|(63&t)<<6|63&o}else{if(!r)return e;a[s]=r}16383==s&&(_.push(String.fromCharCode.apply(String,a)),s=-1)}return s>0&&(a.length=s,_.push(String.fromCharCode.apply(String,a))),_.join("")}function Lt(e){var r,t,o,n=[],s=0,i=e.length;if("object"==typeof e)return e;for(R(e,0,i,n,0),o=0;i>o;++o)r=n[o],r>=1&&127>=r?++s:s+=!r||r>=128&&2047>=r?2:3;for(t=[],s=0,o=0;i>o;++o)r=n[o],r>=1&&127>=r?t[s++]=r<<24>>24:!r||r>=128&&2047>=r?(t[s++]=(192|r>>6&31)<<24>>24,t[s++]=(128|63&r)<<24>>24):(t[s++]=(224|r>>12&15)<<24>>24,t[s++]=(128|r>>6&63)<<24>>24,t[s++]=(128|63&r)<<24>>24);return t}function yt(e){return e[1]+e[0]}function Ct(e,t,o,n){function s(){try{for(var e,r=(new Date).getTime();rr(a.c.yb);)if(i=yt(a.c.yb.Pb)/yt(a.c.Tb),(new Date).getTime()-r>200)return n(i),Nt(s,0),0;n(1),e=S(a.c.Nb),Nt(o.bind(null,e),0)}catch(t){o(null,t)}}var i,_,a={},c=void 0===o&&void 0===n;if("function"!=typeof o&&(_=o,o=n=0),n=n||function(e){return void 0!==_?r(e,_):void 0},o=o||function(e,r){return void 0!==_?postMessage({action:Ft,cbn:_,result:e,error:r}):void 0},c){for(a.c=w({},Lt(e),Vt(t));rr(a.c.yb););return S(a.c.Nb)}try{a.c=w({},Lt(e),Vt(t)),n(0)}catch(u){return o(null,u)}Nt(s,0)}function zt(e,t,o){function n(){try{for(var e,r=0,i=(new Date).getTime();rr(c.d.yb);)if(++r%1e3==0&&(new Date).getTime()-i>200)return _&&(s=yt(c.d.yb.Z.g)/a,o(s)),Nt(n,0),0;o(1),e=Et(S(c.d.Nb)),Nt(t.bind(null,e),0)}catch(u){t(null,u)}}var s,i,_,a,c={},u=void 0===t&&void 0===o;if("function"!=typeof t&&(i=t,t=o=0),o=o||function(e){return void 0!==i?r(_?e:-1,i):void 0},t=t||function(e,r){return void 0!==i?postMessage({action:It,cbn:i,result:e,error:r}):void 0},u){for(c.d=L({},e);rr(c.d.yb););return Et(S(c.d.Nb))}try{c.d=L({},e),a=yt(c.d.Tb),_=a>-1,o(0)}catch(f){return t(null,f)}Nt(n,0)}var Ft=1,It=2,xt=3,Nt="function"==typeof setImmediate?setImmediate:setTimeout,Ot=4294967296,At=[4294967295,-Ot],Ht=[0,-0x8000000000000000],Gt=[0,0],Wt=[1,0],Tt=function(){var e,r,t,o=[];for(e=0;256>e;++e){for(t=e,r=0;8>r;++r)0!=(1&t)?t=t>>>1^-306674912:t>>>=1;o[e]=t}return o}(),Zt=function(){var e,r,t,o=2,n=[0,1];for(t=2;22>t;++t)for(r=1<<(t>>1)-1,e=0;r>e;++e,++o)n[o]=t<<24>>24;return n}(),Yt=function(){var e,r,t,o,n=[];for(r=8;r>=0;--r)for(o=1<<9-r-1,e=1<<9-r,t=o;e>t;++t)n[t]=(r<<6)+(e-t<<6>>>9-r-1);return n}(),Vt=function(){var e=[{s:16,f:64,m:0},{s:20,f:64,m:0},{s:19,f:64,m:1},{s:20,f:64,m:1},{s:21,f:128,m:1},{s:22,f:128,m:1},{s:23,f:128,m:1},{s:24,f:255,m:1},{s:25,f:255,m:1}];return function(r){return e[r-1]||e[6]}}();return"undefined"==typeof onmessage||"undefined"!=typeof window&&void 0!==window.document||!function(){onmessage=function(r){r&&r.gc&&(r.gc.action==It?e.decompress(r.gc.gc,r.gc.cbn):r.gc.action==Ft&&e.compress(r.gc.gc,r.gc.Rc,r.gc.cbn))}}(),{compress:Ct,decompress:zt}}();this.LZMA=this.LZMA_WORKER=e; + +//! © 2015 Nathan Rugg | MIT +"undefined"==typeof Worker||"undefined"!=typeof location&&"file:"===location.protocol?"undefined"!=typeof global&&"undefined"!=typeof require?this.LZMA=function(n){return require(n||"./lzma_worker.js").LZMA}:"undefined"!=typeof window&&window.document?!function(){function n(n){var e;return r(n),e={compress:function(n,r,t,i){o.LZMA_WORKER?o.LZMA_WORKER.compress(n,r,t,i):setTimeout(function(){e.compress(n,r,t,i)},50)},decompress:function(n,r,t){o.LZMA_WORKER?o.LZMA_WORKER.decompress(n,r,t):setTimeout(function(){e.decompress(n,r,t)},50)},worker:function(){return null}}}var o,e=this,r=function(o){var r=document.createElement("script");r.type="text/javascript",r.src=o,r.onload=function(){e.LZMA=n},document.getElementsByTagName("head")[0].appendChild(r)};"undefined"!=typeof window?o=window:global&&(o=global),e.LZMA=n}():console.error("Can't load the worker. Sorry."):this.LZMA=function(n){var o=1,e=2,r=3,t={},i=new Worker(n||"./lzma_worker-min.js");return i.onmessage=function(n){n.data.action===r?t[n.data.cbn]&&"function"==typeof t[n.data.cbn].on_progress&&t[n.data.cbn].on_progress(n.data.result):t[n.data.cbn]&&"function"==typeof t[n.data.cbn].on_finish&&(t[n.data.cbn].on_finish(n.data.result,n.data.error),delete t[n.data.cbn])},i.onerror=function(n){var o=Error(n.message+" ("+n.filename+":"+n.lineno+")");for(var e in t)t[e].on_finish(null,o);console.error("Uncaught error in lzma_worker",o)},function(){function n(n,o,e,r,a){var c;do c=Math.floor(1e7*Math.random());while(void 0!==t[c]);t[c]={on_finish:r,on_progress:a},i.postMessage({action:n,cbn:c,data:o,mode:e})}return{compress:function(e,r,t,i){n(o,e,r,t,i)},decompress:function(o,r,t){n(e,o,!1,r,t)},worker:function(){return i}}}()}; \ No newline at end of file diff --git a/games/ovo/1.4.4/materwelon.png b/games/ovo/1.4.4/materwelon.png new file mode 100644 index 00000000..c665da75 Binary files /dev/null and b/games/ovo/1.4.4/materwelon.png differ diff --git a/games/ovo/1.4.4/mechanics.png b/games/ovo/1.4.4/mechanics.png new file mode 100644 index 00000000..3780c863 Binary files /dev/null and b/games/ovo/1.4.4/mechanics.png differ diff --git a/games/ovo/1.4.4/media/among us death.ogg b/games/ovo/1.4.4/media/among us death.ogg new file mode 100644 index 00000000..77513728 Binary files /dev/null and b/games/ovo/1.4.4/media/among us death.ogg differ diff --git a/games/ovo/1.4.4/media/among us slice.ogg b/games/ovo/1.4.4/media/among us slice.ogg new file mode 100644 index 00000000..77e9e4cf Binary files /dev/null and b/games/ovo/1.4.4/media/among us slice.ogg differ diff --git a/games/ovo/1.4.4/media/button.ogg b/games/ovo/1.4.4/media/button.ogg new file mode 100644 index 00000000..1ebec04f Binary files /dev/null and b/games/ovo/1.4.4/media/button.ogg differ diff --git a/games/ovo/1.4.4/media/click.ogg b/games/ovo/1.4.4/media/click.ogg new file mode 100644 index 00000000..05f82d50 Binary files /dev/null and b/games/ovo/1.4.4/media/click.ogg differ diff --git a/games/ovo/1.4.4/media/coin1.ogg b/games/ovo/1.4.4/media/coin1.ogg new file mode 100644 index 00000000..b5a11f36 Binary files /dev/null and b/games/ovo/1.4.4/media/coin1.ogg differ diff --git a/games/ovo/1.4.4/media/death-2.ogg b/games/ovo/1.4.4/media/death-2.ogg new file mode 100644 index 00000000..95e36d1c Binary files /dev/null and b/games/ovo/1.4.4/media/death-2.ogg differ diff --git a/games/ovo/1.4.4/media/death.ogg b/games/ovo/1.4.4/media/death.ogg new file mode 100644 index 00000000..3e2c88ad Binary files /dev/null and b/games/ovo/1.4.4/media/death.ogg differ diff --git a/games/ovo/1.4.4/media/footstep.ogg b/games/ovo/1.4.4/media/footstep.ogg new file mode 100644 index 00000000..e0fd437b Binary files /dev/null and b/games/ovo/1.4.4/media/footstep.ogg differ diff --git a/games/ovo/1.4.4/media/hover.ogg b/games/ovo/1.4.4/media/hover.ogg new file mode 100644 index 00000000..e5768cc8 Binary files /dev/null and b/games/ovo/1.4.4/media/hover.ogg differ diff --git a/games/ovo/1.4.4/media/hurt.ogg b/games/ovo/1.4.4/media/hurt.ogg new file mode 100644 index 00000000..a9ab92ec Binary files /dev/null and b/games/ovo/1.4.4/media/hurt.ogg differ diff --git a/games/ovo/1.4.4/media/jump.ogg b/games/ovo/1.4.4/media/jump.ogg new file mode 100644 index 00000000..85fef280 Binary files /dev/null and b/games/ovo/1.4.4/media/jump.ogg differ diff --git a/games/ovo/1.4.4/media/jumpboost.ogg b/games/ovo/1.4.4/media/jumpboost.ogg new file mode 100644 index 00000000..c3f0184e Binary files /dev/null and b/games/ovo/1.4.4/media/jumpboost.ogg differ diff --git a/games/ovo/1.4.4/media/jumpstrong.ogg b/games/ovo/1.4.4/media/jumpstrong.ogg new file mode 100644 index 00000000..0417a13a Binary files /dev/null and b/games/ovo/1.4.4/media/jumpstrong.ogg differ diff --git a/games/ovo/1.4.4/media/menutrack.ogg b/games/ovo/1.4.4/media/menutrack.ogg new file mode 100644 index 00000000..76f9237a Binary files /dev/null and b/games/ovo/1.4.4/media/menutrack.ogg differ diff --git a/games/ovo/1.4.4/media/plunge.ogg b/games/ovo/1.4.4/media/plunge.ogg new file mode 100644 index 00000000..4f4b18f0 Binary files /dev/null and b/games/ovo/1.4.4/media/plunge.ogg differ diff --git a/games/ovo/1.4.4/media/pound.ogg b/games/ovo/1.4.4/media/pound.ogg new file mode 100644 index 00000000..28b7749e Binary files /dev/null and b/games/ovo/1.4.4/media/pound.ogg differ diff --git a/games/ovo/1.4.4/media/prepound.ogg b/games/ovo/1.4.4/media/prepound.ogg new file mode 100644 index 00000000..5dc800a1 Binary files /dev/null and b/games/ovo/1.4.4/media/prepound.ogg differ diff --git a/games/ovo/1.4.4/media/return.ogg b/games/ovo/1.4.4/media/return.ogg new file mode 100644 index 00000000..50b8ae02 Binary files /dev/null and b/games/ovo/1.4.4/media/return.ogg differ diff --git a/games/ovo/1.4.4/media/rocket-2.ogg b/games/ovo/1.4.4/media/rocket-2.ogg new file mode 100644 index 00000000..cf319cbb Binary files /dev/null and b/games/ovo/1.4.4/media/rocket-2.ogg differ diff --git a/games/ovo/1.4.4/media/sfx_transition-01.ogg b/games/ovo/1.4.4/media/sfx_transition-01.ogg new file mode 100644 index 00000000..79b0265d Binary files /dev/null and b/games/ovo/1.4.4/media/sfx_transition-01.ogg differ diff --git a/games/ovo/1.4.4/media/sfx_transition-02.ogg b/games/ovo/1.4.4/media/sfx_transition-02.ogg new file mode 100644 index 00000000..7bca10c7 Binary files /dev/null and b/games/ovo/1.4.4/media/sfx_transition-02.ogg differ diff --git a/games/ovo/1.4.4/media/sfx_transition-03.ogg b/games/ovo/1.4.4/media/sfx_transition-03.ogg new file mode 100644 index 00000000..6ece222e Binary files /dev/null and b/games/ovo/1.4.4/media/sfx_transition-03.ogg differ diff --git a/games/ovo/1.4.4/media/sfx_transition-04.ogg b/games/ovo/1.4.4/media/sfx_transition-04.ogg new file mode 100644 index 00000000..a29568b8 Binary files /dev/null and b/games/ovo/1.4.4/media/sfx_transition-04.ogg differ diff --git a/games/ovo/1.4.4/media/sfx_transition-05.ogg b/games/ovo/1.4.4/media/sfx_transition-05.ogg new file mode 100644 index 00000000..b2137378 Binary files /dev/null and b/games/ovo/1.4.4/media/sfx_transition-05.ogg differ diff --git a/games/ovo/1.4.4/media/sfx_transition-06.ogg b/games/ovo/1.4.4/media/sfx_transition-06.ogg new file mode 100644 index 00000000..f0d3df5a Binary files /dev/null and b/games/ovo/1.4.4/media/sfx_transition-06.ogg differ diff --git a/games/ovo/1.4.4/media/sfx_transition-07.ogg b/games/ovo/1.4.4/media/sfx_transition-07.ogg new file mode 100644 index 00000000..4eb9d912 Binary files /dev/null and b/games/ovo/1.4.4/media/sfx_transition-07.ogg differ diff --git a/games/ovo/1.4.4/media/sfx_transition-08.ogg b/games/ovo/1.4.4/media/sfx_transition-08.ogg new file mode 100644 index 00000000..55f2bd55 Binary files /dev/null and b/games/ovo/1.4.4/media/sfx_transition-08.ogg differ diff --git a/games/ovo/1.4.4/media/sfx_transition-09.ogg b/games/ovo/1.4.4/media/sfx_transition-09.ogg new file mode 100644 index 00000000..991b37e9 Binary files /dev/null and b/games/ovo/1.4.4/media/sfx_transition-09.ogg differ diff --git a/games/ovo/1.4.4/media/slide.ogg b/games/ovo/1.4.4/media/slide.ogg new file mode 100644 index 00000000..07d22d71 Binary files /dev/null and b/games/ovo/1.4.4/media/slide.ogg differ diff --git a/games/ovo/1.4.4/media/slide_recover.ogg b/games/ovo/1.4.4/media/slide_recover.ogg new file mode 100644 index 00000000..6e95f2fc Binary files /dev/null and b/games/ovo/1.4.4/media/slide_recover.ogg differ diff --git a/games/ovo/1.4.4/media/step.ogg b/games/ovo/1.4.4/media/step.ogg new file mode 100644 index 00000000..dba6e897 Binary files /dev/null and b/games/ovo/1.4.4/media/step.ogg differ diff --git a/games/ovo/1.4.4/media/step2.ogg b/games/ovo/1.4.4/media/step2.ogg new file mode 100644 index 00000000..305635f8 Binary files /dev/null and b/games/ovo/1.4.4/media/step2.ogg differ diff --git a/games/ovo/1.4.4/media/step3.ogg b/games/ovo/1.4.4/media/step3.ogg new file mode 100644 index 00000000..3faff217 Binary files /dev/null and b/games/ovo/1.4.4/media/step3.ogg differ diff --git a/games/ovo/1.4.4/media/stun.ogg b/games/ovo/1.4.4/media/stun.ogg new file mode 100644 index 00000000..9e407313 Binary files /dev/null and b/games/ovo/1.4.4/media/stun.ogg differ diff --git a/games/ovo/1.4.4/media/superjump.ogg b/games/ovo/1.4.4/media/superjump.ogg new file mode 100644 index 00000000..11d1c2f7 Binary files /dev/null and b/games/ovo/1.4.4/media/superjump.ogg differ diff --git a/games/ovo/1.4.4/media/track 1.ogg b/games/ovo/1.4.4/media/track 1.ogg new file mode 100644 index 00000000..7823cb9e Binary files /dev/null and b/games/ovo/1.4.4/media/track 1.ogg differ diff --git a/games/ovo/1.4.4/media/track 2.ogg b/games/ovo/1.4.4/media/track 2.ogg new file mode 100644 index 00000000..9a23cc2c Binary files /dev/null and b/games/ovo/1.4.4/media/track 2.ogg differ diff --git a/games/ovo/1.4.4/media/track 3.ogg b/games/ovo/1.4.4/media/track 3.ogg new file mode 100644 index 00000000..a754703d Binary files /dev/null and b/games/ovo/1.4.4/media/track 3.ogg differ diff --git a/games/ovo/1.4.4/media/track 4.ogg b/games/ovo/1.4.4/media/track 4.ogg new file mode 100644 index 00000000..1c90d2d1 Binary files /dev/null and b/games/ovo/1.4.4/media/track 4.ogg differ diff --git a/games/ovo/1.4.4/media/track1.ogg b/games/ovo/1.4.4/media/track1.ogg new file mode 100644 index 00000000..7823cb9e Binary files /dev/null and b/games/ovo/1.4.4/media/track1.ogg differ diff --git a/games/ovo/1.4.4/media/track2.ogg b/games/ovo/1.4.4/media/track2.ogg new file mode 100644 index 00000000..9a23cc2c Binary files /dev/null and b/games/ovo/1.4.4/media/track2.ogg differ diff --git a/games/ovo/1.4.4/media/track3.ogg b/games/ovo/1.4.4/media/track3.ogg new file mode 100644 index 00000000..a754703d Binary files /dev/null and b/games/ovo/1.4.4/media/track3.ogg differ diff --git a/games/ovo/1.4.4/media/track4.ogg b/games/ovo/1.4.4/media/track4.ogg new file mode 100644 index 00000000..1c90d2d1 Binary files /dev/null and b/games/ovo/1.4.4/media/track4.ogg differ diff --git a/games/ovo/1.4.4/media/transition.ogg b/games/ovo/1.4.4/media/transition.ogg new file mode 100644 index 00000000..57477334 Binary files /dev/null and b/games/ovo/1.4.4/media/transition.ogg differ diff --git a/games/ovo/1.4.4/media/walljump.ogg b/games/ovo/1.4.4/media/walljump.ogg new file mode 100644 index 00000000..21dac7f6 Binary files /dev/null and b/games/ovo/1.4.4/media/walljump.ogg differ diff --git a/games/ovo/1.4.4/offline.js b/games/ovo/1.4.4/offline.js new file mode 100644 index 00000000..045bcbb9 --- /dev/null +++ b/games/ovo/1.4.4/offline.js @@ -0,0 +1,306 @@ +// 20220125211713 +// https://dedragames.com/games/ovo/1.4.4/offline.js + +{ + "version": 1640023600, + "fileList": [ + "data.js", + "c2runtime.js", + "jquery-3.4.1.min.js", + "offlineClient.js", + "images/body-sheet0.png", + "images/head-sheet0.png", + "images/leftarm-sheet0.png", + "images/collider-sheet0.png", + "images/collider-sheet1.png", + "images/jumpboost-sheet0.png", + "images/endflag-sheet0.png", + "images/jumpthrough.png", + "images/spritefontdeluxe.png", + "images/spike-sheet0.png", + "images/solidmove.png", + "images/buttontrigger-sheet0.png", + "images/buttontrigger-sheet1.png", + "images/movearea-sheet0.png", + "images/movearea-sheet1.png", + "images/solid.png", + "images/groundpoundsolid.png", + "images/layoutnameholder-sheet0.png", + "images/rocket-sheet0.png", + "images/rocketlauncher-sheet0.png", + "images/solid2.png", + "images/spritefontdeluxew.png", + "images/spike2-sheet0.png", + "images/solid3.png", + "images/coin-sheet0.png", + "images/layoutnumber.png", + "images/portal-sheet0.png", + "images/triggerarea-sheet0.png", + "images/tiledbackground.png", + "images/layoutsubtitle.png", + "images/uidirectionbtn-sheet0.png", + "images/menubutton-sheet0.png", + "images/menubutton-sheet1.png", + "images/menubutton-sheet2.png", + "images/titlelogo-sheet0.png", + "images/credits-sheet0.png", + "images/listsubitembtn-sheet0.png", + "images/listsubitembtn-sheet1.png", + "images/listsubitembtn-sheet2.png", + "images/listparent-sheet0.png", + "images/endcarddialog-sheet0.png", + "images/particlesbg.png", + "images/sprite-sheet0.png", + "images/sprite-sheet1.png", + "images/particles.png", + "images/listitem-sheet0.png", + "images/inputsdialog.png", + "images/checkbox-sheet0.png", + "images/sliderbar-sheet0.png", + "images/loadinganim-sheet0.png", + "images/loadinganim-sheet1.png", + "images/fakeparseimage-sheet0.png", + "images/menubutton2-sheet0.png", + "images/adblocksign-sheet0.png", + "images/dialogoverlay-sheet0.png", + "images/dedraloader-sheet0.png", + "images/dedraloader-sheet1.png", + "images/menubutton3-sheet0.png", + "images/menubutton3-sheet1.png", + "images/levelbutton-sheet0.png", + "images/skin1-sheet0.png", + "images/skin3-sheet0.png", + "images/skin3-sheet1.png", + "images/skin3-sheet2.png", + "images/skin2-sheet0.png", + "images/skin4-sheet0.png", + "images/skin4-sheet1.png", + "images/skin4-sheet2.png", + "images/skin5-sheet0.png", + "images/skin6-sheet0.png", + "images/skin6-sheet1.png", + "images/skin7-sheet0.png", + "images/skin8-sheet0.png", + "images/skin9-sheet0.png", + "images/skin10-sheet0.png", + "images/skin10-sheet1.png", + "images/skin11-sheet0.png", + "images/skin12-sheet0.png", + "images/skin13-sheet0.png", + "images/skin14-sheet0.png", + "images/skin15-sheet0.png", + "images/pulse-sheet0.png", + "images/pulse-sheet1.png", + "images/pulse-sheet2.png", + "images/skin16-sheet0.png", + "images/skin17-sheet0.png", + "images/skin18-sheet0.png", + "images/skin19-sheet0.png", + "images/skin19-sheet1.png", + "images/cmgskin-sheet0.png", + "images/skin20-sheet0.png", + "images/skin21-sheet0.png", + "images/skin22-sheet0.png", + "images/skin23-sheet0.png", + "images/skin24-sheet0.png", + "images/sprite5-sheet0.png", + "images/border.png", + "images/decor-sheet0.png", + "images/decor-sheet1.png", + "images/sprite2-sheet0.png", + "images/vector-sheet0.png", + "images/coolmathgames800x-sheet0.png", + "images/camera-sheet0.png", + "images/background-sheet0.png", + "images/sprite4-sheet0.png", + "images/sprite6-sheet0.png", + "images/tiledbackground2.png", + "images/tiledbackground3.png", + "images/sprite7-sheet0.png", + "images/mark-sheet0.png", + "images/pumpkin-sheet0.png", + "images/fakenine-sheet0.png", + "images/bfakenine-sheet0.png", + "images/sprite8-sheet0.png", + "images/ablue-sheet0.png", + "images/agreen-sheet0.png", + "images/ared-sheet0.png", + "images/frank_1-sheet0.png", + "images/decor2-sheet0.png", + "images/bannercontainer-sheet0.png", + "images/runningcanvas.png", + "images/languageflag-sheet0.png", + "images/languagebutton-sheet0.png", + "images/languagebutton2-sheet0.png", + "images/sprite9-sheet0.png", + "media/click.m4a", + "media/click.ogg", + "media/hover.m4a", + "media/hover.ogg", + "media/return.m4a", + "media/return.ogg", + "media/step.m4a", + "media/step.ogg", + "media/step2.ogg", + "media/step2.m4a", + "media/step3.m4a", + "media/step3.ogg", + "media/footstep.m4a", + "media/footstep.ogg", + "media/pound.m4a", + "media/pound.ogg", + "media/prepound.m4a", + "media/prepound.ogg", + "media/stun.m4a", + "media/stun.ogg", + "media/jump.m4a", + "media/jump.ogg", + "media/jumpboost.m4a", + "media/jumpboost.ogg", + "media/hurt.m4a", + "media/hurt.ogg", + "media/plunge.m4a", + "media/plunge.ogg", + "media/jumpstrong.m4a", + "media/jumpstrong.ogg", + "media/superjump.m4a", + "media/superjump.ogg", + "media/walljump.m4a", + "media/walljump.ogg", + "media/sfx_transition-01.m4a", + "media/sfx_transition-01.ogg", + "media/sfx_transition-02.m4a", + "media/sfx_transition-02.ogg", + "media/sfx_transition-03.m4a", + "media/sfx_transition-03.ogg", + "media/sfx_transition-04.m4a", + "media/sfx_transition-04.ogg", + "media/sfx_transition-05.m4a", + "media/sfx_transition-05.ogg", + "media/sfx_transition-06.m4a", + "media/sfx_transition-06.ogg", + "media/sfx_transition-07.m4a", + "media/sfx_transition-07.ogg", + "media/sfx_transition-08.m4a", + "media/sfx_transition-08.ogg", + "media/slide.m4a", + "media/slide.ogg", + "media/slide_recover.m4a", + "media/slide_recover.ogg", + "media/button.m4a", + "media/button.ogg", + "media/rocket-2.m4a", + "media/rocket-2.ogg", + "media/coin1.m4a", + "media/coin1.ogg", + "media/among us death.m4a", + "media/among us death.ogg", + "media/among us slice.m4a", + "media/among us slice.ogg", + "media/death-2.m4a", + "media/death-2.ogg", + "media/transition.m4a", + "media/transition.ogg", + "media/death.m4a", + "media/death.ogg", + "media/menutrack.m4a", + "media/menutrack.ogg", + "media/idontevenknow.m4a", + "media/idontevenknow.ogg", + "media/heart loop.m4a", + "media/heart loop.ogg", + "media/transebeat 2.m4a", + "media/transebeat 2.ogg", + "media/first try.m4a", + "media/first try.ogg", + "media/mechanical.m4a", + "media/mechanical.ogg", + "media/sick of losing.m4a", + "media/sick of losing.ogg", + "media/soulmates.m4a", + "media/soulmates.ogg", + "media/track2.m4a", + "media/track2.ogg", + "media/track3.m4a", + "media/track3.ogg", + "media/track4.m4a", + "media/track4.ogg", + "media/track1.m4a", + "media/track1.ogg", + "icon-114.png", + "icon-128.png", + "icon-16.png", + "icon-256.png", + "icon-32.png", + "loading-logo.png", + "astronaut.png", + "batter.png", + "dknight.png", + "electrical.png", + "erigato.png", + "frank.png", + "knight.png", + "lknight.png", + "ovoplus.png", + "pole.png", + "default.png", + "alien.png", + "ada.png", + "thefall.png", + "pulse.png", + "materwelon.png", + "amongus.png", + "fl1ckd.png", + "theliljoker.png", + "cmg.png", + "french.png", + "brazilian.png", + "spanish.png", + "english.png", + "shyguy.png", + "ovo.png", + "ovo2.png", + "ovo3.png", + "ovospaceprogram.png", + "purified.png", + "coin.png", + "coin10.png", + "coin5.png", + "coin40.png", + "mechanics.png", + "higherorder.png", + "tutorials.png", + "coin30.png", + "coinsecret.png", + "gettingserious.png", + "lightspeed.png", + "runner.png", + "speedrunner.png", + "topcharts.png", + "velocity.png", + "jttp.png", + "community.png", + "achievements.json", + "levels.json", + "skins.json", + "tips.json", + "unlockalllevels.js", + "lzma.js", + "websdkwrapper.js", + "languages.json", + "ovo-level-editor.js", + "check.png", + "style.css", + "fonts.css", + "retron2000.ttf", + "sdk.html", + "GameAnalytics.js", + "Tween.js", + "html2canvas.min.js", + "animate.css", + "hmmg_layoutTransition.css", + "jquery.gritter.js", + "jquery.gritter.css", + "howler.js" + ] +} \ No newline at end of file diff --git a/games/ovo/1.4.4/offlineClient.js b/games/ovo/1.4.4/offlineClient.js new file mode 100644 index 00000000..4e546a77 --- /dev/null +++ b/games/ovo/1.4.4/offlineClient.js @@ -0,0 +1,53 @@ +"use strict"; + +(function() { + + class OfflineClient + { + constructor() + { + // Create a BroadcastChannel, if supported. + this._broadcastChannel = (typeof BroadcastChannel === "undefined" ? null : new BroadcastChannel("offline")); + + // Queue of messages received before a message callback is set. + this._queuedMessages = []; + + // The message callback. + this._onMessageCallback = null; + + // If BroadcastChannel is supported, listen for messages. + if (this._broadcastChannel) + this._broadcastChannel.onmessage = (e => this._OnBroadcastChannelMessage(e)); + } + + _OnBroadcastChannelMessage(e) + { + // Have a message callback set: just forward the call. + if (this._onMessageCallback) + { + this._onMessageCallback(e); + return; + } + + // Otherwise the app hasn't loaded far enough to set a message callback. + // Buffer the incoming messages to replay when the app sets a callback. + this._queuedMessages.push(e); + } + + SetMessageCallback(f) + { + this._onMessageCallback = f; + + // Replay any queued messages through the handler, then clear the queue. + for (let e of this._queuedMessages) + this._onMessageCallback(e); + + this._queuedMessages.length = 0; + } + }; + + // Create the offline client ASAP so we receive and start queueing any messages the SW broadcasts. + window.OfflineClientInfo = new OfflineClient(); + +}()); + diff --git a/games/ovo/1.4.4/ovo-level-editor.js b/games/ovo/1.4.4/ovo-level-editor.js new file mode 100644 index 00000000..2dcd3ddb --- /dev/null +++ b/games/ovo/1.4.4/ovo-level-editor.js @@ -0,0 +1,309 @@ +(() => { + globalThis.ovoLevelEditor = { + init() { + let old = globalThis.sdk_runtime; + c2_callFunction("execCode", ["globalThis.sdk_runtime = this.runtime"]); + let sdk_runtime = globalThis.sdk_runtime; + globalThis.sdk_runtime = old; + + let setLayout = (name) => { + if (sdk_runtime.layouts.hasOwnProperty(name)) { + sdk_runtime.changelayout = sdk_runtime.layouts[name]; + return sdk_runtime.layouts[name]; + } + }; + + let baseLayoutName = "Level Base"; + let baseLayout = sdk_runtime.layouts[baseLayoutName]; + let oldFn = baseLayout.startRunning.bind(baseLayout); + baseLayout.startRunning = () => { + console.log("start"); + globalThis.ovoLevelEditor.applySetup(); + oldFn(); + globalThis.ovoLevelEditor.applyCurrentLevel(); + }; + let setLayoutToBase = () => { + sdk_runtime.changelayout = baseLayout; + }; + + const types = { + Solid: sdk_runtime.types_by_index.find( + (x) => + x.name === "Solid" || + (x.plugin instanceof cr.plugins_.TiledBg && + x.texture_file && + x.texture_file.includes("/solid.png") && + x.behs_count === 2) + ), + Spike: sdk_runtime.types_by_index.find( + (x) => + x.name === "Spike" || + (x.plugin instanceof cr.plugins_.Sprite && + x.all_frames && + x.all_frames[0].texture_file.includes("spike-")) + ), + Flag: sdk_runtime.types_by_index.find( + (x) => + x.name === "EndFlag" || + (x.plugin instanceof cr.plugins_.Sprite && + x.all_frames && + x.all_frames[0].texture_file.includes("endflag")) + ), + JumpThrough: sdk_runtime.types_by_index.find( + (x) => + x.name === "JumpThrough" || + (x.plugin instanceof cr.plugins_.TiledBg && + x.texture_file && + x.texture_file.includes("jumpthrough") && + x.families.length === 2) + ), + GroundPoundSolid: sdk_runtime.types_by_index.find( + (x) => + x.name === "GroundPoundSolid" || + (x.plugin instanceof cr.plugins_.TiledBg && + x.texture_file && + x.texture_file.includes("groundpoundsolid") && + x.families.length === 2) + ), + RocketLauncher: sdk_runtime.types_by_index.find( + (x) => + x.name === "RocketLauncher" || + (x.plugin instanceof cr.plugins_.Sprite && + x.all_frames && + x.all_frames[0].texture_file.includes("rocketlauncher")) + ), + JumpBoost: sdk_runtime.types_by_index.find( + (x) => + x.name === "JumpBoost" || + (x.plugin instanceof cr.plugins_.Sprite && + x.all_frames && + x.all_frames[0].texture_file.includes("jumpboost")) + ), + LayoutNameHolder: sdk_runtime.types_by_index.find( + (x) => + x.name === "LayoutNameHolder" || + (x.plugin instanceof cr.plugins_.Sprite && + x.all_frames && + x.all_frames[0].texture_file.includes("layoutnameholder")) + ), + LayoutNumber: sdk_runtime.types_by_index.find( + (x) => + x.name === "LayoutNumber" || + (x.plugin instanceof cr.plugins_.SkymenSFPlusPLus && + x.texture_file && + x.texture_file.includes("layoutnumber")) + ), + LayoutSubtitle: sdk_runtime.types_by_index.find( + (x) => + x.name === "LayoutSubtitle" || + (x.plugin instanceof cr.plugins_.Sprite && + x.all_frames && + x.all_frames[0].texture_file.includes("layoutsubtitle")) + ), + }; + + const layers = { + "Layer 0": baseLayout.layers.find((x) => x.name === "Layer 0"), + Background: baseLayout.layers.find((x) => x.name === "Background"), + }; + + let create = (type, layer, { x, y, width, height, angle }) => { + let inst = sdk_runtime.createInstance(types[type], layers[layer], x, y); + inst.width = width || inst.width; + inst.height = height || inst.height; + inst.angle = angle || inst.angle; + inst.set_bbox_changed(); + return inst; + }; + + //create("Solid", "Layer 0", {x:100, y:100, angle: 45, height:8, width: 50}) + //create("Spike", "Layer 0", {x:100, y:500}) + + globalThis.ovoLevelEditor = { + startLevel(json) { + sdk_runtime.types_by_index.find( + (x) => + x.name === "Globals" || + (x.plugin instanceof cr.plugins_.Globals && + x.instvar_sids.length > 20) + ).instances[0].instance_vars[3] = 1; + this.curLevel = json; + setLayoutToBase(); + }, + wipeAllInstances() { + Object.values(layers).forEach((layer) => { + if (!layer) return; + console.log("wiping " + layer); + layer.instances + .filter((x) => Object.values(types).includes(x.type)) + .forEach(sdk_runtime.DestroyInstance.bind(sdk_runtime)); + }); + }, + getPlayer() { + return sdk_runtime.types_by_index + .filter( + (x) => + !!x.animations && + x.animations[0].frames[0].texture_file.includes("collider") + )[0] + .instances.filter( + (x) => x.instance_vars[17] === "" && x.behavior_insts[0].enabled + )[0]; + }, + async awaitForPlayer() { + let player = this.getPlayer(); + while (!player) { + await new Promise((resolve) => setTimeout(resolve, 20)); + player = this.getPlayer(); + } + return player; + }, + async setPlayerPosition(x, y) { + let player = this.getPlayer(); + while (!player) { + await new Promise((resolve) => setTimeout(resolve, 20)); + player = this.getPlayer(); + } + if (x) player.x = x; + if (y) player.y = y; + player.set_bbox_changed(); + }, + applySetup() { + if (!this.curLevel) return; + if (this.curLevel.layout) { + if (this.curLevel.layout.width) { + baseLayout.originalWidth = this.curLevel.layout.width; + baseLayout.width = this.curLevel.layout.width; + } + if (this.curLevel.layout.height) { + baseLayout.originalHeight = this.curLevel.layout.height; + baseLayout.height = this.curLevel.layout.height; + } + } + }, + async applyCurrentLevel() { + if (!this.curLevel) return; + this.wipeAllInstances(); + await this.awaitForPlayer(); + if (this.curLevel.player) { + this.setPlayerPosition( + this.curLevel.player.x, + this.curLevel.player.y + ); + } + Object.keys(this.curLevel.layers).forEach((layer) => { + if (!layers[layer]) return; + Object.keys(this.curLevel.layers[layer]).forEach((type) => { + if (!types[type]) return; + this.curLevel.layers[layer][type].forEach((inst) => { + let newInst = create(type, layer, inst); + sdk_runtime.trigger( + newInst.type.plugin.cnds.OnCreated, + newInst + ); + }); + }); + }); + sdk_runtime.trigger(sdk_runtime.system.cnds.OnLayoutStart); + if ( + this.curLevel.layout.holder && + typeof this.curLevel.layout.holder.x === "number" + ) { + let text = create( + "LayoutNumber", + "Layer 0", + this.curLevel.layout.holder + ); + sdk_runtime.trigger(text.type.plugin.cnds.OnCreated, text); + if (typeof this.curLevel.layout.number === "number") + text.text = this.curLevel.layout.number.toString(); + else text.text = "1"; + } + + let holder = create("LayoutNameHolder", "Layer 0", { + x: -500, + y: -500, + }); + holder.instance_vars[0] = this.curLevel.layout.name || ""; + holder.instance_vars[2] = !!this.curLevel.layout.useSlope; + sdk_runtime.trigger(holder.type.plugin.cnds.OnCreated, holder); + }, + handleDrop(ev) { + console.log("File(s) dropped"); + + // Prevent default behavior (Prevent file from being opened) + ev.preventDefault(); + let playFile = (file) => { + console.log(file); + file.text().then((text) => { + console.log(text); + try { + let json = JSON.parse(text); + if (globalThis.ovoLevelEditor.startLevel) + globalThis.ovoLevelEditor.startLevel(json); + } catch (error) { + alert("not a valid level file"); + } + }); + }; + if (ev.dataTransfer.items) { + // Use DataTransferItemList interface to access the file(s) + for (var i = 0; i < ev.dataTransfer.items.length; i++) { + // If dropped items aren't files, reject them + if (ev.dataTransfer.items[i].kind === "file") { + var file = ev.dataTransfer.items[i].getAsFile(); + playFile(file); + break; + } + } + } else { + // Use DataTransfer interface to access the file(s) + playFile(ev.dataTransfer.files[0]); + } + }, + }; + sdk_runtime.canvas.setAttribute("ondragover", "event.preventDefault();"); + sdk_runtime.canvas.setAttribute( + "ondrop", + "ovoLevelEditor.handleDrop(event)" + ); + }, + }; + + let messageHandler = (event) => { + if (!event.data.isLevelEditor || !event.data.messageType) return; + if (event.data.messageType.toLowerCase() === "isready") { + event.source.postMessage( + { + isReady: !globalThis.ovoLevelEditor.hasOwnProperty("init"), + isLevelEditor: true, + messageType: event.data.messageType, + }, + event.origin + ); + } + if (event.data.messageType.toLowerCase() === "startlevel") { + if (globalThis.ovoLevelEditor.hasOwnProperty("init")) { + event.source.postMessage( + { + levelStarted: false, + isLevelEditor: true, + messageType: event.data.messageType, + }, + event.origin + ); + return; + } + globalThis.ovoLevelEditor.startLevel(event.data.level); + event.source.postMessage( + { + levelStarted: true, + isLevelEditor: true, + messageType: event.data.messageType, + }, + event.origin + ); + } + }; + globalThis.window.addEventListener("message", messageHandler); +})(); diff --git a/games/ovo/1.4.4/ovo.png b/games/ovo/1.4.4/ovo.png new file mode 100644 index 00000000..5cd89b20 Binary files /dev/null and b/games/ovo/1.4.4/ovo.png differ diff --git a/games/ovo/1.4.4/ovo2.png b/games/ovo/1.4.4/ovo2.png new file mode 100644 index 00000000..f43bede4 Binary files /dev/null and b/games/ovo/1.4.4/ovo2.png differ diff --git a/games/ovo/1.4.4/ovo3.png b/games/ovo/1.4.4/ovo3.png new file mode 100644 index 00000000..592661e4 Binary files /dev/null and b/games/ovo/1.4.4/ovo3.png differ diff --git a/games/ovo/1.4.4/ovoplus.png b/games/ovo/1.4.4/ovoplus.png new file mode 100644 index 00000000..17461f26 Binary files /dev/null and b/games/ovo/1.4.4/ovoplus.png differ diff --git a/games/ovo/1.4.4/ovospaceprogram.png b/games/ovo/1.4.4/ovospaceprogram.png new file mode 100644 index 00000000..26cf86b7 Binary files /dev/null and b/games/ovo/1.4.4/ovospaceprogram.png differ diff --git a/games/ovo/1.4.4/pole.png b/games/ovo/1.4.4/pole.png new file mode 100644 index 00000000..df4dac46 Binary files /dev/null and b/games/ovo/1.4.4/pole.png differ diff --git a/games/ovo/1.4.4/pulse.png b/games/ovo/1.4.4/pulse.png new file mode 100644 index 00000000..8130c11b Binary files /dev/null and b/games/ovo/1.4.4/pulse.png differ diff --git a/games/ovo/1.4.4/purified.png b/games/ovo/1.4.4/purified.png new file mode 100644 index 00000000..4bcefe6c Binary files /dev/null and b/games/ovo/1.4.4/purified.png differ diff --git a/games/ovo/1.4.4/retron2000.ttf b/games/ovo/1.4.4/retron2000.ttf new file mode 100644 index 00000000..f30c7e1b Binary files /dev/null and b/games/ovo/1.4.4/retron2000.ttf differ diff --git a/games/ovo/1.4.4/runner.png b/games/ovo/1.4.4/runner.png new file mode 100644 index 00000000..690323f0 Binary files /dev/null and b/games/ovo/1.4.4/runner.png differ diff --git a/games/ovo/1.4.4/shyguy.png b/games/ovo/1.4.4/shyguy.png new file mode 100644 index 00000000..7abd07bc Binary files /dev/null and b/games/ovo/1.4.4/shyguy.png differ diff --git a/games/ovo/1.4.4/skins.json b/games/ovo/1.4.4/skins.json new file mode 100644 index 00000000..925e05fb --- /dev/null +++ b/games/ovo/1.4.4/skins.json @@ -0,0 +1,227 @@ +[ + { + "name": "Default", + "hidden": false, + "icon": "default.png", + "skin": "", + "lang": "default", + "price": 0, + "achievement": -1 + }, + { + "name": "Electrical", + "hidden": false, + "icon": "electrical.png", + "skin": "elec", + "lang": "electrical", + "price": -1, + "achievement": 6 + }, + { + "name": "Pole", + "hidden": false, + "icon": "pole.png", + "skin": "pole", + "lang": "pole", + "price": 30, + "achievement": -1 + }, + { + "name": "Pink Guy", + "hidden": false, + "icon": "frank.png", + "skin": "frank", + "lang": "pinkguy", + "price": 20, + "achievement": -1 + }, + { + "name": "OvO+", + "hidden": true, + "icon": "ovoplus.png", + "skin": "ovo+", + "lang": "ovoplus", + "price": -1, + "achievement": 5 + }, + { + "name": "Knight", + "hidden": false, + "icon": "knight.png", + "skin": "knight", + "lang": "knight", + "price": 40, + "achievement": -1 + }, + { + "name": "Dark Knight", + "hidden": false, + "icon": "dknight.png", + "skin": "dknight", + "lang": "dknight", + "price": 60, + "achievement": -1 + }, + { + "name": "Light Knight", + "hidden": false, + "icon": "lknight.png", + "skin": "lknight", + "lang": "lknight", + "price": -1, + "achievement": 15 + }, + { + "name": "Astronaut", + "hidden": true, + "icon": "astronaut.png", + "skin": "astronaut", + "lang": "astronaut", + "price": -1, + "achievement": 7 + }, + { + "name": "Alien", + "hidden": false, + "icon": "alien.png", + "skin": "alien", + "lang": "alien", + "price": 70, + "achievement": -1 + }, + { + "name": "Erigato", + "hidden": false, + "icon": "erigato.png", + "skin": "erigato", + "lang": "erigato", + "price": 50, + "achievement": -1 + }, + { + "name": "Batter", + "hidden": true, + "icon": "batter.png", + "skin": "batter", + "lang": "batter", + "price": -1, + "achievement": 10 + }, + { + "name": "Adalich", + "hidden": false, + "icon": "ada.png", + "skin": "ada", + "lang": "adalich", + "price": 0, + "achievement": -1 + }, + { + "name": "The Fallen", + "hidden": true, + "icon": "thefall.png", + "skin": "thefall", + "lang": "fallen", + "price": -1, + "achievement": 20 + }, + { + "name": "Pulse", + "hidden": false, + "icon": "pulse.png", + "skin": "pulse", + "lang": "pulse", + "price": -1, + "achievement": 8 + }, + { + "name": "MaterWelon", + "hidden": false, + "icon": "materwelon.png", + "skin": "materwelon", + "lang": "materwelon", + "price": -1, + "achievement": 9 + }, + { + "name": "Fl1ckd", + "hidden": false, + "icon": "fl1ckd.png", + "skin": "fl1ckd", + "lang": "flickd", + "price": 50, + "achievement": -1 + }, + { + "name": "TheLilJoker", + "hidden": false, + "icon": "theliljoker.png", + "skin": "theliljoker", + "lang": "theliljoker", + "price": 50, + "achievement": -1 + }, + { + "name": "Among Us", + "hidden": false, + "icon": "amongus.png", + "skin": "amongus", + "lang": "amongus", + "price": 50, + "achievement": -1 + }, + { + "name": "French", + "hidden": false, + "icon": "french.png", + "skin": "french", + "lang": "french", + "price": 0, + "achievement": -1 + }, + { + "name": "English", + "hidden": false, + "icon": "english.png", + "skin": "english", + "lang": "english", + "price": 0, + "achievement": -1 + }, + { + "name": "Spanish", + "hidden": false, + "icon": "spanish.png", + "skin": "spanish", + "lang": "spanish", + "price": 0, + "achievement": -1 + }, + { + "name": "Brazilian", + "hidden": false, + "icon": "brazilian.png", + "skin": "brazilian", + "lang": "brazilian", + "price": 0, + "achievement": -1 + }, + { + "name": "Cool Math Games", + "hidden": false, + "icon": "cmg.png", + "skin": "cmg", + "lang": "cmg", + "price": 0, + "achievement": -1 + }, + { + "name": "ShyGuy", + "hidden": false, + "icon": "shyguy.png", + "skin": "shyguy", + "lang": "shyguy", + "price": 0, + "achievement": -1 + } +] \ No newline at end of file diff --git a/games/ovo/1.4.4/spanish.png b/games/ovo/1.4.4/spanish.png new file mode 100644 index 00000000..36eb8a28 Binary files /dev/null and b/games/ovo/1.4.4/spanish.png differ diff --git a/games/ovo/1.4.4/speedrunner.png b/games/ovo/1.4.4/speedrunner.png new file mode 100644 index 00000000..ca38363a Binary files /dev/null and b/games/ovo/1.4.4/speedrunner.png differ diff --git a/games/ovo/1.4.4/style.css b/games/ovo/1.4.4/style.css new file mode 100644 index 00000000..ca6c2e58 --- /dev/null +++ b/games/ovo/1.4.4/style.css @@ -0,0 +1,86 @@ +#button { + background-color: rgb(255, 255, 255); + color: rgb(0, 0, 0); + border: 2px solid #333; + margin: 2px +} + +#button:hover, +#button:focus { + box-shadow: 4px 4px rgba(0, 0, 0, 0.25); + color: #333; +} + +#button:active { + border: 4px solid #333; + color: #333; +} + +#link { + background-color: rgb(255, 255, 255); + color: rgb(122, 122, 122); + border: 0px solid rgb(255, 255, 255); +} + +#link:hover, +#link:focus { + text-decoration: underline; +} + +#link:active { + color: #333; +} + +#textbox { + text-align: center; + background: rgb(255, 255, 255); + color: rgb(0, 0, 0); + box-shadow: inset 4px 4px rgba(0, 0, 0, 0.1); + border: 4px solid #000; +} + +#textbox:hover { + box-shadow: inset 4px 4px rgba(0, 0, 0, 0.25); +} + +#textbox:focus, +#link:focus, +#button:focus { + outline: none; +} + +#check { + -moz-appearance: none; + -webkit-appearance: none; + clip: rect(0 0 0 0); + margin: -1px; + padding: 0; + border: 0; + padding-left: 25px; + background-image: url("check.png"); + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-repeat: no-repeat; + height: 1em; + display: inline-block; + line-height: 100%; + background-repeat: no-repeat; + background-position: 0 0; + font-size: 25px; + vertical-align: middle; + background-size: 100% 200%; +} + +#check:hover, +#check:focus { + color: rgb(122, 122, 122); + text-decoration: underline; +} + +#check:checked { + background-position: 0 100%; +} \ No newline at end of file diff --git a/games/ovo/1.4.4/sw.js b/games/ovo/1.4.4/sw.js new file mode 100644 index 00000000..32ced4d1 --- /dev/null +++ b/games/ovo/1.4.4/sw.js @@ -0,0 +1,403 @@ +"use strict"; + +const OFFLINE_DATA_FILE = "offline.js"; +const CACHE_NAME_PREFIX = "c2offline"; +const BROADCASTCHANNEL_NAME = "offline"; +const CONSOLE_PREFIX = "[SW] "; +const LAZYLOAD_KEYNAME = ""; + +// Create a BroadcastChannel if supported. +const broadcastChannel = (typeof BroadcastChannel === "undefined" ? null : new BroadcastChannel(BROADCASTCHANNEL_NAME)); + +////////////////////////////////////// +// Utility methods +function PostBroadcastMessage(o) +{ + if (!broadcastChannel) + return; // not supported + + // Impose artificial (and arbitrary!) delay of 3 seconds to make sure client is listening by the time the message is sent. + // Note we could remove the delay on some messages, but then we create a race condition where sometimes messages can arrive + // in the wrong order (e.g. "update ready" arrives before "started downloading update"). So to keep the consistent ordering, + // delay all messages by the same amount. + setTimeout(() => broadcastChannel.postMessage(o), 3000); +}; + +function Broadcast(type) +{ + PostBroadcastMessage({ + "type": type + }); +}; + +function BroadcastDownloadingUpdate(version) +{ + PostBroadcastMessage({ + "type": "downloading-update", + "version": version + }); +} + +function BroadcastUpdateReady(version) +{ + PostBroadcastMessage({ + "type": "update-ready", + "version": version + }); +} + +function IsUrlInLazyLoadList(url, lazyLoadList) +{ + if (!lazyLoadList) + return false; // presumably lazy load list failed to load + + try { + for (const lazyLoadRegex of lazyLoadList) + { + if (new RegExp(lazyLoadRegex).test(url)) + return true; + } + } + catch (err) + { + console.error(CONSOLE_PREFIX + "Error matching in lazy-load list: ", err); + } + + return false; +}; + +function WriteLazyLoadListToStorage(lazyLoadList) +{ + if (typeof localforage === "undefined") + return Promise.resolve(); // bypass if localforage not imported + else + return localforage.setItem(LAZYLOAD_KEYNAME, lazyLoadList) +}; + +function ReadLazyLoadListFromStorage() +{ + if (typeof localforage === "undefined") + return Promise.resolve([]); // bypass if localforage not imported + else + return localforage.getItem(LAZYLOAD_KEYNAME); +}; + +function GetCacheBaseName() +{ + // Include the scope to avoid name collisions with any other SWs on the same origin. + // e.g. "c2offline-https://example.com/foo/" (won't collide with anything under bar/) + return CACHE_NAME_PREFIX + "-" + self.registration.scope; +}; + +function GetCacheVersionName(version) +{ + // Append the version number to the cache name. + // e.g. "c2offline-https://example.com/foo/-v2" + return GetCacheBaseName() + "-v" + version; +}; + +// Return caches.keys() filtered down to just caches we're interested in (with the right base name). +// This filters out caches from unrelated scopes. +async function GetAvailableCacheNames() +{ + const cacheNames = await caches.keys(); + const cacheBaseName = GetCacheBaseName(); + return cacheNames.filter(n => n.startsWith(cacheBaseName)); +}; + +// Identify if an update is pending, which is the case when we have 2 or more available caches. +// One must be an update that is waiting, since the next navigate that does an upgrade will +// delete all the old caches leaving just one currently-in-use cache. +async function IsUpdatePending() +{ + const availableCacheNames = await GetAvailableCacheNames(); + return (availableCacheNames.length >= 2); +}; + +// Automatically deduce the main page URL (e.g. index.html or main.aspx) from the available browser windows. +// This prevents having to hard-code an index page in the file list, implicitly caching it like AppCache did. +async function GetMainPageUrl() +{ + const allClients = await clients.matchAll({ + includeUncontrolled: true, + type: "window" + }); + + for (const c of allClients) + { + // Parse off the scope from the full client URL, e.g. https://example.com/index.html -> index.html + let url = c.url; + if (url.startsWith(self.registration.scope)) + url = url.substring(self.registration.scope.length); + + if (url && url !== "/") // ./ is also implicitly cached so don't bother returning that + { + // If the URL is solely a search string, prefix it with / to ensure it caches correctly. + // e.g. https://example.com/?foo=bar needs to cache as /?foo=bar, not just ?foo=bar. + if (url.startsWith("?")) + url = "/" + url; + + return url; + } + } + + return ""; // no main page URL could be identified +}; + +// Hack to fetch optionally bypassing HTTP cache until fetch cache options are supported in Chrome (crbug.com/453190) +function fetchWithBypass(request, bypassCache) +{ + if (typeof request === "string") + request = new Request(request); + + if (bypassCache) + { + // bypass enabled: add a random search parameter to avoid getting a stale HTTP cache result + const url = new URL(request.url); + url.search += Math.floor(Math.random() * 1000000); + + return fetch(url, { + headers: request.headers, + mode: request.mode, + credentials: request.credentials, + redirect: request.redirect, + cache: "no-store" + }); + } + else + { + // bypass disabled: perform normal fetch which is allowed to return from HTTP cache + return fetch(request); + } +}; + +// Effectively a cache.addAll() that only creates the cache on all requests being successful (as a weak attempt at making it atomic) +// and can optionally cache-bypass with fetchWithBypass in every request +async function CreateCacheFromFileList(cacheName, fileList, bypassCache) +{ + // Kick off all requests and wait for them all to complete + const responses = await Promise.all(fileList.map(url => fetchWithBypass(url, bypassCache))); + + // Check if any request failed. If so don't move on to opening the cache. + // This makes sure we only open a cache if all requests succeeded. + let allOk = true; + + for (const response of responses) + { + if (!response.ok) + { + allOk = false; + console.error(CONSOLE_PREFIX + "Error fetching '" + response.url + "' (" + response.status + " " + response.statusText + ")"); + } + } + + if (!allOk) + throw new Error("not all resources were fetched successfully"); + + // Can now assume all responses are OK. Open a cache and write all responses there. + // TODO: ideally we can do this transactionally to ensure a complete cache is written as one atomic operation. + // This needs either new transactional features in the spec, or at the very least a way to rename a cache + // (so we can write to a temporary name that won't be returned by GetAvailableCacheNames() and then rename it when ready). + const cache = await caches.open(cacheName); + + try { + return await Promise.all(responses.map( + (response, i) => cache.put(fileList[i], response) + )); + } + catch (err) + { + // Not sure why cache.put() would fail (maybe if storage quota exceeded?) but in case it does, + // clean up the cache to try to avoid leaving behind an incomplete cache. + console.error(CONSOLE_PREFIX + "Error writing cache entries: ", err); + caches.delete(cacheName); + throw err; + } +}; + +async function UpdateCheck(isFirst) +{ + try { + // Always bypass cache when requesting offline.js to make sure we find out about new versions. + const response = await fetchWithBypass(OFFLINE_DATA_FILE, true); + + if (!response.ok) + throw new Error(OFFLINE_DATA_FILE + " responded with " + response.status + " " + response.statusText); + + const data = await response.json(); + + const version = data.version; + const fileList = data.fileList; + const lazyLoadList = data.lazyLoad; + const currentCacheName = GetCacheVersionName(version); + + const cacheExists = await caches.has(currentCacheName); + + // Don't recache if there is already a cache that exists for this version. Assume it is complete. + if (cacheExists) + { + // Log whether we are up-to-date or pending an update. + const isUpdatePending = await IsUpdatePending(); + if (isUpdatePending) + { + console.log(CONSOLE_PREFIX + "Update pending"); + Broadcast("update-pending"); + } + else + { + console.log(CONSOLE_PREFIX + "Up to date"); + Broadcast("up-to-date"); + } + return; + } + + // Implicitly add the main page URL to the file list, e.g. "index.html", so we don't have to assume a specific name. + const mainPageUrl = await GetMainPageUrl(); + + // Prepend the main page URL to the file list if we found one and it is not already in the list. + // Also make sure we request the base / which should serve the main page. + fileList.unshift("./"); + + if (mainPageUrl && fileList.indexOf(mainPageUrl) === -1) + fileList.unshift(mainPageUrl); + + console.log(CONSOLE_PREFIX + "Caching " + fileList.length + " files for offline use"); + + if (isFirst) + Broadcast("downloading"); + else + BroadcastDownloadingUpdate(version); + + // Note we don't bypass the cache on the first update check. This is because SW installation and the following + // update check caching will race with the normal page load requests. For any normal loading fetches that have already + // completed or are in-flight, it is pointless and wasteful to cache-bust the request for offline caching, since that + // forces a second network request to be issued when a response from the browser HTTP cache would be fine. + if (lazyLoadList) + await WriteLazyLoadListToStorage(lazyLoadList); // dump lazy load list to local storage# + + await CreateCacheFromFileList(currentCacheName, fileList, !isFirst); + const isUpdatePending = await IsUpdatePending(); + + if (isUpdatePending) + { + console.log(CONSOLE_PREFIX + "All resources saved, update ready"); + BroadcastUpdateReady(version); + } + else + { + console.log(CONSOLE_PREFIX + "All resources saved, offline support ready"); + Broadcast("offline-ready"); + } + } + catch (err) + { + // Update check fetches fail when we're offline, but in case there's any other kind of problem with it, log a warning. + console.warn(CONSOLE_PREFIX + "Update check failed: ", err); + } +}; + +self.addEventListener("install", event => +{ + // On install kick off an update check to cache files on first use. + // If it fails we can still complete the install event and leave the SW running, we'll just + // retry on the next navigate. + event.waitUntil( + UpdateCheck(true) // first update + .catch(() => null) + ); +}); + +async function GetCacheNameToUse(availableCacheNames, doUpdateCheck) +{ + // Prefer the oldest cache available. This avoids mixed-version responses by ensuring that if a new cache + // is created and filled due to an update check while the page is running, we keep returning resources + // from the original (oldest) cache only. + if (availableCacheNames.length === 1 || !doUpdateCheck) + return availableCacheNames[0]; + + // We are making a navigate request with more than one cache available. Check if we can expire any old ones. + const allClients = await clients.matchAll(); + + // If there are other clients open, don't expire anything yet. We don't want to delete any caches they + // might be using, which could cause mixed-version responses. + if (allClients.length > 1) + return availableCacheNames[0]; + + // Identify newest cache to use. Delete all the others. + const latestCacheName = availableCacheNames[availableCacheNames.length - 1]; + console.log(CONSOLE_PREFIX + "Updating to new version"); + + await Promise.all( + availableCacheNames.slice(0, -1) + .map(c => caches.delete(c)) + ); + + return latestCacheName; +}; + +async function HandleFetch(event, doUpdateCheck) +{ + const availableCacheNames = await GetAvailableCacheNames(); + + // No caches available: go to network + if (!availableCacheNames.length) + return fetch(event.request); + + const useCacheName = await GetCacheNameToUse(availableCacheNames, doUpdateCheck); + const cache = await caches.open(useCacheName); + const cachedResponse = await cache.match(event.request); + + if (cachedResponse) + return cachedResponse; // use cached response + + // We need to check if this request is to be lazy-cached. Send the request and load the lazy-load list + // from storage simultaneously. + const result = await Promise.all([fetch(event.request), ReadLazyLoadListFromStorage()]); + const fetchResponse = result[0]; + const lazyLoadList = result[1]; + + if (IsUrlInLazyLoadList(event.request.url, lazyLoadList)) + { + // Handle failure writing to the cache. This can happen if the storage quota is exceeded, which is particularly + // likely in Safari 11.1, which appears to have very tight storage limits. Make sure even in the event of an error + // we continue to return the response from the fetch. + try { + // Note clone response since we also respond with it + await cache.put(event.request, fetchResponse.clone()); + } + catch (err) + { + console.warn(CONSOLE_PREFIX + "Error caching '" + event.request.url + "': ", err); + } + } + + return fetchResponse; +}; + +self.addEventListener("fetch", event => +{ + /** NOTE (iain) + * This check is to prevent a bug with XMLHttpRequest where if its + * proxied with "FetchEvent.prototype.respondWith" no upload progress + * events are triggered. By returning we allow the default action to + * occur instead. Currently all cross-origin requests fall back to default. + */ + if (new URL(event.request.url).origin !== location.origin) + return; + + // Check for an update on navigate requests + const doUpdateCheck = (event.request.mode === "navigate"); + + const responsePromise = HandleFetch(event, doUpdateCheck); + + if (doUpdateCheck) + { + // allow the main request to complete, then check for updates + event.waitUntil( + responsePromise + .then(() => UpdateCheck(false)) // not first check + ); + } + + event.respondWith(responsePromise); +}); \ No newline at end of file diff --git a/games/ovo/1.4.4/thefall.png b/games/ovo/1.4.4/thefall.png new file mode 100644 index 00000000..b161da30 Binary files /dev/null and b/games/ovo/1.4.4/thefall.png differ diff --git a/games/ovo/1.4.4/theliljoker.png b/games/ovo/1.4.4/theliljoker.png new file mode 100644 index 00000000..eefc31bf Binary files /dev/null and b/games/ovo/1.4.4/theliljoker.png differ diff --git a/games/ovo/1.4.4/tips.json b/games/ovo/1.4.4/tips.json new file mode 100644 index 00000000..37577989 --- /dev/null +++ b/games/ovo/1.4.4/tips.json @@ -0,0 +1,30 @@ +[ + { + "text": "Did you know you could play this game on mobile?", + "frame": 0 + }, + { + "text": "Pressing R restarts the level. Shift + R resets the whole run in Play mode", + "frame": 0 + }, + { + "text": "Activate hard mode in the options if you're a tough player.", + "frame": 0 + }, + { + "text": "Activate advanced mode in the options to get level replays.", + "frame": 0 + }, + { + "text": "In advanced mode, your can toggle debug mode in the pause menu or using F2.", + "frame": 0 + }, + { + "text": "There is no Level 4C", + "frame": 0 + }, + { + "text": "On Desktop you can change the keys you wish to use for movement in the options", + "frame": 0 + } +] \ No newline at end of file diff --git a/games/ovo/1.4.4/topcharts.png b/games/ovo/1.4.4/topcharts.png new file mode 100644 index 00000000..9c4dce66 Binary files /dev/null and b/games/ovo/1.4.4/topcharts.png differ diff --git a/games/ovo/1.4.4/tutorials.png b/games/ovo/1.4.4/tutorials.png new file mode 100644 index 00000000..37a07730 Binary files /dev/null and b/games/ovo/1.4.4/tutorials.png differ diff --git a/games/ovo/1.4.4/unlockalllevels.js b/games/ovo/1.4.4/unlockalllevels.js new file mode 100644 index 00000000..3a59bdd1 --- /dev/null +++ b/games/ovo/1.4.4/unlockalllevels.js @@ -0,0 +1,564 @@ +// ================= CRAZY ADS =================== +// vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv + +function initWebSdkWrapper(debug = false) { + let config = globalThis.adconfig; + + let WebSdkWrapper = globalThis.WebSdkWrapper; + let postInit = () => { + WebSdkWrapper.onUnlockAllLevels(() => { + c2_callFunction("unlockAllLevels"); + }); + WebSdkWrapper.onPause(() => { + c2_callFunction("websdk > pause"); + }); + WebSdkWrapper.onResume(() => { + c2_callFunction("websdk > resume"); + }); + WebSdkWrapper.onMute(() => { + c2_callFunction("muteSounds"); + }); + WebSdkWrapper.onUnmute(() => { + c2_callFunction("unmuteSounds"); + }); + WebSdkWrapper.onAdStarted(() => { + c2_callFunction("adStarted"); + }); + }; + + try { + let json = JSON.parse(config); + if (json.hasOwnProperty("removeSocials")) { + globalThis.adconfigRemoveSocials = json.removeSocials ? 1 : 0; + } else { + globalThis.adconfigRemoveSocials = 0; + } + if (json.hasOwnProperty("stopAudioInBackground")) { + globalThis.adconfigStopAudioInBackground = json.stopAudioInBackground + ? 1 + : 0; + } else { + globalThis.adconfigStopAudioInBackground = 0; + } + if (json.hasOwnProperty("removeMidrollRewarded")) { + globalThis.adconfigRemoveMidrollRewarded = json.removeMidrollRewarded + ? 1 + : 0; + } else { + globalThis.adconfigRemoveMidrollRewarded = 0; + } + if (json.hasOwnProperty("noReligion")) { + globalThis.adconfigNoReligion = json.noReligion ? 1 : 0; + } else { + globalThis.adconfigNoReligion = 0; + } + WebSdkWrapper.init(json.name, !!debug, json).then(postInit); + } catch (e) { + WebSdkWrapper.init("", !!debug).then(postInit); + } +} + +var crazysdk; +window.adblockIsEnabled = false; +function crazyGamesLoaded() { + crazysdk = window.CrazyGames.CrazySDK.getInstance(); //Getting the SDK + crazysdk.init(); + crazysdk.addEventListener("adblockDetectionExecuted", function () { + window.adblockIsEnabled = crazysdk.hasAdblock; + }); + crazysdk.addEventListener("adStarted", function () { + c2_callFunction("muteSounds"); + c2_callFunction("adStarted"); + }); // mute sound + crazysdk.addEventListener("adFinished", function () { + c2_callFunction("adOver"); + }); // reenable sound, enable ui + crazysdk.addEventListener("adError", function () { + c2_callFunction("adOverFail"); + }); // reenable sound, enable ui + crazysdk.addEventListener("bannerRendered", (event) => { + console.log(`Banner for container ${event.containerId} has been + rendered!`); + }); + crazysdk.addEventListener("bannerError", (event) => { + console.log(`Banner render error: ${event.error}`); + }); + // crazyMidRoll(); +} + +function crazyRemoveBanner(id) { + //let div = document.getElementById(id); + //div.innerHTML = ""; +} + +function mobileCheck() { + let check = false; + (function (a) { + if ( + /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test( + a + ) || + /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test( + a.substr(0, 4) + ) + ) + check = true; + })(navigator.userAgent || navigator.vendor || window.opera); + return check; +} + +function crazyCreateBanner(id) { + let bannerSize = "728x90"; + if (mobileCheck() && window.innerHeight > window.innerWidth) { + bannerSize = "320x100"; + } + if (crazysdk) + crazysdk.requestBanner([ + { + containerId: id, + size: bannerSize, + }, + ]); +} + +function crazyHappyTime() { + globalThis.WebSdkWrapper.happyTime(); +} + +function crazyMidRoll() { + globalThis.WebSdkWrapper.interstitial().then((success) => { + if (success) c2_callFunction("adOver"); + else c2_callFunction("adOverFail"); + }); + // if (crazysdk) crazysdk.requestAd("midgame"); +} + +function crazyRewarded() { + globalThis.WebSdkWrapper.rewarded().then((success) => { + if (success) c2_callFunction("adOver"); + else c2_callFunction("adOverFail"); + }); + // if (crazysdk) crazysdk.requestAd("rewarded"); +} + +function crazyGameplayStart() { + globalThis.WebSdkWrapper.gameplayStart(); + // if (crazysdk) crazysdk.gameplayStart(); +} + +function crazyGameplayStop() { + globalThis.WebSdkWrapper.gameplayStop(); + // if (crazysdk) crazysdk.gameplayStop(); +} + +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +// ================= CRAZY ADS =================== + +// =================== DEBUG ===================== +// vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv + +function execCode(code) { + c2_callFunction("execCode", [code]); +} + +function dumpSave() { + c2_callFunction("dumpSave"); +} + +(function () { + function handleAnyTouchEvent() { + c2_callFunction("Save > Auto Update Mobile Mode"); + } + var el = document.getElementsByTagName("canvas")[0]; + el.addEventListener("touchstart", handleAnyTouchEvent, false); + el.addEventListener("touchend", handleAnyTouchEvent, false); + el.addEventListener("touchcancel", handleAnyTouchEvent, false); + el.addEventListener("touchleave", handleAnyTouchEvent, false); + el.addEventListener("touchmove", handleAnyTouchEvent, false); +})(); + +function isIpad() { + const ua = window.navigator.userAgent; + if (ua.indexOf("iPad") > -1) { + return true; + } + + if (ua.indexOf("Macintosh") > -1) { + try { + document.createEvent("TouchEvent"); + return true; + } catch (e) {} + } + + return false; +} + +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +// =================== DEBUG ===================== + +// ================= LANGUAGES =================== +// vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv + +function tsvToArray(tsv) { + let tempArr = tsv.split(/\r?\n|\r/); + return tempArr.map((x) => x.split("\t")); +} + +function mergeInstanceVars() { + let saved = JSON.parse(globalThis.savedVars); + let real = JSON.parse(globalThis.curVars); + return JSON.stringify( + real.map((val, i) => (i < saved.length ? saved[i] : val)) + ); +} + +function detectLanguage() { + let langs = Object.keys(globalThis.languageJSON.languages); + var userLangs = navigator.language || navigator.userLanguage; + userLangs = navigator.languages || [userLangs]; + let compareLangs = (lang, curLang) => { + if (curLang.toLowerCase() === lang.slice(0, curLang.length).toLowerCase()) { + return true; + } + let subLang = curLang.split("-")[0]; + return ( + subLang.toLowerCase() === lang.slice(0, subLang.length).toLowerCase() + ); + }; + for (let i = 0; i < userLangs.length; i++) { + let curLang = userLangs[i]; + let res = langs.find(compareLangs.bind(null, curLang)); + if (res) return res; + } + return "en-us"; +} + +function translateTips(locale) { + if (!localeExists(locale)) locale = detectLanguage(); + let tips = globalThis.gatheredTips; + let json = JSON.parse(tips); + let res = json.map((tip, index) => { + key = `tip${index + 1}`; + return { + text: getLanguageValue(locale, key, "text", tip.text, ""), + frame: tip.frame, + }; + }); + if (globalThis.adconfigRemoveSocials) { + globalThis.tmptmp = res; + res = res.filter((x) => !x.text.includes("discord")); + } + return JSON.stringify(res); +} + +async function getTranslations() { + let result = await fetch( + "https://docs.google.com/spreadsheets/d/e/2PACX-1vSOU_pMce0njTy64pTFVI7yLN2t5ReGYaRCmJDdj_KRSSbAEL7XPixR80X4Jzm0r8sDL0KHq1QRkVGC/pub?output=tsv" + ); + let data = await result.text(); + let array = tsvToArray(data); + const json = {}; + json.version = array[0][0]; + const length = array[1].length; + json.languages = {}; + + const startX = 4; + const startY = 3; + const colsPerLang = 2; + const idColumn = 2; + const langRow = 1; + const langIdRow = 2; + const rowsPerLine = 1; + for (let i = startX; i < length; i += colsPerLang) { + json.languages[array[langIdRow][i]] = array[langRow][i]; + } + json.data = {}; + for (let i = startY; i < array.length; i += rowsPerLine) { + for (let j = startX; j < length; j += colsPerLang) { + json.data[array[langIdRow][j]] = json.data[array[langIdRow][j]] || {}; + if (json.data[array[langIdRow][j]][array[i][idColumn]]) { + console.warn("key " + array[i][idColumn] + "already exists"); + } + json.data[array[langIdRow][j]][array[i][idColumn]] = { + text: array[i][j], + extra: [], + }; + for (let k = 1; k < colsPerLang; k++) { + try { + let extrajson = JSON.parse(array[i][j + k]); + Object.keys(extrajson).forEach((key) => { + if (key === "text" || key === "extra") return; + json.data[array[langIdRow][j]][array[i][idColumn]][key] = + extrajson[key]; + }); + } catch (e) { + json.data[array[langIdRow][j]][array[i][idColumn]].extra.push( + array[i][j + k] + ); + } + } + } + } + c2_callFunction("Language > LoadLanguageFile", [JSON.stringify(json)]); + globalThis.languageJSON = json; + return json; +} + +function listLanguages() { + return JSON.stringify( + Object.keys(globalThis.languageJSON.languages).map((lang) => ({ + anim: lang.replace("-", ""), + name: globalThis.languageJSON.languages[lang], + })) + ); +} + +function getLocale(index) { + return Object.keys(globalThis.languageJSON.languages)[index]; +} + +function levenshteinDistance(str1 = "", str2 = "") { + const track = Array(str2.length + 1) + .fill(null) + .map(() => Array(str1.length + 1).fill(null)); + for (let i = 0; i <= str1.length; i += 1) { + track[0][i] = i; + } + for (let j = 0; j <= str2.length; j += 1) { + track[j][0] = j; + } + for (let j = 1; j <= str2.length; j += 1) { + for (let i = 1; i <= str1.length; i += 1) { + const indicator = str1[i - 1] === str2[j - 1] ? 0 : 1; + track[j][i] = Math.min( + track[j][i - 1] + 1, // deletion + track[j - 1][i] + 1, // insertion + track[j - 1][i - 1] + indicator // substitution + ); + } + } + return track[str2.length][str1.length]; +} + +function getLocaleName(locale) { + if (!localeExists(locale)) locale = detectLanguage(); + if ( + globalThis.languageJSON && + globalThis.languageJSON.languages.hasOwnProperty(locale) + ) + return globalThis.languageJSON.languages[locale]; + return "Unknown"; +} + +function setLanguageJSON() { + globalThis.languageJSON = JSON.parse(globalThis.tempLanguageJSON); +} + +function languageKeyExists(locale, key) { + if (key.trim() === "") return 0; + if (!localeExists(locale)) locale = detectLanguage(); + return globalThis.languageJSON.data[locale].hasOwnProperty(key) ? 1 : 0; +} + +let cache = {}; + +function findLanguageKey(locale, text) { + if (!localeExists(locale)) locale = detectLanguage(); + if (cache[locale] && cache[locale][text]) return cache[locale][text]; + let localeData = globalThis.languageJSON.data[locale]; + let key = Object.keys(localeData).find( + (key) => + levenshteinDistance( + localeData[key].text.toLowerCase(), + text.toLowerCase() + ) <= Math.min(3, Math.floor(text.length / 5)) + ); + console.log(key); + if (key) { + cache[locale] = cache[locale] || {}; + cache[locale][text] = key; + return key; + } + cache[locale] = cache[locale] || {}; + cache[locale][text] = ""; + return ""; +} + +function processString(string, ...params) { + params.forEach((param, i) => { + string = string.replace(`{${i}}`, param.toString()); + }); + return string; +} + +function localeExists(locale) { + return ( + globalThis.languageJSON && + globalThis.languageJSON.languages.hasOwnProperty(locale) + ); +} + +var __ovoIsSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); + +function doGetLanguageValue(locale, key, value, defaultValue, metadata) { + if (!localeExists(locale)) locale = detectLanguage(); + if (key !== "" && languageKeyExists(locale, key) === 1) { + let data = globalThis.languageJSON.data[locale][key]; + if (data.hasOwnProperty(value)) return data[value]; + } + if (metadata !== "") { + try { + let obj = JSON.parse(metadata); + if (obj.hasOwnProperty(value)) return obj[value]; + return defaultValue; + } catch (e) {} + } + return defaultValue; +} + +function getLanguageValue(locale, key, value, defaultValue, metadata) { + let ret = doGetLanguageValue(locale, key, value, defaultValue, metadata); + if ( + __ovoIsSafari && + value.trim().toLowerCase() === "aligny" && + ret < 90 && + ret > 10 + ) + return 50; + if (globalThis.adconfigNoReligion === 1) { + if ( + locale === "en-us" && + value.trim().toLowerCase() === "text" && + ret === "Hellish" + ) + return "Dangerous"; + if ( + locale === "en-us" && + value.trim().toLowerCase() === "text" && + ret === "Hellish" + ) + return "Dangerous"; + if ( + locale === "en-us" && + value.trim().toLowerCase() === "text" && + ret === "Coin God" + ) + return "Coin Master"; + } + return ret; +} + +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +// ================= LANGUAGES =================== + +// =============== LZMA COMPRESS ================= +// vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv + +function compressReplay(replay) { + LZMA_WORKER.compress(replay, "1", function (result, error) { + if (error) console.error(error); + else c2_callFunction("replayCompressed", [convert_to_formated_hex(result)]); + }); +} + +function decompressReplay(replay) { + var byte_arr = convert_formated_hex_to_bytes(replay); + if (byte_arr == false) { + alert("invalid replay file"); + return false; + } + LZMA_WORKER.decompress(byte_arr, function (result, error) { + if (error) console.error(error); + else c2_callFunction("replayDecompressed", [result]); + }); +} + +function convert_formated_hex_to_bytes(hex_str) { + var count = 0, + hex_arr, + hex_data = [], + hex_len, + i; + + if (hex_str.trim() == "") return []; + + /// Check for invalid hex characters. + if (/[^0-9a-fA-F\s]/.test(hex_str)) { + return false; + } + + hex_arr = hex_str.split(/([0-9a-fA-F]+)/g); + hex_len = hex_arr.length; + + for (i = 0; i < hex_len; ++i) { + if (hex_arr[i].trim() == "") { + continue; + } + hex_data[count++] = parseInt(hex_arr[i], 16); + } + + return hex_data; +} + +function convert_formated_hex_to_string(s) { + var byte_arr = convert_formated_hex_to_bytes(s); + var res = ""; + for (var i = 0; i < byte_arr.length; i += 2) { + res += String.fromCharCode(byte_arr[i] | (byte_arr[i + 1] << 8)); + } + return res; +} + +function convert_string_to_hex(s) { + var byte_arr = []; + for (var i = 0; i < s.length; i++) { + var value = s.charCodeAt(i); + byte_arr.push(value & 255); + byte_arr.push((value >> 8) & 255); + } + return convert_to_formated_hex(byte_arr); +} + +function is_array(input) { + return typeof input === "object" && input instanceof Array; +} + +function convert_to_formated_hex(byte_arr) { + var hex_str = "", + i, + len, + tmp_hex; + + if (!is_array(byte_arr)) { + return false; + } + + len = byte_arr.length; + + for (i = 0; i < len; ++i) { + if (byte_arr[i] < 0) { + byte_arr[i] = byte_arr[i] + 256; + } + if (byte_arr[i] === undefined) { + alert("Boom " + i); + byte_arr[i] = 0; + } + tmp_hex = byte_arr[i].toString(16); + + // Add leading zero. + if (tmp_hex.length == 1) tmp_hex = "0" + tmp_hex; + + if ((i + 1) % 16 === 0) { + tmp_hex += "\n"; + } else { + tmp_hex += " "; + } + + hex_str += tmp_hex; + } + + return hex_str.trim(); +} + +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +// =============== LZMA COMPRESS ================= diff --git a/games/ovo/1.4.4/velocity.png b/games/ovo/1.4.4/velocity.png new file mode 100644 index 00000000..239953c5 Binary files /dev/null and b/games/ovo/1.4.4/velocity.png differ diff --git a/games/ovo/1.4.4/websdkwrapper.js b/games/ovo/1.4.4/websdkwrapper.js new file mode 100644 index 00000000..5a2303cc --- /dev/null +++ b/games/ovo/1.4.4/websdkwrapper.js @@ -0,0 +1,559 @@ +globalThis.WebSdkWrapper = (function () { + function addScript(src, id, onload) { + if (document.getElementById(id)) return; + let fjs = document.getElementsByTagName("script")[0]; + let js = document.createElement("script"); + js.id = id; + fjs.parentNode.insertBefore(js, fjs); + js.onload = onload; + js.src = src; + } + + window.addEventListener("keydown", (ev) => { + if (["ArrowDown", "ArrowUp", " "].includes(ev.key)) { + ev.preventDefault(); + } + }); + window.addEventListener("wheel", (ev) => ev.preventDefault(), { + passive: false, + }); + + /* + ============== EVENT DISPATCHER ================= + vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv + */ + const events = {}; + + function listen(event, fn, { once = false } = {}) { + events[event] = events[event] || []; + events[event].push({ + fn, + once, + }); + } + + function listenOnce(event, fn) { + listen(event, fn, { once: true }); + } + + function dispatch(event, ...data) { + (events[event] || []).forEach((fnObj) => { + fnObj.fn(...data); + }); + events[event] = (events[event] || []).filter((fnObj) => !fnObj.once); + } + /* + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ============== EVENT DISPATCHER ================= + */ + let sdk; + const sdkContext = {}; + let supportedNetworks = [ + { + name: "Poki", + get sdk() { + return globalThis.PokiSDK; + }, + scriptSrc: "//game-cdn.poki.com/scripts/v2/poki-sdk.js", + hasAds: true, + hasBanner: false, + enableOnlyInProduction: false, + implementation: { + //async preInit(debug = false) {}, + init(debug = false) { + return new Promise((resolve) => { + sdk + .init() + .then(() => { + sdkContext.hasAdblock = false; + resolve(); + }) + .catch(() => { + sdkContext.hasAdblock = true; + resolve(); + }); + sdk.setDebug(debug); + }); + }, + setUpEventListeners() { + listen("loadingStart", () => { + sdk.gameLoadingStart(); + }); + listen("loadingEnd", () => { + sdk.gameLoadingFinished(); + }); + listen("gameplayStart", () => { + if (sdkContext.gameplayStarted) return; + sdkContext.gameplayStarted = true; + sdk.gameplayStart(); + }); + listen("gameplayStop", () => { + if (!sdkContext.gameplayStarted) return; + sdkContext.gameplayStarted = false; + sdk.gameplayStop(); + }); + listen("interstitial", () => { + dispatch("adStarted", sdkContext.lastRequestedAd); + sdk.commercialBreak().then(() => { + dispatch("interstitialEnd", true); + }); + }); + listen("rewarded", () => { + dispatch("adStarted", sdkContext.lastRequestedAd); + sdk.rewardedBreak().then((success) => { + dispatch("rewardedEnd", success); + }); + }); + listen("happyTime", (scale) => { + sdk.happyTime(scale); + }); + }, + hasAdblock() { + return !!sdkContext.hasAdblock; + }, + }, + }, + { + name: "CrazyGames", + get sdk() { + if (!sdkContext.crazysdk) + sdkContext.crazysdk = globalThis?.CrazyGames?.CrazySDK?.getInstance(); + return sdkContext.crazysdk; + }, + scriptSrc: "//sdk.crazygames.com/crazygames-sdk-v1.js", + hasAds: true, + enableOnlyInProduction: false, + hasBanner: true, + implementation: { + //async preInit(debug = false) {}, + init() { + return new Promise((resolve) => { + sdk.addEventListener("adblockDetectionExecuted", (event) => { + sdkContext.hasAdblock = event.hasAdblock; + resolve(); + }); + sdk.init(); + }); + }, + setUpEventListeners() { + sdk.addEventListener("adStarted", () => { + dispatch("adStarted", sdkContext.lastRequestedAd); + }); + sdk.addEventListener("adFinished", () => { + if (sdkContext.lastRequestedAd === "interstitial") + dispatch("interstitialEnd", true); + else dispatch("rewardedEnd", true); + }); + sdk.addEventListener("adFinished", () => { + if (sdkContext.lastRequestedAd === "interstitial") + dispatch("interstitialEnd", true); + else dispatch("rewardedEnd", true); + }); + sdk.addEventListener("adError", () => { + if (sdkContext.lastRequestedAd === "interstitial") + dispatch("interstitialEnd", false); + else dispatch("rewardedEnd", false); + }); + listen("gameplayStart", () => { + if (sdkContext.gameplayStarted) return; + sdkContext.gameplayStarted = true; + sdk.gameplayStart(); + }); + listen("gameplayStop", () => { + if (!sdkContext.gameplayStarted) return; + sdkContext.gameplayStarted = false; + sdk.gameplayStop(); + }); + listen("interstitial", () => { + sdkContext.lastRequestedAd = "interstitial"; + sdk.requestAd("midgame"); + }); + listen("rewarded", () => { + sdkContext.lastRequestedAd = "rewarded"; + sdk.requestAd("rewarded"); + }); + listen("happyTime", () => { + sdk.happytime(); + }); + listen("banner", (data) => { + sdk.requestBanner(data); + }); + }, + hasAdblock() { + return !!sdkContext.hasAdblock; + }, + }, + }, + { + name: "GamePix", + get sdk() { + return globalThis.GamePix; + }, + scriptSrc: "//integration.gamepix.com/sdk/v3/gamepix.sdk.js", + hasAds: true, + enableOnlyInProduction: true, + hasBanner: false, + implementation: { + //async preInit(debug = false) {}, + //init() {}, + setUpEventListeners() { + listen("loadingProgress", (progress) => { + sdk.loading(progress); + }); + listen("loadingEnd", () => { + sdk.loaded(); + }); + sdk.pause = () => { + dispatch("pause"); + }; + sdk.resume = () => { + dispatch("resume"); + }; + listen("levelStart", (level) => { + sdk.updateLevel(level); + }); + listen("score", (score) => { + sdk.updateScore(score); + }); + listen("interstitial", () => { + dispatch("adStarted", sdkContext.lastRequestedAd); + sdk.interstitialAd().then(() => { + dispatch("interstitialEnd", true); + }); + }); + listen("rewarded", () => { + dispatch("adStarted", sdkContext.lastRequestedAd); + sdk.rewardAd().then((res) => { + dispatch("rewardedEnd", res.success); + }); + }); + listen("happyTime", () => { + sdk.happyMoment(); + }); + }, + hasAdblock() { + return false; + }, + }, + }, + { + name: "GameDistribution", + get sdk() { + return globalThis.gdsdk; + }, + scriptSrc: "//html5.api.gamedistribution.com/main.min.js", + hasAds: true, + enableOnlyInProduction: true, + hasBanner: false, + implementation: { + async preInit(debug = false, data) { + sdkContext.errors = 0; + window["GD_OPTIONS"] = { + gameId: data.gameId, + debug, + testing: debug, + onEvent: function (event) { + switch (event.name) { + case "SDK_GAME_START": + sdkContext.errors = 0; + // if (sdkContext.lastRequestedAd === "interstitial") + // dispatch("interstitialEnd", true); + // else dispatch("rewardedEnd", true); + break; + case "SDK_GAME_PAUSE": + dispatch("pause"); + break; + case "SDK_GDPR_TRACKING": + // this event is triggered when your user doesn't want to be tracked + break; + case "SDK_GDPR_TARGETING": + // this event is triggered when your user doesn't want personalised targeting of ads and such + break; + case "AD_ERROR": + sdkContext.errors += 1; + // if (sdkContext.errors >= 2) { + // if (sdkContext.lastRequestedAd === "interstitial") + // dispatch("interstitialEnd", false); + // else dispatch("rewardedEnd", false); + // } else { + // dispatch(sdkContext.lastRequestedAd); + // } + break; + } + }, + }; + }, + //init() {}, + setUpEventListeners() { + listen("interstitial", () => { + sdkContext.lastRequestedAd = "interstitial"; + dispatch("adStarted", sdkContext.lastRequestedAd); + sdk + .showAd() + .then((response) => { + dispatch("interstitialEnd", true); + }) + .catch((error) => { + dispatch("interstitialEnd", false); + }); + }); + listen("rewarded", () => { + sdkContext.lastRequestedAd = "rewarded"; + dispatch("adStarted", sdkContext.lastRequestedAd); + sdk + .showAd("rewarded") + .then((response) => { + dispatch("rewardedEnd", true); + }) + .catch((error) => { + dispatch("rewardedEnd", false); + }); + }); + }, + hasAdblock() { + return false; + }, + }, + }, + { + name: "GameMonetize", + get sdk() { + return globalThis.sdk; + }, + scriptSrc: "//html5.api.gamedistribution.com/main.min.js", + hasAds: true, + enableOnlyInProduction: true, + hasBanner: false, + implementation: { + async preInit(debug = false, data) { + window["SDK_OPTIONS "] = { + gameId: data.gameId, + debug, + testing: debug, + onEvent: function (event) { + switch (event.name) { + case "SDK_GAME_START": + if (sdkContext.lastRequestedAd === "interstitial") + dispatch("interstitialEnd", true); + else dispatch("rewardedEnd", true); + break; + case "SDK_GAME_PAUSE": + dispatch("pause"); + break; + case "SDK_GDPR_TRACKING": + // this event is triggered when your user doesn't want to be tracked + break; + case "SDK_GDPR_TARGETING": + // this event is triggered when your user doesn't want personalised targeting of ads and such + break; + case "AD_ERROR": + sdkContext.errors += 1; + if (sdkContext.errors >= 2) { + if (sdkContext.lastRequestedAd === "interstitial") + dispatch("interstitialEnd", false); + else dispatch("rewardedEnd", false); + } else { + dispatch(sdkContext.lastRequestedAd); + } + break; + } + }, + }; + }, + //init() {}, + setUpEventListeners() { + listen("interstitial", () => { + dispatch("adStarted", sdkContext.lastRequestedAd); + sdk.showBanner(); + }); + listen("rewarded", () => { + dispatch("adStarted", sdkContext.lastRequestedAd); + sdk.showBanner(); + }); + }, + hasAdblock() { + return false; + }, + }, + }, + { + name: "CoolMathGames", + get sdk() { + return null; + }, + scriptSrc: null, + hasAds: false, + enableOnlyInProduction: true, + hasBanner: false, + implementation: { + //async preInit(debug = false, data) {}, + init() {}, + setUpEventListeners() { + listen("replayLevel", (level) => { + parent.cmgGameEvent("replay", level.toString()); + }); + listen("gameplayStart", () => { + parent.cmgGameEvent("start"); + }); + listen("levelStart", (level) => { + parent.cmgGameEvent("start", level.toString()); + }); + }, + hasAdblock() { + return false; + }, + }, + }, + ]; + + let currentSdk = null; + let enabled = false; + const Wrapper = { + get enabled() { + return enabled; + }, + get currentSdk() { + return currentSdk; + }, + async init(name, debug = false, data = {}) { + return new Promise(async (resolve) => { + currentSdk = supportedNetworks.find( + (x) => x.name.toLowerCase() === name.toLowerCase() + ); + if (currentSdk) { + enabled = true; + if (currentSdk.enableOnlyInProduction && debug) { + enabled = false; + resolve(); + } else { + if (currentSdk.implementation.preInit) + await currentSdk.implementation.preInit(debug, data); + if (currentSdk.scriptSrc) { + addScript( + currentSdk.scriptSrc, + currentSdk.name + "-jssdk", + async () => { + sdk = currentSdk.sdk; + currentSdk.implementation.setUpEventListeners(); + if (currentSdk.implementation.init) + await currentSdk.implementation.init(debug, data); + resolve(); + } + ); + } else { + resolve(); + } + } + } else { + resolve(); + } + }); + }, + onPause(fn) { + listen("pause", fn); + }, + pause() { + dispatch("pause"); + }, + onResume(fn) { + listen("resume", fn); + }, + resume() { + dispatch("resume"); + }, + onMute(fn) { + listen("mute", fn); + }, + mute() { + dispatch("mute"); + }, + onUnmute(fn) { + listen("unmute", fn); + }, + unmute() { + dispatch("unmute"); + }, + onUnlockAllLevels(fn) { + window.unlockAllLevels = fn; + }, + hasAdblock() { + if (currentSdk && currentSdk.implementation.hasAdblock) + return currentSdk.implementation.hasAdblock(); + return false; + }, + loadingStart() { + dispatch("loadingStart"); + }, + loadingProgress(progress) { + progress = Math.min(Math.max(0, progress), 100); + dispatch("loadingProgress", progress); + }, + loadingEnd() { + dispatch("loadingEnd"); + }, + gameplayStart() { + dispatch("gameplayStart"); + }, + gameplayStop() { + dispatch("gameplayStop"); + }, + happyTime() { + dispatch("happyTime"); + }, + levelStart(level) { + dispatch("levelStart", level); + }, + replayLevel(level) { + dispatch("replayLevel", level); + }, + score(score) { + dispatch("score", score); + }, + banner(data) { + dispatch("banner", data); + }, + interstitial() { + sdkContext.lastRequestedAd = "interstitial"; + if (!currentSdk || !currentSdk.hasAds) { + dispatch("adStarted", sdkContext.lastRequestedAd); + return Promise.resolve(false); + } + return new Promise((resolve) => { + let gameplayStarted = sdkContext.gameplayStarted; + if (gameplayStarted) Wrapper.gameplayStop(); + Wrapper.mute(); + dispatch("interstitial"); + listenOnce("interstitialEnd", (...args) => { + if (gameplayStarted) Wrapper.gameplayStart(); + Wrapper.unmute(); + resolve(...args); + }); + }); + }, + rewarded() { + sdkContext.lastRequestedAd = "rewarded"; + if (!currentSdk || !currentSdk.hasAds) { + dispatch("adStarted", sdkContext.lastRequestedAd); + return Promise.resolve(false); + } + return new Promise((resolve) => { + let gameplayStarted = sdkContext.gameplayStarted; + if (gameplayStarted) Wrapper.gameplayStop(); + Wrapper.mute(); + dispatch("rewarded"); + listenOnce("rewardedEnd", (...args) => { + if (gameplayStarted) Wrapper.gameplayStart(); + Wrapper.unmute(); + resolve(...args); + }); + }); + }, + onAdStarted(fn) { + listen("adStarted", fn); + }, + hasAds() { + return currentSdk && currentSdk.hasAds ? 1 : 0; + }, + }; + return Wrapper; +})(); diff --git a/games/ovo/2.0.2alpha/courses.json b/games/ovo/2.0.2alpha/courses.json new file mode 100644 index 00000000..32f99c6a --- /dev/null +++ b/games/ovo/2.0.2alpha/courses.json @@ -0,0 +1,3 @@ +[ + "Main course.json" +] \ No newline at end of file diff --git a/games/ovo/2.0.2alpha/data.json b/games/ovo/2.0.2alpha/data.json new file mode 100644 index 00000000..1149e28d --- /dev/null +++ b/games/ovo/2.0.2alpha/data.json @@ -0,0 +1 @@ +{"project":["OvO 2","Level 1-1",[[0,true,false,false,false,false,false,false,false,false],[1,true,false,false,false,false,false,false,false,false],[2,false,false,false,false,false,false,false,false,false],[3,false,false,false,false,false,false,false,false,false],[4,true,false,false,false,false,false,false,false,false],[5,true,false,false,false,false,false,false,false,false],[6,true,false,false,false,false,false,false,false,false],[7,true,false,false,false,false,false,false,false,false],[8,false,false,false,false,false,false,false,false,false],[9,true,false,false,false,false,false,false,false,false],[10,false,true,true,true,true,true,true,true,false],[14,false,true,true,true,true,true,true,true,true],[23,false,true,true,true,true,true,true,true,true],[26,false,false,false,false,false,false,false,false,false],[28,true,false,false,false,false,false,false,false,false],[29,true,false,false,false,false,false,false,false,false],[30,true,false,false,false,false,false,false,false,false],[31,true,false,false,false,false,false,false,false,false],[32,false,true,true,true,false,false,false,false,false],[33,false,true,true,true,true,true,true,true,false],[34,false,true,true,true,"c3",true,true,true,true],[35,false,true,true,false,true,true,true,true,true]],[["InputManager",0,false,[],0,0,null,null,[],false,false,279987189644740,[],null,0,[]],["Keyboard",1,false,[],0,0,null,null,[],false,false,662842206434534,[],null,1,[]],["InputBuffer",2,false,[],0,0,null,null,[],true,false,623242306381439,[],null,2],["Inputs",3,false,[[680667607516104,1,"LeftInput",3],[470172681955858,1,"UpInput",4],[134600316071556,1,"RightInput",5],[709547085971700,1,"DownInput",6],[466194925369523,0,"Listening",7],[164243118476182,1,"Next",8]],0,0,null,null,[],true,false,191992680373031,[],null,9],["Mouse",4,false,[],0,0,null,null,[],false,false,536065370894437,[],null,10,[]],["Browser",5,false,[],0,0,null,null,[],false,false,247937301776409,[],null,11,[]],["Audio",6,false,[],0,0,null,null,[],false,false,383434567713666,[],null,12,[0,0,false,0,1,1,600,600,10000,1]],["Globals",3,false,[[158986441620062,0,"Down",13],[681583707149500,0,"PerLevel",14],[385456392745867,1,"StartTime",15],[306004882991515,1,"ScoreBase",16],[224540154811314,0,"StartOfGame",17],[981620889339422,0,"BlowSave",18],[203011690923678,2,"Skin",19],[938100776584257,1,"NbLevels",20],[195086981709969,0,"DebugMode",21],[146507020884525,0,"RandomSkin",22],[502150651729053,0,"TestMode",23],[994004783847150,2,"LastLayout",24],[148683702544219,0,"Record",25],[819600593249674,0,"EasyMode",26]],0,0,null,null,[],true,false,152472801035076,[],null,27],["MagiCam",7,false,[],0,0,null,null,[],false,false,561830064056091,[],null,28,[]],["RecordedPlayer",2,false,[],0,0,null,null,[],true,false,496680540569909,[],null,29],["SkinGroup",8,false,[],0,0,null,null,[],true,false,235186545831128,[],null,30],["GlobalRuntime",9,false,[],0,0,null,null,[],false,false,913544005786677,[],null,31,["sdk_runtime"]],["Collider",10,false,[[358325539946631,2,"State",32],[356782072416848,0,"Walljump",33],[952917189100954,0,"HasSmallWalljumped",34],[209408651029031,1,"Side",35],[356973731332670,0,"CanSlide",36],[620002182012554,0,"Sliding",37],[342498379673966,1,"SlideTime",38],[639926130513740,1,"SlideRefresh",39],[671682453127985,0,"Plunge",40],[155241724915410,0,"Pound",41],[162192034680922,0,"CanPoundLongJump",42],[435073651399886,0,"PoundLongJump",43],[381696736049912,0,"Stun",44],[695219187985458,0,"LongJump",45],[445741842409593,0,"WallRun",46],[530722754506124,0,"CanWallRun",47],[934558042230878,1,"WallRunTime",48],[530651170439909,0,"Falling",49],[692537509978235,2,"Skin",19],[648058321941005,1,"HitBuffer",50],[949176827202195,1,"HitBufferCount",51],[542303258903702,0,"Slipping",52],[547747994506135,0,"Ghost",53],[764404748336026,2,"GhostData",54],[454857469222575,1,"ColBuffer",55],[361054051050577,1,"ColBufferCount",56],[134513652162210,1,"NormalAngle",57],[593545337814855,1,"MaxSpeed",58],[363847779798559,1,"TopCrushSize",59],[349666317674524,1,"RightCrushSize",60],[347823558597866,1,"LeftCrushSize",61],[901974215355518,1,"BottomCrushSize",62],[899017714269428,0,"wavebounce",63]],3,0,null,[["Default",0,false,1,0,false,631402986113030,[["images/shared-0-sheet5.png",48365,521,769,64,128,1,0.5,0.5,[["Bottom",0.5,1.328125],["BodyPos",0.5,0.625],["Right",1.8125,0.953125],["Left",-0.8125,0.984375],["leftRay",0.75,0.5],["rightRay",0.25,0.5],["bottomLeftRay",0.75,1.328125],["bottomRightRay",0.25,1.328125]],[0.25,-0.375,-0.25,-0.375,-0.25,0.5,0.25,0.5],0],["images/shared-0-sheet5.png",48365,587,897,128,64,1,0.5,0,[["Bottom",0.6328125,1.5],["BodyPos",0.5,0.875],["Right",1.4375,0.875],["Left",-0.40625,0.96875],["leftRay",0.875,0.5],["rightRay",0.390625,0.5],["bottomLeftRay",0.875,1.5],["bottomRightRay",0.390625,1.5]],[-0.125,0.25,0.375,0.2578125,0.375,1,-0.125,1],0]]]],[["Platform",11,981203010392786,64],["Timer",12,629376222541718,65],["LineOfSight",13,952016257555090,66]],false,false,311463419822641,[],null,67],["Solid",14,false,[],1,0,["images/solid-sheet0.png",108,0,0,0,8,8],null,[["Solid",15,372617062575112,68]],false,false,758486817554621,[],null,68],["ButtonTrigger",10,false,[[302308567419264,1,"ID",69],[180823996714860,0,"active",70],[341546762191057,0,"PersistAfterDeath",71],[855261174621340,1,"InitX",72],[637869213203805,1,"InitY",73],[807729422012839,1,"InitAngle",74],[752320249631383,0,"Repeatable",75],[388044659857909,2,"OnActivate",76]],1,0,null,[["Default",0,false,1,0,false,131685430022184,[["images/shared-0-sheet6.png",12909,199,321,32,32,1,0.5,0.5,[],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0],["images/shared-0-sheet6.png",12909,219,257,32,32,1,0.5,0.5,[],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]]],[["Persist",16,171125379681565,77]],false,false,152495212757238,[],null,78],["Coin",10,false,[[927820860278178,2,"CoinID",79]],2,0,null,[["Default",15,true,1,0,false,326605211698309,[["images/shared-0-sheet6.png",12909,1,257,64,64,20,0.5,0.5,[],[],0],["images/shared-0-sheet6.png",12909,133,257,64,64,2,0.5,0.5,[],[],0],["images/shared-0-sheet6.png",12909,67,257,64,64,1,0.5,0.5,[],[],0],["images/shared-0-sheet6.png",12909,1,129,64,64,1,0.5,0.5,[],[],0],["images/shared-0-sheet6.png",12909,135,129,64,64,1,0.5,0.5,[],[],0],["images/shared-0-sheet6.png",12909,69,129,64,64,1,0.5,0.5,[],[],0],["images/shared-0-sheet6.png",12909,135,1,64,64,2,0.5,0.5,[],[],0]]]],[["Bullet",17,270571795744648,80],["Fade",18,327139778237524,81]],false,false,933787001049805,[],null,82],["EndFlag",10,false,[[138134028503489,2,"NextLevel",83]],0,0,null,[["Default",5,false,1,0,false,764691740709197,[["images/shared-0-sheet3.png",77856,769,1537,194,398,1,0.525773,0.497487,[],[],0]]]],[],false,false,902073274804279,[],null,84],["GroundPoundSolid",14,false,[],1,0,["images/groundpoundsolid-sheet0.png",114,0,0,0,24,8],null,[["Solid",15,507555113874789,68]],false,false,395698290022538,[],null,85],["JumpBoost",10,false,[[791645134968466,1,"Force",86],[835394193849519,0,"Decel",87]],1,0,null,[["Default",5,false,1,0,false,770609421030579,[["images/shared-0-sheet6.png",12909,219,65,32,32,1,0.5,0.5,[],[],0]]]],[["GameObject",19,964561671334608,88]],false,false,193076892879670,[],null,89],["JumpThrough",14,false,[],1,0,["images/jumpthrough-sheet0.png",109,0,0,0,24,8],null,[["Jumpthru",20,165758541917201,90]],false,false,996162560058172,[],null,91],["MoveArea",10,false,[[494167208663578,1,"ID",69],[390949649952692,0,"AutoStart",92],[822237962809251,2,"Movement",93],[222969149227470,1,"curMovement",94],[936400237322034,0,"waiting",95]],2,0,null,[["Default",0,false,1,0,false,263233098100606,[["images/shared-0-sheet6.png",12909,219,193,32,32,1,0.5,0.5,[],[],0],["images/shared-0-sheet6.png",12909,219,129,32,32,1,0.5,0.5,[],[],0]]]],[["Tween",21,439940257780417,96],["Timer",12,718532491831034,65]],false,false,672405455465843,[],null,97],["Portal",10,false,[[367673615391827,1,"ID",69],[888700237478583,1,"Target",98],[764929555938459,0,"ForceAngle",99],[558118941758308,1,"ForcedAngle",100],[989018923531553,0,"ForceSpeed",101],[901452989945077,1,"ForcedSpeed",102]],0,0,null,[["Default",5,false,1,0,false,326537150926620,[["images/shared-0-sheet6.png",12909,201,1,16,128,1,0.5,0.5,[["Sortie",3,0.5]],[0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5],0]]]],[],false,false,544011280287431,[],null,103],["Rocket",10,false,[[476852215823056,0,"destroyOnTouch",104],[176399347489732,0,"active",70],[372962964711348,1,"Parent",105],[103801686769521,0,"Smart",106],[810055280746836,1,"PortalUID",107]],1,0,null,[["Default",5,false,1,0,false,481319618438082,[["images/shared-0-sheet6.png",12909,1,449,64,32,1,0,0.5,[],[],0]]],["MultiBullet",5,false,1,0,false,877991718572225,[["images/shared-0-sheet6.png",12909,67,481,64,16,1,0,0.5,[],[],0]]],["Smart",5,false,1,0,false,602808304285693,[["images/shared-0-sheet6.png",12909,1,385,64,32,1,0,0.5,[],[],0]]]],[["Bullet",17,335355166900874,80]],false,false,677212617412895,[],null,108],["RocketLauncher",10,false,[[563988076340233,0,"Laser",109],[647790466158615,0,"AlternateAiming",110],[277083192111363,0,"Smart",106],[287735611397581,1,"RocketSpeed",111],[643221789979137,1,"Range",112],[536085321691395,1,"RateOfFire",113],[872941973038755,1,"RotateSpeed",114],[274513891868225,0,"CanShoot",115],[679182196204835,0,"MultiBullets",116]],2,0,null,[["Default",5,false,1,0,false,965866261770791,[["images/shared-0-sheet5.png",48365,1,897,128,64,1,0.125,0.5,[["Imagepoint 1",0.90625,0.5]],[],0]]],["PredictiveDefault",5,false,1,0,false,603408547465738,[["images/shared-0-sheet5.png",48365,131,897,128,64,1,0.125,0.5,[["Imagepoint 1",0.90625,0.5]],[],0]]],["Laser",5,false,1,0,false,665262504012393,[["images/shared-0-sheet5.png",48365,261,897,128,64,1,0.125,0.5,[["Imagepoint 1",0.90625,0.5]],[],0]]],["PredictiveLaser",5,false,1,0,false,242926107152753,[["images/shared-0-sheet5.png",48365,391,897,128,64,1,0.125,0.5,[["Imagepoint 1",0.90625,0.5]],[],0]]]],[["Turret",22,936645270908396,117],["LineOfSight",13,490648208759732,66]],false,false,673757866355515,[],null,118],["Solid2",14,false,[],1,0,["images/solid2-sheet0.png",77,0,0,0,8,8],null,[["Solid",15,160495496297040,68]],false,false,934074614519782,[],null,119],["Solid3",14,false,[],1,0,["images/solid3-sheet0.png",72,0,0,0,8,8],null,[["Solid",15,744407804031455,68]],false,false,593431852629793,[],null,120],["SolidMove",14,false,[],1,0,["images/solidmove-sheet0.png",76,0,0,0,8,8],null,[["Solid",15,995841676872147,68]],false,false,268336515357749,[],null,121],["Spike",10,false,[[476852215823056,0,"destroyOnTouch",104],[176399347489732,0,"active",70],[277951649368428,0,"hardOnly",122]],1,0,null,[["Default",5,false,1,0,false,310422682643955,[["images/shared-0-sheet6.png",12909,69,1,64,64,1,0.5,0.5,[],[0.5,0.5,-0.5,0.5,0,-0.5],0]]]],[["Solid",15,740776357504316,68]],false,false,448957066534581,[],null,123],["Spike2",10,false,[[476852215823056,0,"destroyOnTouch",104],[176399347489732,0,"active",70]],1,0,null,[["Default",5,false,1,0,false,762541714336240,[["images/shared-0-sheet6.png",12909,199,449,32,32,1,0.5,0.5,[],[0,-0.5,0.5,0.5,-0.5,0.5],0]]]],[["Solid",15,710672393648985,68]],false,false,610050091899729,[],null,124],["Tiledbackground",14,false,[],0,0,["images/tiledbackground-sheet0.png",390,0,0,0,64,64],null,[],false,false,287503172584364,[],null,125],["LayoutNameHolder",10,false,[[356891636568165,2,"Name",126],[247664956740450,2,"GhostData",54],[417766348797735,0,"needSlope",127]],0,0,null,[["Default",5,false,1,0,false,144341877358819,[["images/shared-0-sheet7.png",279,1,37,16,16,1,0.5,0.5,[],[],0]]]],[],false,false,211125468683732,[],null,128],["TimerTick",23,false,[[551873317063810,2,"id",129]],2,0,["images/shared-0-sheet3.png",77856,0,1,1,512,1024],null,[["SpritefontDeluxe",24,452648053134543,130],["GameObject",19,202454660304699,88]],false,false,625228144454282,[],null,131],["Body",10,false,[[847556837056227,1,"Zordering",132],[193716992848770,1,"OX",133],[531917423876062,1,"OY",134],[917481870875719,1,"an",135],[590689168236746,1,"dist",136]],0,0,null,[["Default",5,false,1,0,false,696002620996793,[["images/shared-0-sheet6.png",12909,233,449,16,32,1,0.5,0.5,[["Head",0.5,0],["RightA",1,0.25],["LeftA",0,0.25],["LeftL",0,1],["RightL",0.5,1]],[],0]]]],[],false,false,104302919812511,[],null,137],["Head",10,false,[[847556837056227,1,"Zordering",132],[193716992848770,1,"OX",133],[531917423876062,1,"OY",134],[917481870875719,1,"an",135],[590689168236746,1,"dist",136]],0,0,null,[["Default",5,false,1,0,false,562217783153816,[["images/shared-0-sheet6.png",12909,133,385,64,64,1,0.5,1,[],[-0.25,-0.75,0.25,-0.75,0.25,-0.25,-0.25,-0.25],0]]]],[],false,false,249328749915269,[],null,138],["LeftArm",10,false,[[847556837056227,1,"Zordering",132],[193716992848770,1,"OX",133],[531917423876062,1,"OY",134],[917481870875719,1,"an",135],[590689168236746,1,"dist",136]],0,0,null,[["Default",5,false,1,0,false,609846425742920,[["images/shared-0-sheet7.png",279,19,1,8,16,1,1,0,[["Imagepoint 1",1,1]],[],0]]]],[],false,false,539877283127387,[],null,139],["LeftFoot",10,false,[[847556837056227,1,"Zordering",132],[193716992848770,1,"OX",133],[531917423876062,1,"OY",134],[917481870875719,1,"an",135],[590689168236746,1,"dist",136]],0,0,null,[["Default",5,false,1,0,false,658745762160773,[["images/shared-0-sheet7.png",279,19,1,8,16,1,0,0,[],[],0]]]],[],false,false,378641103804622,[],null,140],["LeftHand",10,false,[[847556837056227,1,"Zordering",132],[193716992848770,1,"OX",133],[531917423876062,1,"OY",134],[917481870875719,1,"an",135],[590689168236746,1,"dist",136]],0,0,null,[["Default",5,false,1,0,false,595902927123311,[["images/shared-0-sheet7.png",279,19,1,8,16,1,1,0,[],[],0]]]],[],false,false,860103895362847,[],null,141],["LeftLeg",10,false,[[847556837056227,1,"Zordering",132],[193716992848770,1,"OX",133],[531917423876062,1,"OY",134],[917481870875719,1,"an",135],[590689168236746,1,"dist",136]],0,0,null,[["Default",5,false,1,0,false,690798437112157,[["images/shared-0-sheet7.png",279,19,1,8,16,1,0,0,[["Imagepoint 1",0,1]],[],0]]]],[],false,false,137665410316787,[],null,142],["RightArm",10,false,[[847556837056227,1,"Zordering",132],[193716992848770,1,"OX",133],[531917423876062,1,"OY",134],[917481870875719,1,"an",135],[590689168236746,1,"dist",136]],0,0,null,[["Default",5,false,1,0,false,149161089714120,[["images/shared-0-sheet7.png",279,19,1,8,16,1,1,0,[["Imagepoint 1",1,1]],[],0]]]],[],false,false,669699359164824,[],null,143],["RightFoot",10,false,[[847556837056227,1,"Zordering",132],[193716992848770,1,"OX",133],[531917423876062,1,"OY",134],[917481870875719,1,"an",135],[590689168236746,1,"dist",136]],0,0,null,[["Default",5,false,1,0,false,134638644531100,[["images/shared-0-sheet7.png",279,19,1,8,16,1,0,0,[],[],0]]]],[],false,false,101142284494149,[],null,144],["RightHand",10,false,[[847556837056227,1,"Zordering",132],[193716992848770,1,"OX",133],[531917423876062,1,"OY",134],[917481870875719,1,"an",135],[590689168236746,1,"dist",136]],0,0,null,[["Default",5,false,1,0,false,776431780964871,[["images/shared-0-sheet7.png",279,19,1,8,16,1,1,0,[],[],0]]]],[],false,false,962624417435059,[],null,145],["RightLeg",10,false,[[847556837056227,1,"Zordering",132],[193716992848770,1,"OX",133],[531917423876062,1,"OY",134],[917481870875719,1,"an",135],[590689168236746,1,"dist",136]],0,0,null,[["Default",5,false,1,0,false,857768145348490,[["images/shared-0-sheet7.png",279,19,1,8,16,1,0,0,[["Imagepoint 1",0,1]],[],0]]]],[],false,false,588887864652978,[],null,146],["OvO2Logo",10,false,[],2,0,null,[["Animation 1",5,false,1,0,false,337774374872613,[["images/shared-0-sheet4.jpg",11850,0,0,429,151,1,0.5,0.5,[],[-0.44638694638694637,-0.347682119205298,0,0.39403973509933776,0.44405594405594406,-0.347682119205298,0.4953379953379954,0,0.44405594405594406,0.3410596026490066,0,0.48675496688741726,-0.44638694638694637,0.3410596026490066,-0.4976689976689977,0],0]]]],[["Sine",25,330116839055998,147],["Sine2",25,931967111916640,148]],false,false,946913735573835,[],null,149],["UIText",23,false,[],1,0,["images/shared-0-sheet3.png",77856,0,1,1,512,1024],null,[["SpritefontDeluxe",24,103805322749645,130]],false,false,866370430803976,[],null,150],["Border",14,false,[],0,1,["images/border-sheet0.png",538,0,0,0,42,84],null,[],false,false,573726780738806,[["subtract","Subtract"]],null,151],["CurrentCourse",26,false,[[106183683664371,1,"CurrentLevel",152]],0,0,null,null,[],true,false,405538601704815,[],null,153],["UIButton",10,false,[[646264738688691,0,"Hover",154],[684856388281978,2,"HoverAnim",155],[273536568488236,0,"Pressed",156],[356629594108232,2,"PressAnim",157],[472258938195466,2,"ReleaseAnim",158],[767860146520494,2,"Text",159]],0,0,null,[["Animation 1",5,false,1,0,false,545485013254871,[["images/shared-0-sheet7.png",279,1,19,16,16,1,0.5,0.5,[],[],0]]]],[],false,false,507022508148891,[],null,160],["UIButtonOutline",10,false,[],1,0,null,[["Animation 1",5,false,1,0,false,303354570967090,[["images/shared-0-sheet7.png",279,1,1,16,16,1,0.5,0.5,[],[],0]]]],[["Pin",27,558525745933100,161]],false,false,283303099869354,[],null,162],["Timeline",28,false,[],0,0,null,null,[],false,false,839727909687479,[],null,163,[]],["UIBackground",10,false,[],0,0,null,[["Animation 1",5,false,1,0,false,899552833648588,[["images/shared-0-sheet1.png",134304,0,0,1280,1280,1,0.5,0.5,[],[],0]]]],[],false,false,196727642729092,[],null,164],["UIBackgroundGradient",10,false,[],0,0,null,[["Animation 1",5,false,1,0,false,948841142482753,[["images/shared-0-sheet0.png",33008,0,0,1280,1280,1,0.5,0.5,[],[],0]]]],[],false,false,812607190725496,[],null,165],["MenuCamera",10,false,[[757786653197496,2,"menu",166]],0,0,null,[["Animation 1",5,false,1,0,false,873924468664866,[["images/shared-0-sheet6.png",12909,199,385,32,32,1,0.5,0.5,[],[],0]]]],[],false,false,544919622208727,[],null,167],["Process",29,false,[],0,0,null,null,[],false,false,119808199641404,[],null,168,[0]],["Tick",30,false,[],0,0,null,null,[],false,false,612065009421642,[],null,169,[]],["Engine",31,false,[],0,0,null,null,[],false,false,681696761866744,[],null,170,[]],["debugSprite",10,false,[],1,0,null,[["Animation 1",0,false,1,0,false,944084568407722,[["images/shared-0-sheet5.png",48365,769,1,250,250,1,0,0,[],[],0],["images/shared-0-sheet5.png",48365,769,257,250,250,1,0,0,[],[],0],["images/shared-0-sheet5.png",48365,1,257,250,250,1,0,0,[],[],0]]]],[["Fade",18,164953691438157,81]],false,false,808314279399904,[],null,171],["TextInput",32,false,[],0,0,null,null,[],false,false,398812670828632,[],null,172],["Text",33,false,[],0,0,null,null,[],false,false,317347038430318,[],null,159],["Sprite",10,false,[],0,0,null,[["Animation 1",5,false,1,0,false,622910200458144,[["images/shared-0-sheet5.png",48365,1,513,250,250,1,0.5,0.5,[],[],0]]]],[],false,false,434845084990580,[],null,173],["Sprite2",10,false,[],0,0,null,[["Animation 1",5,false,1,0,false,279168724612212,[["images/shared-0-sheet5.png",48365,513,257,250,250,1,0.5,0.5,[],[],0]]]],[],false,false,462854499812305,[],null,174],["tuyautop",10,false,[],0,0,null,[["Default",5,false,1,0,false,448343546733117,[["images/shared-0-sheet5.png",48365,769,513,250,250,1,0.5,0.5,[],[],0]]]],[],false,false,195922936196462,[],null,175],["RealJumpThrough",14,false,[],1,0,["images/realjumpthrough-sheet0.png",179,0,0,0,128,16],null,[["Jumpthru",20,278188662602470,90]],false,false,631270691679578,[],null,176],["DestructibleFloor",14,false,[],1,0,["images/destructiblefloor-sheet0.png",392,0,0,0,128,16],null,[["Solid",15,686466917094338,68]],false,false,833923260519972,[],null,177],["Laser",10,false,[[476852215823056,0,"destroyOnTouch",104],[176399347489732,0,"active",70],[180847299598909,1,"parent",178]],1,0,null,[["Aiming",5,false,1,0,false,507757992539889,[["images/shared-0-sheet7.png",279,19,49,8,8,1,0,0.5,[],[],0]]],["Locked",5,false,1,0,false,975596941508536,[["images/shared-0-sheet7.png",279,19,33,8,8,1,0,0.5,[],[],0]]],["Shooting",5,false,1,0,false,789570968923536,[["images/shared-0-sheet7.png",279,19,19,8,8,1,0,0.5,[],[],0]]]],[["Tween",21,935580215375622,96]],false,false,513030938340491,[],null,109],["Sprite3",10,false,[],0,0,null,[["Animation 1",5,false,1,0,false,119979538096707,[["images/shared-0-sheet5.png",48365,257,513,250,250,1,0.5,0.5,[],[],0]]]],[],false,false,567641256957396,[],null,179],["Sprite4",10,false,[],0,0,null,[["Animation 1",5,false,1,0,false,825023379787827,[["images/shared-0-sheet5.png",48365,513,513,250,250,1,0.5,0.5,[],[],0]]]],[],false,false,577194015444209,[],null,180],["Sprite5",10,false,[],0,0,null,[["Animation 1",5,false,1,0,false,638952505926397,[["images/shared-0-sheet2.png",146143,0,0,1240,1240,1,0.5,0.5,[],[],0]]]],[],false,false,449825431307176,[],null,181],["Sprite6",10,false,[],0,0,null,[["Animation 1",5,false,1,0,false,600898948842683,[["images/shared-0-sheet5.png",48365,769,769,250,250,1,0.5,0.5,[],[],0]]]],[],false,false,817808800452981,[],null,182],["Sprite7",10,false,[],0,0,null,[["Animation 1",5,false,1,0,false,838320982956395,[["images/shared-0-sheet5.png",48365,257,257,250,250,1,0.5,0.5,[],[],0]]]],[],false,false,741394902730990,[],null,183],["Vector",34,false,[],0,0,["images/shared-0-sheet6.png",12909,0,133,497,64,11],null,[],false,false,574111780700918,[],null,184],["Sprite8",10,false,[],0,0,null,[["Animation 1",5,false,1,0,false,275967687236603,[["images/shared-0-sheet6.png",12909,1,1,66,66,1,0.5,0.45454545454545453,[],[],0]]]],[],false,false,437758459877152,[],null,185],["GravityZone",14,false,[[758471819860778,0,"OverwriteAngle",186],[766452908734163,1,"ForcedAngle",100],[247755002643176,0,"OverWriteGravity",187],[523219347652653,1,"ForcedGravity",188]],0,0,["images/gravityzone-sheet0.png",551,0,0,0,96,96],null,[],false,false,821293911825947,[],null,189],["Particles_LaserWarmup",35,false,[[880079227625152,1,"tarx",190],[854893825105486,1,"tary",191]],1,0,["images/shared-0-sheet5.png",48365,0,257,1,250,250],null,[["Fade",18,704067375294639,81]],false,false,683321831382300,[],null,192],["Particles_LaserActive",35,false,[],0,0,["images/shared-0-sheet5.png",48365,0,513,1,250,250],null,[],false,false,975673363631117,[],null,193],["Particles_LaserHit",35,false,[],0,0,["images/shared-0-sheet6.png",12909,0,67,385,64,64],null,[],false,false,631672590399227,[],null,194],["PlayerRig",10,true,[[847556837056227,1,"Zordering",132],[193716992848770,1,"OX",133],[531917423876062,1,"OY",134],[917481870875719,1,"an",135],[590689168236746,1,"dist",136]],4,0,null,null,[["Bullet",17,757005484684714,80],["Fade",18,169356397734787,81],["ScrollTo",36,213607194455875,195],["Skin",37,919374580583633,19]],false,false,216413207988818,[],null,196],["Enemies",10,true,[[476852215823056,0,"destroyOnTouch",104],[176399347489732,0,"active",70]],0,0,null,null,[],false,false,517657302284742,[],null,197],["Solids",14,true,[],1,0,null,null,[["GameObject",19,671656681725856,88]],false,false,663575012639858,[],null,198],["UIElements",10,true,[[646264738688691,0,"Hover",154],[684856388281978,2,"HoverAnim",155],[273536568488236,0,"Pressed",156],[356629594108232,2,"PressAnim",157],[472258938195466,2,"ReleaseAnim",158],[767860146520494,2,"Text",159]],0,0,null,null,[],false,false,634093002194104,[],null,199],["GameObjects",10,true,[],1,0,null,null,[["GameObject",19,613628495357236,88]],false,false,266572096688021,[],null,200],["CrushSolids",14,true,[],0,0,null,null,[],false,false,556181773641702,[],null,201]],[[75,35,37,38,40,41,39,36,34,33,32],[76,22,28,27,63],[77,17,26,25,13,24,19,61,62],[78,46],[79,15,14,16,20,23,27,28,12],[80,13,24,26]],[["Level 1-1",4000,1080,true,"Levels",383111331291342,[["Layer 0",0,641510438637625,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[1288.0250578619596,568.0345401101149,-40,814.8397879839611,120.72338249711476,0,0,[0,0,0,1],0,0,0,0,[]],31,273,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["Welcome in OvO 2! ",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1.5,0,0,1,1,0,true,0]],[[957.8957908893678,796.7131552063565,-40,1482.9166873254076,120.72338249711476,0,0,[0,0,0,1],0,0,0,0,[]],31,91,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["<- Go left Go right ->",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1.5,0,0,1,1,0,true,0]],[[48,296,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],15,272,["Level1"],[["","",false],[400,-200,800,false,false,false,false],[0,0,1,true,false]],[true,"Default",0,true]],[[392,-349,0,128,8,0,0,[1,1,1,1],0,0,0,0,[]],13,275,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[506,-544,0,194,398,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,85,["Level 0-0"],[["","",false]],[true,"Default",0,true]],[[3184,960,0,232,8,0,0,[1,1,1,1],0,0,0,0,[]],13,93,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3424,768,0,232,8,0,0,[1,1,1,1],0,0,0,0,[]],13,274,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3424,768,0,200,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,95,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3008,824,0,224,64,0,0.005832145628533403,[0,0,0,1],0,0,0,0,[]],31,96,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],[" Go Up!",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[3088,904,0,224,64,0,4.71238898038469,[0,0,0,1],0,0,0,0,[]],31,97,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["->",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[3560,248,0,472,64,0,0.005832145628533403,[0,0,0,1],0,0,0,0,[]],31,98,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["End of Level ;)",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[3824,312,0,216,56,0,2.356194490192345,[0,0,0,1],0,0,0,0,[]],31,99,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["->",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[-1120,544,0,2008,8,0,0,[1,1,1,1],0,0,0,0,[]],13,258,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[-1120,216,0,2008,8,0,0,[1,1,1,1],0,0,0,0,[]],13,259,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[896,384,0,328,248,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],59,260,[],[],[true,"Animation 1",0,true]],[[746,482,0,64,128,0,0,[1,1,1,1],0.5,0.5,0,0,[]],12,276,["run",0,0,1,1,0,0.8,0.5,0,1,0,0,0,0,0,1,0.4,0,"",2,0,0,0,"",3,0,0,0,-1,-1,-1,-1,0],[["collider","",false],[660,3000,3000,1300,3000,2000,false,0,false,true],[],[0,10000,360,true]],[true,"Default",0,true]],[[8,216,0,336,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,261,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[888,384,0,336,248,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],60,262,[],[],[true,"Default",0,true]],[[732,960,0,2314,8,0,0,[1,1,1,1],0,0,0,0,[]],13,283,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[-384,384,0,2320,328,0,0,[1,1,1,1],0.5,0.5,0,0,[]],58,257,[],[],[true,"Animation 1",0,true]],[[3578,572,0,194,398,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,1024,["Level 1-2"],[["","",false]],[true,"Default",0,true]]],[],0]],[],[]],["Level 1-2",6000,720,true,"Levels",562387417495998,[["Layer 0",0,404472431429753,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[-24,368,0,1416,120,0,0,[0,0,0,1],0,0,0,0,[]],31,33,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["Now let's slide through this tutorial",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1.4,0,0,1,1,0,true,0]],[[656,616,0,64,128,0,0,[1,1,1,1],0.5,0.5,0,0,[]],12,101,["run",0,0,1,1,0,0.8,0.5,0,1,0,0,0,0,0,1,0.4,0,"",2,0,0,0,"",3,0,0,0,-1,-1,-1,-1,0],[["collider","",false],[660,3000,3000,1300,3000,2000,false,0,false,true],[],[0,10000,360,true]],[true,"Default",0,true]],[[8,720,0,5992,8,0,0,[1,1,1,1],0,0,0,0,[]],13,102,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5904,528,0,194,398,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,103,["Level 1-3"],[["","",false]],[true,"Default",0,true]],[[2136,8,0,624,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,104,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1776,528,0,368,64,0,0.005832145628533403,[0,0,0,1],0,0,0,0,[]],31,107,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],[" Press down!",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[2024,600,0,80,96,0,1.5707963267948966,[0,0,0,1],0,0,0,0,[]],31,108,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["->",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[2944,480,0,624,64,0,0.005832145628533403,[0,0,0,1],0,0,0,0,[]],31,109,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["Ugh, not THEM again...",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[3296,536,0,216,56,0,2.356194490192345,[0,0,0,1],0,0,0,0,[]],31,110,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["->",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[3136,696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,105,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3936,600,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,106,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4000,600,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,123,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4064,600,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,124,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3904,560,0,192,8,0,0,[1,1,1,1],0,0,0,0,[]],13,125,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3896,640,0,216,56,0,0,[0,0,0,1],0,0,0,0,[]],31,126,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["->",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[4992,600,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,127,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5056,600,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,128,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5120,600,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,129,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4960,560,0,192,8,0,0,[1,1,1,1],0,0,0,0,[]],13,130,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5464,688,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,131,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5528,688,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,132,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5592,688,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,133,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5192,680,0,216,56,0,5.497787143782138,[0,0,0,1],0,0,0,0,[]],31,134,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["->",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[3936,528,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,100,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4000,528,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,263,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4064,528,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,264,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5056,536,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,265,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5120,536,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,266,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4992,536,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,267,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[0,0,0,5992,8,0,0,[1,1,1,1],0,0,0,0,[]],13,268,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[7.999999999999994,0,0,728,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,269,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6000,0,0,720,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,270,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]]],[],0]],[],[]],["Level 1-3",10000,1080,true,"Levels",859372905871871,[["Layer 0",0,105259361693504,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[512,584,0,664,120,0,0,[0,0,0,1],0,0,0,0,[]],31,112,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["Press then",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[-8,256,0,1376,120,0,0,[0,0,0,1],0,0,0,0,[]],31,111,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["We're gonna SMASH all those levels!",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1.5,0,0,1,1,0,true,0]],[[472,768,0,64,128,0,0,[1,1,1,1],0.5,0.5,0,0,[]],12,113,["run",0,0,1,1,0,0.8,0.5,0,1,0,0,0,0,0,1,0.4,0,"",2,0,0,0,"",3,0,0,0,-1,-1,-1,-1,0],[["collider","",false],[660,3000,3000,1300,3000,2000,false,0,false,true],[],[0,10000,360,true]],[true,"Default",0,true]],[[8,952,0,9960,8,0,0,[1,1,1,1],0,0,0,0,[]],13,114,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[840,680,0,64,72,0,4.71238898038469,[0,0,0,1],0,0,0,0,[]],31,135,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["->",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[1312,616,0,64,72,0,1.5707963267948966,[0,0,0,1],0,0,0,0,[]],31,136,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["->",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[1672,512,0,1144,120,0,0,[0,0,0,1],0,0,0,0,[]],31,116,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["Now jump just after a smash",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1.5,0,0,1,1,0,true,0]],[[1080,728,0,232,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,117,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1384,240,0,496,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,118,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1080,728,0,296,8,0,0,[1,1,1,1],0,0,0,0,[]],19,119,[],[["","",false],[true]],[true,0,0,0,1,1,0]],[[1080,728,0,112,8,0,0,[1,1,1,1],0,0,0,0,[]],13,120,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2144,920,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,122,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2216,920,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,139,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2184,728,0,224,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,121,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2180,696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,137,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4056,584,0,80,88,0,1.5707963267948966,[0,0,0,1],0,0,0,0,[]],31,140,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["->",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[3912,704,0,192,8,0,0,[1,1,1,1],0,0,0,0,[]],19,138,[],[["","",false],[true]],[true,0,0,0,1,1,0]],[[6184,704,0,176,8,0,0,[1,1,1,1],0,0,0,0,[]],17,141,[],[["","",false],[false,""]],[true,0,0,0,1,1,0]],[[3920,704,0,256,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,142,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4112,432,0,280,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,143,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4672,440,0,272,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,144,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4112,432,0,560,8,0,0,[1,1,1,1],0,0,0,0,[]],13,145,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4136,400,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,147,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4280,400,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,148,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4208,400,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,149,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4384,920,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,150,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4352,400,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,151,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4424,400,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,152,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4672,704,0,192,8,0,0,[1,1,1,1],0,0,0,0,[]],19,153,[],[["","",false],[true]],[true,0,0,0,1,1,0]],[[4496,400,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,154,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4568,400,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,155,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4640,400,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,156,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4872,704,0,248,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,157,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4720,832,0,80,88,0,4.71238898038469,[0,0,0,1],0,0,0,0,[]],31,158,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["->",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[4864,704,0,1320,8,0,0,[1,1,1,1],0,0,0,0,[]],13,159,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5328,544,0,192,8,0,0,[1,1,1,1],0,0,0,0,[]],13,160,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5360,584,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,161,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5424,584,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,162,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5488,584,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,163,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5360,520,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,164,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5424,520,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,165,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5488,520,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,166,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5384,608,0,80,88,0,0,[0,0,0,1],0,0,0,0,[]],31,167,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["->",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[6368,0,0,864,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,168,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6192,704,0,248,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,170,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6320,608,0,80,88,0,1.5707963267948966,[0,0,0,1],0,0,0,0,[]],31,171,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["->",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[6368,864,0,96,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],19,169,[],[["","",false],[true]],[true,0,0,0,1,1,0]],[[7888,760,0,194,398,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,172,["Level 1-4"],[["","",false]],[true,"Default",0,true]],[[7368,920,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,173,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7576,920,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,174,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]]],[],0]],[],[]],["Level 1-4",6232,5000,true,"Levels",209895974755082,[["Layer 0",0,210266281626782,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[400,896,0,664,120,0,0,[0,0,0,1],0,0,0,0,[]],31,115,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["Jump next to the wall",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[-8,656,0,1376,120,0,0,[0,0,0,1],0,0,0,0,[]],31,175,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["Let's show you some cool tricks",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1.5,0,0,1,1,0,true,0]],[[253,1153,0,64,128,0,0,[1,1,1,1],0.5,0.5,0,0,[]],12,176,["run",0,0,1,1,0,0.8,0.5,0,1,0,0,0,0,0,1,0.4,0,"",2,0,0,0,"",3,0,0,0,-1,-1,-1,-1,0],[["collider","",false],[660,3000,3000,1300,3000,2000,false,0,false,true],[],[0,10000,360,true]],[true,"Default",0,true]],[[8,1352,0,4104,8,0,0,[1,1,1,1],0,0,0,0,[]],13,177,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1312,1016,0,64,72,0,1.5707963267948966,[0,0,0,1],0,0,0,0,[]],31,179,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["->",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[2912,184,0,1600,120,0,0,[0,0,0,1],0,0,0,0,[]],31,180,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["Try sliding while jumping to dive",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1.5,0,0,1,1,0,true,0]],[[1080,976,0,384,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,181,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2248,728,0,624,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,182,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1880,976,0,168,8,0,0,[1,1,1,1],0,0,0,0,[]],13,178,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2160,728,0,168,8,0,0,[1,1,1,1],0,0,0,0,[]],13,183,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2528,864,0,168,8,0,0,[1,1,1,1],0,0,0,0,[]],13,184,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2792,536,0,168,8,0,0,[1,1,1,1],0,0,0,0,[]],13,185,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3096,440,0,168,8,0,0,[1,1,1,1],0,0,0,0,[]],13,186,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3240,656,0,168,8,0,0,[1,1,1,1],0,0,0,0,[]],13,187,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4064,656,0,216,8,0,0,[1,1,1,1],0,0,0,0,[]],13,188,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2280,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,226,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2424,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,227,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2352,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,228,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2496,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,229,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2568,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,230,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2640,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,231,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2712,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,232,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2784,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,233,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2856,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,189,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3000,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,190,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2928,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,192,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3072,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,193,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3144,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,194,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3216,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,195,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3288,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,197,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3360,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,198,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3432,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,199,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3576,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,200,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3504,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,201,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3648,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,202,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3720,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,203,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3792,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,204,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3864,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,205,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3936,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,206,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4008,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,207,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4080,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,225,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4224,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,234,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4296,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,235,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4368,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,236,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4440,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,237,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4512,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,238,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4584,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,239,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4728,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,240,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4656,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,241,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4800,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,242,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4072,656,0,216,8,0,0,[1,1,1,1],0,0,0,0,[]],13,247,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4944,656,0,216,8,0,0,[1,1,1,1],0,0,0,0,[]],13,248,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4944,656,0,216,8,0,0,[1,1,1,1],0,0,0,0,[]],13,249,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4872,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,196,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4944,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,209,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5016,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,210,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5088,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,211,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5232,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,212,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5160,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,213,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5304,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,214,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5376,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,215,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5448,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,216,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5520,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,217,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5592,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,219,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5664,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,243,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5808,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,244,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5736,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,245,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5880,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,246,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3128,408,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,251,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3232,408,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,252,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6080.731938,4699.643154,0,300,540,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,191,["Level 2-1"],[["","",false]],[true,"Default",0,true]],[[6240,0,0,7264,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,220,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5912,1360,0,5904,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,221,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[0,0,0,6232,8,0,0,[1,1,1,1],0,0,0,0,[]],13,222,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[7.9999999999999405,0,0,1360,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,223,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4152,1320,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],15,218,["Level4"],[["","",false],[400,-200,800,false,false,false,false],[0,0,1,true,false]],[true,"Default",0,true]],[[4192,1352,0,1720,8,0,0,[1,1,1,1],0,0,0,0,[]],13,208,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4112,1352,0,80,8,0,0,[1,1,1,1],0,0,0,0,[]],19,224,[],[["","",false],[true]],[true,0,0,0,1,1,0]],[[4164,1628,0,0,200,0,4.71238898038469,[0,0,0,1],0.5,0.5,0,0,[]],21,254,[1,2,0,0,0,0],[],[true,"Default",0,true]],[[4168,16,0,0,200,0,4.71238898038469,[0,0,0,1],0.5,0.5,0,0,[]],21,250,[2,0,0,0,1,0],[],[true,"Default",0,true]],[[6075,3708,0,328,4544,0,0,[1,1,1,1],0.5,0.5,0,0,[]],58,253,[],[],[true,"Animation 1",0,true]],[[6071,1456,0,328,248,0,0,[1,1,1,1],0.5,0.5,0,0,[]],59,255,[],[],[true,"Animation 1",0,true]],[[5912,4992,0,320,8,0,0,[1,1,1,1],0,0,0,0,[]],13,256,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6072,1456,0,336,248,0,0,[1,1,1,1],0.5,0.5,0,0,[]],60,271,[],[],[true,"Default",0,true]]],[],0]],[],[]],["Level dlc",4000,1080,true,"Levels",965897292264168,[["Layer 0",0,828268903372528,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[1122,241,-40,1433.5715280029115,531.9005663928549,0,0,[0,0,0,1],0,0,0,0,[]],31,90,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["Congratulations! you've finished the Climb! We hope you enjoyed this demo, and stay tuned for updates on OvO 2!",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1.5,0,0,1,1,0,true,0]],[[1248,715,-40,1187.9473280596228,225.03164428381632,0,0,[0,0,0,1],0,0,0,0,[]],31,719,["time"],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["time",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1.5,0,0,1,1,0,true,0]],[[2879,763,0,194,398,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,712,["Level 1-1"],[["","",false]],[true,"Default",0,true]],[[2831,381,0,472,64,0,0.005832145628533403,[0,0,0,1],0,0,0,0,[]],31,720,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["back to the start",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[3032,458,0,216,56,0,2.356194490192345,[0,0,0,1],0,0,0,0,[]],31,717,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["->",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[1178,676,0,64,128,0,0,[1,1,1,1],0.5,0.5,0,0,[]],12,718,["run",0,0,1,1,0,0.8,0.5,0,1,0,0,0,0,0,1,0.4,0,"",2,0,0,0,"",3,0,0,0,-1,-1,-1,-1,0],[["collider","",false],[660,3000,3000,1300,3000,2000,false,0,false,true],[],[0,10000,360,true]],[true,"Default",0,true]],[[732,960,0,2314,8,0,0,[1,1,1,1],0,0,0,0,[]],13,710,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]]],[],0]],[],[]],["Level dlc2",4000,1080,true,"Levels",815603036629173,[["Layer 0",0,724626538162717,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[1113,470,-40,1187.9473280596228,153.82019159698626,0,0,[0,0,0,1],0,0,0,0,[]],31,711,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["gg fam",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1.5,0,0,1,1,0,true,0]],[[1120.0177275856079,595,-40,1187.9473280596228,314.3477035859421,0,0,[0,0,0,1],0,0,0,0,[]],31,715,["time"],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["time",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1.5,0,0,1,1,0,true,0]],[[2879,763,0,194,398,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,716,["Level 1-1"],[["","",false]],[true,"Default",0,true]],[[2831,381,0,472,64,0,0.005832145628533403,[0,0,0,1],0,0,0,0,[]],31,706,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["back to 1-1",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[3032,458,0,216,56,0,2.356194490192345,[0,0,0,1],0,0,0,0,[]],31,709,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["->",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[1178,676,0,64,128,0,0,[1,1,1,1],0.5,0.5,0,0,[]],12,714,["run",0,0,1,1,0,0.8,0.5,0,1,0,0,0,0,0,1,0.4,0,"",2,0,0,0,"",3,0,0,0,-1,-1,-1,-1,0],[["collider","",false],[660,3000,3000,1300,3000,2000,false,0,false,true],[],[0,10000,360,true]],[true,"Default",0,true]],[[732,960,0,2314,8,0,0,[1,1,1,1],0,0,0,0,[]],13,721,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2432,800,0,162.61320948022706,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,713,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]]],[],0]],[],[]],["Level 0-0",4000,1080,true,"Levels",564818805814253,[["Layer 0",0,526376789642089,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[708,-309,0,128,8,0,0,[1,1,1,1],0,0,0,0,[]],13,820,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1916.123585,731,0,839,398,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,821,["Level dlc"],[["","",false]],[true,"Default",0,true]],[[2537,817,0,64,128,0,0,[1,1,1,1],0.5,0.5,0,0,[]],12,832,["run",0,0,1,1,0,0.8,0.5,0,1,0,0,0,0,0,1,0.4,0,"",2,0,0,0,"",3,0,0,0,-1,-1,-1,-1,0],[["collider","",false],[660,3000,3000,1300,3000,2000,false,0,false,true],[],[0,10000,360,true]],[true,"Default",0,true]],[[3,939,0,3998.442361111111,8,0,0,[1,1,1,1],0,0,0,0,[]],13,835,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2249,1019,0,5332,2192,0,0,[1,1,1,1],0.5,0.5,0,0,[]],58,836,[],[],[true,"Animation 1",0,true]],[[3205,736,0,839,398,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,817,["Level dlc"],[["","",false]],[true,"Default",0,true]],[[2589.896661,305,0,2096,398,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,818,["Level dlc"],[["","",false]],[true,"Default",0,true]],[[2521.5,308,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,819,[],[],[true,"Animation 1",0,true]],[[2332,374,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,822,[],[],[true,"Animation 1",0,true]],[[2531,528,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,823,[],[],[true,"Animation 1",0,true]],[[2782,334,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,824,[],[],[true,"Animation 1",0,true]],[[2993,456,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,825,[],[],[true,"Animation 1",0,true]],[[2790,597,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,826,[],[],[true,"Animation 1",0,true]],[[2538,679,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,827,[],[],[true,"Animation 1",0,true]],[[2260,744,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,828,[],[],[true,"Animation 1",0,true]],[[2111,753,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,829,[],[],[true,"Animation 1",0,true]],[[2070,453,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,830,[],[],[true,"Animation 1",0,true]],[[2109,365,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,831,[],[],[true,"Animation 1",0,true]],[[2305,537,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,833,[],[],[true,"Animation 1",0,true]],[[2301,405,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,834,[],[],[true,"Animation 1",0,true]],[[2310,238,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,837,[],[],[true,"Animation 1",0,true]],[[2617,118,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,838,[],[],[true,"Animation 1",0,true]],[[2883,139,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,839,[],[],[true,"Animation 1",0,true]],[[2857,322,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,840,[],[],[true,"Animation 1",0,true]],[[2718,322,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,841,[],[],[true,"Animation 1",0,true]],[[2794,482,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,842,[],[],[true,"Animation 1",0,true]],[[3034,461,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,843,[],[],[true,"Animation 1",0,true]],[[3147,415,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,844,[],[],[true,"Animation 1",0,true]],[[3221,549,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,845,[],[],[true,"Animation 1",0,true]],[[3197,746,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,846,[],[],[true,"Animation 1",0,true]],[[3041,832,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,847,[],[],[true,"Animation 1",0,true]],[[3248,911,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,848,[],[],[true,"Animation 1",0,true]],[[2929,859,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,849,[],[],[true,"Animation 1",0,true]],[[2785,727,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,850,[],[],[true,"Animation 1",0,true]],[[2883,600,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,851,[],[],[true,"Animation 1",0,true]],[[3044,597,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,852,[],[],[true,"Animation 1",0,true]],[[1683,626,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,853,[],[],[true,"Animation 1",0,true]],[[1901,739,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,854,[],[],[true,"Animation 1",0,true]],[[1977,863,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,855,[],[],[true,"Animation 1",0,true]],[[2126,643,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,856,[],[],[true,"Animation 1",0,true]],[[1977,578,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,857,[],[],[true,"Animation 1",0,true]],[[1872,619,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,858,[],[],[true,"Animation 1",0,true]],[[1783,765,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,859,[],[],[true,"Animation 1",0,true]],[[1872,930,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,860,[],[],[true,"Animation 1",0,true]],[[1606,935,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,861,[],[],[true,"Animation 1",0,true]],[[1536,787,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,862,[],[],[true,"Animation 1",0,true]],[[1589,604,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,863,[],[],[true,"Animation 1",0,true]],[[1627,329,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,864,[],[],[true,"Animation 1",0,true]],[[1723,273,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,865,[],[],[true,"Animation 1",0,true]],[[1843,151,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,866,[],[],[true,"Animation 1",0,true]],[[1941,67,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,867,[],[],[true,"Animation 1",0,true]],[[2136,86,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,868,[],[],[true,"Animation 1",0,true]],[[2047,276,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,869,[],[],[true,"Animation 1",0,true]],[[2363,113,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,870,[],[],[true,"Animation 1",0,true]],[[2016,60,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,871,[],[],[true,"Animation 1",0,true]],[[2057,158,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,872,[],[],[true,"Animation 1",0,true]],[[2397,209,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,873,[],[],[true,"Animation 1",0,true]],[[2589,182,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,874,[],[],[true,"Animation 1",0,true]],[[2663,67,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,875,[],[],[true,"Animation 1",0,true]],[[2438,27,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,876,[],[],[true,"Animation 1",0,true]],[[2330,94,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,877,[],[],[true,"Animation 1",0,true]],[[2608,158,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,878,[],[],[true,"Animation 1",0,true]],[[2946,211,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,879,[],[],[true,"Animation 1",0,true]],[[2956,41,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,880,[],[],[true,"Animation 1",0,true]],[[3280,70,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,881,[],[],[true,"Animation 1",0,true]],[[3316,240,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,882,[],[],[true,"Animation 1",0,true]],[[3157,379,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,883,[],[],[true,"Animation 1",0,true]],[[3059,295,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,884,[],[],[true,"Animation 1",0,true]],[[3141,194,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,885,[],[],[true,"Animation 1",0,true]],[[2944,154,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,886,[],[],[true,"Animation 1",0,true]],[[2038,992,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,887,[],[],[true,"Animation 1",0,true]],[[2079,851,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,888,[],[],[true,"Animation 1",0,true]],[[2354,810,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,889,[],[],[true,"Animation 1",0,true]],[[2455,935,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,890,[],[],[true,"Animation 1",0,true]],[[2419,1038,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,891,[],[],[true,"Animation 1",0,true]],[[2215,879,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,892,[],[],[true,"Animation 1",0,true]],[[2421,803,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,893,[],[],[true,"Animation 1",0,true]],[[2678,752,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,894,[],[],[true,"Animation 1",0,true]],[[2764,935,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,895,[],[],[true,"Animation 1",0,true]],[[2553,740,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,896,[],[],[true,"Animation 1",0,true]],[[2469,666,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,897,[],[],[true,"Animation 1",0,true]],[[2599,958,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,898,[],[],[true,"Animation 1",0,true]],[[2642,1078,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,899,[],[],[true,"Animation 1",0,true]],[[2834,1150,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,900,[],[],[true,"Animation 1",0,true]],[[2875,1035,0,8,8,0,0.0025619072900324724,[1,1,1,1],0.5,0.5,0,0,[]],68,901,[],[],[true,"Animation 1",0,true]],[[3052,879,0,12,4,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,902,[],[],[true,"Animation 1",0,true]],[[3210,884,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,903,[],[],[true,"Animation 1",0,true]],[[3299,966,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,904,[],[],[true,"Animation 1",0,true]],[[3280,1165,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,905,[],[],[true,"Animation 1",0,true]],[[3172,1126,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,906,[],[],[true,"Animation 1",0,true]],[[3100,1026,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,907,[],[],[true,"Animation 1",0,true]],[[2966,982,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,908,[],[],[true,"Animation 1",0,true]],[[2978,1148,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,909,[],[],[true,"Animation 1",0,true]],[[3074,1213,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,910,[],[],[true,"Animation 1",0,true]],[[2776,1311,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,911,[],[],[true,"Animation 1",0,true]],[[2635,1265,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,912,[],[],[true,"Animation 1",0,true]],[[2546,1162,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,913,[],[],[true,"Animation 1",0,true]],[[2450,1287,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,914,[],[],[true,"Animation 1",0,true]],[[2381,1438,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,915,[],[],[true,"Animation 1",0,true]],[[2210,1273,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,916,[],[],[true,"Animation 1",0,true]],[[2263,1102,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,917,[],[],[true,"Animation 1",0,true]],[[2112,1217,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,918,[],[],[true,"Animation 1",0,true]],[[2021,1388,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,919,[],[],[true,"Animation 1",0,true]],[[1952,1215,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,920,[],[],[true,"Animation 1",0,true]],[[1880,1064,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,921,[],[],[true,"Animation 1",0,true]],[[2230,855,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,922,[],[],[true,"Animation 1",0,true]],[[2002,843,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,923,[],[],[true,"Animation 1",0,true]],[[1285,1055,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,924,[],[],[true,"Animation 1",0,true]],[[1508,1095,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,925,[],[],[true,"Animation 1",0,true]],[[1700,1167,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,926,[],[],[true,"Animation 1",0,true]],[[1741,1052,0,8,8,0,0.0025619072900324724,[1,1,1,1],0.5,0.5,0,0,[]],68,927,[],[],[true,"Animation 1",0,true]],[[2146,1182,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,928,[],[],[true,"Animation 1",0,true]],[[2038,1143,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,929,[],[],[true,"Animation 1",0,true]],[[1966,1043,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,930,[],[],[true,"Animation 1",0,true]],[[1844,1165,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,931,[],[],[true,"Animation 1",0,true]],[[1940,1230,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,932,[],[],[true,"Animation 1",0,true]],[[1642,1328,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,933,[],[],[true,"Animation 1",0,true]],[[1501,1282,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,934,[],[],[true,"Animation 1",0,true]],[[1412,1179,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,935,[],[],[true,"Animation 1",0,true]],[[1316,1304,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,936,[],[],[true,"Animation 1",0,true]],[[1247,1455,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,937,[],[],[true,"Animation 1",0,true]],[[1076,1290,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,938,[],[],[true,"Animation 1",0,true]],[[1129,1119,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,939,[],[],[true,"Animation 1",0,true]],[[978,1234,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,940,[],[],[true,"Animation 1",0,true]],[[887,1405,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,941,[],[],[true,"Animation 1",0,true]],[[818,1232,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,942,[],[],[true,"Animation 1",0,true]],[[746,1081,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,943,[],[],[true,"Animation 1",0,true]],[[1560,1537,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,944,[],[],[true,"Animation 1",0,true]],[[1783,1577,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,945,[],[],[true,"Animation 1",0,true]],[[1975,1649,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,946,[],[],[true,"Animation 1",0,true]],[[2016,1534,0,8,8,0,0.0025619072900324724,[1,1,1,1],0.5,0.5,0,0,[]],68,947,[],[],[true,"Animation 1",0,true]],[[2421,1664,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,948,[],[],[true,"Animation 1",0,true]],[[2313,1625,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,949,[],[],[true,"Animation 1",0,true]],[[2241,1525,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,950,[],[],[true,"Animation 1",0,true]],[[2119,1647,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,951,[],[],[true,"Animation 1",0,true]],[[2215,1712,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,952,[],[],[true,"Animation 1",0,true]],[[1917,1810,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,953,[],[],[true,"Animation 1",0,true]],[[1776,1764,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,954,[],[],[true,"Animation 1",0,true]],[[1687,1661,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,955,[],[],[true,"Animation 1",0,true]],[[1591,1786,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,956,[],[],[true,"Animation 1",0,true]],[[1522,1937,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,957,[],[],[true,"Animation 1",0,true]],[[1351,1772,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,958,[],[],[true,"Animation 1",0,true]],[[1404,1601,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,959,[],[],[true,"Animation 1",0,true]],[[1253,1716,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,960,[],[],[true,"Animation 1",0,true]],[[1162,1887,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,961,[],[],[true,"Animation 1",0,true]],[[1093,1714,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,962,[],[],[true,"Animation 1",0,true]],[[1021,1563,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,963,[],[],[true,"Animation 1",0,true]],[[2850,1490,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,964,[],[],[true,"Animation 1",0,true]],[[3073,1530,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,965,[],[],[true,"Animation 1",0,true]],[[3265,1602,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,966,[],[],[true,"Animation 1",0,true]],[[3306,1487,0,8,8,0,0.0025619072900324724,[1,1,1,1],0.5,0.5,0,0,[]],68,967,[],[],[true,"Animation 1",0,true]],[[3711,1617,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,968,[],[],[true,"Animation 1",0,true]],[[3603,1578,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,969,[],[],[true,"Animation 1",0,true]],[[3531,1478,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,970,[],[],[true,"Animation 1",0,true]],[[3409,1600,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,971,[],[],[true,"Animation 1",0,true]],[[3505,1665,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,972,[],[],[true,"Animation 1",0,true]],[[3207,1763,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,973,[],[],[true,"Animation 1",0,true]],[[3066,1717,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,974,[],[],[true,"Animation 1",0,true]],[[2977,1614,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,975,[],[],[true,"Animation 1",0,true]],[[2881,1739,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,976,[],[],[true,"Animation 1",0,true]],[[2812,1890,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,977,[],[],[true,"Animation 1",0,true]],[[2641,1725,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,978,[],[],[true,"Animation 1",0,true]],[[2694,1554,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,979,[],[],[true,"Animation 1",0,true]],[[2543,1669,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,980,[],[],[true,"Animation 1",0,true]],[[2452,1840,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,981,[],[],[true,"Animation 1",0,true]],[[2383,1667,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,982,[],[],[true,"Animation 1",0,true]],[[2311,1516,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,983,[],[],[true,"Animation 1",0,true]],[[3817,1032,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,984,[],[],[true,"Animation 1",0,true]],[[4040,1072,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,985,[],[],[true,"Animation 1",0,true]],[[4232,1144,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,986,[],[],[true,"Animation 1",0,true]],[[4273,1029,0,8,8,0,0.0025619072900324724,[1,1,1,1],0.5,0.5,0,0,[]],68,987,[],[],[true,"Animation 1",0,true]],[[4678,1159,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,988,[],[],[true,"Animation 1",0,true]],[[4570,1120,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,989,[],[],[true,"Animation 1",0,true]],[[4498,1020,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,990,[],[],[true,"Animation 1",0,true]],[[4376,1142,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,991,[],[],[true,"Animation 1",0,true]],[[4472,1207,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,992,[],[],[true,"Animation 1",0,true]],[[4174,1305,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,993,[],[],[true,"Animation 1",0,true]],[[4033,1259,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,994,[],[],[true,"Animation 1",0,true]],[[3944,1156,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,995,[],[],[true,"Animation 1",0,true]],[[3848,1281,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,996,[],[],[true,"Animation 1",0,true]],[[3779,1432,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,997,[],[],[true,"Animation 1",0,true]],[[3608,1267,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,998,[],[],[true,"Animation 1",0,true]],[[3661,1096,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,999,[],[],[true,"Animation 1",0,true]],[[3510,1211,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1000,[],[],[true,"Animation 1",0,true]],[[3419,1382,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1001,[],[],[true,"Animation 1",0,true]],[[3350,1209,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1002,[],[],[true,"Animation 1",0,true]],[[3278,1058,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1003,[],[],[true,"Animation 1",0,true]],[[3649,252,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1004,[],[],[true,"Animation 1",0,true]],[[3872,292,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1005,[],[],[true,"Animation 1",0,true]],[[4064,364,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1006,[],[],[true,"Animation 1",0,true]],[[4105,249,0,8,8,0,0.0025619072900324724,[1,1,1,1],0.5,0.5,0,0,[]],68,1007,[],[],[true,"Animation 1",0,true]],[[4510,379,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1008,[],[],[true,"Animation 1",0,true]],[[4402,340,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1009,[],[],[true,"Animation 1",0,true]],[[4330,240,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1010,[],[],[true,"Animation 1",0,true]],[[4208,362,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1011,[],[],[true,"Animation 1",0,true]],[[4304,427,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1012,[],[],[true,"Animation 1",0,true]],[[4006,525,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1013,[],[],[true,"Animation 1",0,true]],[[3865,479,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1014,[],[],[true,"Animation 1",0,true]],[[3776,376,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1015,[],[],[true,"Animation 1",0,true]],[[3680,501,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1016,[],[],[true,"Animation 1",0,true]],[[3611,652,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1017,[],[],[true,"Animation 1",0,true]],[[3440,487,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1018,[],[],[true,"Animation 1",0,true]],[[3493,316,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1019,[],[],[true,"Animation 1",0,true]],[[3342,431,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1020,[],[],[true,"Animation 1",0,true]],[[3251,602,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1021,[],[],[true,"Animation 1",0,true]],[[3182,429,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1022,[],[],[true,"Animation 1",0,true]],[[3110,278,0,8,8,0,0,[1,1,1,1],0.5,0.5,0,0,[]],68,1023,[],[],[true,"Animation 1",0,true]]],[],0]],[],[]],["Level 2-1",8000,4000,true,"Levels",804047086899927,[["Layer 0",0,187252170641895,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[312,3320,0,96,64,0,1.5707963267948966,[0,0,0,1],0,0,0,0,[]],31,335,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["[color=#2574ba]->[/color]",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[24,3304,0,944,120,0,0,[0,0,0,1],0,0,0,0,[]],31,334,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["Press while on the wall to [color=#39ba25]Climb[/color]",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[160,3528,0,64,128,0,0,[1,1,1,1],0.5,0.5,0,0,[]],12,284,["run",0,0,1,1,0,0.8,0.5,0,1,0,0,0,0,0,1,0.4,0,"",2,0,0,0,"",3,0,0,0,-1,-1,-1,-1,0],[["collider","",false],[660,3000,3000,1300,3000,2000,false,0,false,true],[],[0,10000,360,true]],[true,"Default",0,true]],[[0,3672,0,1032,2112,0,0,[1,1,1,1],0,0,0,0,[]],13,286,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1032,3304,0,368,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,294,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1024,3304,0,1032,2480,0,0,[1,1,1,1],0,0,0,0,[]],13,331,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[992,3640,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,332,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2056,2896,0,416,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,336,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1872,3272,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,337,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1808,3272,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,338,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1744,3272,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,339,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1680,3272,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,340,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2048,2896,0,1032,2888,0,0,[1,1,1,1],0,0,0,0,[]],13,333,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3080,2488,0,416,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,341,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2784,2864,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,343,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2720,2864,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,344,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2656,2864,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,345,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3072,2480,0,1032,3312,0,0,[1,1,1,1],0,0,0,0,[]],13,346,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4104,2072,0,416,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,347,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3920,2448,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,348,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3856,2448,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,349,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3792,2448,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,350,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3728,2448,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,351,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2256,2728,0,128,8,0,0,[1,1,1,1],0,0,0,0,[]],13,352,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2352,2696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,353,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2352,2768,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,354,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2288,2768,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,355,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3264,2320,0,128,8,0,0,[1,1,1,1],0,0,0,0,[]],13,356,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3360,2288,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,357,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3360,2360,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,358,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3296,2360,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,359,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3296,2288,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,360,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3864,2408,0,168,8,0,0,[1,1,1,1],0,0,0,0,[]],13,361,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3888,1816,0,320,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,362,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3984,2448,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,363,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4048,2448,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,364,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4096,2064,0,1032,3728,0,0,[1,1,1,1],0,0,0,0,[]],13,365,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5128,1608,0,464,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,366,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4944,2032,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,367,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4880,2032,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,368,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4816,2032,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,369,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4752,2032,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,370,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4288,1952,0,128,8,0,0,[1,1,1,1],0,0,0,0,[]],13,371,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4384,1920,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,372,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4384,1992,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,373,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4320,1992,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,374,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4320,1920,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,375,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4864,1992,0,144,8,0,0,[1,1,1,1],0,0,0,0,[]],13,376,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4928,1352,0,248,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,377,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5008,2032,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,378,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5072,2032,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,379,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4680,1592,0,128,8,0,0,[1,1,1,1],0,0,0,0,[]],13,380,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4776,1560,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,381,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4776,1632,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,382,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4712,1632,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,383,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4712,1560,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,384,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5088,1792,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,386,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4712,1352,0,216,8,0,0,[1,1,1,1],0,0,0,0,[]],13,342,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5160,1576,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,387,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5160,1512,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,388,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5160,1448,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,389,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5160,1384,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,390,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5160,1320,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,391,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5160,1256,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,392,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5160,1192,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,393,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5160,1128,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,394,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5200,904,0,704,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,395,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5128,1608,0,72,3096,0,0,[1,1,1,1],0,0,0,0,[]],13,396,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5000,1064,0,64,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,397,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5192,904,0,400,4880,0,0,[1,1,1,1],0,0,0,0,[]],13,398,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5496,712,0,194,398,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,399,["Level 2-2"],[["","",false]],[true,"Default",0,true]],[[5160,1064,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,385,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5160,1000,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,400,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5160,936,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,401,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3920,2104,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,402,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3920,1848,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,403,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3920,1968,0,48,48,0,0,[1,1,1,1],0.5,0.5,0,0,[]],15,404,["Level1"],[["","",false],[400,-200,800,false,false,false,false],[0,0,1,true,false]],[true,"Default",0,true]]],[],0]],[],[]],["Level 2-2",2000,10000,true,"Levels",329363505917715,[["Layer 0",0,938246809000784,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[288,8576,0,64,128,0,0,[1,1,1,1],0.5,0.5,0,0,[]],12,279,["run",0,0,1,1,0,0.8,0.5,0,1,0,0,0,0,0,1,0.4,0,"",2,0,0,0,"",3,0,0,0,-1,-1,-1,-1,0],[["collider","",false],[660,3000,3000,1300,3000,2000,false,0,false,true],[],[0,10000,360,true]],[true,"Default",0,true]],[[-2,8779,0,2008,2302,0,0,[1,1,1,1],0,0,0,0,[]],13,277,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1329,3733,0,680,5432,0,0,[1,1,1,1],0,0,0,0,[]],13,278,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[848,7984,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,280,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1072,7952,0,256,8,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,285,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[912,7984,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,281,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[976,7984,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,287,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1040,7984,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,288,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1120,8744,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,289,[0.7,0],[["","",false]],[true,"Default",0,true]],[[1024,7624,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,290,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[680,7600,0,128,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,291,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1080,7624,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,293,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[640,7696,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,295,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[640,7632,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,296,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1112,7592,0,120,8,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,297,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1152,7344,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,298,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1208,7344,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,299,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1240,7312,0,120,8,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,300,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[840,7008,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,301,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[896,7008,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,302,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[928,6976,0,120,8,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,303,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[712,6616,0,128,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,304,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[672,6712,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,305,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[672,6648,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,306,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[984,6568,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,307,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1040,6568,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,308,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1072,6536,0,120,8,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,309,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1056,6264,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,310,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1112,6264,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,311,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1144,6232,0,120,8,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,312,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1112,6192,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,313,[0.7,0],[["","",false]],[true,"Default",0,true]],[[1176,5280,0,128,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,314,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1136,5376,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,315,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1136,5312,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,316,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1176,5000,0,128,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,317,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1136,5096,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,318,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1136,5032,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,319,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1080,5200,0,80,80,0,0,[1,1,1,1],0.5,0.5,0,0,[]],15,320,["Level1"],[["","",false],[400,-200,800,false,false,false,false],[0,0,1,true,false]],[true,"Default",0,true]],[[392,5032,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,321,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1040,5032,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,322,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1072,5000,0,712,8,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,323,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[368,4200,0,800,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,324,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[584,4336,0,472,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,325,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[776,4496,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,326,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[832,4496,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,327,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[864,4464,0,120,8,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,328,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[832,4424,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,329,[0.7,0],[["","",false]],[true,"Default",0,true]],[[1872,3536,0,194,398,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,330,["Level 2-3"],[["","",false]],[true,"Default",0,true]]],[],0]],[],[]],["Level 2-3",3000,5000,true,"Levels",889114158602169,[["Layer 0",0,296938960762299,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[-1016,4936,0,2320,1096,0,0,[1,1,1,1],0,0,0,0,[]],13,460,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[312,4784,0,64,128,0,0,[1,1,1,1],0.5,0.5,0,0,[]],12,459,["run",0,0,1,1,0,0.8,0.5,0,1,0,0,0,0,0,1,0.4,0,"",2,0,0,0,"",3,0,0,0,-1,-1,-1,-1,0],[["collider","",false],[660,3000,3000,1300,3000,2000,false,0,false,true],[],[0,10000,360,true]],[true,"Default",0,true]],[[1304,2096,0,2848,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,405,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[856,2352,0,2200,2112,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,406,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[848,4544,0,104,8,0,0,[1,1,1,1],0,0,0,0,[]],13,407,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1088,4040,0,104,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,408,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1272,4320,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,409,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1272,4256,0,64,64,0,4.717624534641097,[1,1,1,1],0.5,0.5,0,0,[]],27,410,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1272,4192,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,411,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1272,4128,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,412,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1272,4064,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,413,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1272,4000,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,414,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1272,3936,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,415,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1272,3872,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,416,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1160,4096,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],15,417,["Level1"],[["","",false],[400,-200,800,false,false,false,false],[0,0,1,true,false]],[true,"Default",0,true]],[[1200,3832,0,104,8,0,0,[1,1,1,1],0,0,0,0,[]],13,418,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1112,3328,0,104,40,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,419,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1272,3344,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,420,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1272,3280,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,421,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1272,3216,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,422,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1272,3152,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,423,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[880,3080,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,425,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[880,3016,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,426,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[856,2976,0,104,8,0,0,[1,1,1,1],0,0,0,0,[]],13,427,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[880,2512,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,428,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[880,2448,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,429,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1088,2544,0,96,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,430,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1272,2488,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,431,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1272,2424,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,432,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1272,2128,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,433,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[664,2352,0,184,8,0,0,[1,1,1,1],0,0,0,0,[]],13,435,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[880,2384,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,434,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[672,1688,0,672,1664,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,436,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2160,1904,0,194,398,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,437,["Level 2-4"],[["","",false]],[true,"Default",0,true]],[[1304,2096,0,2464,3984,0,0,[1,1,1,1],0,0,0,0,[]],13,438,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1504,2072,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,439,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1568,2072,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,440,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1632,2072,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,441,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1696,2072,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,442,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1760,2072,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,443,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1824,2072,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,444,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1888,2072,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,445,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1952,2072,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,446,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[-1336,-8,0,4784,1704,0,0,[1,1,1,1],0,0,0,0,[]],13,447,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]]],[],0]],[],[]],["Level 2-4",10000,10000,true,"Levels",553905844450519,[["Layer 0",0,284205033235716,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[-1080,9552,0,3488,1736,0,0,[1,1,1,1],0,0,0,0,[]],13,1153,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[210,9388,0,64,128,0,0,[1,1,1,1],0.5,0.5,0,0,[]],12,1154,["run",0,0,1,1,0,0.8,0.5,0,1,0,0,0,0,0,1,0.4,0,"",2,0,0,0,"",3,0,0,0,-1,-1,-1,-1,0],[["collider","",false],[660,3000,3000,1300,3000,2000,false,0,false,true],[],[0,10000,360,true]],[true,"Default",0,true]],[[1266.3431457505076,8997.656854249492,0,792,8,0,2.356194490192345,[1,1,1,1],0,0,0,0,[]],13,1155,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1260,8992,0,632,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1156,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2270,8992,0,1568,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1157,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1416,8960,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1158,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1480,8960,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1159,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1544,8960,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1160,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1608,8960,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1161,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2048,8872,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1162,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[2081,8846,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1163,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[2155,9122,0,64,64,0,2.6179938779914944,[1,1,1,1],0.5,0.5,0,0,[]],27,1164,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[3832,8520,0,8,2104,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1165,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2229,8994,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1166,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[2210,9067,0,64,64,0,2.0943951023931953,[1,1,1,1],0.5,0.5,0,0,[]],27,1167,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[2155,8865,0,64,64,0,0.5235987755982988,[1,1,1,1],0.5,0.5,0,0,[]],27,1168,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[2209,8920,0,64,64,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],27,1169,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[2080,9143,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1170,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[2006,9122,0,64,64,0,3.6651914291880923,[1,1,1,1],0.5,0.5,0,0,[]],27,1171,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[1951,9067,0,64,64,0,4.1887902047863905,[1,1,1,1],0.5,0.5,0,0,[]],27,1172,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[1931,8992,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1173,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[2006,8865,0,64,64,0,5.759586531581287,[1,1,1,1],0.5,0.5,0,0,[]],27,1174,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[1951,8919,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,1175,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4595,9216,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1176,[0,1,0],[["","Rotate_1",false],[true,""]],[true,"Default",0,true]],[[4669,9493,0,64,64,0,2.6179938779914944,[1,1,1,1],0.5,0.5,0,0,[]],27,1177,[0,1,0],[["","Rotate_1",false],[true,""]],[true,"Default",0,true]],[[4743,9364,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1178,[0,1,0],[["","Rotate_1",false],[true,""]],[true,"Default",0,true]],[[4724,9438,0,64,64,0,2.0943951023931953,[1,1,1,1],0.5,0.5,0,0,[]],27,1179,[0,1,0],[["","Rotate_1",false],[true,""]],[true,"Default",0,true]],[[4669,9235,0,64,64,0,0.5235987755982988,[1,1,1,1],0.5,0.5,0,0,[]],27,1180,[0,1,0],[["","Rotate_1",false],[true,""]],[true,"Default",0,true]],[[4723,9290,0,64,64,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],27,1181,[0,1,0],[["","Rotate_1",false],[true,""]],[true,"Default",0,true]],[[4594,9513,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1182,[0,1,0],[["","Rotate_1",false],[true,""]],[true,"Default",0,true]],[[4519,9493,0,64,64,0,3.6651914291880923,[1,1,1,1],0.5,0.5,0,0,[]],27,1183,[0,1,0],[["","Rotate_1",false],[true,""]],[true,"Default",0,true]],[[4465,9437,0,64,64,0,4.1887902047863905,[1,1,1,1],0.5,0.5,0,0,[]],27,1184,[0,1,0],[["","Rotate_1",false],[true,""]],[true,"Default",0,true]],[[4445,9362,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1185,[0,1,0],[["","Rotate_1",false],[true,""]],[true,"Default",0,true]],[[4519,9236,0,64,64,0,5.759586531581287,[1,1,1,1],0.5,0.5,0,0,[]],27,1186,[0,1,0],[["","Rotate_1",false],[true,""]],[true,"Default",0,true]],[[4464,9289,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,1187,[0,1,0],[["","Rotate_1",false],[true,""]],[true,"Default",0,true]],[[2084,8592,0,224,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],19,1188,[],[["","",false],[true]],[true,0,0,0,1,1,0]],[[2080,8560,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1189,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2688,8960,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1190,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2752,8960,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1191,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3216,8960,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1192,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3280,8960,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1193,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2944,8560,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1194,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3008,8560,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1195,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3480,8560,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1196,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3544,8560,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1197,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3704,8912,0,84,84,0,0,[1,1,1,1],0.5,0.5,0,0,[]],14,1198,[0,1,0,-1,-1,999,0,"moveArea(0)"],[["","",false],[]],[true,"Default",0,true]],[[3832,8520,0,8,616,0,0,[1,1,1,1],0,0,0,0,[]],13,1199,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2080,9000,0,272,280,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,1200,[0,0,"movey ~554 0.1",0,0],[["move1","",false],[true],[]],[false,"Default",0,true]],[[2784,9552,0,3880,1856,0,0,[1,1,1,1],0,0,0,0,[]],13,1201,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2352,9752,0,432,1472,0,0,[1,1,1,1],0,0,0,0,[]],13,1202,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2112,8872,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1203,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[2168,8904,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1204,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[2200,8960,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1205,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[2200,9024,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1206,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[2168,9080,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1207,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[2336,9280,0,140.80276921555742,547.5817042153867,0,0,[1,1,1,1],0.5,0.5,0,0,[]],14,1208,[2,1,0,-1,-1,999,0,"moveArea(2)\nmoveArea(1)"],[["","",false],[]],[false,"Default",0,true]],[[4594,9364.5,0,362,359,0,0,[1,1,1,1],0.5,0.5,0,0,[]],20,1209,[1,0,"angle -720 2 0\nmovex ~-1750 1.75\nmove ~-250 ~240 0.25\nmovey ~100 0.3",0,0],[["Rotate_1","MoveLeft_1",false],[true],[]],[false,"Default",0,true]],[[-224,7952,0,304,74,0,0,[1,1,1,1],0,0,0,0,[]],55,1210,[],[[0,0,1,true,true]],[true,"Animation 1",0,true]],[[-200,7840,0,304,74,0,0,[1,1,1,1],0,0,0,0,[]],55,1211,[],[[0,0,1,true,true]],[true,"Animation 1",0,true]],[[4562,9246,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1212,[],[["","Rotate_1",false],[true,""]],[true,0,0,0,1,1,0]],[[4626,9246,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1213,[],[["","Rotate_1",false],[true,""]],[true,0,0,0,1,1,0]],[[4682,9278,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1214,[],[["","Rotate_1",false],[true,""]],[true,0,0,0,1,1,0]],[[4714,9334,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1215,[],[["","Rotate_1",false],[true,""]],[true,0,0,0,1,1,0]],[[4714,9398,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1216,[],[["","Rotate_1",false],[true,""]],[true,0,0,0,1,1,0]],[[4682,9454,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1217,[],[["","Rotate_1",false],[true,""]],[true,0,0,0,1,1,0]],[[4392,8472,0,2256,1080,0,0,[1,1,1,1],0,0,0,0,[]],13,1218,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3840,9128,0,280,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1219,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4096,9008,0,296,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1220,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3832,8120,0,8,400,0,0,[1,1,1,1],0,0,0,0,[]],13,1221,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4096,7464,0,8,1000,0,0,[1,1,1,1],0,0,0,0,[]],13,1222,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4096,8832,0,8,104,0,0,[1,1,1,1],0,0,0,0,[]],13,1223,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4096,8664,0,8,344,0,0,[1,1,1,1],0,0,0,0,[]],13,1224,[],[["","MoveWall_1",false],[true,""]],[true,0,0,0,1,1,0]],[[4096,8952,0,104,72,0,0,[1,1,1,1],0.5,0.5,0,0,[]],20,1225,[3,0,"movey ~128 0.5",0,0],[["MoveWall_1","",false],[true],[]],[false,"Default",0,true]],[[3964,8840,0,264,88,0,0,[1,1,1,1],0.5,0.5,0,0,[]],14,1226,[0,1,0,-1,-1,999,0,"moveArea(3)"],[["","",false],[]],[false,"Default",0,true]],[[4104,8432,0,232,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],19,1227,[],[["","",false],[true]],[true,0,0,0,1,1,0]],[[4096,8672,0,8,328,0,0,[1,1,1,1],0,0,0,0,[]],13,1228,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3840,7864,0,256,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1229,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3840,7872,0,256,48,0,0,[1,1,1,1],0,0,0,0,[]],13,1230,[],[["","Trap_1",false],[true,""]],[true,0,0,0,1,1,0]],[[4000,7952,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1231,[0,1,0],[["","Trap_1",false],[true,""]],[true,"Default",0,true]],[[4064,7952,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1232,[0,1,0],[["","Trap_1",false],[true,""]],[true,"Default",0,true]],[[3936,7952,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1233,[0,1,0],[["","Trap_1",false],[true,""]],[true,"Default",0,true]],[[3872,7952,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1234,[0,1,0],[["","Trap_1",false],[true,""]],[true,"Default",0,true]],[[3967.9999941246156,7931.999990860514,0,112,256,0,4.712388817179586,[1,1,1,1],0.5,0.5,0,0,[]],20,1235,[3,0,"movey ~2000 5.5",0,0],[["Trap_1","",false],[true],[]],[false,"Default",0,true]],[[3832,8120,0,8,1703.1177301978732,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1236,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2134.284676311023,8125.715323688977,0,566.1284231202396,8,0,2.356194490192345,[1,1,1,1],0,0,0,0,[]],13,1237,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3840,7864,0,8,1464,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1238,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4104.882269802127,7464,0,8,1328,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1239,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2782.0428314889487,7469.259964084528,0,566.1284231202396,8,0,2.356194490192345,[1,1,1,1],0,0,0,0,[]],13,1240,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2384,7872,0,256,112,0,0,[1,1,1,1],0,0,0,0,[]],13,1241,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2416,8016,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1242,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2480,8016,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1243,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2544,8016,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1244,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2608,8016,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1245,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3296,7872,0,256,112,0,0,[1,1,1,1],0,0,0,0,[]],13,1246,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3328,8016,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1247,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3392,8016,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1248,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3456,8016,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1249,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3520,8016,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1250,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2872,8088,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1251,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2936,8088,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1252,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3000,8088,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1253,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3064,8088,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1254,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4912,5320,0,840,808,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1255,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[10768,6456,0,2016,6664,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1256,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5744,5320,0,840,376,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1257,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[10768,4512,0,1944,4504,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1258,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4112,728,0,4072,-5952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1259,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4360,6424,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1260,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4424,6424,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1261,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4488,6424,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1262,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4552,6424,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1263,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4352,6192,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1264,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4416,6192,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1265,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4480,6192,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1266,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4544,6192,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1267,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4816,6328,0,64,168,0,0,[1,1,1,1],0,0,0,0,[]],13,1268,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4848,6296,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1269,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5376,6328,0,64,168,0,0,[1,1,1,1],0,0,0,0,[]],13,1270,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5408,6296,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1271,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5744,6328,0,64,168,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,1272,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5712,6360,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1273,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6120,6248,0,64,168,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,1274,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5960,6000,0,64,168,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,1275,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6128,5640,0,64,168,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,1276,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5936,5320,0,192,168,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,1277,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6096,5672,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1278,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5928,6032,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1279,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6088,6280,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1280,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6088,6048,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,1281,[0.5,0],[["","",false]],[true,"Default",0,true]],[[5928,5800,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,1282,[0.7,0],[["","",false]],[true,"Default",0,true]],[[5904,5352,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1283,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6096,5440,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1284,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5848,5120,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,1285,[0.35,0],[["","",false]],[true,"Default",0,true]],[[5840,5352,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1286,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5776,5352,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1287,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5712,5288,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1288,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5648,5288,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1289,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5584,5288,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1290,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3952,7432,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,1291,[1,0],[["","",false]],[true,"Default",0,true]],[[5208,5288,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1292,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5072,5288,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1293,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5008,5288,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1294,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4944,5288,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1295,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5336,5288,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1296,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5272,5288,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1297,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4912,5320,0,192,840,0,0,[1,1,1,1],0,0,0,0,[]],13,1298,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5176,5320,0,192,840,0,0,[1,1,1,1],0,0,0,0,[]],13,1299,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5104,5640,0,72,520,0,0,[1,1,1,1],0,0,0,0,[]],13,1300,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5136,5608,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,1301,[0.7,0],[["","",false]],[true,"Default",0,true]],[[5136,5568,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],15,1302,["Level1"],[["","",false],[400,-200,800,false,false,false,false],[0,0,1,true,false]],[true,"Default",0,true]],[[5144,5488,0,88,328,0,0,[1,1,1,1],0.5,0.5,0,0,[]],58,1303,[],[],[true,"Animation 1",0,true]],[[5104,4032,0,72,8,0,0,[1,1,1,1],0,0,0,0,[]],19,1304,[],[["","",false],[true]],[true,0,0,0,1,1,0]],[[4216,5136,0,194,398,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,1305,["Level 2-5"],[["","",false]],[true,"Default",0,true]],[[5104,5316,0,72,8,0,0,[1,1,1,1],0,0,0,0,[]],62,1306,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]]],[],0]],[],[]],["Level 2-5",13000,13000,true,"Levels",850254530592572,[["Layer 0",0,854105389592784,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[6272,7840,-40,88,120,0,0,[0,0,0,1],0,0,0,0,[]],31,87,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["[color=#FF0000]![/color]",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1.5,0,0,1,1,0,true,0]],[[5912,6024,-40,88,120,0,0,[0,0,0,1],0,0,0,0,[]],31,146,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["[color=#FF0000]![/color]",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1.5,0,0,1,1,0,true,0]],[[6672,5600,-40,88,120,0,0,[0,0,0,1],0,0,0,0,[]],31,2385,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["[color=#FF0000]![/color]",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1.5,0,0,1,1,0,true,0]],[[6336,12504,0,64,128,0,0,[1,1,1,1],0.5,0.5,0,0,[]],12,1026,["run",0,0,1,1,0,0.8,0.5,0,1,0,0,0,0,0,1,0.4,0,"",2,0,0,0,"",3,0,0,0,-1,-1,-1,-1,0],[["collider","",false],[660,3000,3000,1300,3000,2000,false,0,false,true],[],[0,10000,360,true]],[true,"Default",0,true]],[[5808,12592,0,160,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1025,[],[["","ElevateLong",false],[true,""]],[true,0,0,0,1,1,0]],[[5808,2352,0,10448,1328,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1035,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6672,12592,0,160,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1044,[],[["","ElevateLong",false],[true,""]],[true,0,0,0,1,1,0]],[[6448,12592,0,224,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1045,[],[["","ElevateMid",false],[true,""]],[true,0,0,0,1,1,0]],[[5968,12592,0,224,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1046,[],[["","ElevateMid",false],[true,""]],[true,0,0,0,1,1,0]],[[6192,12592,0,256,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1047,[],[["","ElevateShort",false],[true,""]],[true,0,0,0,1,1,0]],[[8832,2248,0,10552,2000,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1048,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5840,12760,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1027,[0,1,0],[["","ElevateLong",false],[true,""]],[true,"Default",0,true]],[[5904,12760,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1028,[0,1,0],[["","ElevateLong",false],[true,""]],[true,"Default",0,true]],[[5968,12760,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1029,[0,1,0],[["","ElevateLong",false],[true,""]],[true,"Default",0,true]],[[6032,12760,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1030,[0,1,0],[["","ElevateSpike",false],[true,""]],[true,"Default",0,true]],[[6096,12760,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1031,[0,1,0],[["","ElevateSpike",false],[true,""]],[true,"Default",0,true]],[[6160,12760,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1032,[0,1,0],[["","ElevateSpike",false],[true,""]],[true,"Default",0,true]],[[6224,12760,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1033,[0,1,0],[["","ElevateSpike",false],[true,""]],[true,"Default",0,true]],[[5808,12792,0,192,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1036,[],[["","ElevateLong",false],[true,""]],[true,0,0,0,1,1,0]],[[6288,12760,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1037,[0,1,0],[["","ElevateSpike",false],[true,""]],[true,"Default",0,true]],[[6352,12760,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1038,[0,1,0],[["","ElevateSpike",false],[true,""]],[true,"Default",0,true]],[[6416,12760,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1039,[0,1,0],[["","ElevateSpike",false],[true,""]],[true,"Default",0,true]],[[6480,12760,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1040,[0,1,0],[["","ElevateSpike",false],[true,""]],[true,"Default",0,true]],[[6544,12760,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1041,[0,1,0],[["","ElevateSpike",false],[true,""]],[true,"Default",0,true]],[[6608,12760,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1042,[0,1,0],[["","ElevateSpike",false],[true,""]],[true,"Default",0,true]],[[6672,12760,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1043,[0,1,0],[["","ElevateLong",false],[true,""]],[true,"Default",0,true]],[[6736,12760,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1049,[0,1,0],[["","ElevateLong",false],[true,""]],[true,"Default",0,true]],[[6800,12760,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1050,[0,1,0],[["","ElevateLong",false],[true,""]],[true,"Default",0,true]],[[5840,12000,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1034,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5808,11960,0,768,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1051,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5904,12000,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1052,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5968,12000,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1053,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6032,12000,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1054,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6096,12000,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1055,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6160,12000,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1056,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6224,12000,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1057,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6288,12000,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1058,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6352,12000,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1059,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6416,12000,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1060,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6480,12000,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1061,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6544,12000,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1062,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6096,11376,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1063,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6064,11336,0,768,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1064,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6160,11376,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1065,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6224,11376,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1066,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6288,11376,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1067,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6352,11376,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1068,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6416,11376,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1069,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6480,11376,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1070,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6544,11376,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1071,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6608,11376,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1072,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6672,11376,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1073,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6736,11376,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1074,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6800,11376,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1075,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5968,12672,0,32,312,0,4.712388817179586,[1,1,1,1],0.5,0.5,0,0,[]],20,1076,[100,1,"movey ~-10000 36",0,0],[["ElevateLong","",false],[true],[]],[false,"Default",0,true]],[[6384,10992,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1077,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7368,10960,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1078,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6360,10928,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1079,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7344,10896,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1080,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6304,10872,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1081,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7288,10840,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1082,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6224,10808,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1083,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7208,10776,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1084,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6144,10744,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1085,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7128,10712,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1086,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6144,10680,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1087,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7128,10648,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1088,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6184,10616,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1089,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7168,10584,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1090,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6232,10552,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1091,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7216,10520,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1092,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6272,10488,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1093,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7256,10456,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1094,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6368,10424,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1095,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7352,10392,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1096,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6440,10360,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1097,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7424,10328,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1098,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6440,10296,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1099,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7424,10264,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1100,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6440,10232,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1101,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7424,10200,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1102,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6440,10168,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1103,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7424,10136,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1104,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6384,10104,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1105,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7368,10072,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1106,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6272,10040,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1107,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7256,10008,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1108,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6184,9976,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1109,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7168,9944,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1110,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[7000,9880,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1112,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6008,11000,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1113,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5976,10968,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1114,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5984,10936,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1115,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5952,10904,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1116,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5920,10872,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1117,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5888,10840,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1118,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5848,10808,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1119,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5816,10776,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1120,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5840,10744,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1121,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5808,10712,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1122,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5840,10680,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1123,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5808,10648,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1124,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5840,10616,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1125,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5808,10584,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1126,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5872,10552,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1127,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5840,10520,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1128,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5920,10488,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1129,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5888,10456,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1130,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5968,10424,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1131,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5936,10392,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1132,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6048,10360,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1133,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6016,10328,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1134,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6104,10296,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1135,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6072,10264,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1136,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6064,10232,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1137,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6032,10200,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1138,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6016,10168,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1139,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5984,10136,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1140,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5856,10104,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1141,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5824,10072,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1142,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6016,9912,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1111,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5824,10008,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1143,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5824,9944,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1144,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5824,9880,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1145,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5824,9816,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1146,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5824,9752,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1147,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5856,9720,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,696,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5824,9688,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,697,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5888,9656,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,703,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5856,9624,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1148,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5936,9592,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1149,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5904,9560,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1150,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5984,9528,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1646,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5952,9496,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1647,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6056,9464,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1648,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6024,9432,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1649,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6144,9400,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1650,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6112,9368,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1651,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6224,9336,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1652,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6192,9304,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1653,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6328,9272,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1654,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6296,9240,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1655,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6496,9208,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1656,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6464,9176,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1657,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6688,9144,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1658,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6656,9112,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1659,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[7144,9688,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1660,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6160,9720,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1661,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7216,9624,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1662,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6232,9656,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1663,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7304,9560,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1664,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6320,9592,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1665,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7368,9496,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1666,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6384,9528,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1667,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7472,9432,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1668,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6488,9464,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1669,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7576,9368,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1670,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6592,9400,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1671,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7784,9304,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1672,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6800,9336,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1673,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7080,9816,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1674,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6096,9848,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1675,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7120,9752,0,64,952,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1676,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6136,9784,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1677,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6096,8416,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1678,[0,1,0],[["","Trap_1",false],[true,""]],[true,"Default",0,true]],[[6320,8376,0,512,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1679,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6160,8416,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1680,[0,1,0],[["","Trap_1",false],[true,""]],[true,"Default",0,true]],[[6224,8416,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1681,[0,1,0],[["","Trap_1",false],[true,""]],[true,"Default",0,true]],[[6288,8416,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1682,[0,1,0],[["","Trap_1",false],[true,""]],[true,"Default",0,true]],[[6352,8416,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1683,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6416,8416,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1684,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6480,8416,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1685,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6544,8416,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1686,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6608,8416,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1687,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6672,8416,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1688,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6736,8416,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1689,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6800,8416,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1690,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6064,8376,0,256,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1691,[],[["","Trap_1",false],[true,""]],[true,0,0,0,1,1,0]],[[6192,8392,0,224,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,1692,[1,0,"movex ~20 0.1\nmovex ~-20 0.1\nmovex ~20 0.1\nmovex ~-20 0.1\nwait 0.25\nmovex ~-258 0.5",0,0],[["Trap_1","",false],[true],[]],[false,"Default",0,true]],[[6320,8832,0,1032,32,0,0,[1,1,1,1],0.5,0.5,0,0,[]],14,1693,[0,1,0,-1,-1,999,0,"moveArea(1)"],[["","",false],[]],[false,"Default",0,true]],[[6344,8112,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1694,[0,1,0],[["","Trap_2",false],[true,""]],[true,"Default",0,true]],[[6568,8072,0,256,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1695,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6408,8112,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1696,[0,1,0],[["","Trap_2",false],[true,""]],[true,"Default",0,true]],[[6472,8112,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1697,[0,1,0],[["","Trap_2",false],[true,""]],[true,"Default",0,true]],[[6536,8112,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1698,[0,1,0],[["","Trap_2",false],[true,""]],[true,"Default",0,true]],[[5840,8112,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1699,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5904,8112,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1700,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5968,8112,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1701,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6032,8112,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1702,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6600,8112,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1703,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6664,8112,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1704,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6728,8112,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1705,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6792,8112,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1706,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6312,8072,0,256,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1707,[],[["","Trap_2",false],[true,""]],[true,0,0,0,1,1,0]],[[6440,8104,0,224,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,1708,[2,0,"movex ~20 0.1\nmovex ~-20 0.1\nmovex ~20 0.1\nmovex ~-20 0.1\nwait 0.25\nmovex ~-258 0.5",0,0],[["Trap_2","",false],[true],[]],[false,"Default",0,true]],[[6320,8504,0,1032,32,0,0,[1,1,1,1],0.5,0.5,0,0,[]],14,1709,[0,1,0,-1,-1,999,0,"moveArea(2)"],[["","",false],[]],[false,"Default",0,true]],[[5808,8072,0,256,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1710,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5808,7056,0,768,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1711,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5840,7096,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1712,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5904,7096,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1713,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5968,7096,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1714,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6032,7096,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1715,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6096,7096,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1716,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6160,7096,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1717,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6224,7096,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1718,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6288,7096,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1719,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6352,7096,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1720,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6416,7096,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1721,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6480,7096,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1722,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6544,7096,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1723,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6224,7024,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1724,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6288,7024,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1725,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6352,7024,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1726,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6416,7024,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1727,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6064,6536,0,768,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1728,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6096,6576,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1729,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6160,6576,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1730,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6224,6576,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1731,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6288,6576,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1732,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6352,6576,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1733,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6416,6576,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1734,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6480,6576,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1735,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6544,6576,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1736,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6608,6576,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1737,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6672,6576,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1738,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6736,6576,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1739,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6800,6576,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1740,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6312,12672,0,32,312,0,4.712388817179586,[1,1,1,1],0.5,0.5,0,0,[]],20,1741,[101,1,"movey ~-7500 27",0,0],[["ElevateMid","",false],[true],[]],[false,"Default",0,true]],[[6656,12672,0,32,312,0,4.712388817179586,[1,1,1,1],0.5,0.5,0,0,[]],20,1742,[102,1,"movey ~-5000 18\nmovey ~5000 1.5",0,0],[["ElevateShort","",false],[true],[]],[false,"Default",0,true]],[[6296,6120,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1743,[],[["","SpikeBall_1",false],[true,""]],[true,0,0,0,1,1,0]],[[6328,6088,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1744,[0,1,0],[["","SpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[6400,6368,0,64,64,0,2.6179938779914944,[1,1,1,1],0.5,0.5,0,0,[]],27,1745,[0,1,0],[["","SpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[6480,6240,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1746,[0,1,0],[["","SpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[6456,6312,0,64,64,0,2.0943951023931953,[1,1,1,1],0.5,0.5,0,0,[]],27,1747,[0,1,0],[["","SpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[6400,6112,0,64,64,0,0.5235987755982988,[1,1,1,1],0.5,0.5,0,0,[]],27,1748,[0,1,0],[["","SpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[6456,6168,0,64,64,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],27,1749,[0,1,0],[["","SpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[6328,6384,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1750,[0,1,0],[["","SpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[6256,6368,0,64,64,0,3.6651914291880923,[1,1,1,1],0.5,0.5,0,0,[]],27,1751,[0,1,0],[["","SpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[6200,6312,0,64,64,0,4.1887902047863905,[1,1,1,1],0.5,0.5,0,0,[]],27,1752,[0,1,0],[["","SpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[6176,6240,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1753,[0,1,0],[["","SpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[6256,6112,0,64,64,0,5.759586531581287,[1,1,1,1],0.5,0.5,0,0,[]],27,1754,[0,1,0],[["","SpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[6200,6160,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,1755,[0,1,0],[["","SpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[6336,6232,0,272,280,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,1756,[3,1,"wait 16.9\nmovey ~3000 2",0,0],[["SpikeBall_1","",false],[true],[]],[false,"Default",0,true]],[[6360,6120,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1757,[],[["","SpikeBall_1",false],[true,""]],[true,0,0,0,1,1,0]],[[6416,6152,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1758,[],[["","SpikeBall_1",false],[true,""]],[true,0,0,0,1,1,0]],[[6448,6208,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1759,[],[["","SpikeBall_1",false],[true,""]],[true,0,0,0,1,1,0]],[[6448,6272,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1760,[],[["","SpikeBall_1",false],[true,""]],[true,0,0,0,1,1,0]],[[6416,6328,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1761,[],[["","SpikeBall_1",false],[true,""]],[true,0,0,0,1,1,0]],[[6320,7688,0,1024,88,0,0,[1,1,1,1],0.5,0.5,0,0,[]],14,1762,[0,1,0,-1,-1,999,0,"moveArea(3)"],[["","",false],[]],[false,"Default",0,true]],[[5968,4752,0,704,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1763,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5968,3664,0,1096,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1765,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6680,3664,0,1096,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1766,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5808,216,0,384,3152,0,0,[1,1,1,1],0,0,0,0,[]],13,1767,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6360,2384,0,194,398,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,1768,["Level 2-6"],[["","",false]],[true,"Default",0,true]],[[6640,4720,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1769,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6640,4656,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1770,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6640,4592,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1771,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6640,4528,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1772,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6640,4464,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1773,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6640,4400,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1774,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6640,4336,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1775,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6640,4272,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1776,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6640,4208,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1777,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6640,4144,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1778,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6640,4080,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1779,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6640,4016,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1780,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6000,4720,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1786,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6000,4656,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1787,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6000,4592,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1788,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6000,4528,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1789,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6000,4464,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1790,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6000,4400,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1791,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6000,4336,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1792,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6000,4272,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1793,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6000,4208,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1794,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6000,4144,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1795,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6000,4080,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1796,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6000,4016,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1797,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6000,3952,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1798,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6000,3888,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1799,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6000,3824,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1800,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6000,3760,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1801,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6000,3696,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1802,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5840,4680,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1803,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5840,4248,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1804,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5832,3784,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1805,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5928,3984,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1806,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5928,4464,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1807,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6800,4728,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1810,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6712,4496,0,64,64,0,1.5726577738970033,[1,1,1,1],0.5,0.5,0,0,[]],27,1811,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6712,4024,0,64,64,0,1.5726577738970033,[1,1,1,1],0.5,0.5,0,0,[]],27,1812,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6800,4256,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1813,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6800,3800,0,64,64,0,4.713091330354111,[1,1,1,1],0.5,0.5,0,0,[]],27,1809,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6768,3592,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],15,1808,["Level1"],[["","",false],[400,-200,800,false,false,false,false],[0,0,1,true,false]],[true,"Default",0,true]],[[5840,3400,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1814,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5904,3400,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1815,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5968,3400,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1816,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6032,3400,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1817,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6096,3400,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1818,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6160,3400,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1819,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6544,3400,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1825,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6608,3400,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1826,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6672,3400,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1827,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6736,3400,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1828,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6800,3400,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1829,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5960,5080,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1830,[],[["","SpikeBalls",false],[true,""]],[true,0,0,0,1,1,0]],[[5992,5048,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1831,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[6064,5328,0,64,64,0,2.6179938779914944,[1,1,1,1],0.5,0.5,0,0,[]],27,1832,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[6144,5200,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1833,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[6120,5272,0,64,64,0,2.0943951023931953,[1,1,1,1],0.5,0.5,0,0,[]],27,1834,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[6064,5072,0,64,64,0,0.5235987755982988,[1,1,1,1],0.5,0.5,0,0,[]],27,1835,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[6120,5128,0,64,64,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],27,1836,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[5992,5344,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1837,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[5920,5328,0,64,64,0,3.6651914291880923,[1,1,1,1],0.5,0.5,0,0,[]],27,1838,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[5864,5272,0,64,64,0,4.1887902047863905,[1,1,1,1],0.5,0.5,0,0,[]],27,1839,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[5840,5200,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1840,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[5920,5072,0,64,64,0,5.759586531581287,[1,1,1,1],0.5,0.5,0,0,[]],27,1841,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[5864,5120,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,1842,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[7096,3752,0,272,280,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,1843,[4,0,"movey ~3000 3",0,0],[["SpikeBalls","",false],[true],[]],[false,"Default",0,true]],[[6024,5080,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1844,[],[["","SpikeBalls",false],[true,""]],[true,0,0,0,1,1,0]],[[6080,5112,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1845,[],[["","SpikeBalls",false],[true,""]],[true,0,0,0,1,1,0]],[[6112,5168,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1846,[],[["","SpikeBalls",false],[true,""]],[true,0,0,0,1,1,0]],[[6112,5232,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1847,[],[["","SpikeBalls",false],[true,""]],[true,0,0,0,1,1,0]],[[6080,5288,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1848,[],[["","SpikeBalls",false],[true,""]],[true,0,0,0,1,1,0]],[[6304,6232,0,1032,88,0,0,[1,1,1,1],0.5,0.5,0,0,[]],14,1849,[0,1,0,-1,-1,999,0,"moveArea(4)"],[["","",false],[]],[false,"Default",0,true]],[[6688,3944,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1850,[],[["","SpikeBalls",false],[true,""]],[true,0,0,0,1,1,0]],[[6720,3912,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1851,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[6792,4192,0,64,64,0,2.6179938779914944,[1,1,1,1],0.5,0.5,0,0,[]],27,1852,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[6872,4064,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1853,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[6848,4136,0,64,64,0,2.0943951023931953,[1,1,1,1],0.5,0.5,0,0,[]],27,1854,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[6792,3936,0,64,64,0,0.5235987755982988,[1,1,1,1],0.5,0.5,0,0,[]],27,1855,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[6848,3992,0,64,64,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],27,1856,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[6720,4208,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1857,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[6648,4192,0,64,64,0,3.6651914291880923,[1,1,1,1],0.5,0.5,0,0,[]],27,1858,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[6592,4136,0,64,64,0,4.1887902047863905,[1,1,1,1],0.5,0.5,0,0,[]],27,1859,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[6568,4064,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1860,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[6648,3936,0,64,64,0,5.759586531581287,[1,1,1,1],0.5,0.5,0,0,[]],27,1861,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[6592,3984,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,1862,[0,1,0],[["","SpikeBalls",false],[true,""]],[true,"Default",0,true]],[[6752,3944,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1863,[],[["","SpikeBalls",false],[true,""]],[true,0,0,0,1,1,0]],[[6808,3976,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1864,[],[["","SpikeBalls",false],[true,""]],[true,0,0,0,1,1,0]],[[6840,4032,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1865,[],[["","SpikeBalls",false],[true,""]],[true,0,0,0,1,1,0]],[[6840,4096,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1866,[],[["","SpikeBalls",false],[true,""]],[true,0,0,0,1,1,0]],[[6808,4152,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1867,[],[["","SpikeBalls",false],[true,""]],[true,0,0,0,1,1,0]],[[6640,3952,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1781,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6640,3888,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1782,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6640,3824,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1783,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6640,3760,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1784,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6640,3696,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1785,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6312,12864,0,32,312,0,4.712388817179586,[1,1,1,1],0.5,0.5,0,0,[]],20,1764,[104,1,"movey ~-8040 28.94",0,0],[["ElevateSpike","",false],[true],[]],[false,"Default",0,true]],[[6640,12792,0,192,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1868,[],[["","ElevateLong",false],[true,""]],[true,0,0,0,1,1,0]],[[6000,12792,0,640,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1869,[],[["","ElevateSpike",false],[true,""]],[true,0,0,0,1,1,0]],[[6256,4920,0,576,8,0,0,[1,1,1,1],0,0,0,0,[]],13,2415,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6736,4960,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2416,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6800,4960,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2417,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6608,4960,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2418,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6672,4960,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2419,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6480,4960,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2420,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6544,4960,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2421,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6352,4960,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2422,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6416,4960,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2423,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6288,4960,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2424,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6512,200,0,320,3168,0,0,[1,1,1,1],0,0,0,0,[]],13,1820,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6336,4656,0,80,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,1823,[1.2,0],[["","",false]],[true,"Default",0,true]]],[],0]],[],[]],["Level 2-6",10000,10000,true,"Levels",973026871904051,[["Layer 0",0,191578907113884,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[2112,9720,0,64,128,0,0,[1,1,1,1],0.5,0.5,0,0,[]],12,2062,["run",0,0,1,1,0,0.8,0.5,0,0,0,0,0,0,0,1,0.4,0,"",2,0,0,0,"",3,0,0,0,-1,-1,-1,-1,0],[["collider","",false],[660,3000,3000,1300,3000,2000,false,0,false,true],[],[0,10000,360,true]],[true,"Default",0,true]],[[2275,9337,0,192,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,2063,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[0,8184,0,1968,3368,0,0,[1,1,1,1],0,0,0,0,[]],13,1821,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2250,9192,0,1840,2000,0,0,[1,1,1,1],0,0,0,0,[]],13,1822,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2090,9848,0,320,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,1824,[0.7,0],[["","",false]],[false,"Default",0,true]],[[2914,9160,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,461,[0.37,0],[["","",false]],[true,"Default",0,true]],[[1968,8728,0,1744,8,0,0,[1,1,1,1],0,0,0,0,[]],13,2064,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2506,9160,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2065,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2570,9160,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2066,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2634,9160,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2067,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2714,8768,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2068,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2778,8768,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2069,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2842,8768,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2127,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2906,8768,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2128,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2970,8768,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2129,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3034,8768,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2130,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3098,8768,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2131,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3162,8768,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2132,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3226,8768,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2133,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3546,9160,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2134,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3610,9160,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2135,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3674,9160,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2136,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3258,9160,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,2137,[0.7,0],[["","Wiggle_pad",false]],[true,"Default",0,true]],[[3434,9160,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,2138,[0.7,0],[["","Wiggle_pad",false]],[true,"Default",0,true]],[[3090,9160,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,2139,[0.7,0],[["","Wiggle_pad",false]],[true,"Default",0,true]],[[2738,9160,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,2141,[0.37,0],[["","",false]],[true,"Default",0,true]],[[3290,8768,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2142,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3354,8768,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2143,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3418,8768,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2144,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3482,8768,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2145,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3270,9128.00000065282,0,32,400,0,4.712388817179586,[1,1,1,1],0.5,0.5,0,0,[]],20,2146,[100,1,"movex ~-8 0.1\nmovex ~8 0.1\nmovex ~-8 0.1\nmovex ~8 0.1\nwait 1.5\ngoto 0\n",0,0],[["Wiggle_pad","",false],[true],[]],[false,"Default",0,true]],[[3962,9160,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,2147,[0.375,0],[["","",false]],[true,"Default",0,true]],[[4090,8184,0,2128,3824,0,0,[1,1,1,1],0,0,0,0,[]],13,2148,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3834,8448,0,256,8,0,0,[1,1,1,1],0,0,0,0,[]],13,2149,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3866,8488,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2150,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3930,8488,0,64,64,0,3.156333600525103,[1,1,1,1],0.5,0.5,0,0,[]],27,2151,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3994,8488,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2152,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4058,8488,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2153,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3482,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2154,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2218,8184,0,1872,8,0,0,[1,1,1,1],0,0,0,0,[]],13,2155,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3522,8376,0,352,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,2156,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2714,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2157,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2778,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2158,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2842,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2159,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2906,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2160,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2970,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2162,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3034,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2163,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3098,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2164,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3162,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2165,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3226,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2166,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3290,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2167,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3354,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2168,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3418,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2169,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2458,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2170,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2522,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2171,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2586,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2172,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2650,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2173,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2426,8376,0,352,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,2174,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3266,8648,0,112,8,0,0,[1,1,1,1],0,0,0,0,[]],13,2175,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2586,8600,0,112,8,0,0,[1,1,1,1],0,0,0,0,[]],13,2176,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3010,8432,0,232,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,2177,[],[["","MovingWall",false],[true,""]],[true,0,0,0,1,1,0]],[[2714,8224,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2178,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2778,8224,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2179,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2842,8224,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2180,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2906,8224,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2181,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2970,8224,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2182,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3034,8224,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2183,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3098,8224,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2184,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3162,8224,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2185,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3226,8224,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2186,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3002,8560,0,32,128,0,4.712388817179586,[1,1,1,1],0.5,0.5,0,0,[]],20,2191,[1,1,"movey ~-168 1\nwait 0.5\nmovey ~168 1\nwait 0.5\ngoto 0",0,0],[["MovingWall","",false],[true],[]],[false,"Default",0,true]],[[2226,8192,0,248,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,2189,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2386,8408,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,2192,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3518,8344,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2187,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2226,8584,0,144,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,2188,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2258,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2190,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2322,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2194,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2386,8696,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2195,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2226,8440,0,160,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],19,2193,[],[["","",false],[true]],[true,0,0,0,1,1,0]],[[2186,8408,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,2196,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2186,8344,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,2197,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2186,8280,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,2198,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2186,8216,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,2199,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1960,7824,0,1880,8,0,0,[1,1,1,1],0,0,0,0,[]],13,2200,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3840,7736,0,96,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,2201,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1962,6026,0,4199,1374,0,0,[1,1,1,1],0,0,0,0,[]],13,2202,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[6094,7878,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,2203,[],[["","EternalSpikeBall",false],[true,""]],[true,0,0,0,1,1,0]],[[6127,7852,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2204,[0,1,0],[["","EternalSpikeBall",false],[true,""]],[true,"Default",0,true]],[[6201,8128,0,64,64,0,2.6179938779914944,[1,1,1,1],0.5,0.5,0,0,[]],27,2205,[0,1,0],[["","EternalSpikeBall",false],[true,""]],[true,"Default",0,true]],[[6275,8000,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,2206,[0,1,0],[["","EternalSpikeBall",false],[true,""]],[true,"Default",0,true]],[[6256,8073,0,64,64,0,2.0943951023931953,[1,1,1,1],0.5,0.5,0,0,[]],27,2207,[0,1,0],[["","EternalSpikeBall",false],[true,""]],[true,"Default",0,true]],[[6201,7871,0,64,64,0,0.5235987755982988,[1,1,1,1],0.5,0.5,0,0,[]],27,2208,[0,1,0],[["","EternalSpikeBall",false],[true,""]],[true,"Default",0,true]],[[6255,7926,0,64,64,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],27,2209,[0,1,0],[["","EternalSpikeBall",false],[true,""]],[true,"Default",0,true]],[[6126,8149,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2210,[0,1,0],[["","EternalSpikeBall",false],[true,""]],[true,"Default",0,true]],[[6052,8128,0,64,64,0,3.6651914291880923,[1,1,1,1],0.5,0.5,0,0,[]],27,2211,[0,1,0],[["","EternalSpikeBall",false],[true,""]],[true,"Default",0,true]],[[5997,8073,0,64,64,0,4.1887902047863905,[1,1,1,1],0.5,0.5,0,0,[]],27,2212,[0,1,0],[["","EternalSpikeBall",false],[true,""]],[true,"Default",0,true]],[[5977,7998,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,2213,[0,1,0],[["","EternalSpikeBall",false],[true,""]],[true,"Default",0,true]],[[6052,7871,0,64,64,0,5.759586531581287,[1,1,1,1],0.5,0.5,0,0,[]],27,2214,[0,1,0],[["","EternalSpikeBall",false],[true,""]],[true,"Default",0,true]],[[5997,7925,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,2215,[0,1,0],[["","EternalSpikeBall",false],[true,""]],[true,"Default",0,true]],[[6128,8000,0,272,280,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,2216,[2,1,"angle ~-1800 5 0\nmovex ~-12000 5\nmovey ~5000 0\nmovex ~12000 0\nmovey ~-5000 0\ngoto 0",0,0],[["EternalSpikeBall","",false],[true],[]],[false,"Default",0,true]],[[6158,7878,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,2217,[],[["","EternalSpikeBall",false],[true,""]],[true,0,0,0,1,1,0]],[[6214,7910,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,2218,[],[["","EternalSpikeBall",false],[true,""]],[true,0,0,0,1,1,0]],[[6246,7966,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,2219,[],[["","EternalSpikeBall",false],[true,""]],[true,0,0,0,1,1,0]],[[6246,8030,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,2220,[],[["","EternalSpikeBall",false],[true,""]],[true,0,0,0,1,1,0]],[[6214,8086,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,2221,[],[["","EternalSpikeBall",false],[true,""]],[true,0,0,0,1,1,0]],[[-8,4216,0,1976,2672,0,0,[1,1,1,1],0,0,0,0,[]],13,2222,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1968,7832,0,352,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],17,2223,[],[["","",false],[false,""]],[true,0,0,0,1,1,0]],[[4098,7832,0,352,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],17,2224,[],[["","",false],[false,""]],[true,0,0,0,1,1,0]],[[4090,7032,0,2080,800,0,0,[1,1,1,1],0,0,0,0,[]],13,2225,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3840,7400,0,176,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,2226,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3240,7792,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2227,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3304,7792,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2228,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3368,7792,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2229,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3432,7792,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2230,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3496,7792,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2231,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3560,7792,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2232,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3624,7792,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2233,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3240,7432,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2235,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3304,7432,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2236,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3368,7432,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2237,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3432,7432,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2238,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3496,7432,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2239,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3560,7432,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2240,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3624,7432,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2241,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2592,7712,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2234,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2656,7712,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2242,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2720,7712,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2243,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2784,7712,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2244,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2848,7712,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2245,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2912,7712,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2246,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2976,7712,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2247,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2560,7400,0,448,280,0,0,[1,1,1,1],0,0,0,0,[]],13,2248,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2000,7792,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2249,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2064,7792,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2250,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2128,7792,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2251,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2192,7792,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2252,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2256,7792,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2253,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2320,7792,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2254,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2384,7792,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2255,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1968,7752,0,160,8,0,0,[1,1,1,1],0,0,0,0,[]],13,2256,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1520,7544,0,448,288,0,0,[1,1,1,1],0,0,0,0,[]],13,2257,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[0,6888,0,1384,888,0,0,[1,1,1,1],0,0,0,0,[]],13,2258,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[-1632,4960,0,1640,4456,0,0,[1,1,1,1],0,0,0,0,[]],13,2259,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[136,7984,0,194,398,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,2260,["Level 0-0"],[["","",false]],[true,"Default",0,true]],[[1448,6976,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],15,2267,["Level26"],[["","",false],[400,-200,800,false,false,false,false],[0,0,1,true,false]],[true,"Default",0,true]],[[1452,7328,0,144,880,0,0,[1,1,1,1],0.5,0.5,0,0,[]],58,2261,[],[],[true,"Animation 1",0,true]],[[1742.1566812198575,7472,0,152,436.3133624397151,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],58,2262,[],[],[true,"Animation 1",0,true]],[[1968,7400,0,144,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],19,2263,[],[["","",false],[true]],[true,0,0,0,1,1,0]],[[1384,7768,0,136,8,0,0,[1,1,1,1],0,0,0,0,[]],19,2264,[],[["","",false],[true]],[true,0,0,0,1,1,0]],[[3872,7784,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,2265,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1520,6888,0,448,512,0,0,[1,1,1,1],0,0,0,0,[]],13,2266,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]]],[],0]],[],[]],["Level 2-8",15000,21000,true,"Levels",867535900634348,[["Layer 0",0,507353944373243,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[8544,17008,0,192,144,0,0,[0,0,0,1],0,0,0,0,[]],31,2093,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","Timer2",false]],["[color=#FF0000]12[/color]",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",2,0,0,1,1,0,true,0]],[[6312,16992,0,192,144,0,0,[0,0,0,1],0,0,0,0,[]],31,2123,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["TimerTick","",false]],["[color=#FF0000]12[/color]",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",2,0,0,1,1,0,true,0]],[[446,13163,0,160,4192,0,0,[1,1,1,1],0,0,0,0,[]],13,282,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[976,13168,0,4356.530249447726,4167.21209977909,0,0,[1,1,1,1],0,0,0,0,[]],13,699,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[606,13611,0,384,8,0,0,[1,1,1,1],0,0,0,0,[]],13,700,[],[["","StartElevator",false],[true,""]],[true,0,0,0,1,1,0]],[[3358,11787,0,48,152,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,803,["Level 2-5"],[["","",false]],[true,"Default",0,false]],[[990,12587,0,768,224,0,0,[1,1,1,1],0,0,0,0,[]],13,80,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1014,10915,0,3064,272,0,0,[1,1,1,1],0,0,0,0,[]],13,464,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1441,11691,0,272,280,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,668,[0,0,"angle ~900 1.3 0\nmovey ~1500 1.3 0\nmovex ~1200 1.3",0,0],[["SpikeBall_0","",false],[true],[]],[false,"Default",0,true]],[[1444,11548,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,655,[0,1,0],[["","SpikeBall_0",false],[true,""]],[true,"Default",0,true]],[[1518,11571,0,64,64,0,0.5235987755982988,[1,1,1,1],0.5,0.5,0,0,[]],27,659,[0,1,0],[["","SpikeBall_0",false],[true,""]],[true,"Default",0,true]],[[1366,11827,0,64,64,0,3.6651914291880923,[1,1,1,1],0.5,0.5,0,0,[]],27,662,[0,1,0],[["","SpikeBall_0",false],[true,""]],[true,"Default",0,true]],[[1313,11772,0,64,64,0,4.1887902047863905,[1,1,1,1],0.5,0.5,0,0,[]],27,663,[0,1,0],[["","SpikeBall_0",false],[true,""]],[true,"Default",0,true]],[[1294,11699,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,664,[0,1,0],[["","SpikeBall_0",false],[true,""]],[true,"Default",0,true]],[[1367,11570,0,64,64,0,5.759586531581287,[1,1,1,1],0.5,0.5,0,0,[]],27,665,[0,1,0],[["","SpikeBall_0",false],[true,""]],[true,"Default",0,true]],[[1660,13000,0,192,384,0,0,[1,1,1,0.5],0.5,0.5,0,0,[]],14,667,[0,1,0,-1,-1,999,0,"moveArea(0)"],[["","",false],[]],[true,"Default",0,true]],[[1313,11625,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,666,[0,1,0],[["","SpikeBall_0",false],[true,""]],[true,"Default",0,true]],[[1414,11579,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,465,[],[["","SpikeBall_0",false],[true,""]],[true,0,0,0,1,1,0]],[[1478,11579,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,669,[],[["","SpikeBall_0",false],[true,""]],[true,0,0,0,1,1,0]],[[1534,11611,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,670,[],[["","SpikeBall_0",false],[true,""]],[true,0,0,0,1,1,0]],[[1566,11667,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,671,[],[["","SpikeBall_0",false],[true,""]],[true,0,0,0,1,1,0]],[[1566,11731,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,672,[],[["","SpikeBall_0",false],[true,""]],[true,0,0,0,1,1,0]],[[1534,11787,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,673,[],[["","SpikeBall_0",false],[true,""]],[true,0,0,0,1,1,0]],[[4064,11856,0,1384,1440,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,674,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1630,10699,0,128,744,0,0,[1,1,1,1],0,0,0,0,[]],13,657,[],[["","MoveDown",false],[true,""]],[true,0,0,0,1,1,0]],[[1662,11475,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,658,[0,1,0],[["","MoveDown",false],[true,""]],[true,"Default",0,true]],[[1726,11475,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,660,[0,1,0],[["","MoveDown",false],[true,""]],[true,"Default",0,true]],[[1686,11155,0,128,280,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,661,[1,0,"movey ~414 0.3",0,0],[["MoveDown","",false],[true],[]],[false,"Default",0,true]],[[2206,11903,0,896,808,0,0,[1,1,1,0.5],0.5,0.5,0,0,[]],14,675,[3,1,0,-1,-1,999,0,"moveArea(1)"],[["","",false],[]],[false,"Default",0,true]],[[1022,11851,0,736,768,0,0,[1,1,1,1],0,0,0,0,[]],13,676,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[168,10992,0,72,72,0,0,[1,1,1,1],0.5,0.5,0,0,[]],15,677,["Level2-6"],[["","",false],[400,-200,800,false,false,false,false],[0,0,1,true,false]],[true,"Default",0,true]],[[1022,11499,0,8,352,0,0,[1,1,1,1],0,0,0,0,[]],13,678,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1278,11355,0,2800,152,0,0,[1,1,1,1],0,0,0,0,[]],13,679,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1014,11355,0,112,152,0,0,[1,1,1,1],0,0,0,0,[]],13,687,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1278,11187,0,2800,168,0,0,[1,1,1,1],0,0,0,0,[]],13,688,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1154,11339,0,256,312,0,0,[1,1,1,1],0.5,0.5,0,0,[]],58,689,[],[],[true,"Animation 1",0,true]],[[798,13739,0,166,162,0,4.712388817179586,[1,1,1,1],0.5,0.5,0,0,[]],20,690,[0,1,"movey ~-416 3",0,0],[["StartElevator","",false],[true],[]],[false,"Default",0,true]],[[510,13163,0,32,32,0,0,[1,1,1,1],0,0,0,0,[]],13,691,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[446,13099,0,96,64,0,0,[1,1,1,1],0,0,0,0,[]],13,692,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[286,12939,0,192,4424,0,0,[1,1,1,1],0,0,0,0,[]],13,693,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1758,12426,0,896,8,0,0,[1,1,1,1],0,0,0,0,[]],61,656,[],[["","elevator2",false],[true]],[true,0,0,0,1,1,0]],[[2674,13018,0,64,64,0,0.5186170598635442,[1,1,1,1],0.5,0.5,0,0,[]],27,698,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2730,13074,0,64,64,0,1.0422158354618425,[1,1,1,1],0.5,0.5,0,0,[]],27,701,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2746,13146,0,64,64,0,1.5658146110601416,[1,1,1,1],0.5,0.5,0,0,[]],27,702,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2731,13218,0,64,64,0,2.089413386658441,[1,1,1,1],0.5,0.5,0,0,[]],27,704,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2590,12459,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,705,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2590,12523,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,725,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2198,12435,0,272,56,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,727,[1,0,"movey ~-574 4 ",0,0],[["elevator2","",false],[true],[]],[false,"Default",0,true]],[[2364,12492,0,192,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,728,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1012,8018,0,6024,2912,0,0,[1,1,1,1],0,0,0,0,[]],13,726,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[9379,11643,0,1552,2336,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,729,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4295,9979,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,769,[],[["","SpikeBall_2",false],[true,""]],[true,0,0,0,1,1,0]],[[4399,10227,0,64,64,0,2.6179938779914944,[1,1,1,1],0.5,0.5,0,0,[]],27,771,[0,1,0],[["","SpikeBall_2",false],[true,""]],[true,"Default",0,true]],[[4479,10099,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,772,[0,1,0],[["","SpikeBall_2",false],[true,""]],[true,"Default",0,true]],[[4455,10171,0,64,64,0,2.0943951023931953,[1,1,1,1],0.5,0.5,0,0,[]],27,773,[0,1,0],[["","SpikeBall_2",false],[true,""]],[true,"Default",0,true]],[[4455,10027,0,64,64,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],27,775,[0,1,0],[["","SpikeBall_2",false],[true,""]],[true,"Default",0,true]],[[4327,10251,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,776,[0,1,0],[["","SpikeBall_2",false],[true,""]],[true,"Default",0,true]],[[4255,10227,0,64,64,0,3.6651914291880923,[1,1,1,1],0.5,0.5,0,0,[]],27,777,[0,1,0],[["","SpikeBall_2",false],[true,""]],[true,"Default",0,true]],[[4199,10171,0,64,64,0,4.1887902047863905,[1,1,1,1],0.5,0.5,0,0,[]],27,778,[0,1,0],[["","SpikeBall_2",false],[true,""]],[true,"Default",0,true]],[[4175,10099,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,779,[0,1,0],[["","SpikeBall_2",false],[true,""]],[true,"Default",0,true]],[[4199,10027,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,781,[0,1,0],[["","SpikeBall_2",false],[true,""]],[true,"Default",0,true]],[[4329,10108,0,272,280,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,782,[3,0,"movey ~2000 1.1\nwait 2\nmovey ~2000 2",0,0],[["SpikeBall_2","",false],[true],[]],[false,"Default",0,true]],[[4359,9979,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,783,[],[["","SpikeBall_2",false],[true,""]],[true,0,0,0,1,1,0]],[[4415,10011,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,784,[],[["","SpikeBall_2",false],[true,""]],[true,0,0,0,1,1,0]],[[4447,10067,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,785,[],[["","SpikeBall_2",false],[true,""]],[true,0,0,0,1,1,0]],[[4447,10131,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,786,[],[["","SpikeBall_2",false],[true,""]],[true,0,0,0,1,1,0]],[[4415,10187,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,787,[],[["","SpikeBall_2",false],[true,""]],[true,0,0,0,1,1,0]],[[4302,12115,0,64,1080,0,0,[1,1,1,1],0,0,0,0,[]],13,770,[],[["","Collapse_1",false],[true,""]],[true,0,0,0,1,1,0]],[[4334,12203,0,96,280,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,774,[4,0,"wait 3.1\nmovey ~2000 2",0,0],[["Collapse_1","",false],[true],[]],[false,"Default",0,true]],[[792,13440,0,64,128,0,0,[1,1,1,1],0.5,0.5,0,0,[]],12,462,["run",0,0,1,1,0,0.8,0.5,0,1,0,0,0,0,0,1,0.4,0,"",2,0,0,0,"",3,0,0,0,-1,-1,-1,-1,0],[["collider","",false],[660,3000,3000,1300,3000,2000,false,0,false,true],[],[0,10000,360,true]],[true,"Default",0,true]],[[5137,10284,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,788,[],[["","SpikeBall_3",false],[true,""]],[true,0,0,0,1,1,0]],[[5241,10532,0,64,64,0,2.6179938779914944,[1,1,1,1],0.5,0.5,0,0,[]],27,789,[0,1,0],[["","SpikeBall_3",false],[true,""]],[true,"Default",0,true]],[[5313,10404,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,790,[0,1,0],[["","SpikeBall_3",false],[true,""]],[true,"Default",0,true]],[[5297,10476,0,64,64,0,2.0943951023931953,[1,1,1,1],0.5,0.5,0,0,[]],27,791,[0,1,0],[["","SpikeBall_3",false],[true,""]],[true,"Default",0,true]],[[5297,10332,0,64,64,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],27,792,[0,1,0],[["","SpikeBall_3",false],[true,""]],[true,"Default",0,true]],[[5166,12571,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,793,[0,1,0],[["","SpikeBall_2",false],[true,""]],[true,"Default",0,true]],[[5097,10532,0,64,64,0,3.6651914291880923,[1,1,1,1],0.5,0.5,0,0,[]],27,794,[0,1,0],[["","SpikeBall_3",false],[true,""]],[true,"Default",0,true]],[[5041,10476,0,64,64,0,4.1887902047863905,[1,1,1,1],0.5,0.5,0,0,[]],27,795,[0,1,0],[["","SpikeBall_3",false],[true,""]],[true,"Default",0,true]],[[5017,10404,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,796,[0,1,0],[["","SpikeBall_3",false],[true,""]],[true,"Default",0,true]],[[5041,10332,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,797,[0,1,0],[["","SpikeBall_3",false],[true,""]],[true,"Default",0,true]],[[5201,10284,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,799,[],[["","SpikeBall_3",false],[true,""]],[true,0,0,0,1,1,0]],[[5257,10316,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,800,[],[["","SpikeBall_3",false],[true,""]],[true,0,0,0,1,1,0]],[[5289,10372,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,801,[],[["","SpikeBall_3",false],[true,""]],[true,0,0,0,1,1,0]],[[5289,10436,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,802,[],[["","SpikeBall_3",false],[true,""]],[true,0,0,0,1,1,0]],[[5257,10492,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,804,[],[["","SpikeBall_3",false],[true,""]],[true,0,0,0,1,1,0]],[[5134,12451,0,64,1080,0,0,[1,1,1,1],0,0,0,0,[]],13,805,[],[["","Collapse_2",false],[true,""]],[true,0,0,0,1,1,0]],[[6253,9908,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,808,[],[["","SpikeBall_4",false],[true,""]],[true,0,0,0,1,1,0]],[[6360.8956743159515,10158.656488526072,0,64,64,0,2.6179938779914944,[1,1,1,1],0.5,0.5,0,0,[]],27,809,[0,1,0],[["","SpikeBall_4",false],[true,""]],[true,"Default",0,true]],[[6430,10034,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,810,[0,1,0],[["","SpikeBall_4",false],[true,""]],[true,"Default",0,true]],[[6414,10106,0,64,64,0,2.0943951023931953,[1,1,1,1],0.5,0.5,0,0,[]],27,811,[0,1,0],[["","SpikeBall_4",false],[true,""]],[true,"Default",0,true]],[[6414,9954,0,64,64,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],27,812,[0,1,0],[["","SpikeBall_4",false],[true,""]],[true,"Default",0,true]],[[6286,10178,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,813,[0,1,0],[["","SpikeBall_4",false],[true,""]],[true,"Default",0,true]],[[6211,10160,0,64,64,0,3.6651914291880923,[1,1,1,1],0.5,0.5,0,0,[]],27,814,[0,1,0],[["","SpikeBall_4",false],[true,""]],[true,"Default",0,true]],[[6158,10106,0,64,64,0,4.1887902047863905,[1,1,1,1],0.5,0.5,0,0,[]],27,815,[0,1,0],[["","SpikeBall_4",false],[true,""]],[true,"Default",0,true]],[[6134,10026,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,816,[0,1,0],[["","SpikeBall_4",false],[true,""]],[true,"Default",0,true]],[[6158,9954,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,1307,[0,1,0],[["","SpikeBall_4",false],[true,""]],[true,"Default",0,true]],[[6317,9909,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1309,[],[["","SpikeBall_4",false],[true,""]],[true,0,0,0,1,1,0]],[[6373,9939,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1310,[],[["","SpikeBall_4",false],[true,""]],[true,0,0,0,1,1,0]],[[6406,9994,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1311,[],[["","SpikeBall_4",false],[true,""]],[true,0,0,0,1,1,0]],[[6406,10058,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1312,[],[["","SpikeBall_4",false],[true,""]],[true,0,0,0,1,1,0]],[[6375,10115,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1313,[],[["","SpikeBall_4",false],[true,""]],[true,0,0,0,1,1,0]],[[6254,12059,0,64,1152,0,0,[1,1,1,1],0,0,0,0,[]],13,1314,[],[["","Collapse_3",false],[true,""]],[true,0,0,0,1,1,0]],[[5768,8856,0,64,1024,0,0,[1,1,1,1],0,0,0,0,[]],13,733,[],[["","Pilone_1",false],[true,""]],[true,0,0,0,1,1,0]],[[6705,10467,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,806,[],[["","SpikeBall_5",false],[true,""]],[true,0,0,0,1,1,0]],[[6809,10723,0,64,64,0,2.6179938779914944,[1,1,1,1],0.5,0.5,0,0,[]],27,1308,[0,1,0],[["","SpikeBall_5",false],[true,""]],[true,"Default",0,true]],[[6881,10595,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1315,[0,1,0],[["","SpikeBall_5",false],[true,""]],[true,"Default",0,true]],[[6865,10667,0,64,64,0,2.0943951023931953,[1,1,1,1],0.5,0.5,0,0,[]],27,1316,[0,1,0],[["","SpikeBall_5",false],[true,""]],[true,"Default",0,true]],[[6865,10515,0,64,64,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],27,1317,[0,1,0],[["","SpikeBall_5",false],[true,""]],[true,"Default",0,true]],[[6737,10739,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1318,[0,1,0],[["","SpikeBall_5",false],[true,""]],[true,"Default",0,true]],[[6657,10723,0,64,64,0,3.6651914291880923,[1,1,1,1],0.5,0.5,0,0,[]],27,1319,[0,1,0],[["","SpikeBall_5",false],[true,""]],[true,"Default",0,true]],[[6609,10667,0,64,64,0,4.1887902047863905,[1,1,1,1],0.5,0.5,0,0,[]],27,1320,[0,1,0],[["","SpikeBall_5",false],[true,""]],[true,"Default",0,true]],[[6585,10587,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1321,[0,1,0],[["","SpikeBall_5",false],[true,""]],[true,"Default",0,true]],[[6609,10515,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,1322,[0,1,0],[["","SpikeBall_5",false],[true,""]],[true,"Default",0,true]],[[6769,10467,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1323,[],[["","SpikeBall_5",false],[true,""]],[true,0,0,0,1,1,0]],[[6825,10499,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1324,[],[["","SpikeBall_5",false],[true,""]],[true,0,0,0,1,1,0]],[[6857,10555,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1325,[],[["","SpikeBall_5",false],[true,""]],[true,0,0,0,1,1,0]],[[6857,10619,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1326,[],[["","SpikeBall_5",false],[true,""]],[true,0,0,0,1,1,0]],[[6825,10675,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1327,[],[["","SpikeBall_5",false],[true,""]],[true,0,0,0,1,1,0]],[[6702,12643,0,64,1080,0,0,[1,1,1,1],0,0,0,0,[]],13,1328,[],[["","Collapse_4",false],[true,""]],[true,0,0,0,1,1,0]],[[8012,10084,0,1368,984,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1330,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5168,10407,0,272,280,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,694,[5,0,"movey ~2000 1.1\nwait 2\nmovey ~2000 2",0,0],[["SpikeBall_3","",false],[true],[]],[false,"Default",0,true]],[[6289,10053,0,272,280,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,1331,[7,0,"movey ~2000 1.1\nwait 2\nmovey ~2000 2",0,0],[["SpikeBall_4","",false],[true],[]],[false,"Default",0,true]],[[6729,10585,0,272,280,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,1332,[9,0,"movey ~2000 1.1\nwait 2\nmovey ~2000 2",0,0],[["SpikeBall_5","",false],[true],[]],[false,"Default",0,true]],[[3779,11677,0,226,337.460488068813,0,0,[1,1,1,0.5],0.5,0.5,0,0,[]],14,1333,[3,1,0,-1,-1,999,0,"moveArea(3)\nmoveArea(4)"],[["","",false],[]],[false,"Default",0,true]],[[5176,12546,0,96,280,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,1334,[6,0,"wait 3.1\nmovey ~2000 2",0,0],[["Collapse_2","",false],[true],[]],[false,"Default",0,true]],[[6293,12173,0,96,280,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,1336,[8,0,"wait 3.1\nmovey ~2000 2",0,0],[["Collapse_3","",false],[true],[]],[false,"Default",0,true]],[[6720,12712,0,96,280,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,1337,[10,0,"wait 3.1\nmovey ~2000 2",0,0],[["Collapse_4","",false],[true],[]],[false,"Default",0,true]],[[4328,11881,0,292,374.460488068813,0,0,[1,1,1,0.5],0.5,0.5,0,0,[]],14,1335,[3,1,0,-1,-1,999,0,"moveArea(5)\nmoveArea(6)"],[["","",false],[]],[false,"Default",0,true]],[[5839,11986,0,284,393.460488068813,0,0,[1,1,1,0.5],0.5,0.5,0,0,[]],14,1338,[3,1,0,-1,-1,999,0,"moveArea(7)\nmoveArea(8)"],[["","",false],[]],[false,"Default",0,true]],[[6311,11883.5,0,278,356.460488068813,0,0,[1,1,1,0.5],0.5,0.5,0,0,[]],14,1339,[3,1,0,-1,-1,999,0,"moveArea(9) \nmoveArea(10) \nmoveArea(12)"],[["","",false],[]],[false,"Default",0,true]],[[5792,9364,0,136,1056,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,734,[11,0,"movey ~3350 1.1",0,0],[["Pilone_1","",false],[true],[]],[false,"Default",0,true]],[[5800,9912,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,780,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5864,9848,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,798,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5864,9784,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,807,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5864,9720,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1340,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5864,9656,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1341,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5864,9592,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1342,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5864,9528,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1343,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5864,9464,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1344,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5864,9400,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1345,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5864,9336,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1346,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5864,9272,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1347,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5864,9208,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1348,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5864,9144,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1349,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5864,9080,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1350,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5736,9848,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1354,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5736,9784,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1355,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5736,9720,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1356,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5736,9656,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1357,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5736,9592,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1358,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5736,9528,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1359,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5736,9464,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1360,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5736,9400,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1361,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5736,9336,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1362,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5736,9272,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1363,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5736,9208,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1364,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5736,9144,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1365,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5736,9080,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1366,[0,1,0],[["","Pilone_1",false],[true,""]],[true,"Default",0,true]],[[5202.5,12217,0,367,463.460488068813,0,0,[1,1,1,0.5],0.5,0.5,0,0,[]],14,1351,[3,1,0,-1,-1,999,0,"moveArea(11)"],[["","",false],[]],[false,"Default",0,true]],[[6736,7088,0,64,3928,0,0,[1,1,1,1],0,0,0,0,[]],13,1352,[],[["","Pilone_2",false],[true,""]],[true,0,0,0,1,1,0]],[[6760,10656,0,136,920,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,1353,[12,0,"wait 1.3\nmovey ~3350 6",0,0],[["Pilone_2","",false],[true],[]],[false,"Default",0,true]],[[4183,13057,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,730,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[4216,13031,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,731,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4290,13307,0,64,64,0,2.6179938779914944,[1,1,1,1],0.5,0.5,0,0,[]],27,732,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4364,13179,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,735,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4345,13252,0,64,64,0,2.0943951023931953,[1,1,1,1],0.5,0.5,0,0,[]],27,736,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4290,13050,0,64,64,0,0.5235987755982988,[1,1,1,1],0.5,0.5,0,0,[]],27,737,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4344,13105,0,64,64,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],27,738,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4215,13328,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,739,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4141,13307,0,64,64,0,3.6651914291880923,[1,1,1,1],0.5,0.5,0,0,[]],27,740,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4086,13252,0,64,64,0,4.1887902047863905,[1,1,1,1],0.5,0.5,0,0,[]],27,741,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4066,13177,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,742,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4141,13050,0,64,64,0,5.759586531581287,[1,1,1,1],0.5,0.5,0,0,[]],27,743,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4086,13104,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,744,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4247,13057,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,746,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[4303,13089,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,747,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[4335,13145,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,748,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[4335,13209,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,749,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[4303,13265,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,750,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[4409,13120,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,745,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[4442,13094,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,751,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4516,13370,0,64,64,0,2.6179938779914944,[1,1,1,1],0.5,0.5,0,0,[]],27,752,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4590,13242,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,753,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4571,13315,0,64,64,0,2.0943951023931953,[1,1,1,1],0.5,0.5,0,0,[]],27,754,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4516,13113,0,64,64,0,0.5235987755982988,[1,1,1,1],0.5,0.5,0,0,[]],27,755,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4570,13168,0,64,64,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],27,756,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4441,13391,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,757,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4367,13370,0,64,64,0,3.6651914291880923,[1,1,1,1],0.5,0.5,0,0,[]],27,758,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4312,13315,0,64,64,0,4.1887902047863905,[1,1,1,1],0.5,0.5,0,0,[]],27,759,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4292,13240,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,760,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4367,13113,0,64,64,0,5.759586531581287,[1,1,1,1],0.5,0.5,0,0,[]],27,761,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4312,13167,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,762,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4473,13120,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,763,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[4529,13152,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,764,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[4561,13208,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,765,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[4561,13272,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,766,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[4529,13328,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,767,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[4655,13026,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,768,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[4688,13000,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1329,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4762,13276,0,64,64,0,2.6179938779914944,[1,1,1,1],0.5,0.5,0,0,[]],27,1367,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4836,13148,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1368,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4817,13221,0,64,64,0,2.0943951023931953,[1,1,1,1],0.5,0.5,0,0,[]],27,1369,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4762,13019,0,64,64,0,0.5235987755982988,[1,1,1,1],0.5,0.5,0,0,[]],27,1370,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4816,13074,0,64,64,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],27,1371,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4687,13297,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1372,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4613,13276,0,64,64,0,3.6651914291880923,[1,1,1,1],0.5,0.5,0,0,[]],27,1373,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4558,13221,0,64,64,0,4.1887902047863905,[1,1,1,1],0.5,0.5,0,0,[]],27,1374,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4613,13019,0,64,64,0,5.759586531581287,[1,1,1,1],0.5,0.5,0,0,[]],27,1376,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4558,13073,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,1377,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4719,13026,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1378,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[4775,13058,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1379,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[4807,13114,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1380,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[4807,13178,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1381,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[4775,13234,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1382,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[4885,13126,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1383,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[4918,13100,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1384,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4992,13376,0,64,64,0,2.6179938779914944,[1,1,1,1],0.5,0.5,0,0,[]],27,1385,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5066,13248,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1386,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5047,13321,0,64,64,0,2.0943951023931953,[1,1,1,1],0.5,0.5,0,0,[]],27,1387,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4992,13119,0,64,64,0,0.5235987755982988,[1,1,1,1],0.5,0.5,0,0,[]],27,1388,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5046,13174,0,64,64,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],27,1389,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4917,13397,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1390,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4843,13376,0,64,64,0,3.6651914291880923,[1,1,1,1],0.5,0.5,0,0,[]],27,1391,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4788,13321,0,64,64,0,4.1887902047863905,[1,1,1,1],0.5,0.5,0,0,[]],27,1392,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4768,13246,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1393,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4788,13173,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,1395,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[4949,13126,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1396,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[5005,13158,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1397,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[5037,13214,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1398,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[5037,13278,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1399,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[5005,13334,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1400,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[5436,13134,0,64,64,0,0.5235987755982988,[1,1,1,1],0.5,0.5,0,0,[]],27,1404,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5490,13189,0,64,64,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],27,1405,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5287,13134,0,64,64,0,5.759586531581287,[1,1,1,1],0.5,0.5,0,0,[]],27,1410,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5232,13188,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,1411,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5622,13106,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1417,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[5655,13080,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1418,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5729,13356,0,64,64,0,2.6179938779914944,[1,1,1,1],0.5,0.5,0,0,[]],27,1419,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5803,13228,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1420,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5784,13301,0,64,64,0,2.0943951023931953,[1,1,1,1],0.5,0.5,0,0,[]],27,1421,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5729,13099,0,64,64,0,0.5235987755982988,[1,1,1,1],0.5,0.5,0,0,[]],27,1422,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5783,13154,0,64,64,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],27,1423,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5654,13377,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1424,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5580,13356,0,64,64,0,3.6651914291880923,[1,1,1,1],0.5,0.5,0,0,[]],27,1425,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5580,13099,0,64,64,0,5.759586531581287,[1,1,1,1],0.5,0.5,0,0,[]],27,1428,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5525,13153,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,1429,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5686,13106,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1430,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[5742,13138,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1431,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[5774,13194,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1432,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[5774,13258,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1433,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[5742,13314,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1434,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[5982,13054,0,64,240,0,0.4332794451691974,[1,1,1,1],0,0,0,0,[]],13,1435,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[6023,13044,0,64,64,0,0.4332794451691974,[1,1,1,1],0.5,0.5,0,0,[]],27,1436,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5974,13326,0,64,64,0,3.0512733231606917,[1,1,1,1],0.5,0.5,0,0,[]],27,1437,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6095,13241,0,64,64,0,2.004075771964094,[1,1,1,1],0.5,0.5,0,0,[]],27,1438,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6047,13299,0,64,64,0,2.5276745475623925,[1,1,1,1],0.5,0.5,0,0,[]],27,1439,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6082,13093,0,64,64,0,0.9568782207674962,[1,1,1,1],0.5,0.5,0,0,[]],27,1440,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6108,13165,0,64,64,0,1.480476996365795,[1,1,1,1],0.5,0.5,0,0,[]],27,1441,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5897,13313,0,64,64,0,3.5748720987589904,[1,1,1,1],0.5,0.5,0,0,[]],27,1442,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5839,13263,0,64,64,0,4.0984708743572895,[1,1,1,1],0.5,0.5,0,0,[]],27,1443,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5812,13190,0,64,64,0,4.622069649955588,[1,1,1,1],0.5,0.5,0,0,[]],27,1444,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5825,13114,0,64,64,0,5.145668425553887,[1,1,1,1],0.5,0.5,0,0,[]],27,1445,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5947,13030,0,64,64,0,6.192865976750484,[1,1,1,1],0.5,0.5,0,0,[]],27,1446,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5874,13056,0,64,64,0,5.669267201152186,[1,1,1,1],0.5,0.5,0,0,[]],27,1447,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6040,13081,0,64,240,0,0.9568782207674962,[1,1,1,1],0,0,0,0,[]],13,1448,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[6077,13133,0,64,240,0,1.480476996365795,[1,1,1,1],0,0,0,0,[]],13,1449,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[6083,13198,0,64,240,0,2.004075771964094,[1,1,1,1],0,0,0,0,[]],13,1450,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[6056,13256,0,64,240,0,2.5276745475623925,[1,1,1,1],0,0,0,0,[]],13,1451,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[6004,13293,0,64,240,0,3.0512733231606917,[1,1,1,1],0,0,0,0,[]],13,1452,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[6414,13120,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1453,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[6447,13094,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1454,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6521,13370,0,64,64,0,2.6179938779914944,[1,1,1,1],0.5,0.5,0,0,[]],27,1455,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6595,13242,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1456,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6576,13315,0,64,64,0,2.0943951023931953,[1,1,1,1],0.5,0.5,0,0,[]],27,1457,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6521,13113,0,64,64,0,0.5235987755982988,[1,1,1,1],0.5,0.5,0,0,[]],27,1458,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6575,13168,0,64,64,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],27,1459,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6446,13391,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1460,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6372,13370,0,64,64,0,3.6651914291880923,[1,1,1,1],0.5,0.5,0,0,[]],27,1461,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6317,13315,0,64,64,0,4.1887902047863905,[1,1,1,1],0.5,0.5,0,0,[]],27,1462,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6297,13240,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1463,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6372,13113,0,64,64,0,5.759586531581287,[1,1,1,1],0.5,0.5,0,0,[]],27,1464,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6317,13167,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,1465,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6478,13120,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1466,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[6534,13152,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1467,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[6566,13208,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1468,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[6566,13272,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1469,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[6534,13328,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1470,[],[["","move1",false],[true,""]],[true,0,0,0,1,1,0]],[[6675,13151,0,64,64,0,1.0217735171677214,[1,1,1,1],0.5,0.5,0,0,[]],27,1471,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6228.183413336484,13154.366826672967,0,64,64,0,1.0217735171677214,[1,1,1,1],0.5,0.5,0,0,[]],27,1472,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6176.7643152279425,13159.743263684468,0,64,64,0,6.187544533951675,[1,1,1,1],0.5,0.5,0,0,[]],27,1473,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6134,13113,0,64,64,0,6.187544533951675,[1,1,1,1],0.5,0.5,0,0,[]],27,1474,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6217,13110,0,64,64,0,3.495739728925141,[1,1,1,1],0.5,0.5,0,0,[]],27,1475,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[5099,13167,0,64,64,0,3.495739728925141,[1,1,1,1],0.5,0.5,0,0,[]],27,1476,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[7016,13152,0,64,64,0,1.0217735171677214,[1,1,1,1],0.5,0.5,0,0,[]],27,1477,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6965,13157,0,64,64,0,6.187544533951675,[1,1,1,1],0.5,0.5,0,0,[]],27,1478,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6922,13111,0,64,64,0,6.187544533951675,[1,1,1,1],0.5,0.5,0,0,[]],27,1479,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[7005,13108,0,64,64,0,3.495739728925141,[1,1,1,1],0.5,0.5,0,0,[]],27,1480,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6808.900927100959,13157.052632857054,0,64,64,0,6.068289009951407,[1,1,1,1],0.5,0.5,0,0,[]],27,1481,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6832.792571050322,13122.780185420192,0,64,64,0,4.753026761531309,[1,1,1,1],0.5,0.5,0,0,[]],27,1482,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[6884.6656365544895,13173.331273108979,0,64,64,0,2.420531514838374,[1,1,1,1],0.5,0.5,0,0,[]],27,1484,[0,1,0],[["","move1",false],[true,""]],[true,"Default",0,true]],[[3577,11679,0,171,337.460488068813,0,0,[1,1,1,0.5],0.5,0.5,0,0,[]],14,1483,[3,1,0,-1,-1,999,0,"moveArea(20)"],[["","",false],[]],[false,"Default",0,true]],[[4734,9966,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1485,[],[["","FakeSpikeBall_1",false],[true,""]],[true,0,0,0,1,1,0]],[[4838,10214,0,64,64,0,2.6179938779914944,[1,1,1,1],0.5,0.5,0,0,[]],27,1486,[0,1,0],[["","FakeSpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[4910,10086,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1487,[0,1,0],[["","FakeSpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[4894,10158,0,64,64,0,2.0943951023931953,[1,1,1,1],0.5,0.5,0,0,[]],27,1488,[0,1,0],[["","FakeSpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[4894,10014,0,64,64,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],27,1489,[0,1,0],[["","FakeSpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[4694,10214,0,64,64,0,3.6651914291880923,[1,1,1,1],0.5,0.5,0,0,[]],27,1490,[0,1,0],[["","FakeSpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[4638,10158,0,64,64,0,4.1887902047863905,[1,1,1,1],0.5,0.5,0,0,[]],27,1491,[0,1,0],[["","FakeSpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[4614,10086,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1492,[0,1,0],[["","FakeSpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[4638,10014,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,1493,[0,1,0],[["","FakeSpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[4798,9966,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1494,[],[["","FakeSpikeBall_1",false],[true,""]],[true,0,0,0,1,1,0]],[[4854,9998,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1495,[],[["","FakeSpikeBall_1",false],[true,""]],[true,0,0,0,1,1,0]],[[4886,10054,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1496,[],[["","FakeSpikeBall_1",false],[true,""]],[true,0,0,0,1,1,0]],[[4886,10118,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1497,[],[["","FakeSpikeBall_1",false],[true,""]],[true,0,0,0,1,1,0]],[[4854,10174,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1498,[],[["","FakeSpikeBall_1",false],[true,""]],[true,0,0,0,1,1,0]],[[4763,10078,0,272,280,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,1499,[20,0,"movey ~4000 2.2",0,0],[["FakeSpikeBall_1","",false],[true],[]],[false,"Default",0,true]],[[4766,10235,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1500,[0,1,0],[["","FakeSpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[4767,9936,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1501,[0,1,0],[["","FakeSpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[4840,9956,0,64,64,0,0.5235987755982988,[1,1,1,1],0.5,0.5,0,0,[]],27,1502,[0,1,0],[["","FakeSpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[4691,9955,0,64,64,0,5.759586531581287,[1,1,1,1],0.5,0.5,0,0,[]],27,1503,[0,1,0],[["","FakeSpikeBall_1",false],[true,""]],[true,"Default",0,true]],[[624,11680,0,192,8,0,0,[1,1,1,1],0,0,0,0,[]],13,681,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[9386,10076,0,1568,632,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,682,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[9500,11580,0,64,744,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,683,[],[["","MinCrusher_1",false],[true,""]],[true,0,0,0,1,1,0]],[[8728,11612,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,685,[0,1,0],[["","MinCrusher_1",false],[true,""]],[true,"Default",0,true]],[[8900,11610,0,59.67595825434,280,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],20,1504,[30,0,"movex ~-10 0.05\nmovex ~20 0.1\nmovex ~-20 0.1\nmovex ~10 0.05\nwait 0.2\nmovex ~-744 0.5",0,0],[["MinCrusher_1","",false],[true],[]],[false,"Default",0,true]],[[9500,11516,0,64,744,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,684,[],[["","MinCrusher_2",false],[true,""]],[true,0,0,0,1,1,0]],[[8728,11548,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1505,[0,1,0],[["","MinCrusher_2",false],[true,""]],[true,"Default",0,true]],[[8901,11547,0,59.67595825434,280,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],20,1506,[31,0,"wait 1\nmovex ~-10 0.05\nmovex ~20 0.1\nmovex ~-20 0.1\nmovex ~10 0.05\nwait 0.2\nmovex ~-744 0.5",0,0],[["MinCrusher_2","",false],[true],[]],[false,"Default",0,true]],[[8272,11548,0,192,200,0,0,[1,1,1,0.5],0.5,0.5,0,0,[]],14,1507,[3,1,0,-1,-1,999,0,"moveArea(30)\nmoveArea(31)\nmoveArea(32) \nmoveArea(33) \nmoveArea(34) \nmoveArea(35)"],[["","",false],[]],[false,"Default",0,true]],[[9500,11452,0,64,744,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1508,[],[["","MinCrusher_3",false],[true,""]],[true,0,0,0,1,1,0]],[[8728,11484,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1509,[0,1,0],[["","MinCrusher_3",false],[true,""]],[true,"Default",0,true]],[[8901,11483,0,59.67595825434,280,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],20,1510,[32,0,"wait 2\nmovex ~-10 0.05\nmovex ~20 0.1\nmovex ~-20 0.1\nmovex ~10 0.05\nwait 0.2\nmovex ~-744 0.5",0,0],[["MinCrusher_3","",false],[true],[]],[false,"Default",0,true]],[[7268,11452,0,124,744,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1511,[],[["","MinCrusher_4",false],[true,""]],[true,0,0,0,1,1,0]],[[8044,11420,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1512,[0,1,0],[["","MinCrusher_4",false],[true,""]],[true,"Default",0,true]],[[7868,11388,0,120,280,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1513,[33,0,"wait 3\nmovex ~10 0.05\nmovex ~-20 0.1\nmovex ~20 0.1\nmovex ~-10 0.05\nwait 0.2\nmovex ~744 0.5",0,0],[["MinCrusher_4","",false],[true],[]],[false,"Default",0,true]],[[8044,11360,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1514,[0,1,0],[["","MinCrusher_4",false],[true,""]],[true,"Default",0,true]],[[7268,11328,0,124,744,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1515,[],[["","MinCrusher_5",false],[true,""]],[true,0,0,0,1,1,0]],[[8044,11296,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1516,[0,1,0],[["","MinCrusher_5",false],[true,""]],[true,"Default",0,true]],[[7868,11268,0,120,280,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1517,[34,0,"wait 4\nmovex ~10 0.05\nmovex ~-20 0.1\nmovex ~20 0.1\nmovex ~-10 0.05\nwait 0.2\nmovex ~372 0.5",0,0],[["MinCrusher_5","",false],[true],[]],[false,"Default",0,true]],[[8044,11236,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1518,[0,1,0],[["","MinCrusher_5",false],[true,""]],[true,"Default",0,true]],[[9500,11204,0,128,744,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1519,[],[["","MinCrusher_6",false],[true,""]],[true,0,0,0,1,1,0]],[[8728,11300,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1520,[0,1,0],[["","MinCrusher_6",false],[true,""]],[true,"Default",0,true]],[[8904,11268,0,124,280,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],20,1521,[35,0,"wait 4\nmovex ~-10 0.05\nmovex ~20 0.1\nmovex ~-20 0.1\nmovex ~10 0.05\nwait 0.2\nmovex ~-372 0.5",0,0],[["MinCrusher_6","",false],[true],[]],[false,"Default",0,true]],[[8728,11236,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1522,[0,1,0],[["","MinCrusher_6",false],[true,""]],[true,"Default",0,true]],[[8316,10700,0,456,128,0,0,[1,1,1,1],0,0,0,0,[]],13,1523,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[7204,10700,0,64,744,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1524,[],[["","MinCrusher_7",false],[true,""]],[true,0,0,0,1,1,0]],[[7980,10668,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1525,[0,1,0],[["","MinCrusher_7",false],[true,""]],[true,"Default",0,true]],[[7804,10668,0,56,280,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1526,[36,0,"movex ~64 1\nmovex ~10 0.05\nmovex ~-20 0.1\nmovex ~20 0.1\nmovex ~-10 0.05\nwait 0.2\nmovex ~744 0.5",0,0],[["MinCrusher_7","",false],[true],[]],[false,"Default",0,true]],[[8516,10612,0,316,200,0,0,[1,1,1,0.5],0.5,0.5,0,0,[]],14,1527,[3,1,0,-1,-1,999,0,"moveArea(36) \nmoveArea(37) \nmoveArea(38) \nmoveArea(39) \nmoveArea(310) \nmoveArea(311)"],[["","",false],[]],[false,"Default",0,true]],[[7204,10636,0,64,744,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1528,[],[["","MinCrusher_8",false],[true,""]],[true,0,0,0,1,1,0]],[[7980,10604,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1529,[0,1,0],[["","MinCrusher_8",false],[true,""]],[true,"Default",0,true]],[[7804,10604,0,56,280,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1530,[37,0,"wait 0.1\nmovex ~64 1\nmovex ~10 0.05\nmovex ~-20 0.1\nmovex ~20 0.1\nmovex ~-10 0.05\nwait 0.2\nmovex ~744 0.5",0,0],[["MinCrusher_8","",false],[true],[]],[false,"Default",0,true]],[[7204,10572,0,64,744,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1531,[],[["","MinCrusher_9",false],[true,""]],[true,0,0,0,1,1,0]],[[7980,10540,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1532,[0,1,0],[["","MinCrusher_9",false],[true,""]],[true,"Default",0,true]],[[7804,10540,0,56,280,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1533,[38,0,"wait 0.2\nmovex ~64 1\nmovex ~10 0.05\nmovex ~-20 0.1\nmovex ~20 0.1\nmovex ~-10 0.05\nwait 0.2\nmovex ~744 0.5",0,0],[["MinCrusher_9","",false],[true],[]],[false,"Default",0,true]],[[7204,10508,0,64,744,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1534,[],[["","MinCrusher_10",false],[true,""]],[true,0,0,0,1,1,0]],[[7980,10476,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1535,[0,1,0],[["","MinCrusher_10",false],[true,""]],[true,"Default",0,true]],[[7804,10476,0,56,280,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1536,[39,0,"wait 0.3\nmovex ~64 1\nmovex ~10 0.05\nmovex ~-20 0.1\nmovex ~20 0.1\nmovex ~-10 0.05\nwait 0.2\nmovex ~744 0.5",0,0],[["MinCrusher_10","",false],[true],[]],[false,"Default",0,true]],[[7204,10444,0,64,744,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1537,[],[["","MinCrusher_11",false],[true,""]],[true,0,0,0,1,1,0]],[[7980,10412,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1538,[0,1,0],[["","MinCrusher_11",false],[true,""]],[true,"Default",0,true]],[[7804,10412,0,56,280,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1539,[310,0,"wait 0.4\nmovex ~64 1\nmovex ~10 0.05\nmovex ~-20 0.1\nmovex ~20 0.1\nmovex ~-10 0.05\nwait 0.2\nmovex ~744 0.5",0,0],[["MinCrusher_11","",false],[true],[]],[false,"Default",0,true]],[[7204,10380,0,64,744,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1540,[],[["","MinCrusher_12",false],[true,""]],[true,0,0,0,1,1,0]],[[7980,10348,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1541,[0,1,0],[["","MinCrusher_12",false],[true,""]],[true,"Default",0,true]],[[7804,10348,0,56,280,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1542,[311,0,"wait 0.5\nmovex ~64 1\nmovex ~10 0.05\nmovex ~-20 0.1\nmovex ~20 0.1\nmovex ~-10 0.05\nwait 0.2\nmovex ~744 0.5",0,0],[["MinCrusher_12","",false],[true],[]],[false,"Default",0,true]],[[7408,10240,0,48,152,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,1543,["Level 2-5"],[["","MinCrusher_12",false]],[true,"Default",0,false]],[[328,12808,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,695,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[392,12808,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,707,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[446,12840,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,708,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[478,12896,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,722,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[476,12960,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,723,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[448,13016,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,724,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[244,12960,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1544,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[308,12960,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1545,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[364,12992,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1546,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[396,13048,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1547,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[396,13112,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1548,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[364,13168,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1549,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[168,13160,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1550,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[232,13160,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1551,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[288,13192,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1552,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[320,13248,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1553,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[320,13312,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1554,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[288,13368,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1555,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[-28,13344,0,328,1696,0,0,[1,1,1,1],0,0,0,0,[]],13,1556,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[80,13300,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1557,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[144,13300,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1558,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[200,13332,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1559,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[232,13388,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1560,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[232,13452,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1561,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[200,13508,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1562,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[84,13456,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1563,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[148,13456,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1564,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[204,13488,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1565,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[236,13544,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1566,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[236,13608,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1567,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[204,13664,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1568,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[76,13088,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1569,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[140,13088,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1570,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[196,13120,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1571,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[228,13176,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1572,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[228,13240,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1573,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[196,13296,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1574,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[-40,13236,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1575,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[24,13236,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1576,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[80,13268,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1577,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[112,13324,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1578,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[112,13388,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1579,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[80,13444,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1580,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[-88,13436,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1581,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[-24,13436,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1582,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[32,13468,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1583,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[64,13524,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1584,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[64,13588,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1585,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[32,13644,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1586,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[-16,13664,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1587,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[48,13664,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1588,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[104,13696,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1589,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[136,13752,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1590,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[136,13816,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1591,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[104,13872,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1592,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[36,13872,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1593,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[100,13872,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1594,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[156,13904,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1595,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[188,13960,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1596,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[188,14024,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1597,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[156,14080,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1598,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[978,12585,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1599,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1042,12585,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1600,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1096,12617,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1601,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1128,12673,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1602,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1126,12737,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1603,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1098,12793,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1604,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1022,12702,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1605,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1086,12702,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1606,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1140,12734,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1607,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1172,12790,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1608,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1170,12854,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1609,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1142,12910,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1610,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1221,12658,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1611,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1285,12658,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1612,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1339,12690,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1613,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1371,12746,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1614,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1369,12810,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1615,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1341,12866,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1616,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[464,11240,0,8,88,0,0,[1,1,1,1],0,0,0,0,[]],13,680,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1065,10957,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,686,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1129,10957,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1617,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1183,10989,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1618,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1216,11046,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1619,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1217,11110,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1620,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1185,11165,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1621,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[990,10783,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1622,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1054,10783,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1623,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1110,10815,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1624,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1142,10871,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1625,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1142,10935,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1626,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1110,10991,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1627,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[884,10610,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1628,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[948,10610,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1629,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1004,10642,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1630,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1036,10698,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1631,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1036,10762,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1632,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1004,10818,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1633,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[918,10468,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1634,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[982,10468,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1635,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1038,10500,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1636,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1070,10556,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1637,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1070,10620,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1638,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1038,10676,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1639,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[996,10318,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,1640,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1060,10318,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,1641,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1116,10350,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,1642,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1148,10406,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1643,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1148,10470,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,1644,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1116,10526,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,1645,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[10456,9416,0,1456,1560,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1870,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[7864,9416,0,1312,832,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1871,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[8824,10048,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,1872,[0.5,0],[["","",false]],[true,"Default",0,true]],[[7936,10056,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,1873,[0.5,0],[["","",false]],[true,"Default",0,true]],[[8392,9544,0,192,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,1874,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[7864,9416,0,1032,8,0,0,[1,1,1,1],0,0,0,0,[]],61,1875,[],[["","",false],[true]],[true,0,0,0,1,1,0]],[[6200,9416,0,320,1664,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1876,[],[["","MinCrusher_13",false],[true,""]],[true,0,0,0,1,1,0]],[[7896,9384,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1877,[0,1,0],[["","MinCrusher_13",false],[true,""]],[true,"Default",0,true]],[[7680,9256,0,256,280,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1878,[40,0,"wait 0.5\nmovex ~64 0.2\nmovex ~10 0.05\nmovex ~-20 0.1\nmovex ~20 0.1\nmovex ~-10 0.05\nwait 0.2\nmovex ~330 0.2",0,0],[["MinCrusher_13","",false],[true],[]],[false,"Default",0,true]],[[7896,9320,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1879,[0,1,0],[["","MinCrusher_13",false],[true,""]],[true,"Default",0,true]],[[7896,9256,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1880,[0,1,0],[["","MinCrusher_13",false],[true,""]],[true,"Default",0,true]],[[7896,9192,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1881,[0,1,0],[["","MinCrusher_13",false],[true,""]],[true,"Default",0,true]],[[7896,9128,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1882,[0,1,0],[["","MinCrusher_13",false],[true,""]],[true,"Default",0,true]],[[8896,9416,0,320,4504,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1883,[],[["","MinCrusher_13-B",false],[true,""]],[true,0,0,0,1,1,0]],[[8864,9384,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1884,[0,1,0],[["","MinCrusher_13-B",false],[true,""]],[true,"Default",0,true]],[[9080,9264,0,256,280,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],20,1885,[41,0,"wait 0.5\nmovex ~-64 0.2\nmovex ~-10 0.05\nmovex ~20 0.1\nmovex ~-20 0.1\nmovex ~10 0.05\nwait 0.2\nmovex ~-330 0.2",0,0],[["MinCrusher_13-B","",false],[true],[]],[false,"Default",0,true]],[[8864,9320,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1886,[0,1,0],[["","MinCrusher_13-B",false],[true,""]],[true,"Default",0,true]],[[8864,9256,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1887,[0,1,0],[["","MinCrusher_13-B",false],[true,""]],[true,"Default",0,true]],[[8864,9192,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1888,[0,1,0],[["","MinCrusher_13-B",false],[true,""]],[true,"Default",0,true]],[[8864,9128,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1889,[0,1,0],[["","MinCrusher_13-B",false],[true,""]],[true,"Default",0,true]],[[8380,9296,0,888,40,0,0,[1,1,1,0.5],0.5,0.5,0,0,[]],14,1890,[3,1,0,-1,-1,999,0,"moveArea(40) \nmoveArea(41)"],[["","",false],[]],[false,"Default",0,true]],[[6200,9096,0,320,1664,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1891,[],[["","MinCrusher_14",false],[true,""]],[true,0,0,0,1,1,0]],[[7896,9064,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1892,[0,1,0],[["","MinCrusher_14",false],[true,""]],[true,"Default",0,true]],[[7680,8936,0,256,280,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1893,[42,0,"wait 0.5\nmovex ~64 0.2\nmovex ~10 0.05\nmovex ~-20 0.1\nmovex ~20 0.1\nmovex ~-10 0.05\nwait 0.2\nmovex ~180 0.2",0,0],[["MinCrusher_14","",false],[true],[]],[false,"Default",0,true]],[[7896,9000,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1894,[0,1,0],[["","MinCrusher_14",false],[true,""]],[true,"Default",0,true]],[[7896,8936,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1895,[0,1,0],[["","MinCrusher_14",false],[true,""]],[true,"Default",0,true]],[[7896,8872,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1896,[0,1,0],[["","MinCrusher_14",false],[true,""]],[true,"Default",0,true]],[[7896,8808,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1897,[0,1,0],[["","MinCrusher_14",false],[true,""]],[true,"Default",0,true]],[[6200,8776,0,128,1664,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1898,[],[["","MinCrusher_15",false],[true,""]],[true,0,0,0,1,1,0]],[[7896,8744,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1899,[0,1,0],[["","MinCrusher_15",false],[true,""]],[true,"Default",0,true]],[[7680,8708,0,72,280,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1900,[44,0,"wait 0.5\nmovex ~1032 1",0,0],[["MinCrusher_15","",false],[true],[]],[false,"Default",0,true]],[[7896,8680,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1901,[0,1,0],[["","MinCrusher_15",false],[true,""]],[true,"Default",0,true]],[[6200,8648,0,128,1664,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1902,[],[["","MinCrusher_16",false],[true,""]],[true,0,0,0,1,1,0]],[[7896,8616,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1903,[0,1,0],[["","MinCrusher_16",false],[true,""]],[true,"Default",0,true]],[[7680,8576,0,72,280,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1904,[46,0,"wait 1.5\nmovex ~1032 1",0,0],[["MinCrusher_16","",false],[true],[]],[false,"Default",0,true]],[[7896,8552,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1905,[0,1,0],[["","MinCrusher_16",false],[true,""]],[true,"Default",0,true]],[[6200,8520,0,128,1664,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1906,[],[["","MinCrusher_17",false],[true,""]],[true,0,0,0,1,1,0]],[[7896,8488,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1907,[0,1,0],[["","MinCrusher_17",false],[true,""]],[true,"Default",0,true]],[[7680,8456,0,72,280,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1908,[48,0,"wait 2.5\nmovex ~1032 1",0,0],[["MinCrusher_17","",false],[true],[]],[false,"Default",0,true]],[[7896,8424,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,1909,[0,1,0],[["","MinCrusher_17",false],[true,""]],[true,"Default",0,true]],[[8896,8776,0,128,4504,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1910,[],[["","MinCrusher_15-B",false],[true,""]],[true,0,0,0,1,1,0]],[[8864,8744,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1911,[0,1,0],[["","MinCrusher_15-B",false],[true,""]],[true,"Default",0,true]],[[9056,8712,0,72,280,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1912,[45,0,"wait 0.5\nmovex ~-1032 1",0,0],[["MinCrusher_15-B","",false],[true],[]],[false,"Default",0,true]],[[8864,8680,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1913,[0,1,0],[["","MinCrusher_15-B",false],[true,""]],[true,"Default",0,true]],[[8896,9096,0,320,4504,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1914,[],[["","MinCrusher_14-B",false],[true,""]],[true,0,0,0,1,1,0]],[[8864,9064,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1915,[0,1,0],[["","MinCrusher_14-B",false],[true,""]],[true,"Default",0,true]],[[9064,8944,0,256,280,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],20,1916,[43,0,"wait 0.5\nmovex ~-64 0.2\nmovex ~-10 0.05\nmovex ~20 0.1\nmovex ~-20 0.1\nmovex ~10 0.05\nwait 0.2\nmovex ~-180 0.2",0,0],[["MinCrusher_14-B","",false],[true],[]],[false,"Default",0,true]],[[8864,9000,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1917,[0,1,0],[["","MinCrusher_14-B",false],[true,""]],[true,"Default",0,true]],[[8864,8936,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1918,[0,1,0],[["","MinCrusher_14-B",false],[true,""]],[true,"Default",0,true]],[[8864,8872,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1919,[0,1,0],[["","MinCrusher_14-B",false],[true,""]],[true,"Default",0,true]],[[8864,8808,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1920,[0,1,0],[["","MinCrusher_14-B",false],[true,""]],[true,"Default",0,true]],[[8896,8648,0,128,4504,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1921,[],[["","MinCrusher_16-B",false],[true,""]],[true,0,0,0,1,1,0]],[[8864,8616,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1922,[0,1,0],[["","MinCrusher_16-B",false],[true,""]],[true,"Default",0,true]],[[9056,8584,0,72,280,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1923,[47,0,"wait 1.5\nmovex ~-1032 1",0,0],[["MinCrusher_16-B","",false],[true],[]],[false,"Default",0,true]],[[8864,8552,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1924,[0,1,0],[["","MinCrusher_16-B",false],[true,""]],[true,"Default",0,true]],[[8896,8520,0,128,9632,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1925,[],[["","MinCrusher_17-B",false],[true,""]],[true,0,0,0,1,1,0]],[[8864,8488,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1926,[0,1,0],[["","MinCrusher_17-B",false],[true,""]],[true,"Default",0,true]],[[9056,8456,0,72,280,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1927,[49,0,"wait 2.5\nmovex ~-1032 1",0,0],[["MinCrusher_17-B","",false],[true],[]],[false,"Default",0,true]],[[8864,8424,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,1928,[0,1,0],[["","MinCrusher_17-B",false],[true,""]],[true,"Default",0,true]],[[7864,9544,0,360,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1929,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[8576,9544,0,320,8,0,0,[1,1,1,1],0,0,0,0,[]],13,1930,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[8864,9584,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1931,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[8800,9584,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1932,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[8736,9584,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1933,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[8024,9584,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1934,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7960,9584,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1935,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7896,9584,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1936,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[8392,9040,0,888,40,0,0,[1,1,1,0.5],0.5,0.5,0,0,[]],14,1937,[3,1,0,-1,-1,999,0,"moveArea(42) \nmoveArea(43)"],[["","",false],[]],[false,"Default",0,true]],[[8148,8648,0,432,40,0,0,[1,1,1,0.5],0.5,0.5,0,0,[]],14,1938,[3,1,0,-1,-1,999,0,"moveArea(45) \nmoveArea(46)\nmoveArea(48) \nmoveArea(49)"],[["","",false],[]],[false,"Default",0,true]],[[8608,8648,0,432,40,0,0,[1,1,1,0.5],0.5,0.5,0,0,[]],14,1939,[3,1,0,-1,-1,999,0,"moveArea(47) \nmoveArea(44) \nmoveArea(48) \nmoveArea(49)"],[["","",false],[]],[false,"Default",0,true]],[[6088,7216,0,1776,1176,0,0,[1,1,1,1],0,0,0,0,[]],13,1940,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[7240,6528,0,3696,1176,0,0,[1,1,1,1],0,0,0,0,[]],13,1941,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[7896,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1942,[0,1,0],[["","C1",false],[true,""]],[true,"Default",0,true]],[[7960,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1943,[0,1,0],[["","C1",false],[true,""]],[true,"Default",0,true]],[[7864,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1944,[],[["","C1",false],[true,""]],[true,0,0,0,1,1,0]],[[7928,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1945,[410,0,"movey ~1000 0.7",0,0],[["C1","",false],[true],[]],[false,"Default",0,true]],[[8024,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1946,[0,1,0],[["","C2",false],[true,""]],[true,"Default",0,true]],[[8088,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1947,[0,1,0],[["","C2",false],[true,""]],[true,"Default",0,true]],[[7992,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1948,[],[["","C2",false],[true,""]],[true,0,0,0,1,1,0]],[[8056,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1949,[411,0,"movey ~1000 0.7",0,0],[["C2","",false],[true],[]],[false,"Default",0,true]],[[8152,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1950,[0,1,0],[["","C3",false],[true,""]],[true,"Default",0,true]],[[8216,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1951,[0,1,0],[["","C3",false],[true,""]],[true,"Default",0,true]],[[8120,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1952,[],[["","C3",false],[true,""]],[true,0,0,0,1,1,0]],[[8184,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1953,[412,0,"movey ~1000 0.7",0,0],[["C3","",false],[true],[]],[false,"Default",0,true]],[[8280,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1954,[0,1,0],[["","C4",false],[true,""]],[true,"Default",0,true]],[[8344,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1955,[0,1,0],[["","C4",false],[true,""]],[true,"Default",0,true]],[[8248,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1956,[],[["","C4",false],[true,""]],[true,0,0,0,1,1,0]],[[8312,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1957,[413,0,"movey ~1000 0.7",0,0],[["C4","",false],[true],[]],[false,"Default",0,true]],[[8408,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1958,[0,1,0],[["","C5",false],[true,""]],[true,"Default",0,true]],[[8472,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1959,[0,1,0],[["","C5",false],[true,""]],[true,"Default",0,true]],[[8376,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1960,[],[["","C5",false],[true,""]],[true,0,0,0,1,1,0]],[[8440,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1961,[414,0,"movey ~1000 0.7",0,0],[["C5","",false],[true],[]],[false,"Default",0,true]],[[8536,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1962,[0,1,0],[["","C6",false],[true,""]],[true,"Default",0,true]],[[8600,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1963,[0,1,0],[["","C6",false],[true,""]],[true,"Default",0,true]],[[8504,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1964,[],[["","C6",false],[true,""]],[true,0,0,0,1,1,0]],[[8568,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1965,[415,0,"movey ~1000 0.7",0,0],[["C6","",false],[true],[]],[false,"Default",0,true]],[[8664,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1966,[0,1,0],[["","C7",false],[true,""]],[true,"Default",0,true]],[[8728,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1967,[0,1,0],[["","C7",false],[true,""]],[true,"Default",0,true]],[[8632,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1968,[],[["","C7",false],[true,""]],[true,0,0,0,1,1,0]],[[8696,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1969,[416,0,"movey ~1000 0.7",0,0],[["C7","",false],[true],[]],[false,"Default",0,true]],[[8792,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1970,[0,1,0],[["","C8",false],[true,""]],[true,"Default",0,true]],[[8856,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1971,[0,1,0],[["","C8",false],[true,""]],[true,"Default",0,true]],[[8760,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1972,[],[["","C8",false],[true,""]],[true,0,0,0,1,1,0]],[[8824,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1973,[417,0,"movey ~1000 0.7",0,0],[["C8","",false],[true],[]],[false,"Default",0,true]],[[8920,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1974,[0,1,0],[["","C9",false],[true,""]],[true,"Default",0,true]],[[8984,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1975,[0,1,0],[["","C9",false],[true,""]],[true,"Default",0,true]],[[8888,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1976,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[8952,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1977,[418,0,"movey ~1000 0.7",0,0],[["C9","",false],[true],[]],[false,"Default",0,true]],[[9048,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1978,[0,1,0],[["","C10",false],[true,""]],[true,"Default",0,true]],[[9112,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1979,[0,1,0],[["","C10",false],[true,""]],[true,"Default",0,true]],[[9016,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1980,[],[["","C10",false],[true,""]],[true,0,0,0,1,1,0]],[[9080,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1981,[419,0,"movey ~1000 0.7",0,0],[["C10","",false],[true],[]],[false,"Default",0,true]],[[9176,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1982,[0,1,0],[["","C11",false],[true,""]],[true,"Default",0,true]],[[9240,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1983,[0,1,0],[["","C11",false],[true,""]],[true,"Default",0,true]],[[9144,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1984,[],[["","C11",false],[true,""]],[true,0,0,0,1,1,0]],[[9208,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1985,[420,0,"movey ~1000 0.7",0,0],[["C11","",false],[true],[]],[false,"Default",0,true]],[[9304,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1986,[0,1,0],[["","C12",false],[true,""]],[true,"Default",0,true]],[[9368,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1987,[0,1,0],[["","C12",false],[true,""]],[true,"Default",0,true]],[[9272,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1988,[],[["","C12",false],[true,""]],[true,0,0,0,1,1,0]],[[9336,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1989,[421,0,"movey ~1000 0.7",0,0],[["C12","",false],[true],[]],[false,"Default",0,true]],[[9432,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1990,[0,1,0],[["","C13",false],[true,""]],[true,"Default",0,true]],[[9496,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1991,[0,1,0],[["","C13",false],[true,""]],[true,"Default",0,true]],[[9400,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1992,[],[["","C13",false],[true,""]],[true,0,0,0,1,1,0]],[[9464,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1993,[422,0,"movey ~1000 0.7",0,0],[["C13","",false],[true],[]],[false,"Default",0,true]],[[9560,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1994,[0,1,0],[["","C14",false],[true,""]],[true,"Default",0,true]],[[9624,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1995,[0,1,0],[["","C14",false],[true,""]],[true,"Default",0,true]],[[9528,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1996,[],[["","C14",false],[true,""]],[true,0,0,0,1,1,0]],[[9592,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,1997,[423,0,"movey ~1000 0.7",0,0],[["C14","",false],[true],[]],[false,"Default",0,true]],[[9688,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1998,[0,1,0],[["","C15",false],[true,""]],[true,"Default",0,true]],[[9752,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,1999,[0,1,0],[["","C15",false],[true,""]],[true,"Default",0,true]],[[9656,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2000,[],[["","C15",false],[true,""]],[true,0,0,0,1,1,0]],[[9720,7992,0,72,80,0,1.5700701983977678,[1,1,1,1],0.5,0.5,0,0,[]],20,2001,[424,0,"movey ~1000 0.7",0,0],[["C15","",false],[true],[]],[false,"Default",0,true]],[[9816,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2002,[0,1,0],[["","C16",false],[true,""]],[true,"Default",0,true]],[[9880,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2003,[0,1,0],[["","C16",false],[true,""]],[true,"Default",0,true]],[[9784,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2004,[],[["","C16",false],[true,""]],[true,0,0,0,1,1,0]],[[9848,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,2005,[425,0,"movey ~1000 0.7",0,0],[["C16","",false],[true],[]],[false,"Default",0,true]],[[9944,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2006,[0,1,0],[["","C17",false],[true,""]],[true,"Default",0,true]],[[10008,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2007,[0,1,0],[["","C17",false],[true,""]],[true,"Default",0,true]],[[9912,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2008,[],[["","C17",false],[true,""]],[true,0,0,0,1,1,0]],[[9976,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,2009,[426,0,"movey ~1000 0.7",0,0],[["C17","",false],[true],[]],[false,"Default",0,true]],[[10072,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2010,[0,1,0],[["","C18",false],[true,""]],[true,"Default",0,true]],[[10136,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2011,[0,1,0],[["","C18",false],[true,""]],[true,"Default",0,true]],[[10040,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2012,[],[["","C18",false],[true,""]],[true,0,0,0,1,1,0]],[[10104,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,2013,[427,0,"movey ~1000 0.7",0,0],[["C18","",false],[true],[]],[false,"Default",0,true]],[[10200,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2014,[0,1,0],[["","C19",false],[true,""]],[true,"Default",0,true]],[[10264,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2015,[0,1,0],[["","C19",false],[true,""]],[true,"Default",0,true]],[[10168,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2016,[],[["","C19",false],[true,""]],[true,0,0,0,1,1,0]],[[10232,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,2017,[428,0,"movey ~1000 0.7",0,0],[["C19","",false],[true],[]],[false,"Default",0,true]],[[10328,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2018,[0,1,0],[["","C20",false],[true,""]],[true,"Default",0,true]],[[10392,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2019,[0,1,0],[["","C20",false],[true,""]],[true,"Default",0,true]],[[10296,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2020,[],[["","C20",false],[true,""]],[true,0,0,0,1,1,0]],[[10360,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,2021,[429,0,"movey ~1000 0.7",0,0],[["C20","",false],[true],[]],[false,"Default",0,true]],[[10456,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2022,[0,1,0],[["","C21",false],[true,""]],[true,"Default",0,true]],[[10520,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2023,[0,1,0],[["","C21",false],[true,""]],[true,"Default",0,true]],[[10424,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2024,[],[["","C21",false],[true,""]],[true,0,0,0,1,1,0]],[[10488,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,2025,[430,0,"movey ~1000 0.7",0,0],[["C21","",false],[true],[]],[false,"Default",0,true]],[[10584,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2026,[0,1,0],[["","C22",false],[true,""]],[true,"Default",0,true]],[[10648,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2027,[0,1,0],[["","C22",false],[true,""]],[true,"Default",0,true]],[[10552,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2028,[],[["","C22",false],[true,""]],[true,0,0,0,1,1,0]],[[10616,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,2029,[431,0,"movey ~1000 0.7",0,0],[["C22","",false],[true],[]],[false,"Default",0,true]],[[10712,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2030,[0,1,0],[["","C23",false],[true,""]],[true,"Default",0,true]],[[10776,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2031,[0,1,0],[["","C23",false],[true,""]],[true,"Default",0,true]],[[10680,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2032,[],[["","C23",false],[true,""]],[true,0,0,0,1,1,0]],[[10744,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,2033,[432,0,"movey ~1000 0.7",0,0],[["C23","",false],[true],[]],[false,"Default",0,true]],[[10840,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2034,[0,1,0],[["","C24",false],[true,""]],[true,"Default",0,true]],[[10904,8072,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2035,[0,1,0],[["","C24",false],[true,""]],[true,"Default",0,true]],[[10808,8040,0,2744,128,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2036,[],[["","C24",false],[true,""]],[true,0,0,0,1,1,0]],[[10864,7992,0,72,80,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],20,2037,[433,0,"movey ~1000 0.7",0,0],[["C24","",false],[true],[]],[false,"Default",0,true]],[[17173.618567436668,6647.21459203177,0,6305.126616070048,1560,0,2.615378707128662,[1,1,1,1],0,0,0,0,[]],13,2038,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[16280.80475688551,4598.4182717328285,0,6179.288821690074,1560,0,2.615378707128662,[1,1,1,1],0,0,0,0,[]],13,2039,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[9065,8247,0,328,248,0,0,[1,1,1,0.5],0.5,0.5,0,0,[]],14,2040,[3,1,0,-1,-1,999,0,"for (let i = 410; i < 434 ; i++)\n{\nsetTimeout(() => {moveArea(i)}, 150 * (i - 410))\n}"],[["","",false],[]],[false,"Default",0,true]],[[13350,6642,0,64,240,0,0,[1,1,1,1],0,0,0,0,[]],13,2041,[],[["","FinalBall",false],[true,""]],[true,0,0,0,1,1,0]],[[13383,6616,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2042,[0,1,0],[["","FinalBall",false],[true,""]],[true,"Default",0,true]],[[13457,6892,0,64,64,0,2.6179938779914944,[1,1,1,1],0.5,0.5,0,0,[]],27,2043,[0,1,0],[["","FinalBall",false],[true,""]],[true,"Default",0,true]],[[13531,6764,0,64,64,0,1.5707963267948966,[1,1,1,1],0.5,0.5,0,0,[]],27,2044,[0,1,0],[["","FinalBall",false],[true,""]],[true,"Default",0,true]],[[13512,6837,0,64,64,0,2.0943951023931953,[1,1,1,1],0.5,0.5,0,0,[]],27,2045,[0,1,0],[["","FinalBall",false],[true,""]],[true,"Default",0,true]],[[13457,6635,0,64,64,0,0.5235987755982988,[1,1,1,1],0.5,0.5,0,0,[]],27,2046,[0,1,0],[["","FinalBall",false],[true,""]],[true,"Default",0,true]],[[13511,6690,0,64,64,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],27,2047,[0,1,0],[["","FinalBall",false],[true,""]],[true,"Default",0,true]],[[13382,6913,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2048,[0,1,0],[["","FinalBall",false],[true,""]],[true,"Default",0,true]],[[13308,6892,0,64,64,0,3.6651914291880923,[1,1,1,1],0.5,0.5,0,0,[]],27,2049,[0,1,0],[["","FinalBall",false],[true,""]],[true,"Default",0,true]],[[13253,6837,0,64,64,0,4.1887902047863905,[1,1,1,1],0.5,0.5,0,0,[]],27,2050,[0,1,0],[["","FinalBall",false],[true,""]],[true,"Default",0,true]],[[13233,6762,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,2051,[0,1,0],[["","FinalBall",false],[true,""]],[true,"Default",0,true]],[[13308,6635,0,64,64,0,5.759586531581287,[1,1,1,1],0.5,0.5,0,0,[]],27,2052,[0,1,0],[["","FinalBall",false],[true,""]],[true,"Default",0,true]],[[13253,6689,0,64,64,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],27,2053,[0,1,0],[["","FinalBall",false],[true,""]],[true,"Default",0,true]],[[13414,6642,0,64,240,0,0.5235987755982988,[1,1,1,1],0,0,0,0,[]],13,2055,[],[["","FinalBall",false],[true,""]],[true,0,0,0,1,1,0]],[[13470,6674,0,64,240,0,1.0471975511965976,[1,1,1,1],0,0,0,0,[]],13,2056,[],[["","FinalBall",false],[true,""]],[true,0,0,0,1,1,0]],[[13502,6730,0,64,240,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,2057,[],[["","FinalBall",false],[true,""]],[true,0,0,0,1,1,0]],[[13502,6794,0,64,240,0,2.0943951023931953,[1,1,1,1],0,0,0,0,[]],13,2058,[],[["","FinalBall",false],[true,""]],[true,0,0,0,1,1,0]],[[13470,6850,0,64,240,0,2.6179938779914944,[1,1,1,1],0,0,0,0,[]],13,2059,[],[["","FinalBall",false],[true,""]],[true,0,0,0,1,1,0]],[[13388,6769,0,272,280,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,2054,[434,0,"angle ~900 2 0\nmovey ~1470 2 0\nmovex ~-2300 2",0,0],[["FinalBall","",false],[true],[]],[false,"Default",0,true]],[[10896,8215,0,84,360,0,0,[1,1,1,0.5],0.5,0.5,0,0,[]],14,2060,[0,1,0,-1,-1,999,0,"moveArea(434)"],[["","",false],[]],[false,"Default",0,true]],[[14739,6036,0,194,398,0,5.759586531581287,[1,1,1,1],0.525773,0.497487,0,0,[]],16,2061,["Level dlc"],[["","",false]],[true,"Default",0,true]],[[5343.757403003271,13232.973706973446,0,64,166.8771123387907,0,5.759586531581287,[1,1,1,1],0.5,0.5,0,0,[]],58,1375,[],[],[true,"Animation 1",0,true]],[[5331.016897984421,13245.832781824354,0,64,166.8771123387907,0,5.235987755982989,[1,1,1,1],0.5,0.5,0,0,[]],58,1394,[],[],[true,"Animation 1",0,true]],[[5377.8266576227725,13233.598412827969,0,64,166.8771123387907,0,0.5235987755982988,[1,1,1,1],0.5,0.5,0,0,[]],58,1401,[],[],[true,"Animation 1",0,true]],[[5391.124884792758,13246.896639997954,0,64,166.8771123387907,0,1.0471975511965976,[1,1,1,1],0.5,0.5,0,0,[]],58,1402,[],[],[true,"Animation 1",0,true]],[[5362.464572279188,13947.842980133575,0,64,1603.8771123387908,0,0,[1,1,1,1],0.5,0.5,0,0,[]],58,1403,[],[],[true,"Animation 1",0,true]],[[5329.264127834676,13142.752527633802,0,64.90294304043164,8,0,0,[1,1,1,1],0,0,0,0,[]],62,1406,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5362,13109,0,64,64,0,0,[1,1,1,1],0.5,0.45454545454545453,0,0,[]],70,1407,[],[],[true,"Animation 1",0,true]],[[960,17264,0,8877.530249447726,3776.21209977909,0,0,[1,1,1,1],0,0,0,0,[]],13,1409,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5624,17232,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1412,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5840,17232,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1413,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6040,17232,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1414,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6256,17232,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,1415,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5592,18248,0,984,64,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1416,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[5808,18248,0,984,64,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1426,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[6008,18248,0,984,64,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,1427,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[6224,18248,0,984,64,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2070,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[5624,16936,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2072,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5840,16936,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2073,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6040,16936,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2074,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6256,16936,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2075,[0,1,0],[["","SecretEnd",false],[true,""]],[true,"Default",0,true]],[[5592,16896,0,984,64,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2071,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[5808,16904,0,984,64,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2076,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[6008,16904,0,984,64,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2077,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[6224,16904,0,984,64,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2078,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[7048,17232,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2079,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7112,17232,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2080,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7176,17232,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2081,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7360,17104,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,2082,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6616,17104,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2085,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6680,17104,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2086,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6744,17104,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2087,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6808,17104,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2088,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6872,17104,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2089,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6936,17104,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2090,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7360,17168,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,2091,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7360,17232,0,64,64,0,4.71238898038469,[1,1,1,1],0.5,0.5,0,0,[]],27,2092,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[6584,16904,0,-168,384,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2083,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[7392,17072,0,-192,176,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2084,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[7904,17232,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2094,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7968,17160,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2095,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[8032,17064,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2096,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[8352,17232,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2097,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[8416,17160,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2098,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[8480,17064,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2099,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[8232,16936,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2100,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[8744,17240,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2101,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[8808,17168,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2102,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[8872,17072,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2103,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[9160,17240,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2104,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[9224,17168,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2105,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[9288,17072,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,2106,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[9072,16936,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2107,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[8648,16936,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2108,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7872,17264,0,-256,64,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2109,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[7936,17192,0,-256,64,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2110,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[8000,17096,0,-256,64,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2111,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[8384,17192,0,-256,64,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2112,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[8448,17096,0,-256,64,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2113,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[8776,17200,0,-256,64,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2114,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[8840,17104,0,-256,64,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2115,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[9192,17200,0,-256,64,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2116,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[9256,17104,0,-256,64,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2117,[],[["","C9",false],[true,""]],[true,0,0,0,1,1,0]],[[10040,13256,0,5728,7168,0,0,[1,1,1,1],0,0,0,0,[]],13,2118,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5360,16848,0,64,80,0,0,[1,1,1,1],0.5,0.5,0,0,[]],14,2119,[0,1,0,-1,-1,999,0,"moveArea(60)\nfor(let i = 12, j = 0; i >= 0; i--, j++)\n{\nconsole.log(runtime.objects.TimerTick)\n setTimeout(()=>{\n runtime.objects.TimerTick.getAllInstances().find(x=>x.uid === 2123).text = \"[color=#FF0000]\" + i.toString() + \"[/color]\";\n }, j * 1000)\n}"],[["","",false],[]],[false,"Default",0,true]],[[5360,16632,0,272,280,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],20,2120,[60,0,"wait 12\nmovey ~1000 0.3",0,0],[["SecretEnd","",false],[true],[]],[false,"Default",0,true]],[[5392,16880,0,1248,4680,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2121,[],[["","SecretEnd",false],[true,""]],[true,0,0,0,1,1,0]],[[7780,16308,0,4504,1080,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,2122,[0,1,0],[["","SecretEnd",false],[true,""]],[true,"Default",0,true]],[[5392,13224,0,5728,3680,0,0,[1,1,1,1],0,0,0,0,[]],13,1408,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[9944,17624,0,194,398,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,2161,["Level 0-0"],[["","",false]],[false,"Default",0,true]],[[5328,13264,0,64,166.8771123387907,0,5.759586531581287,[1,1,1,1],0.5,0.5,0,0,[]],58,2140,[],[],[true,"Animation 1",0,true]]],[],0]],[],[]],["Level 2-X",15000,21000,true,"Levels",535215038775740,[["Layer 0",0,416142043599199,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[7536,10912,-40,814.8397879839611,120.72338249711476,0,0,[0,0,0,1],0,0,0,0,[]],31,2126,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["Secret Level ?!",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1.5,0,0,1,1,0,true,0]],[[7888,11312,0,64,128,0,0,[1,1,1,1],0.5,0.5,0,0,[]],12,2124,["run",0,0,1,1,0,0.8,0.5,0,1,0,0,0,0,0,1,0.4,0,"",2,0,0,0,"",3,0,0,0,-1,-1,-1,-1,0],[["collider","",false],[660,3000,3000,1300,3000,2000,false,0,false,true],[],[0,10000,360,true]],[true,"Default",0,true]],[[7824,11408,0,128,8,0,0,[1,1,1,1],0,0,0,0,[]],13,2125,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]]],[],0]],[],[]],["Level 17-B",8000,5000,true,"Levels",715327063042402,[["Layer 0",0,457151208656238,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[708,-309,0,128,8,0,0,[1,1,1,1],0,0,0,0,[]],13,450,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2040,544,0,224,64,0,0,[0,0,0,1],0,0,0,0,[]],31,456,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["Jump",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[1224,808,0,64,128,0,0,[1,1,1,1],0.5,0.5,0,0,[]],12,463,["run",0,0,1,1,0,0.8,0.5,0,1,0,0,0,0,0,1,0.4,0,"",2,0,0,0,"",3,0,0,0,-1,-1,-1,-1,0],[["collider","",false],[660,3000,3000,1300,3000,2000,false,0,false,true],[],[0,10000,360,true]],[true,"Default",0,true]],[[1047,960,0,6392,1384,0,0,[1,1,1,1],0,0,0,0,[]],13,466,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1960,928,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,424,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2024,872,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,448,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2088,800,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,467,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1992,904,0,64,56,0,0,[1,1,1,1],0,0,0,0,[]],13,468,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2056,832,0,64,128,0,0,[1,1,1,1],0,0,0,0,[]],13,469,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2120,768,0,64,192,0,0,[1,1,1,1],0,0,0,0,[]],13,470,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2184,824,0,64,136,0,0,[1,1,1,1],0,0,0,0,[]],13,471,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2248,904,0,64,56,0,0,[1,1,1,1],0,0,0,0,[]],13,472,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2152,744,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,473,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2216,800,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,474,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2280,872,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,475,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2344,928,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,476,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1896,928,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,477,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2936,928,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,451,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3000,856,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,452,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3128,816,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,453,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2968,888,0,64,72,0,0,[1,1,1,1],0,0,0,0,[]],13,454,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3096,848,0,64,112,0,0,[1,1,1,1],0,0,0,0,[]],13,455,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3224,848,0,64,112,0,0,[1,1,1,1],0,0,0,0,[]],13,458,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3288,904,0,64,56,0,0,[1,1,1,1],0,0,0,0,[]],13,478,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3256,816,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,480,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3320,872,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,481,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3448,928,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,482,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2872,928,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,483,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3064,856,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,484,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3032,888,0,64,72,0,0,[1,1,1,1],0,0,0,0,[]],13,485,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3160,824,0,64,136,0,0,[1,1,1,1],0,0,0,0,[]],13,457,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3192,792,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,479,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3352,904,0,64,56,0,0,[1,1,1,1],0,0,0,0,[]],13,486,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3384,872,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,487,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2024,536,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,488,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2088,488,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,489,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2152,424,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,490,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2056,504,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,491,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2120,456,0,64,728,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,492,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2184,392,0,64,664,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,493,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2248,448,0,64,720,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,494,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2312,504,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,495,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2216,368,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,496,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2216,480,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,497,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2280,536,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,498,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2344,560,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,499,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1960,552,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,500,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1992,520,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,501,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2376,528,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,502,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1896,568,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,503,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1928,536,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,504,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1832,600,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,505,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1864,568,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,506,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1768,616,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,507,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1800,584,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,508,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1704,640,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,509,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1736,608,0,64,824,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,510,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1640,640,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,511,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1672,608,0,64,824,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,512,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1608,608,0,64,824,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,513,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1512,640,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,514,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1544,608,0,64,824,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,515,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1576,640,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,516,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1448,640,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,517,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1480,608,0,64,824,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,518,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1384,640,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,519,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1416,608,0,64,824,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,520,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1352,608,0,64,824,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,521,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1256,640,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,522,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1288,608,0,176,824,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,523,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1320,640,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,524,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2408,600,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,525,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2440,568,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,526,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2472,632,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,527,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2504,600,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,528,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2536,664,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,529,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2568,632,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,530,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2600,664,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,531,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2632,632,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,532,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2664,664,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,533,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2696,632,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,534,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2728,664,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,535,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2760,632,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,536,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2792,656,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,537,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2824,624,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,538,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2856,640,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,539,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2888,608,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,540,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2920,640,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,541,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[2952,608,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,542,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2984,624,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,543,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3016,592,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,544,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3048,608,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,545,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3080,576,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,546,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3112,592,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,547,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3144,560,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,548,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3176,592,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,549,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3208,560,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,550,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3240,592,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,551,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3272,560,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,552,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3304,600,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,553,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3336,568,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,554,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3368,608,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,555,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3400,576,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,556,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3432,632,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,557,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3464,600,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,558,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3496,672,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,559,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3528,640,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,560,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3560,712,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,561,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3592,680,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,562,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3624,728,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,563,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3656,696,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,564,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3072,656,0,224,64,0,0,[0,0,0,1],0,0,0,0,[]],31,565,[""],[["value opacity 0; duration type 0.1; duration fade 0.1",0],["","",false]],["Dive",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[3688,728,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,566,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3720,696,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,567,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3752,856,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,568,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3784,824,0,64,1056,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,569,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3816,856,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,570,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3848,824,0,64,1056,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,571,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3880,856,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,572,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3912,824,0,64,1056,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,573,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[3944,856,0,64,64,0,3.1349555829058033,[1,1,1,1],0.5,0.5,0,0,[]],27,574,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[3976,824,0,64,1056,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,575,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4008,856,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,576,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4040,824,0,64,1056,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,577,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4136,960,0,64,136,0,0,[1,1,1,1],0,0,0,0,[]],13,578,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4168,928,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,579,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4200,936,0,64,136,0,0,[1,1,1,1],0,0,0,0,[]],13,580,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4232,904,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,581,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4264,912,0,64,136,0,0,[1,1,1,1],0,0,0,0,[]],13,582,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4296,880,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,583,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4328,928,0,64,136,0,0,[1,1,1,1],0,0,0,0,[]],13,584,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4360,896,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,585,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4392,928,0,64,136,0,0,[1,1,1,1],0,0,0,0,[]],13,586,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4424,896,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,587,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4456,928,0,64,136,0,0,[1,1,1,1],0,0,0,0,[]],13,588,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4488,896,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,589,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4520,936,0,64,136,0,0,[1,1,1,1],0,0,0,0,[]],13,590,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4552,904,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,591,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4584,960,0,64,136,0,0,[1,1,1,1],0,0,0,0,[]],13,592,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4616,928,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,593,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4848,968,0,64,136,0,0,[1,1,1,1],0,0,0,0,[]],13,594,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4880,936,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,595,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4912,944,0,64,136,0,0,[1,1,1,1],0,0,0,0,[]],13,596,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4944,912,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,597,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4976,936,0,64,136,0,0,[1,1,1,1],0,0,0,0,[]],13,598,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5008,904,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,599,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5040,936,0,64,136,0,0,[1,1,1,1],0,0,0,0,[]],13,600,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5072,904,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,601,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5104,936,0,64,136,0,0,[1,1,1,1],0,0,0,0,[]],13,602,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5136,904,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,603,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5168,936,0,64,136,0,0,[1,1,1,1],0,0,0,0,[]],13,604,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5200,904,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,605,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5232,944,0,64,136,0,0,[1,1,1,1],0,0,0,0,[]],13,606,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5264,912,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,607,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5296,968,0,64,136,0,0,[1,1,1,1],0,0,0,0,[]],13,608,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5328,936,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,609,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4072,768,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,610,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4104,736,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,611,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4136,744,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,612,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4168,712,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,613,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4200,712,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,614,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4232,680,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,615,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4264,688,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,616,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4296,656,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,617,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4328,688,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,618,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4360,656,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,619,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4392,688,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,620,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4424,656,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,621,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4456,688,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,622,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4488,656,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,623,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4520,688,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,624,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4552,656,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,625,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4576,704,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,626,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4608,672,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,627,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4640,736,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,628,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4672,704,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,629,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4704,736,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,630,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4736,704,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,631,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4768,736,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,632,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4800,704,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,633,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4832,736,0,64,64,0,3.1349555829058033,[1,1,1,1],0.5,0.5,0,0,[]],27,634,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4864,704,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,635,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4896,680,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,636,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4928,648,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,637,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[4960,680,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,638,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[4992,648,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,639,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5024,680,0,64,64,0,3.1349555829058033,[1,1,1,1],0.5,0.5,0,0,[]],27,640,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5056,648,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,641,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5088,640,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,642,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5120,608,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,643,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5152,640,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,644,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5184,608,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,645,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5216,640,0,64,64,0,3.1349555829058033,[1,1,1,1],0.5,0.5,0,0,[]],27,646,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5248,608,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,647,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5280,672,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,648,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5312,640,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,649,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5344,688,0,64,64,0,3.141592653589793,[1,1,1,1],0.5,0.5,0,0,[]],27,650,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[5376,656,0,64,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,651,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5408,696,0,64,64,0,3.1349555829058033,[1,1,1,1],0.5,0.5,0,0,[]],27,652,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[7440,663.9999999999998,0,2064,800,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,653,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[5624,848,0,136,304,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,654,["Level 1-4"],[["","",false]],[true,"Default",0,true]],[[1112.0000000000002,2288,0,1256,2696,0,3.141592653589793,[1,1,1,1],0,0,0,0,[]],13,449,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]]],[],0]],[],[]],["Menu",3840,2560,true,"Menu",889263081838691,[["Background",0,986474440004897,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[3200,640,0,1280,1280,0,0,[1,1,1,0.2],0.5,0.5,0,0,[]],49,58,[],[],[true,"Animation 1",0,true]],[[3200,640,0,1280,1280,0,0,[1,1,1,1],0.5,0.5,0,0,[]],50,60,[],[],[true,"Animation 1",0,true]]],[],0],["Menus",1,976212002136594,true,[94,94,94],true,1,1,1,false,false,1,0,0,[[[1920,165,0,546.6608356520035,192.41442000804784,0,0,[1,1,1,1],0.5,0.5,0,0,[]],42,2,[],[[6,0,2,0,0,0,5,0,true],[5,0,1.5,0,0,0,20,0,true]],[true,"Animation 1",0,true]],[[1653.5,319,0,533,117,0,0,[0,0,0,1],0,0,0,0,[]],43,4,[],[["value opacity 0; duration type 0.1; duration fade 0.1",0]],["Text",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",1,0,0,1,1,0,true,0]],[[640,160,0,533,179,0,0,[0,0,0,1],0.5,0.5,0,0,[]],43,62,[],[["value opacity 0; duration type 0.1; duration fade 0.1",0]],["Credits",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",2,0,0,1,1,0,true,4]],[[3200,160,0,961,179,0,0,[0,0,0,1],0.5,0.5,0,0,[]],43,65,[],[["value opacity 0; duration type 0.1; duration fade 0.1",0]],["Course Select",true,37,68,"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêefghijklmnoôpqrstuùvwxyz0123456789.,;:?!-_~#\"'&()[]{}|`\\/@°+=*$£€<>%^↑↓→←","\n[[15,\" \"],[8,\"i.:!'|\"],[13,\",;\"],[14,\"`\"],[16,\"°\"],[18,\"↑\"],[19,\"l\\\"()[]{}↓\"],[24,\"fkt-*<>\"],[30,\"AÀBCDÉÈËÊEFGHIJKLMNOÔPQRSTUÙVWXYZaàbcdéèëêeghjmnoôpqrsuùvwxyz0123456789?_#\\\\/+=$£%^\"],[33,\"&\"],[35,\"~@€→←\"]]",2,0,0,1,1,0,true,4]]],[],0],["Cameras",2,600191114328804,true,[94,94,94],true,1,1,1,false,false,1,0,0,[[[1920,640,0,158.46766231632245,158.46766231632245,0,0,[1,1,1,1],0.5,0.5,0,0,[]],51,61,["main"],[],[true,"Animation 1",0,true]],[[640,640,0,158.46766231632245,158.46766231632245,0,0,[1,1,1,1],0.5,0.5,0,0,[]],51,63,["credits"],[],[true,"Animation 1",0,true]],[[3200,640,0,158.46766231632245,158.46766231632245,0,0,[1,1,1,1],0.5,0.5,0,0,[]],51,64,["main"],[],[true,"Animation 1",0,true]]],[],0]],[[null,2,31,[],[],[0,1,1]],[null,7,34,[0,0,0,16,1,0,"",40,0,0,0,"",0,1],[],[]],[null,9,35,[],[],[10,1,1]],[null,3,36,[37,38,39,40,0,0],[],[]],[null,10,20,[],[],["main"]],[null,45,56,[0],[],[]]],[]],["Level",2160,2160,true,"Levels",149327820941458,[["Layer 0",0,480789158988184,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[47,947,0,840,8,0,0,[1,1,1,1],0,0,0,0,[]],13,5,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[659,953,0,313,8,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,7,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[454,1398,0,64,128,0,0,[1,1,1,1],0.5,0.5,0,0,[]],12,21,["run",0,0,1,1,0,0.8,0.5,0,1,0,0,0,0,0,1,0.4,0,"",2,0,0,0,"",3,0,0,0,-1,-1,-1,-1,0],[["collider","",false],[660,3000,3000,1300,3000,2000,false,0,false,true],[],[0,10000,360,true]],[true,"Default",0,true]],[[851,523,0,1269,8,0,0,[1,1,1,1],0,0,0,0,[]],13,43,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[680,559,0,208,8,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,44,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[849,731,0,208,8,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,45,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[2113,531,0,74,8,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,46,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[995,1118,0,9,281,0,0,[1,1,1,1],0,0,0,0,[]],26,42,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[619,916,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,47,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[557,915,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,49,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[1647,408,0,16,128,0,3.141592653589793,[0,1,1,1],0.5,0.5,0,0,[]],21,50,[1,0,0,0,0,0],[],[true,"Default",0,true]],[[672,706,0,16,128,0,0,[0,1,1,1],0.5,0.5,0,0,[]],21,51,[0,1,0,0,0,0],[],[true,"Default",0,true]],[[47.000000000000014,682,0,211,8,0,0,[1,1,1,1],0,0,0,0,[]],13,52,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[47,951,0,269,8,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,53,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[551,1396,0,84,84,0,0,[1,1,1,1],0.5,0.5,0,0,[]],14,54,[3,1,0,-1,-1,999,0,"moveArea(0)"],[["","",false],[]],[true,"Default",0,true]],[[225,637,0,84,84,0,0,[1,1,1,1],0.5,0.5,0,0,[]],14,55,[0,1,0,-1,-1,999,0,"getButton(0).instVars.active = false\ngetButton(2).instVars.active = false\ngetButton(1).instVars.active = false\nsetTimeout(()=>{\ngetButton(0).instVars.active = true\ngetButton(2).instVars.active = true\ngetButton(1).instVars.active = true\n}, 1000)"],[["","",false],[]],[true,"Default",0,true]],[[884,1391,0,560,8,0,0,[1,1,1,1],0,0,0,0,[]],13,66,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[884,1394,0,447,8,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,67,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[255,527,0,388,8,0,0,[1,1,1,1],0,0,0,0,[]],13,68,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[562,529,0,71,8,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,69,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1926,1368,0,1055,8,0,0,[1,1,1,1],0,0,0,0,[]],13,70,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1739,2479,0,1087,8,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,71,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1908,2479,0,1070,8,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,72,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1268,2485,0,768,8,0,0,[1,1,1,1],0,0,0,0,[]],13,73,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1493,2493,0,293,8,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,74,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1514,2193,0,159,8,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,75,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1555,2039,0,116,8,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,76,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1576,1930,0,179,8,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,77,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1724,1080,0,208,8,0,1.5707963267948966,[1,1,1,1],0,0,0,0,[]],13,78,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1716,1167,0,624,8,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,79,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[267,-166,0,304,74,0,0,[1,1,1,1],0,0,0,0,[]],55,86,[],[[0,0,1,true,false]],[true,"Animation 1",0,true]],[[1448,1389,0,223,8,0,0,[1,1,1,1],0,0,0,0,[]],61,89,[],[["","",false],[true]],[true,0,0,0,1,1,0]],[[-459,950,0,4,4,0,0,[1,1,1,1],0,0.5,0,0,[]],63,94,[0,1,0],[[true]],[true,"Aiming",0,true]],[[1356,438,0,64,32,0,0,[1,1,1,1],0,0.5,0,0,[]],22,88,[0,1,0,0,0],[[400,0,0,false,true,false,true]],[true,"Default",0,true]],[[508,1224,0,166,162,0,4.712388817179586,[1,1,1,1],0.5,0.5,0,0,[]],20,292,[0,0,"movey ~200 2\nwait 1\nmovey ~-200 2\ngoto 0",0,0],[["move2","",false],[true],[]],[false,"Default",0,true]],[[128,637,0,84,84,0,0,[1,1,1,1],0.5,0.5,0,0,[]],14,1151,[2,1,0,-1,-1,999,0,"getButton(0).instVars.active = false\ngetButton(2).instVars.active = false\ngetButton(1).instVars.active = false\nsetTimeout(()=>{\ngetButton(0).instVars.active = true\ngetButton(2).instVars.active = true\ngetButton(1).instVars.active = true\n}, 1000)"],[["","",false],[]],[true,"Default",0,true]],[[181,528,0,84,84,0,0,[1,1,1,1],0.5,0.5,0,0,[]],14,1152,[1,1,0,-1,-1,999,0,"getButton(0).instVars.active = false\ngetButton(2).instVars.active = false\ngetButton(1).instVars.active = false\nsetTimeout(()=>{\ngetButton(0).instVars.active = true\ngetButton(2).instVars.active = true\ngetButton(1).instVars.active = true\n}, 1000)"],[["","",false],[]],[true,"Default",0,true]],[[902,356,0,100,100,0,0,[1,1,1,1],0,0.5,0,0,[]],73,2268,[],[],[2,360,1,-1,100,4,100,0,20,20,0,0,0,-200,0,0,800,0,0,1]],[[822,281,0,100,100,0,0,[1,1,1,1],0,0.5,0,0,[]],72,2269,[0,0],[[0.1,0,0,false,true]],[2,360,1,-1,40,4,100,0,10,10,0,0,0,-20,0,10,800,0,0,1]],[[981,414,0,100,100,0,0,[1,1,1,1],0,0.5,0,0,[]],74,2270,[],[],[7,180,1,-1,300,15,100,-30,20,20,0,0,0,-600,0,0,800,0,1,0.5]],[[2504,586,0,128,64,0,1.5707963267948966,[1,1,1,1],0.125,0.5,0,0,[]],23,2277,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[2385,596,0,128,64,0,1.5707963267948966,[1,1,1,1],0.125,0.5,0,0,[]],23,92,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[2209,603,0,128,64,0,1.5707963267948966,[1,1,1,1],0.125,0.5,0,0,[]],23,2271,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[2306,613,0,128,64,0,1.5707963267948966,[1,1,1,1],0.125,0.5,0,0,[]],23,2272,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[2093,586,0,128,64,0,1.5707963267948966,[1,1,1,1],0.125,0.5,0,0,[]],23,2273,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[1901,589,0,128,64,0,1.5707963267948966,[1,1,1,1],0.125,0.5,0,0,[]],23,2274,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[1990,594,0,128,64,0,1.5707963267948966,[1,1,1,1],0.125,0.5,0,0,[]],23,2275,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[1766,608,0,128,64,0,1.5707963267948966,[1,1,1,1],0.125,0.5,0,0,[]],23,2276,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[1840,589,0,128,64,0,1.5707963267948966,[1,1,1,1],0.125,0.5,0,0,[]],23,2278,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[2827,1168,0,128,64,0,3.141592653589793,[1,1,1,1],0.125,0.5,0,0,[]],23,2280,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[2821,992,0,128,64,0,3.141592653589793,[1,1,1,1],0.125,0.5,0,0,[]],23,2281,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[2810,1089,0,128,64,0,3.141592653589793,[1,1,1,1],0.125,0.5,0,0,[]],23,2282,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[2838,876,0,128,64,0,3.141592653589793,[1,1,1,1],0.125,0.5,0,0,[]],23,2283,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[1938,830,0,128,64,0,3.141592653589793,[1,1,1,1],0.125,0.5,0,0,[]],23,2284,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[2830,773,0,128,64,0,3.141592653589793,[1,1,1,1],0.125,0.5,0,0,[]],23,2285,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[2504,742,0,128,64,0,3.141592653589793,[1,1,1,1],0.125,0.5,0,0,[]],23,2286,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[1920,1015,0,128,64,0,3.141592653589793,[1,1,1,1],0.125,0.5,0,0,[]],23,2287,[0,0,1,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[2087,825,0,128,64,0,0,[1,1,1,1],0.125,0.5,0,0,[]],23,2279,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[2089,1017,0,128,64,0,0,[1,1,1,1],0.125,0.5,0,0,[]],23,2288,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[2095,928,0,128,64,0,0,[1,1,1,1],0.125,0.5,0,0,[]],23,2289,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[2107,1152,0,128,64,0,0,[1,1,1,1],0.125,0.5,0,0,[]],23,2290,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[2088,1078,0,128,64,0,0,[1,1,1,1],0.125,0.5,0,0,[]],23,2291,[1,0,0,400,1000,1,360,1,0],[["","",false],[1000,1,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[375,1471,0,301,8,0,0,[1,1,1,1],0,0,0,0,[]],13,2292,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[396,1206,0,301,8,0,6.277683299425621,[1,1,1,1],0,0,0,0,[]],13,2293,[],[["","move2",false],[true,""]],[true,0,0,0,1,1,0]],[[651,1821,0,585,8,0,0,[1,1,1,1],0,0,0,0,[]],13,2294,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[958,1749,0,301,8,0,0,[1,1,1,1],0,0,0,0,[]],13,2295,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1186,1864,0,179,8,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2296,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]]],[],0]],[],[]],["ObjectBank",2560,2560,false,null,254555386042115,[["Layer 0",0,695674435689390,true,[94,94,94],false,1,1,1,false,false,1,0,0,[[[262,325,0,60.934391022,60.934391022,0,0,[1,1,1,1],0.5,0.5,0,0,[]],30,22,["Hard","{\"c2array\":true,\"size\":[362,6,1],\"data\":[[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[19.753175508500977],[351.99275975366527],[0],[\"idle\"],[0],[1]],[[20.167013658501006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[20.995288014500915],[351.99275975366527],[0],[\"run\"],[0],[1]],[[22.241889314000858],[351.99275975366527],[0],[\"run\"],[0],[1]],[[23.90777027900094],[351.99275975366527],[0],[\"run\"],[0],[1]],[[25.97451411500095],[351.99275975366527],[0],[\"run\"],[0],[1]],[[28.475381403501036],[351.99275975366527],[0],[\"run\"],[0],[1]],[[31.374562743500714],[351.99275975366527],[0],[\"run\"],[0],[1]],[[34.695790389501276],[351.99275975366527],[0],[\"run\"],[0],[1]],[[38.438242209501375],[351.99275975366527],[0],[\"run\"],[0],[1]],[[42.590263433001084],[351.99275975366527],[0],[\"run\"],[0],[1]],[[47.1538758080011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[52.13758898000105],[351.99275975366527],[0],[\"run\"],[0],[1]],[[57.53813399000128],[351.99275975366527],[0],[\"run\"],[0],[1]],[[63.0392339900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[68.52812399000123],[351.99275975366527],[0],[\"run\"],[0],[1]],[[74.01008399000156],[351.99275975366527],[0],[\"run\"],[0],[1]],[[79.51316399000139],[351.99275975366527],[0],[\"run\"],[0],[1]],[[85.01195399000154],[351.99275975366527],[0],[\"run\"],[0],[1]],[[90.48995399000107],[351.99275975366527],[0],[\"run\"],[0],[1]],[[96.00689399000132],[351.99275975366527],[0],[\"run\"],[0],[1]],[[101.49050399000078],[351.99275975366527],[0],[\"run\"],[0],[1]],[[106.97477399000157],[351.99275975366527],[0],[\"run\"],[0],[1]],[[112.44683399000108],[351.99275975366527],[0],[\"run\"],[0],[1]],[[117.97334399000088],[351.99275975366527],[0],[\"run\"],[0],[1]],[[123.44507399000153],[351.99275975366527],[0],[\"run\"],[0],[1]],[[128.94551399000082],[351.99275975366527],[0],[\"run\"],[0],[1]],[[134.4228539900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[139.90184399000114],[351.99275975366527],[0],[\"run\"],[0],[1]],[[145.40030399000122],[351.99275975366527],[0],[\"run\"],[0],[1]],[[150.89645399000085],[351.99275975366527],[0],[\"run\"],[0],[1]],[[156.4015139900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[161.88809399000115],[351.99275975366527],[0],[\"run\"],[0],[1]],[[167.38127399000138],[351.99275975366527],[0],[\"run\"],[0],[1]],[[172.85135399000168],[351.99275975366527],[0],[\"run\"],[0],[1]],[[178.34783399000136],[351.99275975366527],[0],[\"run\"],[0],[1]],[[183.86147399000095],[351.99275975366527],[0],[\"run\"],[0],[1]],[[189.31769399000083],[351.99275975366527],[0],[\"run\"],[0],[1]],[[194.84915399000164],[351.99275975366527],[0],[\"run\"],[0],[1]],[[200.32220399000136],[351.99275975366527],[0],[\"run\"],[0],[1]],[[205.79723399000147],[351.99275975366527],[0],[\"run\"],[0],[1]],[[211.28975399000154],[351.99275975366527],[0],[\"run\"],[0],[1]],[[216.78392399000074],[351.99275975366527],[0],[\"run\"],[0],[1]],[[222.271493990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[227.76896399000088],[351.99275975366527],[0],[\"run\"],[0],[1]],[[233.2552139900009],[351.99275975366527],[0],[\"run\"],[0],[1]],[[238.74641399000072],[351.99275975366527],[0],[\"run\"],[0],[1]],[[244.24520399000087],[351.99275975366527],[0],[\"run\"],[0],[1]],[[249.7354139900017],[351.99275975366527],[0],[\"run\"],[0],[1]],[[255.22265399000068],[351.99275975366527],[0],[\"run\"],[0],[1]],[[260.72210399000096],[351.99275975366527],[0],[\"run\"],[0],[1]],[[266.2030739900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[271.72694399000153],[351.99275975366527],[0],[\"run\"],[0],[1]],[[277.18349399000147],[351.99275975366527],[0],[\"run\"],[0],[1]],[[282.68162399000147],[351.99275975366527],[0],[\"run\"],[0],[1]],[[288.1767839900009],[351.99275975366527],[0],[\"run\"],[0],[1]],[[293.6564339900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[299.1479639900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[304.6639139900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[310.13267399000074],[351.99275975366527],[0],[\"run\"],[0],[1]],[[315.61991399000095],[351.99275975366527],[0],[\"run\"],[0],[1]],[[321.1144139900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[326.61023399000095],[351.99275975366527],[0],[\"run\"],[0],[1]],[[332.11760399000167],[351.99275975366527],[0],[\"run\"],[0],[1]],[[337.5863639900017],[351.99275975366527],[0],[\"run\"],[0],[1]],[[343.0858139900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[348.5677739900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[354.07976399000154],[351.99275975366527],[0],[\"run\"],[0],[1]],[[359.56568399000145],[351.99275975366527],[0],[\"run\"],[0],[1]],[[365.0601839900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[370.5401639900006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[376.0448939900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[381.5182739900006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[387.00782399000127],[351.99275975366527],[0],[\"run\"],[0],[1]],[[392.504633990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[397.9931939900015],[351.99275975366527],[0],[\"run\"],[0],[1]],[[403.4906639900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[408.98318399000146],[351.99275975366527],[0],[\"run\"],[0],[1]],[[414.4661339900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[419.96294399000175],[351.99275975366527],[0],[\"run\"],[0],[1]],[[425.45909399000135],[351.99275975366527],[0],[\"run\"],[0],[1]],[[430.94072399000163],[351.99275975366527],[0],[\"run\"],[0],[1]],[[436.4263139900015],[351.99275975366527],[0],[\"run\"],[0],[1]],[[441.92213399000104],[351.99275975366527],[0],[\"run\"],[0],[1]],[[447.4430339900009],[351.99275975366527],[0],[\"run\"],[0],[1]],[[452.90585399000094],[351.99275975366527],[0],[\"run\"],[0],[1]],[[458.3944139900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[463.89320399000155],[351.99275975366527],[0],[\"run\"],[0],[1]],[[469.37714399000106],[351.99275975366527],[0],[\"run\"],[0],[1]],[[474.874943990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[480.36317399000137],[351.99275975366527],[0],[\"run\"],[0],[1]],[[485.85272399000087],[351.99275975366527],[0],[\"run\"],[0],[1]],[[491.339633990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[496.8328139900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[502.32830399000073],[351.99275975366527],[0],[\"run\"],[0],[1]],[[507.83765399000066],[351.99275975366527],[0],[\"run\"],[0],[1]],[[513.3156539900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[518.8009139900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[524.2931039900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[529.7810039900015],[351.99275975366527],[0],[\"run\"],[0],[1]],[[535.2801239900017],[351.99275975366527],[0],[\"run\"],[0],[1]],[[540.7756139900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[546.2536139900006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[551.7458039900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[557.257133990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[562.7285339900016],[351.99275975366527],[0],[\"run\"],[0],[1]],[[568.2253439900013],[351.99275975366527],[0],[\"run\"],[0],[1]],[[573.7132439900016],[351.99275975366527],[0],[\"run\"],[0],[1]],[[579.2021339900009],[351.99275975366527],[0],[\"run\"],[0],[1]],[[584.6982839900005],[351.99275975366527],[0],[\"run\"],[0],[1]],[[590.1838739900015],[351.99275975366527],[0],[\"run\"],[0],[1]],[[595.6780439900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[601.165283990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[606.6594539900013],[351.99275975366527],[0],[\"run\"],[0],[1]],[[612.1473539900005],[351.99275975366527],[0],[\"run\"],[0],[1]],[[617.6408639900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[623.1399839900009],[351.99275975366527],[0],[\"run\"],[0],[1]],[[628.6252439900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[634.1147939900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[639.6119339900013],[351.99275975366527],[0],[\"run\"],[0],[1]],[[645.1176539900005],[351.99275975366527],[0],[\"run\"],[0],[1]],[[650.589053990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[656.086523990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[661.572773990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[667.0570439900006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[672.5561639900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[678.0457139900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[683.5398839900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[689.0304239900016],[351.99275975366527],[0],[\"run\"],[0],[1]],[[694.5183239900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[705.5183239900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[716.4868639900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[721.977733990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[727.4669539900003],[351.99275975366527],[0],[\"run\"],[0],[1]],[[732.9634339900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[738.454303990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[743.9544139900003],[351.99275975366527],[0],[\"run\"],[0],[1]],[[749.443963990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[754.9265839900003],[351.99275975366527],[0],[\"run\"],[0],[1]],[[760.4174539900013],[351.99275975366527],[0],[\"run\"],[0],[1]],[[765.9099739900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[771.4008439900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[776.8828039900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[782.3954539900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[787.8836839900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[793.3745539900009],[351.99275975366527],[0],[\"run\"],[0],[1]],[[798.849913990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[804.3407839900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[809.8415539900013],[351.99275975366527],[0],[\"run\"],[0],[1]],[[815.3377039900009],[351.99275975366527],[0],[\"run\"],[0],[1]],[[820.8285739900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[826.3075639900004],[351.99275975366527],[0],[\"run\"],[0],[1]],[[831.8109739900003],[351.99275975366527],[0],[\"run\"],[0],[1]],[[837.2869939900006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[842.7778639900004],[351.99275975366527],[0],[\"run\"],[0],[1]],[[848.2750039900013],[351.99275975366527],[0],[\"run\"],[0],[1]],[[853.7658739900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[859.2673039900005],[351.99275975366527],[0],[\"run\"],[0],[1]],[[864.7581739900003],[351.99275975366527],[0],[\"run\"],[0],[1]],[[870.236173990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[875.7402439900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[881.2271539900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[886.7153839900004],[351.99275975366527],[0],[\"run\"],[0],[1]],[[892.2016339900005],[351.99275975366527],[0],[\"run\"],[0],[1]],[[897.6915139900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[903.1810639900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[908.6725939900006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[914.1634639900003],[351.99275975366527],[0],[\"run\"],[0],[1]],[[919.6609339900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[925.1518039900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[930.6426739900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[936.1276039900006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[941.6204539900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[947.1212239900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[952.612093990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[958.0940539900013],[351.99275975366527],[0],[\"run\"],[0],[1]],[[963.5971339900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[969.0744739900005],[351.99275975366527],[0],[\"run\"],[0],[1]],[[974.5679839900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[980.0588539900004],[351.99275975366527],[0],[\"run\"],[0],[1]],[[985.5497239900002],[351.99275975366527],[0],[\"run\"],[0],[1]],[[991.0415839900002],[351.99275975366527],[0],[\"run\"],[0],[1]],[[996.5324539900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1002.0193639900012],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1007.5188139900004],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1013.0110039900004],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1018.5018739900014],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1023.9983539900011],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1029.496153990001],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1034.9870239900006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1040.4623839900007],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1045.9657939900005],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1051.4454439900003],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1056.9399439900008],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1062.4298239900004],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1067.9292739900006],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1073.4201439900003],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1078.9007839900003],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1084.39165399],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1089.8808739900005],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1095.3770239900002],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1100.87482399],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1106.3656939899997],[351.99275975366527],[0],[\"run\"],[0],[1]],[[1111.8572239899995],[341.1761097536655],[0],[\"jump\"],[0],[1]],[[1117.3431439899994],[330.78504581766566],[0],[\"jump\"],[0],[1]],[[1122.8317039899998],[320.80391650566486],[0],[\"jump\"],[0],[1]],[[1128.3225739899995],[311.2338708631653],[0],[\"jump\"],[0],[1]],[[1133.8137739899992],[302.0785844631656],[0],[\"jump\"],[0],[1]],[[1139.3046439900002],[293.33913274216417],[0],[\"jump\"],[0],[1]],[[1144.7955139899998],[285.0149655026646],[0],[\"jump\"],[0],[1]],[[1150.2966139899993],[277.09212291766545],[0],[\"jump\"],[0],[1]],[[1155.7874839900003],[269.59929835466426],[0],[\"jump\"],[0],[1]],[[1161.27868399],[262.52135787466455],[0],[\"jump\"],[0],[1]],[[1166.7560239899994],[255.8745227946653],[0],[\"jump\"],[0],[1]],[[1172.2676839899998],[249.6044750806649],[0],[\"jump\"],[0],[1]],[[1177.7506339900003],[243.78117511316444],[0],[\"jump\"],[0],[1]],[[1183.2395239899997],[238.36655145816513],[0],[\"jump\"],[0],[1]],[[1188.73270399],[233.36332982216499],[0],[\"jump\"],[0],[1]],[[1194.2235739899995],[228.77749662966522],[0],[\"jump\"],[0],[1]],[[1199.7160939899995],[224.6058195036652],[0],[\"jump\"],[0],[1]],[[1205.2039939899998],[220.85248670866503],[0],[\"jump\"],[0],[1]],[[1210.6948639899995],[217.51240712666524],[0],[\"jump\"],[0],[1]],[[1216.1827639899998],[214.58896953666513],[0],[\"jump\"],[0],[1]],[[1221.68782399],[212.07382439666512],[0],[\"jump\"],[0],[1]],[[1227.1786939899996],[209.9804468481653],[0],[\"jump\"],[0],[1]],[[1232.6586739899994],[208.30485993316537],[0],[\"jump\"],[0],[1]],[[1238.1548239899992],[207.0404123331655],[0],[\"jump\"],[0],[1]],[[1243.6361239899993],[206.19321928316552],[0],[\"jump\"],[0],[1]],[[1249.126003989999],[205.75983484716556],[0],[\"jump\"],[0],[1]],[[1254.6277639899997],[205.74244595116562],[0],[\"jump\"],[0],[1]],[[1260.1166539899991],[206.1400827656656],[0],[\"fall\"],[0],[1]],[[1265.6038939899993],[206.95233562366565],[0],[\"fall\"],[0],[1]],[[1271.0974039899995],[208.18120051666577],[0],[\"fall\"],[0],[1]],[[1276.5882739899992],[209.82475933916572],[0],[\"fall\"],[0],[1]],[[1282.0791439899988],[211.88360264316563],[0],[\"fall\"],[0],[1]],[[1287.5733139899992],[214.35946710866585],[0],[\"fall\"],[0],[1]],[[1293.0641839899988],[217.24912896066573],[0],[\"fall\"],[0],[1]],[[1298.5603339899985],[220.55765303816548],[0],[\"fall\"],[0],[1]],[[1304.054833989999],[224.28101761316583],[0],[\"fall\"],[0],[1]],[[1309.5338239899986],[228.40736120316564],[0],[\"fall\"],[0],[1]],[[1315.0246939899996],[232.9579363546665],[0],[\"fall\"],[0],[1]],[[1320.5363539899988],[237.94417648766577],[0],[\"fall\"],[0],[1]],[[1326.0278839899986],[243.32758991066567],[0],[\"fall\"],[0],[1]],[[1331.5187539899996],[249.12564080916675],[0],[\"fall\"],[0],[1]],[[1337.0043439899994],[255.33260251716666],[0],[\"fall\"],[0],[1]],[[1342.5021439899992],[261.96971327716665],[0],[\"fall\"],[0],[1]],[[1347.9930139899989],[269.0137424126664],[0],[\"fall\"],[0],[1]],[[1353.479923989999],[276.4673771076666],[0],[\"fall\"],[0],[1]],[[1358.9523139899986],[284.31378109616605],[0],[\"fall\"],[0],[1]],[[1364.4438439899984],[292.6030126571659],[0],[\"fall\"],[0],[1]],[[1369.934713989998],[301.30653245766547],[0],[\"fall\"],[0],[1]],[[1375.425583989999],[310.4253367396671],[0],[\"fall\"],[0],[1]],[[1380.506770568499],[319.97138520316696],[0],[\"fall\"],[0],[1]],[[1385.1665724354987],[329.9212576181665],[0],[\"fall\"],[0],[1]],[[1389.4108596834985],[340.28576661416594],[0],[\"fall\"],[0],[1]],[[1393.2401175459984],[351.0661830336654],[0],[\"fall\"],[0],[1]],[[1396.6519280649986],[351.9411830336654],[0],[\"run\"],[0],[1]],[[1399.6596074424986],[351.9411830336654],[0],[\"run\"],[0],[1]],[[1402.241913686499],[351.9411830336654],[0],[\"run\"],[0],[1]],[[1404.405143460999],[351.9411830336654],[0],[\"run\"],[0],[1]],[[1406.157136155999],[351.9411830336654],[0],[\"run\"],[0],[1]],[[1407.494687129499],[351.9411830336654],[0],[\"run\"],[0],[1]],[[1408.4166792744988],[351.9411830336654],[0],[\"run\"],[0],[1]],[[1408.924142249499],[351.9411830336654],[0],[\"run\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"run\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]],[[1409.014891355499],[351.9411830336654],[0],[\"idle\"],[0],[1]]]}",0],[],[false,"Default",0,true]],[[309,368,0,133,84,0,0,[1,1,1,1],0,0,0,0,[[]]],44,23,[],[],[true,0,0,0,1,1,0]],[[351,318,0,32,32,0,0,[1,1,1,1],0.5,0.5,0,0,[]],14,24,[0,1,0,-1,-1,999,0,""],[["","",false],[]],[true,"Default",0,true]],[[373,273,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],15,25,["skinMenu"],[["","",false],[400,-200,800,false,false,false,false],[0,0,1,true,false]],[true,"Default",0,true]],[[478,296,0,194,398,0,0,[1,1,1,1],0.525773,0.497487,0,0,[]],16,26,[""],[["","",false]],[true,"Default",0,true]],[[497,332,0,91,9,0,0,[1,1,1,1],0,0,0,0,[]],17,27,[],[["","",false],[false,""]],[true,0,0,0,1,1,0]],[[495,367,0,32,32,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,28,[0.7,0],[["","",false]],[true,"Default",0,true]],[[472,301,0,71,8,0,0,[1,1,1,1],0,0,0,0,[]],19,29,[],[["","",false],[true]],[true,0,0,0,1,1,0]],[[475,438,0,16,128,0,0,[1,1,1,1],0.5,0.5,0,0,[]],21,32,[0,1,0,0,0,0],[],[true,"Default",0,true]],[[475,323,0,64,32,0,0,[1,1,1,1],0,0.5,0,0,[]],22,84,[0,1,0,0,0],[[400,0,0,false,true,false,true]],[true,"Default",0,true]],[[471,276,0,128,64,0,0,[1,1,1,1],0.125,0.5,0,0,[]],23,38,[0,0,0,175,300,2,180,1,0],[["","",false],[300,2,true,180,0,false,600,true,true],[0,10000,360,true]],[true,"Default",0,true]],[[401,412,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],27,39,[0,1,0],[["","",false],[true,""]],[true,"Default",0,true]],[[350,436,0,32,32,0,0,[1,1,1,1],0.5,0.5,0,0,[]],28,40,[0,1],[["","",false],[true,""]],[true,"Default",0,true]],[[784,152,0,166,162,0,4.712388817179586,[1,1,1,1],0.5,0.5,0,0,[]],20,41,[0,0,"",0,0],[["","",false],[true],[]],[false,"Default",0,true]],[[693,395,0,8,16,0,0,[1,1,1,1],1,0,0,0,[]],38,6,[0,0,0,0,0],[[200,-400,1500,true,false,true,false],[0,0,1,true,false],[false],["main","skin4","rightarm",3,1,0,0,1,2]],[true,"Default",0,true]],[[693,411,0,8,16,0,0,[1,1,1,1],1,0,0,0,[]],40,8,[1,0,0,0,0],[[200,-400,1500,true,false,true,false],[0,0,1,true,false],[false],["main","skin4","righthand",3,1,0,0,1,2]],[true,"Default",0,true]],[[689,432,0,8,16,0,0,[1,1,1,1],0,0,0,0,[]],39,9,[4,0,0,0,0],[[200,-400,1500,true,false,true,false],[0,0,1,true,false],[false],["main","skin4","rightfoot",3,1,0,0,1,2]],[true,"Default",0,true]],[[689,416,0,8,16,0,0,[1,1,1,1],0,0,0,0,[]],41,10,[3,0,0,0,0],[[200,-400,1500,true,false,true,false],[0,0,1,true,false],[false],["main","skin4","rightleg",3,1,0,0,1,2]],[true,"Default",0,true]],[[689,400,0,16,32,0,0,[1,1,1,1],0.5,0.5,0,0,[]],32,11,[2,0,0,0,0],[[200,-400,1500,true,false,true,false],[0,0,1,true,false],[false],["main","skin4","body",3,1,0,0,1,2]],[true,"Default",0,true]],[[685,432,0,8,16,0,0,[1,1,1,1],0,0,0,0,[]],35,12,[6,0,0,0,0],[[200,-400,1500,true,false,true,false],[0,0,1,true,false],[false],["main","skin4","leftfoot",3,1,0,0,1,2]],[true,"Default",0,true]],[[685,416,0,8,16,0,0,[1,1,1,1],0,0,0,0,[]],37,13,[5,0,0,0,0],[[200,-400,1500,true,false,true,false],[0,0,1,true,false],[false],["main","skin4","leftleg",3,1,0,0,1,2]],[true,"Default",0,true]],[[689,392,0,64,64,0,0,[1,1,1,1],0.5,1,0,0,[]],33,14,[7,0,0,0,0],[[200,-400,1500,true,false,true,false],[0,0,1,true,false],[false],["main","skin4","head",3,1,0,0,1,2]],[true,"Default",0,true]],[[685,395,0,8,16,0,0,[1,1,1,1],1,0,0,0,[]],34,15,[8,0,0,0,0],[[200,-400,1500,true,false,true,false],[0,0,1,true,false],[false],["main","skin4","leftarm",3,1,0,0,1,2]],[true,"Default",0,true]],[[685,411,0,8,16,0,0,[1,1,1,1],1,0,0,0,[]],36,16,[9,0,0,0,0],[[200,-400,1500,true,false,true,false],[0,0,1,true,false],[false],["main","skin4","lefthand",3,1,0,0,1,2]],[true,"Default",0,true]]],[],0]],[],[]],["UI Elements",2560,2560,false,"UI Elements",221268475170081,[["Layer 0",0,210195579649241,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[381,339,0,319,114,0,0,[1,1,1,1],0.5,0.5,0,0,[]],47,57,[],[[false]],[true,"Animation 1",0,true]],[[381,339,0,299,94,0,0,[1,1,1,1],0.5,0.5,0,0,[]],46,3,[0,"",0,"","","PLAY"],[],[true,"Animation 1",0,true]]],[],0]],[],[]],["Level2",2160,2160,true,"Levels",509484493587540,[["Layer 0",0,635872605341458,true,[255,255,255],false,1,1,1,false,false,1,0,0,[[[1309,442,0,64,128,0,0,[1,1,1,1],0.5,0.5,0,0,[]],12,2300,["run",0,0,1,1,0,0.8,0.5,0,1,0,0,0,0,0,1,0.4,0,"",2,0,0,0,"",3,0,0,0,-1,-1,-1,-1,0],[["collider","",false],[660,3000,3000,1300,3000,2000,false,0,false,true],[],[0,10000,360,true]],[true,"Default",0,true]],[[267,-166,0,304,74,0,0,[1,1,1,1],0,0,0,0,[]],55,2328,[],[[0,0,1,true,true]],[true,"Animation 1",0,true]],[[-459,950,0,4,4,0,0,[1,1,1,1],0,0.5,0,0,[]],63,2330,[0,1,0],[[true]],[true,"Aiming",0,true]],[[-8,825,0,1359,8,0,0,[1,1,1,1],0,0,0,0,[]],13,2360,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[1331,855,0,862,8,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2298,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[177.99999999999991,835,0,369,8,0,4.71238898038469,[1,1,1,1],0,0,0,0,[]],13,2302,[],[["","",false],[true,""]],[true,0,0,0,1,1,0]],[[885,795,0,64,64,0,0,[1,1,1,1],0.5,0.5,0,0,[]],18,2299,[0.5,0],[["","",false]],[true,"Default",0,true]]],[],0]],[],[]]],[["Menu",[[0,0,false,null,655050718633521,1,[[-1,38,null,1,false,false,false,736927608223743,null]],[]]]],["Player",[[1,"VibratePtrn",1,"25",false,false,194654255615777,false,202],[3,[true,"Player"],false,null,557733708710185,1,[[-1,39,null,0,false,false,false,0,false,[[1,[0]]]]],[],[[1,"Inverted",0,0,true,false,323105060125120,false,203],[3,[true,"Player > API"],false,null,468769634076363,2,[[-1,39,null,0,false,false,false,0,false,[[1,[1]]]]],[],[[4,["PlayerMirror",0,[[1,"Parameter0",0,0,false,false,123886323747967,false,205]],true,false],false,null,594069636729069,3,[],[],[[1,"UID",0,0,false,false,214857162917946,false,204],[0,0,false,null,417754504179400,4,[],[[-1,40,null,324059586739992,0,null,[[11,"UID"],[7,[2,[3,"Parameter0"]]]]]]],[0,0,false,null,706139417304827,5,[[12,41,null,0,false,false,true,481223018303408,null,[[0,[2,[3,"UID"]]]]]],[[12,42,null,573272365124384,0,null,[[10,3],[7,[3]]]],[12,43,null,299040065339293,0,null,[[3,0]]],[38,43,null,434641079445365,0,null,[[3,0]]],[40,43,null,321060702533727,0,null,[[3,0]]],[34,43,null,936780756839276,0,null,[[3,0]]],[36,43,null,992399798454460,0,null,[[3,0]]],[41,43,null,694371781969017,0,null,[[3,0]]],[39,43,null,265009670906147,0,null,[[3,0]]],[37,43,null,540106682087528,0,null,[[3,0]]],[35,43,null,480311229332127,0,null,[[3,0]]],[33,43,null,330111368371385,0,null,[[3,0]]],[32,43,null,611467034231448,0,null,[[3,0]]]]]]],[4,["PlayerUnmirror",0,[[1,"Parameter0",0,0,false,false,656652083863345,false,205]],true,false],false,null,257069558460017,6,[],[],[[1,"UID",0,0,false,false,486088251999430,false,204],[0,0,false,null,657694357781364,7,[],[[-1,40,null,952319968690363,0,null,[[11,"UID"],[7,[2,[3,"Parameter0"]]]]]]],[0,0,false,null,676368146489974,8,[[12,41,null,0,false,false,true,708053731409608,null,[[0,[2,[3,"UID"]]]]]],[[12,42,null,969362322343423,0,null,[[10,3],[7,[4]]]],[12,43,null,472368048366720,0,null,[[3,1]]],[38,43,null,717010996148831,0,null,[[3,1]]],[40,43,null,298419275660010,0,null,[[3,1]]],[34,43,null,821866409051033,0,null,[[3,1]]],[36,43,null,322412337602314,0,null,[[3,1]]],[41,43,null,111012777240201,0,null,[[3,1]]],[39,43,null,268040222025951,0,null,[[3,1]]],[37,43,null,816589804403761,0,null,[[3,1]]],[35,43,null,494497447672740,0,null,[[3,1]]],[33,43,null,284602341025625,0,null,[[3,1]]],[32,43,null,385371667096462,0,null,[[3,1]]]]]]],[4,["PlayerUpdateControls",0,[],true,false],false,null,203891394264748,9,[[12,44,null,0,false,true,false,601449127453794,null,[[10,22]]]],[[5,45,null,617983568378791,0,null,[[3,0],[7,[5]]]]],[[0,0,true,null,143345051808611,10,[],[[-1,40,null,120605791647804,0,null,[[11,"Inverted"],[7,[6]]]]],[[0,0,false,null,499774777724003,11,[[-1,46,null,0,false,false,false,180399668562019,null,[[0,[7,[0,12,"Platform",47,false]]],[0,[8]],[0,[9]]]]],[[-1,40,null,804267802493228,0,null,[[11,"Inverted"],[7,[4]]]]]]]]]],[4,["IsWall",1,[[1,"NormalAngle",0,0,false,false,430192075669550,false,57]],true,false],false,null,209646129761278,12,[],[],[[0,0,true,null,577605909018216,13,[[-1,46,null,0,false,false,false,582196222279293,null,[[0,[2,[3,"NormalAngle"]]],[0,[10]],[0,[11]]]],[-1,46,null,0,false,false,false,321480394440228,null,[[0,[2,[3,"NormalAngle"]]],[0,[12]],[0,[13]]]],[-1,46,null,0,false,false,false,503310780876124,null,[[0,[2,[3,"NormalAngle"]]],[0,[14]],[0,[15]]]]],[[-1,48,null,892602381035789,0,null,[[7,[4]]]]]],[0,0,false,null,486478257278332,14,[[-1,49,null,0,false,false,false,226181605893201,null]],[[-1,48,null,220460695895447,0,null,[[7,[6]]]]]]]],[4,["IsPressingForward",1,[[1,"UID",0,0,false,false,178099243872252,false,204]],true,false],false,null,752116293310987,15,[[12,44,null,0,false,true,false,253405171231529,null,[[10,22]]],[12,41,null,0,false,false,true,153720360218873,null,[[0,[2,[3,"UID"]]]]]],[],[[0,0,false,null,954247153687682,16,[[12,50,null,0,false,false,false,220193705435701,null,[[10,3],[8,0],[7,[4]]]],[0,51,null,0,false,false,false,627844301031948,null,[[1,[16]]]]],[[-1,48,null,424025655033018,0,null,[[7,[4]]]]]],[0,0,false,null,928211470047812,17,[[-1,49,null,0,false,false,false,175639659820218,null],[12,50,null,0,false,false,false,338412641204098,null,[[10,3],[8,0],[7,[3]]]],[0,51,null,0,false,false,false,539576925091005,null,[[1,[17]]]]],[[-1,48,null,741798449349413,0,null,[[7,[4]]]]]],[0,0,false,null,764105587877254,18,[[-1,49,null,0,false,false,false,192399717383606,null]],[[-1,48,null,942442331610843,0,null,[[7,[6]]]]]]]],[4,["FrontingWall",1,[[1,"targetX",0,0,false,false,240558832917801,false,206],[1,"UID",0,0,false,false,901366700661814,false,204]],true,false],false,null,653512337654885,19,[[12,44,null,0,false,true,false,217759171706977,null,[[10,22]]],[12,41,null,0,false,false,true,147362376417346,null,[[0,[2,[3,"UID"]]]]]],[[12,52,"LineOfSight",157715222597161,0,null,[[0,[18,[1,12,53,false]]],[0,[19,[1,12,54,false],[1,12,55,false]]],[0,[2,[3,"targetX"]]],[0,[19,[1,12,54,false],[1,12,55,false]]],[16,true]]]],[[0,0,false,null,322047446450977,20,[[12,56,"LineOfSight",0,false,false,false,588787440110778,null],[-1,57,null,0,false,false,false,336961334144163,null,[[7,[20,[5,"IsWall"],[0,12,"LineOfSight",58,false]]],[8,0],[7,[4]]]]],[[-1,48,null,650240805940998,0,null,[[7,[4]]]]]],[0,0,false,null,945701497839569,21,[[-1,49,null,0,false,false,false,964622698539054,null]],[[-1,48,null,124639185877502,0,null,[[7,[6]]]]]]]]]],[3,[true,"Player > Animations"],false,null,188752479759143,22,[[-1,39,null,0,false,false,false,0,false,[[1,[21]]]]],[],[[0,0,false,null,267931559621809,23,[[12,50,null,0,false,false,false,110079726385813,null,[[10,0],[8,0],[7,[22]]]]],[[32,59,null,118160413485455,0,null,[[0,[23,[1,12,60,false]]],[0,[23,[1,12,61,false]]]]],[32,62,null,205021995554736,0,null,[[0,[24,[4,63],[1,32,64,false],[1,12,64,false],[4,65]]]]]],[[0,0,false,null,200587361318009,24,[],[[33,66,null,904923664525357,0,null,[[4,32],[7,[25]]]],[33,62,null,186877179974963,0,null,[[0,[24,[4,63],[1,33,64,false],[1,32,64,false],[4,65]]]]]]],[0,0,false,null,646888462360488,25,[],[[34,66,null,758606860628143,0,null,[[4,32],[7,[26]]]],[34,62,null,904157149010018,0,null,[[0,[24,[4,63],[1,34,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,367090070880329,26,[],[[36,66,null,648544177161777,0,null,[[4,34],[7,[4]]]],[36,62,null,993091445589375,0,null,[[0,[24,[4,63],[1,36,64,false],[1,34,64,false],[4,65]]]]]]]]],[0,0,false,null,190566626398497,27,[],[[38,66,null,445060981824666,0,null,[[4,32],[7,[27]]]],[38,62,null,678588926727185,0,null,[[0,[24,[4,63],[1,38,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,320093885147805,28,[],[[40,66,null,420853081714135,0,null,[[4,38],[7,[4]]]],[40,62,null,618302083261428,0,null,[[0,[24,[4,63],[1,40,64,false],[1,38,64,false],[4,65]]]]]]]]],[0,0,false,null,316488994202390,29,[],[[37,66,null,471225907019865,0,null,[[4,32],[7,[28]]]],[37,62,null,385627076373565,0,null,[[0,[24,[4,63],[1,37,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,181490926127583,30,[],[[35,66,null,225411024269539,0,null,[[4,37],[7,[4]]]],[35,62,null,358653618145847,0,null,[[0,[24,[4,63],[1,35,64,false],[1,37,64,false],[4,65]]]]]]]]],[0,0,false,null,437196141150333,31,[],[[41,66,null,561523243688351,0,null,[[4,32],[7,[29]]]],[41,62,null,454038627479429,0,null,[[0,[24,[4,63],[1,41,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,630284380329414,32,[],[[39,66,null,608300347218100,0,null,[[4,41],[7,[4]]]],[39,62,null,505839892123300,0,null,[[0,[24,[4,63],[1,39,64,false],[1,41,64,false],[4,65]]]]]]]]]]],[0,0,false,null,719220750355232,33,[[12,50,null,0,false,false,false,767676925329632,null,[[10,0],[8,0],[7,[30]]]]],[[32,59,null,913365033494945,0,null,[[0,[23,[1,12,60,false]]],[0,[23,[1,12,61,false]]]]]],[[0,0,false,null,573766266847416,34,[[-1,67,null,0,false,false,false,416830256856266,null]],[[32,62,null,424177732323775,0,null,[[0,[31,[2,12,false,3]]]]]]],[0,0,false,null,119230569860404,35,[],[[32,62,null,141376322720582,0,null,[[0,[32,[1,32,64,false],[2,12,false,3],[4,65]]]]]]],[0,0,false,null,142246362188680,36,[],[[33,66,null,850920795367062,0,null,[[4,32],[7,[25]]]],[33,62,null,956844318740810,0,null,[[0,[24,[4,63],[1,33,64,false],[1,32,64,false],[4,65]]]]]]],[0,0,false,null,394356146043372,37,[],[[34,66,null,204455984460113,0,null,[[4,32],[7,[26]]]],[34,62,null,704764088767809,0,null,[[0,[24,[4,63],[1,34,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,244984945067069,38,[],[[36,66,null,612086684247346,0,null,[[4,34],[7,[4]]]],[36,62,null,490557088041655,0,null,[[0,[24,[4,63],[1,36,64,false],[1,34,64,false],[4,65]]]]]]]]],[0,0,false,null,651097932772089,39,[],[[38,66,null,489602943237031,0,null,[[4,32],[7,[27]]]],[38,62,null,476150081499512,0,null,[[0,[24,[4,63],[1,38,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,653060840683489,40,[],[[40,66,null,473462152240204,0,null,[[4,38],[7,[4]]]],[40,62,null,729895791162936,0,null,[[0,[24,[4,63],[1,40,64,false],[1,38,64,false],[4,65]]]]]]]]],[0,0,false,null,875120426884742,41,[],[[37,66,null,439467169918128,0,null,[[4,32],[7,[28]]]],[37,62,null,889462777400264,0,null,[[0,[24,[4,63],[1,37,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,798797799336276,42,[],[[35,66,null,610227012986649,0,null,[[4,37],[7,[4]]]],[35,62,null,221627175428521,0,null,[[0,[24,[4,63],[1,35,64,false],[1,37,64,false],[4,65]]]]]]]]],[0,0,false,null,344495022909894,43,[],[[41,66,null,857223757581683,0,null,[[4,32],[7,[29]]]],[41,62,null,818481209558058,0,null,[[0,[24,[4,63],[1,41,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,331181943166608,44,[],[[39,66,null,821837079947740,0,null,[[4,41],[7,[4]]]],[39,62,null,308061241091273,0,null,[[0,[24,[4,63],[1,39,64,false],[1,41,64,false],[4,65]]]]]]]]]]],[0,0,false,null,574539078159952,45,[[12,50,null,0,false,false,false,978910302313300,null,[[10,0],[8,0],[7,[33]]]]],[[32,59,null,786863913715872,0,null,[[0,[23,[1,12,60,false]]],[0,[23,[1,12,61,false]]]]],[32,62,null,858167551093648,0,null,[[0,[24,[4,63],[1,32,64,false],[1,12,64,false],[4,65]]]]]],[[0,0,false,null,785540246175668,46,[],[[33,66,null,938693253674943,0,null,[[4,32],[7,[25]]]],[33,62,null,133053715578658,0,null,[[0,[24,[4,63],[1,33,64,false],[1,32,64,false],[4,65]]]]]]],[0,0,false,null,823346846425429,47,[],[[34,66,null,158720145831225,0,null,[[4,32],[7,[26]]]],[34,62,null,971075714427654,0,null,[[0,[34,[4,63],[1,34,64,false],[2,12,false,3],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,792999168702148,48,[],[[36,66,null,754244355360224,0,null,[[4,34],[7,[4]]]],[36,62,null,312255423060829,0,null,[[0,[35,[1,34,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,869586270850079,49,[],[[38,66,null,526887799046674,0,null,[[4,32],[7,[27]]]],[38,62,null,520867385227303,0,null,[[0,[34,[4,63],[1,38,64,false],[2,12,false,3],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,121434096769505,50,[],[[40,66,null,882516577891909,0,null,[[4,38],[7,[4]]]],[40,62,null,869030508760685,0,null,[[0,[35,[1,38,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,285295404676531,51,[],[[37,66,null,427177546059767,0,null,[[4,32],[7,[28]]]],[37,62,null,305389252373056,0,null,[[0,[24,[4,63],[1,37,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,956906135425887,52,[],[[35,66,null,363060652865506,0,null,[[4,37],[7,[4]]]],[35,62,null,907611926187680,0,null,[[0,[24,[4,63],[1,35,64,false],[1,37,64,false],[4,65]]]]]]]]],[0,0,false,null,239955112792269,53,[],[[41,66,null,665740510509912,0,null,[[4,32],[7,[29]]]],[41,62,null,568634575491280,0,null,[[0,[24,[4,63],[1,41,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,323307594908857,54,[],[[39,66,null,290030444957557,0,null,[[4,41],[7,[4]]]],[39,62,null,844925089841212,0,null,[[0,[24,[4,63],[1,39,64,false],[1,41,64,false],[4,65]]]]]]]]]]],[0,0,false,null,151679436352335,55,[[12,50,null,0,false,false,false,339881858632970,null,[[10,0],[8,0],[7,[36]]]]],[[32,59,null,943749964048987,0,null,[[0,[23,[1,12,60,false]]],[0,[23,[1,12,61,false]]]]],[32,62,null,389544003262309,0,null,[[0,[24,[4,63],[1,32,64,false],[1,12,64,false],[4,65]]]]]],[[0,0,false,null,214409536695186,56,[],[[33,66,null,672018988437013,0,null,[[4,32],[7,[25]]]],[33,62,null,620323312489239,0,null,[[0,[24,[4,63],[1,33,64,false],[1,32,64,false],[4,65]]]]]]],[0,0,false,null,659734788450346,57,[],[[34,66,null,264759981246018,0,null,[[4,32],[7,[26]]]],[34,62,null,596754855158263,0,null,[[0,[37,[4,63],[1,34,64,false],[2,12,false,3],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,431356410019737,58,[],[[36,66,null,591557019002269,0,null,[[4,34],[7,[4]]]],[36,62,null,289908223231781,0,null,[[0,[38,[1,34,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,650991799812821,59,[],[[38,66,null,853474952120246,0,null,[[4,32],[7,[27]]]],[38,62,null,814525011509072,0,null,[[0,[39,[4,63],[1,38,64,false],[2,12,false,3],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,222219199202608,60,[],[[40,66,null,906318223424146,0,null,[[4,38],[7,[4]]]],[40,62,null,925628061968690,0,null,[[0,[35,[1,38,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,557195518187083,61,[],[[37,66,null,760926207583169,0,null,[[4,32],[7,[28]]]],[37,62,null,220542823333363,0,null,[[0,[40,[4,63],[1,37,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,993734227762025,62,[],[[35,66,null,812840407930234,0,null,[[4,37],[7,[4]]]],[35,62,null,345466540601698,0,null,[[0,[41,[4,63],[1,35,64,false],[1,37,64,false],[2,12,false,3],[4,65]]]]]]]]],[0,0,false,null,159329538618868,63,[],[[41,66,null,380396269258369,0,null,[[4,32],[7,[29]]]],[41,62,null,168523026113017,0,null,[[0,[42,[4,63],[1,41,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,103324816887857,64,[],[[39,66,null,908107055640223,0,null,[[4,41],[7,[4]]]],[39,62,null,438321755852496,0,null,[[0,[43,[4,63],[1,39,64,false],[1,41,64,false],[2,12,false,3],[4,65]]]]]]]]]]],[0,0,false,null,367313448634265,65,[[12,50,null,0,false,false,false,197196271227885,null,[[10,0],[8,0],[7,[44]]]]],[[32,59,null,625118872129522,0,null,[[0,[23,[1,12,60,false]]],[0,[23,[1,12,61,false]]]]],[32,62,null,168469434710203,0,null,[[0,[45,[2,12,false,3],[4,68],[1,12,64,false]]]]]],[[0,0,false,null,768714890452969,66,[],[[33,66,null,342681713900996,0,null,[[4,32],[7,[25]]]],[33,62,null,494666454242210,0,null,[[0,[46,[1,32,64,false],[2,12,false,3],[4,68]]]]]]],[0,0,false,null,475471577200970,67,[],[[34,66,null,136041628474750,0,null,[[4,32],[7,[26]]]],[34,62,null,711449064822669,0,null,[[0,[47,[2,12,true,18],[2,12,false,3],[2,12,false,3],[4,68],[1,32,64,false]]]]]],[[0,0,false,null,113647036084428,68,[],[[36,66,null,407651364351798,0,null,[[4,34],[7,[4]]]],[36,62,null,531325427359491,0,null,[[0,[48,[2,12,true,18],[1,34,64,false],[1,34,64,false],[2,12,false,3],[4,68]]]]]]]]],[0,0,false,null,324869392090665,69,[],[[38,66,null,939501645152081,0,null,[[4,32],[7,[27]]]],[38,62,null,284822126241188,0,null,[[0,[49,[2,12,true,18],[2,12,false,3],[4,68],[1,32,64,false]]]]]],[[0,0,false,null,954882456033928,70,[],[[40,66,null,210780735012065,0,null,[[4,38],[7,[4]]]],[40,62,null,836955733135544,0,null,[[0,[50,[2,12,true,18],[1,38,64,false],[1,38,64,false],[2,12,false,3],[4,68]]]]]]]]],[0,0,false,null,255694849274012,71,[],[[37,66,null,520933819409066,0,null,[[4,32],[7,[28]]]],[37,62,null,797137211045023,0,null,[[0,[51,[2,12,false,3],[4,68],[1,32,64,false]]]]]],[[0,0,false,null,494542707126799,72,[],[[35,66,null,222021635101003,0,null,[[4,37],[7,[4]]]],[35,62,null,562437905230961,0,null,[[0,[52,[1,37,64,false],[2,12,false,3],[4,68]]]]]]]]],[0,0,false,null,896810968048672,73,[],[[41,66,null,221851556342656,0,null,[[4,32],[7,[29]]]],[41,62,null,492162620503350,0,null,[[0,[53,[2,12,false,3],[4,68],[1,32,64,false]]]]]],[[0,0,false,null,874456978561645,74,[],[[39,66,null,559886244512573,0,null,[[4,41],[7,[4]]]],[39,62,null,286110835097005,0,null,[[0,[54,[1,41,64,false],[2,12,false,3],[4,68]]]]]]]]]]],[0,0,false,null,535157268981362,75,[[12,50,null,0,false,false,false,827128265387464,null,[[10,0],[8,0],[7,[55]]]]],[[32,59,null,731323632843651,0,null,[[0,[23,[1,12,60,false]]],[0,[23,[1,12,61,false]]]]],[32,62,null,300723897403357,0,null,[[0,[56,[4,63],[1,32,64,false],[2,12,false,3],[1,12,64,false],[4,65]]]]]],[[0,0,false,null,335482755243393,76,[],[[33,66,null,946149337368156,0,null,[[4,32],[7,[25]]]],[33,62,null,157379725743393,0,null,[[0,[57,[4,63],[1,33,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]]],[0,0,false,null,146726745198479,77,[],[[34,66,null,928723639663962,0,null,[[4,32],[7,[26]]]],[34,62,null,533625392409766,0,null,[[0,[58,[4,63],[1,34,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,580518148605558,78,[],[[36,66,null,319132755541899,0,null,[[4,34],[7,[4]]]],[36,62,null,257745769156475,0,null,[[0,[35,[1,34,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,880174330225036,79,[],[[38,66,null,563433995864782,0,null,[[4,32],[7,[27]]]],[38,62,null,873766330852382,0,null,[[0,[59,[4,63],[1,38,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,982996119167646,80,[],[[40,66,null,556766487346782,0,null,[[4,38],[7,[4]]]],[40,62,null,629744306107324,0,null,[[0,[35,[1,38,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,297945567180257,81,[],[[37,66,null,550806758407523,0,null,[[4,32],[7,[28]]]],[37,62,null,266520728623316,0,null,[[0,[58,[4,63],[1,37,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,525259482313109,82,[],[[35,66,null,920279251311652,0,null,[[4,37],[7,[4]]]],[35,62,null,590115106749215,0,null,[[0,[60,[1,37,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,836726484670780,83,[],[[41,66,null,132420305948455,0,null,[[4,32],[7,[29]]]],[41,62,null,974303786714768,0,null,[[0,[59,[4,63],[1,41,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,824854128630631,84,[],[[39,66,null,437602104038858,0,null,[[4,41],[7,[4]]]],[39,62,null,303662526983727,0,null,[[0,[61,[1,41,64,false],[2,12,false,3]]]]]]]]]]],[0,0,false,null,368257040129475,85,[[12,50,null,0,false,false,false,633337260982778,null,[[10,0],[8,0],[7,[62]]]]],[[32,59,null,498378602986441,0,null,[[0,[23,[1,12,60,false]]],[0,[63,[1,32,54,false],[1,12,61,false],[4,65]]]]],[32,62,null,693998878913844,0,null,[[0,[24,[4,63],[1,32,64,false],[1,12,64,false],[4,65]]]]]],[[0,0,false,null,868298934887993,86,[[-1,67,null,0,false,false,false,689704758805130,null]],[[32,59,null,384776073668252,0,null,[[0,[23,[1,12,60,false]]],[0,[64,[1,12,61,false]]]]],[34,62,null,245713821144075,0,null,[[0,[65,[1,32,64,false],[2,12,false,3]]]]],[38,62,null,668644287266694,0,null,[[0,[66,[1,32,64,false],[2,12,false,3]]]]],[37,62,null,932971300784465,0,null,[[0,[67,[1,32,64,false],[2,12,false,3]]]]],[41,62,null,362128743412283,0,null,[[0,[67,[1,32,64,false],[2,12,false,3]]]]],[35,62,null,314055343725126,0,null,[[0,[68,[1,32,64,false],[2,12,false,3]]]]],[39,62,null,399588833670476,0,null,[[0,[68,[1,32,64,false],[2,12,false,3]]]]]]],[0,0,false,null,643626379915574,87,[],[[33,66,null,933220134247268,0,null,[[4,32],[7,[25]]]],[33,62,null,922585592538623,0,null,[[0,[24,[4,63],[1,33,64,false],[1,32,64,false],[4,65]]]]]]],[0,0,false,null,465189799518971,88,[],[[34,66,null,894225190518111,0,null,[[4,32],[7,[26]]]],[34,62,null,849025275154100,0,null,[[0,[69,[4,63],[1,34,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,149504831691596,89,[],[[36,66,null,519906365251278,0,null,[[4,34],[7,[4]]]],[36,62,null,803739941390128,0,null,[[0,[24,[4,63],[1,36,64,false],[1,32,64,false],[4,65]]]]]]]]],[0,0,false,null,225856937046762,90,[],[[38,66,null,436421120038700,0,null,[[4,32],[7,[27]]]],[38,62,null,607172582342458,0,null,[[0,[69,[4,63],[1,38,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,801842397023107,91,[],[[40,66,null,488857081010921,0,null,[[4,38],[7,[4]]]],[40,62,null,609678809212034,0,null,[[0,[24,[4,63],[1,40,64,false],[1,32,64,false],[4,65]]]]]]]]],[0,0,false,null,125355688079216,92,[],[[37,66,null,664605758754083,0,null,[[4,32],[7,[28]]]],[37,62,null,540733817803812,0,null,[[0,[69,[4,63],[1,37,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,761498072494393,93,[],[[35,66,null,296957205832846,0,null,[[4,37],[7,[4]]]],[35,62,null,760289008654576,0,null,[[0,[69,[4,63],[1,35,64,false],[1,32,64,false],[4,65]]]]]]]]],[0,0,false,null,365661727803196,94,[],[[41,66,null,479713306242110,0,null,[[4,32],[7,[29]]]],[41,62,null,568707323895587,0,null,[[0,[69,[4,63],[1,41,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,680199921077465,95,[],[[39,66,null,666708870090366,0,null,[[4,41],[7,[4]]]],[39,62,null,784416038113094,0,null,[[0,[69,[4,63],[1,39,64,false],[1,32,64,false],[4,65]]]]]]]]]]],[0,0,false,null,619544805035647,96,[[12,50,null,0,false,false,false,270986308563097,null,[[10,0],[8,0],[7,[70]]]]],[[32,59,null,778549051075557,0,null,[[0,[23,[1,12,60,false]]],[0,[23,[1,12,61,false]]]]],[32,62,null,876186618750067,0,null,[[0,[24,[4,63],[1,32,64,false],[1,12,64,false],[4,65]]]]]],[[0,0,false,null,554958180812548,97,[],[[33,66,null,794429549039664,0,null,[[4,32],[7,[25]]]],[33,62,null,309082556183812,0,null,[[0,[71,[4,63],[1,33,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]]],[0,0,false,null,824380391582256,98,[],[[34,66,null,808066944601792,0,null,[[4,32],[7,[26]]]],[34,62,null,726983650427312,0,null,[[0,[24,[4,63],[1,34,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,886920887603392,99,[],[[36,66,null,676795104247705,0,null,[[4,34],[7,[4]]]],[36,62,null,283019845346202,0,null,[[0,[24,[4,63],[1,36,64,false],[1,34,64,false],[4,65]]]]]]]]],[0,0,false,null,576923574562589,100,[],[[38,66,null,356156507103862,0,null,[[4,32],[7,[27]]]],[38,62,null,171294841749577,0,null,[[0,[24,[4,63],[1,38,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,194510622736396,101,[],[[40,66,null,464693809845271,0,null,[[4,38],[7,[4]]]],[40,62,null,364377715234556,0,null,[[0,[24,[4,63],[1,40,64,false],[1,38,64,false],[4,65]]]]]]]]],[0,0,false,null,748176064168316,102,[],[[37,66,null,372410623759009,0,null,[[4,32],[7,[28]]]],[37,62,null,231051939995313,0,null,[[0,[24,[4,63],[1,37,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,512378798124176,103,[],[[35,66,null,989957902502440,0,null,[[4,37],[7,[4]]]],[35,62,null,726228034395761,0,null,[[0,[24,[4,63],[1,35,64,false],[1,37,64,false],[4,65]]]]]]]]],[0,0,false,null,988047818315189,104,[],[[41,66,null,984743680663447,0,null,[[4,32],[7,[29]]]],[41,62,null,619592223294354,0,null,[[0,[24,[4,63],[1,41,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,151744322748655,105,[],[[39,66,null,340234535053519,0,null,[[4,41],[7,[4]]]],[39,62,null,745546258820859,0,null,[[0,[24,[4,63],[1,39,64,false],[1,41,64,false],[4,65]]]]]]]]]]],[0,0,false,null,706729465617550,106,[[12,50,null,0,false,false,false,456474131621380,null,[[10,0],[8,0],[7,[72]]]]],[[32,59,null,927853863498015,0,null,[[0,[23,[1,12,60,false]]],[0,[23,[1,12,61,false]]]]],[32,62,null,152255800013659,0,null,[[0,[73,[4,63],[1,32,64,false],[2,12,false,3],[1,12,64,false],[4,65]]]]]],[[0,0,false,null,142100602380109,107,[],[[33,66,null,708522398193533,0,null,[[4,32],[7,[25]]]],[33,62,null,705780826810869,0,null,[[0,[74,[4,63],[1,33,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]]],[0,0,false,null,821693349330471,108,[],[[34,66,null,738144168557196,0,null,[[4,32],[7,[26]]]],[34,62,null,372840966424045,0,null,[[0,[75,[4,63],[1,34,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,214647153659471,109,[],[[36,66,null,331943212317102,0,null,[[4,34],[7,[4]]]],[36,62,null,640696886898692,0,null,[[0,[35,[1,34,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,334813839162678,110,[],[[38,66,null,273117341715119,0,null,[[4,32],[7,[27]]]],[38,62,null,983846070153290,0,null,[[0,[59,[4,63],[1,38,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,182893255248509,111,[],[[40,66,null,210372966249804,0,null,[[4,38],[7,[4]]]],[40,62,null,908012577958126,0,null,[[0,[35,[1,38,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,818785512480913,112,[],[[37,66,null,284440104575512,0,null,[[4,32],[7,[28]]]],[37,62,null,375141386607471,0,null,[[0,[75,[4,63],[1,37,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,273442626104646,113,[],[[35,66,null,491693845250222,0,null,[[4,37],[7,[4]]]],[35,62,null,422365591049561,0,null,[[0,[60,[1,37,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,467759466753977,114,[],[[41,66,null,845139019974829,0,null,[[4,32],[7,[29]]]],[41,62,null,925082980594920,0,null,[[0,[59,[4,63],[1,41,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,936349933945039,115,[],[[39,66,null,400465526975384,0,null,[[4,41],[7,[4]]]],[39,62,null,870851907106738,0,null,[[0,[61,[1,41,64,false],[2,12,false,3]]]]]]]]]]],[0,0,false,null,764889140587923,116,[[12,50,null,0,false,false,false,335175014817374,null,[[10,0],[8,0],[7,[76]]]]],[[32,59,null,695867740517779,0,null,[[0,[23,[1,12,60,false]]],[0,[23,[1,12,61,false]]]]],[32,62,null,345157418535844,0,null,[[0,[56,[4,63],[1,32,64,false],[2,12,false,3],[1,12,64,false],[4,65]]]]]],[[0,0,false,null,902120420690647,117,[],[[33,66,null,547986607691721,0,null,[[4,32],[7,[25]]]],[33,62,null,200175279041968,0,null,[[0,[77,[4,63],[1,33,64,false],[2,12,false,3],[4,65]]]]]]],[0,0,false,null,330674937624850,118,[],[[34,66,null,202438954600093,0,null,[[4,32],[7,[26]]]],[34,62,null,160445279081843,0,null,[[0,[78,[4,63],[1,34,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,331308729466876,119,[],[[36,66,null,456026550792076,0,null,[[4,34],[7,[4]]]],[36,62,null,235501202252322,0,null,[[0,[35,[1,34,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,917335793301772,120,[],[[38,66,null,440625007033836,0,null,[[4,32],[7,[27]]]],[38,62,null,707460177094150,0,null,[[0,[79,[4,63],[1,38,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,118468399183394,121,[],[[40,66,null,208026491236746,0,null,[[4,38],[7,[4]]]],[40,62,null,124532753144211,0,null,[[0,[35,[1,38,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,592535857342750,122,[],[[37,66,null,542229459030439,0,null,[[4,32],[7,[28]]]],[37,62,null,622277787817489,0,null,[[0,[78,[4,63],[1,37,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,973856883201321,123,[],[[35,66,null,539538528286016,0,null,[[4,37],[7,[4]]]],[35,62,null,947431644079105,0,null,[[0,[60,[1,37,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,714083643474406,124,[],[[41,66,null,565799101937830,0,null,[[4,32],[7,[29]]]],[41,62,null,636780530359568,0,null,[[0,[79,[4,63],[1,41,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,815462985858296,125,[],[[39,66,null,668377098448668,0,null,[[4,41],[7,[4]]]],[39,62,null,886826789177510,0,null,[[0,[61,[1,41,64,false],[2,12,false,3]]]]]]]]]]],[0,0,false,null,316352504110374,126,[[12,50,null,0,false,false,false,932048987515964,null,[[10,0],[8,0],[7,[80]]]]],[[32,59,null,551381536343403,0,null,[[0,[23,[1,12,60,false]]],[0,[23,[1,12,61,false]]]]],[32,62,null,252614225808205,0,null,[[0,[81,[4,63],[1,32,64,false],[2,12,false,3],[1,12,64,false],[4,65]]]]]],[[0,0,false,null,120189937059230,127,[],[[33,66,null,962098612566454,0,null,[[4,32],[7,[25]]]],[33,62,null,875039178207918,0,null,[[0,[82,[4,63],[1,33,64,false],[2,12,false,3],[4,65]]]]]]],[0,0,false,null,867821751140054,128,[],[[34,66,null,985710637338744,0,null,[[4,32],[7,[26]]]],[34,62,null,344848571966555,0,null,[[0,[37,[4,63],[1,34,64,false],[2,12,false,3],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,810052946651966,129,[],[[36,66,null,665798034812565,0,null,[[4,34],[7,[4]]]],[36,62,null,936642473958536,0,null,[[0,[83,[4,63],[1,36,64,false],[1,34,64,false],[2,12,false,3],[4,65]]]]]]]]],[0,0,false,null,736696470609577,130,[],[[38,66,null,169024762118393,0,null,[[4,32],[7,[27]]]],[38,62,null,921385543081955,0,null,[[0,[84,[4,63],[1,38,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,218580734819993,131,[],[[40,66,null,354440262065387,0,null,[[4,38],[7,[4]]]],[40,62,null,864445545313173,0,null,[[0,[85,[4,63],[1,40,64,false],[1,38,64,false],[2,12,false,3],[4,65]]]]]]]]],[0,0,false,null,213393505556904,132,[],[[37,66,null,285892835821882,0,null,[[4,32],[7,[28]]]],[37,62,null,599513058299144,0,null,[[0,[86,[4,63],[1,37,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,140974436613115,133,[],[[35,66,null,412432743592158,0,null,[[4,37],[7,[4]]]],[35,62,null,479497709746782,0,null,[[0,[87,[4,63],[1,35,64,false],[1,37,64,false],[2,12,false,3],[4,65]]]]]]]]],[0,0,false,null,528896727830061,134,[],[[41,66,null,116344635411740,0,null,[[4,32],[7,[29]]]],[41,62,null,213675881981580,0,null,[[0,[88,[4,63],[1,41,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,272436326794900,135,[],[[39,66,null,506574105533316,0,null,[[4,41],[7,[4]]]],[39,62,null,852570347002936,0,null,[[0,[89,[4,63],[1,39,64,false],[1,41,64,false],[2,12,false,3],[4,65]]]]]]]]]]],[0,0,false,null,518970130573315,136,[[12,50,null,0,false,false,false,645592121897454,null,[[10,0],[8,0],[7,[90]]]]],[[32,59,null,229548521499809,0,null,[[0,[23,[1,12,60,false]]],[0,[23,[1,12,61,false]]]]],[32,62,null,239414548944118,0,null,[[0,[56,[4,63],[1,32,64,false],[2,12,false,3],[1,12,64,false],[4,65]]]]]],[[0,0,false,null,314057319474841,137,[],[[33,66,null,464644778325531,0,null,[[4,32],[7,[25]]]],[33,62,null,295688062644933,0,null,[[0,[77,[4,63],[1,33,64,false],[2,12,false,3],[4,65]]]]]]],[0,0,false,null,901364182012729,138,[],[[34,66,null,353433396944990,0,null,[[4,32],[7,[26]]]],[34,62,null,354756333943980,0,null,[[0,[91,[2,12,false,3],[4,68]]]]]],[[0,0,false,null,362482152722432,139,[],[[36,66,null,351252812485402,0,null,[[4,34],[7,[4]]]],[36,62,null,233291647810049,0,null,[[0,[92,[1,34,64,false],[2,12,false,3],[4,68]]]]]]]]],[0,0,false,null,565561945644012,140,[],[[38,66,null,581635632022904,0,null,[[4,32],[7,[27]]]],[38,62,null,816202175473618,0,null,[[0,[93,[2,12,false,3],[4,68]]]]]],[[0,0,false,null,546327647470311,141,[],[[40,66,null,778595746955533,0,null,[[4,38],[7,[4]]]],[40,62,null,188719484930443,0,null,[[0,[94,[1,38,64,false],[2,12,false,3],[4,68]]]]]]]]],[0,0,false,null,484611520317204,142,[],[[37,66,null,169205200811311,0,null,[[4,32],[7,[28]]]],[37,62,null,465711149870657,0,null,[[0,[95,[2,12,false,3],[4,68]]]]]],[[0,0,false,null,568423235737218,143,[],[[35,66,null,947327572676298,0,null,[[4,37],[7,[4]]]],[35,62,null,345963328025127,0,null,[[0,[96,[1,37,64,false],[2,12,false,3],[4,68]]]]]]]]],[0,0,false,null,973312319795667,144,[],[[41,66,null,268688071692212,0,null,[[4,32],[7,[29]]]],[41,62,null,194180253998348,0,null,[[0,[97,[2,12,false,3],[4,68]]]]]],[[0,0,false,null,488533436950538,145,[],[[39,66,null,277700591158628,0,null,[[4,41],[7,[4]]]],[39,62,null,229902230048477,0,null,[[0,[98,[1,41,64,false],[2,12,false,3],[4,68]]]]]]]]]]],[0,0,false,null,695342535479781,146,[[12,50,null,0,false,false,false,764844507624503,null,[[10,0],[8,0],[7,[99]]]]],[[32,59,null,861098318010398,0,null,[[0,[23,[1,12,60,false]]],[0,[23,[1,12,61,false]]]]],[32,62,null,527417068196832,0,null,[[0,[100,[4,63],[1,32,64,false],[2,12,false,3],[1,12,64,false],[4,65]]]]]],[[0,0,false,null,461047982436737,147,[],[[33,66,null,312043783593427,0,null,[[4,32],[7,[25]]]],[33,62,null,697870295450872,0,null,[[0,[101,[4,63],[1,33,64,false],[2,12,false,3],[4,65]]]]]]],[0,0,false,null,100589490128242,148,[],[[34,66,null,468641259402228,0,null,[[4,32],[7,[26]]]],[34,62,null,955158496861537,0,null,[[0,[102,[4,63],[1,34,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,989665451717240,149,[],[[36,66,null,847345093104444,0,null,[[4,34],[7,[4]]]],[36,62,null,514180205042233,0,null,[[0,[103,[4,63],[1,36,64,false],[1,34,64,false],[2,12,false,3],[4,65]]]]]]]]],[0,0,false,null,729386853327142,150,[],[[38,66,null,499527156853881,0,null,[[4,32],[7,[27]]]],[38,62,null,998268419024231,0,null,[[0,[104,[4,63],[1,38,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,984850918908680,151,[],[[40,66,null,244883832014111,0,null,[[4,38],[7,[4]]]],[40,62,null,354954951939360,0,null,[[0,[103,[4,63],[1,40,64,false],[1,38,64,false],[2,12,false,3],[4,65]]]]]]]]],[0,0,false,null,129404962111911,152,[],[[37,66,null,250187755782859,0,null,[[4,32],[7,[28]]]],[37,62,null,433197906172506,0,null,[[0,[104,[4,63],[1,37,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,111799509602398,153,[],[[35,66,null,807126581926792,0,null,[[4,37],[7,[4]]]],[35,62,null,887690378063308,0,null,[[0,[105,[4,63],[1,35,64,false],[1,37,64,false],[2,12,false,3],[4,65]]]]]]]]],[0,0,false,null,853940936001314,154,[],[[41,66,null,694892247883500,0,null,[[4,32],[7,[29]]]],[41,62,null,822410888758511,0,null,[[0,[106,[4,63],[1,41,64,false],[2,12,false,3],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,423177274438007,155,[],[[39,66,null,703815608327322,0,null,[[4,41],[7,[4]]]],[39,62,null,560930461813579,0,null,[[0,[107,[4,63],[1,39,64,false],[1,41,64,false],[2,12,false,3],[4,65]]]]]]]]]]],[0,0,false,null,559652424585039,156,[[12,50,null,0,false,false,false,498523460181917,null,[[10,0],[8,0],[7,[108]]]]],[[32,59,null,735865157594039,0,null,[[0,[109,[1,32,53,false],[1,12,60,false]]],[0,[109,[1,32,54,false],[1,12,61,false]]]]],[32,62,null,169443450396299,0,null,[[0,[110,[4,63],[1,32,64,false],[2,12,false,3],[1,12,64,false],[4,65]]]]]],[[0,0,false,null,962219109274881,157,[],[[33,66,null,256255739663752,0,null,[[4,32],[7,[25]]]],[33,62,null,606669996897980,0,null,[[0,[111,[1,32,64,false],[2,12,false,3],[4,68]]]]]]],[0,0,false,null,693495109440821,158,[],[[34,66,null,386279984034496,0,null,[[4,32],[7,[26]]]],[34,62,null,958268277737713,0,null,[[0,[112,[4,63],[1,34,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,141031796633136,159,[],[[36,66,null,883709575237077,0,null,[[4,34],[7,[4]]]],[36,62,null,135254339240260,0,null,[[0,[113,[1,34,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,788616475102412,160,[],[[38,66,null,300052427388575,0,null,[[4,32],[7,[27]]]],[38,62,null,540760143569166,0,null,[[0,[114,[4,63],[1,38,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,837075884884584,161,[],[[40,66,null,220698734480966,0,null,[[4,38],[7,[4]]]],[40,62,null,136840110976900,0,null,[[0,[115,[1,38,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,231130245282817,162,[],[[37,66,null,670782522619166,0,null,[[4,32],[7,[28]]]],[37,62,null,178801250234342,0,null,[[0,[116,[4,63],[1,37,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,279090425041216,163,[],[[35,66,null,987810306536739,0,null,[[4,37],[7,[4]]]],[35,62,null,992280224937994,0,null,[[0,[117,[4,63],[1,35,64,false],[1,37,64,false],[4,65]]]]]]]]],[0,0,false,null,636282847332466,164,[],[[41,66,null,585291389627370,0,null,[[4,32],[7,[29]]]],[41,62,null,233297883962920,0,null,[[0,[118,[4,63],[1,41,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,923432251430055,165,[],[[39,66,null,592219116359534,0,null,[[4,41],[7,[4]]]],[39,62,null,818277122548642,0,null,[[0,[117,[4,63],[1,39,64,false],[1,37,64,false],[4,65]]]]]]]]]]],[0,0,false,null,266771141487243,166,[[12,50,null,0,false,false,false,760410786016395,null,[[10,0],[8,0],[7,[119]]]]],[[32,59,null,386048077449786,0,null,[[0,[109,[1,32,53,false],[1,12,60,false]]],[0,[109,[1,32,54,false],[1,12,61,false]]]]],[32,62,null,536757968177361,0,null,[[0,[120,[4,63],[1,32,64,false],[1,12,64,false],[2,12,false,3],[4,65],[1,12,64,false]]]]]],[[0,0,false,null,663614289347810,167,[],[[33,66,null,660176012858885,0,null,[[4,32],[7,[25]]]],[33,62,null,622184644170531,0,null,[[0,[121,[4,63],[1,33,64,false],[1,32,64,false],[2,12,false,3],[4,68]]]]]]],[0,0,false,null,840688019328728,168,[],[[34,66,null,879597464413251,0,null,[[4,32],[7,[26]]]],[34,62,null,416572038770616,0,null,[[0,[122,[4,63],[1,34,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,331674456146833,169,[],[[36,66,null,330689504837227,0,null,[[4,34],[7,[4]]]],[36,62,null,950279966574745,0,null,[[0,[35,[1,34,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,812098020141180,170,[],[[38,66,null,173846619376080,0,null,[[4,32],[7,[27]]]],[38,62,null,534024307506313,0,null,[[0,[122,[4,63],[1,38,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,456878157026698,171,[],[[40,66,null,690953673892859,0,null,[[4,38],[7,[4]]]],[40,62,null,330755981533594,0,null,[[0,[35,[1,38,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,766944385262104,172,[],[[37,66,null,768360351962154,0,null,[[4,32],[7,[28]]]],[37,62,null,224248055250897,0,null,[[0,[84,[4,63],[1,37,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,735116685923331,173,[],[[35,66,null,516102695804735,0,null,[[4,37],[7,[4]]]],[35,62,null,598287995396143,0,null,[[0,[123,[4,63],[1,35,64,false],[1,37,64,false],[2,12,false,3],[4,65]]]]]]]]],[0,0,false,null,277602431057041,174,[],[[41,66,null,609913543210935,0,null,[[4,32],[7,[29]]]],[41,62,null,652452372677615,0,null,[[0,[84,[4,63],[1,41,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,381343177438434,175,[],[[39,66,null,282095296299021,0,null,[[4,41],[7,[4]]]],[39,62,null,748083650788836,0,null,[[0,[123,[4,63],[1,39,64,false],[1,41,64,false],[2,12,false,3],[4,65]]]]]]]]]]],[0,0,false,null,146942972939583,176,[[12,50,null,0,false,false,false,815691163366770,null,[[10,0],[8,0],[7,[124]]]]],[[32,59,null,866448998513712,0,null,[[0,[109,[1,32,53,false],[1,12,60,false]]],[0,[109,[1,32,54,false],[1,12,61,false]]]]],[32,62,null,621093445292287,0,null,[[0,[125,[4,63],[1,32,64,false],[2,12,false,3],[1,12,64,false],[4,65]]]]]],[[0,0,false,null,617579070627036,177,[],[[33,66,null,749259972362202,0,null,[[4,32],[7,[25]]]],[33,62,null,206473247595313,0,null,[[0,[121,[4,63],[1,33,64,false],[1,32,64,false],[2,12,false,3],[4,68]]]]]]],[0,0,false,null,271151413442786,178,[],[[34,66,null,455670150708640,0,null,[[4,32],[7,[26]]]],[34,62,null,274929335390507,0,null,[[0,[122,[4,63],[1,34,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,692354840990580,179,[],[[36,66,null,624490911665712,0,null,[[4,34],[7,[4]]]],[36,62,null,510690370566179,0,null,[[0,[35,[1,34,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,521461579855591,180,[],[[38,66,null,293974781240878,0,null,[[4,32],[7,[27]]]],[38,62,null,608430359795154,0,null,[[0,[122,[4,63],[1,38,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,764090652248701,181,[],[[40,66,null,318832130470646,0,null,[[4,38],[7,[4]]]],[40,62,null,808194885047331,0,null,[[0,[35,[1,38,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,759214690490529,182,[],[[37,66,null,928283165094753,0,null,[[4,32],[7,[28]]]],[37,62,null,481877933324076,0,null,[[0,[126,[4,63],[1,37,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,742087811680888,183,[],[[35,66,null,304446062382109,0,null,[[4,37],[7,[4]]]],[35,62,null,265222438291762,0,null,[[0,[123,[4,63],[1,35,64,false],[1,37,64,false],[2,12,false,3],[4,65]]]]]]]]],[0,0,false,null,750379045814308,184,[],[[41,66,null,223990083860299,0,null,[[4,32],[7,[29]]]],[41,62,null,734913155666250,0,null,[[0,[126,[4,63],[1,41,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,406855059437641,185,[],[[39,66,null,154838971145870,0,null,[[4,41],[7,[4]]]],[39,62,null,461064318802900,0,null,[[0,[123,[4,63],[1,39,64,false],[1,41,64,false],[2,12,false,3],[4,65]]]]]]]]]]],[0,0,false,null,763062406779577,186,[[12,50,null,0,false,false,false,587144342027913,null,[[10,0],[8,0],[7,[127]]]]],[[32,59,null,479165802820038,0,null,[[0,[23,[1,12,60,false]]],[0,[23,[1,12,61,false]]]]],[32,62,null,478083639603731,0,null,[[0,[24,[4,63],[1,32,64,false],[1,12,64,false],[4,65]]]]]],[[0,0,false,null,248552833284087,187,[],[[33,66,null,521726182185130,0,null,[[4,32],[7,[25]]]],[33,62,null,892076774397397,0,null,[[0,[24,[4,63],[1,33,64,false],[1,32,64,false],[4,65]]]]]]],[0,0,false,null,262568839010242,188,[],[[34,66,null,528369531967944,0,null,[[4,32],[7,[26]]]],[34,62,null,801863403507141,0,null,[[0,[128,[4,63],[1,34,64,false],[2,12,false,3],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,983135732836798,189,[],[[36,66,null,725059535180046,0,null,[[4,34],[7,[4]]]],[36,62,null,906683202894116,0,null,[[0,[24,[4,63],[1,36,64,false],[1,34,64,false],[4,65]]]]]]]]],[0,0,false,null,437744359745809,190,[],[[38,66,null,734505484983844,0,null,[[4,32],[7,[27]]]],[38,62,null,778719721876020,0,null,[[0,[129,[4,63],[1,38,64,false],[2,12,false,3],[1,12,64,false],[4,65]]]]]],[[0,0,false,null,944606669011796,191,[],[[40,66,null,490774394203122,0,null,[[4,38],[7,[4]]]],[40,62,null,281042317075705,0,null,[[0,[24,[4,63],[1,40,64,false],[1,38,64,false],[4,65]]]]]]]]],[0,0,false,null,828333372660296,192,[],[[37,66,null,396262517831848,0,null,[[4,32],[7,[28]]]],[37,62,null,915782471960153,0,null,[[0,[24,[4,63],[1,37,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,901801091416145,193,[],[[35,66,null,287755135507374,0,null,[[4,37],[7,[4]]]],[35,62,null,483858735351971,0,null,[[0,[24,[4,63],[1,35,64,false],[1,37,64,false],[4,65]]]]]]]]],[0,0,false,null,257196169841982,194,[],[[41,66,null,246677581281255,0,null,[[4,32],[7,[29]]]],[41,62,null,479997309582965,0,null,[[0,[24,[4,63],[1,41,64,false],[1,32,64,false],[4,65]]]]]],[[0,0,false,null,787097226938008,195,[],[[39,66,null,367753287539839,0,null,[[4,41],[7,[4]]]],[39,62,null,126343596624618,0,null,[[0,[24,[4,63],[1,39,64,false],[1,41,64,false],[4,65]]]]]]]]]]],[0,0,false,null,174952135498963,196,[[12,50,null,0,false,false,false,378577547778908,null,[[10,0],[8,0],[7,[130]]]]],[[32,59,null,389893815076306,0,null,[[0,[131,[1,32,53,false],[1,12,53,false],[1,12,64,false],[1,12,55,false],[1,32,55,false]]],[0,[132,[1,32,54,false],[1,12,54,false],[1,12,64,false],[1,12,55,false],[1,32,55,false]]]]],[32,62,null,324259113849100,0,null,[[0,[133,[4,63],[1,32,64,false],[2,12,false,3],[1,12,64,false],[4,65]]]]]],[[0,0,false,null,117286514041369,197,[],[[33,66,null,611310104728734,0,null,[[4,32],[7,[25]]]],[33,62,null,304409844543340,0,null,[[0,[134,[4,63],[1,33,64,false],[1,32,64,false],[4,68]]]]]]],[0,0,false,null,136492330377318,198,[],[[34,66,null,556749741689207,0,null,[[4,32],[7,[26]]]],[34,62,null,217642889789996,0,null,[[0,[135,[4,63],[1,34,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,373024986178827,199,[],[[36,66,null,237042597638554,0,null,[[4,34],[7,[4]]]],[36,62,null,502460500636995,0,null,[[0,[61,[1,34,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,895283838819663,200,[],[[38,66,null,389751467881407,0,null,[[4,32],[7,[27]]]],[38,62,null,650976280878607,0,null,[[0,[135,[4,63],[1,38,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,657929483941312,201,[],[[40,66,null,785479726327288,0,null,[[4,38],[7,[4]]]],[40,62,null,788215644497171,0,null,[[0,[61,[1,38,64,false],[2,12,false,3]]]]]]]]],[0,0,false,null,747196112230089,202,[],[[37,66,null,711647242921266,0,null,[[4,32],[7,[28]]]],[37,62,null,490202844717599,0,null,[[0,[136,[4,63],[1,37,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]],[37,43,null,219255312228110,0,null,[[3,1]]]],[[0,0,false,null,163658115333496,203,[],[[35,66,null,260269116713193,0,null,[[4,37],[7,[4]]]],[35,62,null,386490106374725,0,null,[[0,[117,[4,63],[1,35,64,false],[1,37,64,false],[4,65]]]]],[35,43,null,140699425165667,0,null,[[3,1]]]]]]],[0,0,false,null,724764282935255,204,[],[[41,66,null,328947937740995,0,null,[[4,32],[7,[29]]]],[41,62,null,220157262113228,0,null,[[0,[137,[4,63],[1,41,64,false],[1,32,64,false],[2,12,false,3],[4,65]]]]]],[[0,0,false,null,881104375791408,205,[],[[39,66,null,242691624409617,0,null,[[4,41],[7,[4]]]],[39,62,null,207379725706285,0,null,[[0,[138,[4,63],[1,39,64,false],[1,41,64,false],[2,12,false,3],[4,65]]]]]]]]]]]]],[0,0,false,null,415651586165479,209,[[12,44,null,0,false,true,false,119859302914886,null,[[10,22]]]],[],[[3,[true,"Player > Death"],false,null,862718171549469,210,[[-1,39,null,0,false,false,false,0,false,[[1,[139]]]]],[],[[1,"Reload",0,0,true,false,952130243840710,false,207],[0,0,true,null,105748211586830,211,[[75,50,null,0,false,false,false,355592098387469,null,[[10,1],[8,1],[7,[18,[1,75,53,false]]]]],[75,50,null,0,false,false,false,351245310001907,null,[[10,2],[8,1],[7,[18,[1,75,54,false]]]]]],[[75,42,null,561903645307997,0,null,[[10,3],[7,[140,[2,75,false,1],[2,75,false,2],[1,75,53,false],[1,75,54,false]]]]],[75,42,null,763687969224563,0,null,[[10,4],[7,[141,[2,75,false,1],[2,75,false,2],[1,75,53,false],[1,75,54,false]]]]],[75,42,null,628265951879557,0,null,[[10,1],[7,[18,[1,75,53,false]]]]],[75,42,null,854234612917883,0,null,[[10,2],[7,[18,[1,75,54,false]]]]]]],[4,["GameplayDeath",0,[],true,false],false,null,782124192991769,212,[[-1,69,null,0,false,false,false,277751713843306,null,[[4,75]]],[12,50,null,0,false,false,false,234878797564084,null,[[10,0],[8,1],[7,[142]]]]],[[75,70,"Bullet",235576563794379,0,null,[[0,[143,[2,75,false,3]]]]],[75,71,"Bullet",725952977168287,0,null,[[0,[144,[2,75,false,4],[4,65]]]]],[75,72,"Bullet",362576059360637,0,null,[[0,[145,[2,75,false,4],[4,65],[0,75,"Fade",73,false]]]]],[75,74,"Bullet",413863618600675,0,null,[[3,1]]],[12,42,null,900160183772931,0,null,[[10,0],[7,[142]]]],[75,75,"Fade",214886912629257,0,null],[12,76,"Platform",395485660376121,0,null,[[3,0]]],[-1,77,null,710180633973329,2,null,[[0,[7,[0,75,"Fade",73,false]]]]],[-1,78,null,588036138803928,0,null]]],[5,79,213,null],[0,0,false,null,721430115115393,214,[[12,80,null,0,false,false,false,633847800639874,null,[[4,80]]],[12,50,null,0,false,false,false,746816822680140,null,[[10,0],[8,1],[7,[142]]]]],[[12,81,null,403285570784503,0,null,[[10,25],[7,[4]]]]],[[1,"oldTopCrush",0,0,false,false,635549881843826,false,208],[1,"oldBotCrush",0,0,false,false,645825896430581,false,209],[1,"oldRightCrush",0,0,false,false,403855952744394,false,210],[1,"oldLeftCrush",0,0,false,false,914315231243974,false,211],[0,0,false,null,596585478516497,215,[[12,50,null,0,false,false,false,427244610523336,null,[[10,25],[8,5],[7,[31,[2,12,false,24]]]]]],[[12,59,null,171789347116701,0,null,[[0,[18,[1,12,53,false]]],[0,[146,[1,12,54,false],[1,12,55,false]]]]]],[[5,82,216,null]]],[0,0,false,null,368697502119911,217,[],[[-1,40,null,372539563392113,0,null,[[11,"oldBotCrush"],[7,[31,[2,12,false,31]]]]],[-1,40,null,957203733876496,0,null,[[11,"oldTopCrush"],[7,[31,[2,12,false,28]]]]],[-1,40,null,203721417812765,0,null,[[11,"oldLeftCrush"],[7,[31,[2,12,false,30]]]]],[-1,40,null,137223652846210,0,null,[[11,"oldRightCrush"],[7,[31,[2,12,false,29]]]]]]],[0,0,false,null,171648942720210,218,[],[[12,52,"LineOfSight",589090095073375,0,null,[[0,[18,[1,12,53,false]]],[0,[147,[1,12,83,false]]],[0,[18,[1,12,53,false]]],[0,[18,[1,12,84,false]]],[16,true]]]]],[0,0,false,null,481713045154057,219,[[12,56,"LineOfSight",0,false,false,false,944203313670189,null]],[[12,42,null,899342246196235,0,null,[[10,28],[7,[7,[0,12,"LineOfSight",85,false]]]]]]],[0,0,false,null,778252896760452,220,[],[[12,52,"LineOfSight",952210565788766,0,null,[[0,[18,[1,12,53,false]]],[0,[148,[1,12,84,false]]],[0,[18,[1,12,53,false]]],[0,[18,[1,12,83,false]]],[16,true]]]]],[0,0,false,null,128172803170594,221,[[12,56,"LineOfSight",0,false,false,false,773947315659389,null]],[[12,42,null,286348503582447,0,null,[[10,31],[7,[7,[0,12,"LineOfSight",85,false]]]]]]],[0,0,false,null,222189958792180,222,[],[[12,52,"LineOfSight",253779370033612,0,null,[[0,[18,[1,12,53,false]]],[0,[18,[1,12,54,false]]],[0,[18,[1,12,86,false]]],[0,[18,[1,12,54,false]]],[16,true]]]]],[0,0,false,null,936658448971178,223,[[12,56,"LineOfSight",0,false,false,false,648682722614720,null]],[[12,42,null,368316756458782,0,null,[[10,30],[7,[7,[0,12,"LineOfSight",85,false]]]]]]],[0,0,false,null,708034823544304,224,[],[[12,52,"LineOfSight",818483957628647,0,null,[[0,[18,[1,12,53,false]]],[0,[18,[1,12,54,false]]],[0,[18,[1,12,87,false]]],[0,[18,[1,12,54,false]]],[16,true]]]]],[0,0,false,null,689986123720411,225,[[12,56,"LineOfSight",0,false,false,false,131037351851183,null]],[[12,42,null,683500191662113,0,null,[[10,29],[7,[7,[0,12,"LineOfSight",85,false]]]]]]],[0,0,false,null,709354569536858,226,[[12,50,null,0,false,false,false,817122891489384,null,[[10,25],[8,0],[7,[149,[2,12,false,24]]]]]],[],[[0,0,true,null,636652073581507,227,[[12,50,null,0,false,false,false,283290495381888,null,[[10,31],[8,2],[7,[2,[3,"oldBotCrush"]]]]],[12,50,null,0,false,false,false,531641402748655,null,[[10,28],[8,2],[7,[2,[3,"oldTopCrush"]]]]],[12,50,null,0,false,false,false,820941181365480,null,[[10,29],[8,2],[7,[2,[3,"oldRightCrush"]]]]],[12,50,null,0,false,false,false,513337079861915,null,[[10,30],[8,2],[7,[2,[3,"oldLeftCrush"]]]]]],[[-2,"GameplayDeath",null,353979073913491,0,null]]],[0,0,false,null,879859684588344,228,[[-1,49,null,0,false,false,false,789462637519580,null],[12,50,null,0,false,false,false,241877256654259,null,[[10,31],[8,2],[7,[150,[1,12,55,false]]]]],[12,50,null,0,false,false,false,572653647843531,null,[[10,28],[8,2],[7,[150,[1,12,55,false]]]]],[12,50,null,0,false,false,false,304782103331136,null,[[10,29],[8,2],[7,[151,[1,12,88,false]]]]],[12,50,null,0,false,false,false,229086256356344,null,[[10,30],[8,2],[7,[151,[1,12,88,false]]]]]],[[-2,"GameplayDeath",null,955583405163948,0,null]]]]]]],[0,0,false,null,389937775683049,229,[[-1,49,null,0,false,false,false,649897533846451,null]],[[12,42,null,863629083872959,0,null,[[10,28],[7,[3]]]],[12,42,null,605478085128190,0,null,[[10,29],[7,[3]]]],[12,42,null,148826852426932,0,null,[[10,30],[7,[3]]]],[12,42,null,191759250573101,0,null,[[10,31],[7,[3]]]],[12,42,null,255711441799176,0,null,[[10,25],[7,[6]]]]]]]],[3,[true,"Player > Controls"],false,null,261056710020294,230,[[-1,39,null,0,false,false,false,0,false,[[1,[152]]]]],[],[[3,[true,"Player > Controls > Inputs"],false,null,444316421058116,231,[[-1,39,null,0,false,false,false,0,false,[[1,[153]]]]],[],[[0,0,false,null,160274755642354,232,[[-1,57,null,0,false,false,false,801999660862837,null,[[7,[154,[4,89]]],[8,1],[7,[6]]]],[3,90,null,0,false,true,false,612210808934213,null,[[10,4]]]],[],[[0,0,true,null,412898623913242,233,[[1,91,null,1,false,false,false,350941835775692,null,[[0,[31,[2,3,false,1]]]]]],[],[[0,0,false,null,424984829683786,234,[],[],[[0,0,false,null,813276100864362,235,[[-1,92,null,0,false,false,false,485120026311497,null]],[[5,93,null,575225797113445,0,null,[[1,[2,[3,"VibratePtrn"]]]]],[-2,"ControlsBuffer",null,265831233357528,0,null,[[1,[155]],[0,[156]]]]]],[0,0,false,null,212102839472747,236,[[-1,49,null,0,false,false,false,416617541165116,null]],[[-2,"ControlsBuffer",null,428632890830230,0,null,[[1,[155]],[0,[157]]]]]]]]]],[0,0,true,null,434135608664859,237,[[1,91,null,1,false,false,false,130708852404356,null,[[0,[31,[2,3,false,3]]]]]],[[0,94,null,465404213670184,0,null,[[1,[158]]]]]],[0,0,true,null,912573179123940,238,[[1,95,null,1,false,false,false,475878094952936,null,[[0,[31,[2,3,false,3]]]]]],[[0,96,null,700784851796902,0,null,[[1,[158]]]]]],[0,0,true,null,531473183096970,239,[[1,91,null,1,false,false,false,750240850311716,null,[[0,[31,[2,3,false,0]]]]]],[[0,94,null,188116877612522,0,null,[[1,[17]]]]]],[0,0,false,null,766024998995156,240,[[1,95,null,1,false,false,false,855370832022694,null,[[0,[31,[2,3,false,0]]]]]],[[0,96,null,994557657266091,0,null,[[1,[17]]]]]],[0,0,true,null,995688738710180,241,[[1,91,null,1,false,false,false,342644419096372,null,[[0,[31,[2,3,false,2]]]]]],[[0,94,null,448993779132467,0,null,[[1,[16]]]]]],[0,0,false,null,489327567097128,242,[[1,95,null,1,false,false,false,889085151129684,null,[[0,[31,[2,3,false,2]]]]]],[[0,96,null,412196875442068,0,null,[[1,[16]]]]]]]],[0,0,false,null,298050634756678,243,[[0,97,null,1,false,false,false,463309524054899,null,[[1,[17]]]]],[[5,93,null,234519665093806,0,null,[[1,[2,[3,"VibratePtrn"]]]]],[-2,"PlayerUpdateControls",null,263692856793325,0,null]]],[0,0,false,null,120775014990984,246,[[0,97,null,1,false,false,false,567330674023127,null,[[1,[16]]]]],[[5,93,null,148217329204391,0,null,[[1,[2,[3,"VibratePtrn"]]]]],[-2,"PlayerUpdateControls",null,923233099734011,0,null]]],[0,0,false,null,558158266135625,249,[[0,97,null,1,false,false,false,354161577754865,null,[[1,[158]]]]],[[5,93,null,528662498623458,0,null,[[1,[2,[3,"VibratePtrn"]]]]]],[[0,0,false,null,827875178717924,250,[[12,98,"Platform",0,false,false,false,496900945561424,null],[12,44,null,0,false,false,false,831594414874237,null,[[10,4]]],[12,44,null,0,false,true,false,590237882299068,null,[[10,8]]],[12,99,"Platform",0,false,true,false,488165604257180,null],[12,44,null,0,false,true,false,874423206317139,null,[[10,12]]],[12,44,null,0,false,true,false,528624042451830,null,[[10,21]]]],[[7,100,null,395832748374023,0,null,[[10,0],[3,1]]],[-1,77,null,691456332591496,2,null,[[0,[159]]]],[12,52,"LineOfSight",785777187867670,0,null,[[0,[18,[1,12,53,false]]],[0,[19,[1,12,54,false],[1,12,55,false]]],[0,[160,[1,12,53,false],[1,12,88,false],[0,12,"Platform",101,false],[4,65]]],[0,[19,[1,12,54,false],[1,12,55,false]]],[16,true]]]],[[0,0,false,null,960411353342433,251,[[12,44,null,0,false,false,false,757696258577252,null,[[10,10]]]],[[7,100,null,945587287116142,0,null,[[10,0],[3,0]]],[12,102,null,794117115976078,0,null,[[10,11],[3,1]]]]],[0,0,false,null,930635254437291,252,[[-1,49,null,0,false,false,false,319405184374676,null],[2,103,null,0,false,false,false,862084401411479,null,[[3,0],[8,4],[0,[6]]]],[12,44,null,0,false,true,false,890229338312221,null,[[10,5]]]],[[7,100,null,955944641420975,0,null,[[10,0],[3,0]]],[12,104,"Platform",353754236422335,0,null,[[0,[6]]]],[12,105,"Platform",132338353425531,0,null,[[0,[161,[0,12,"Platform",106,false]]]]],[-2,"ControlsClearBuffer",null,661951347698037,0,null],[-1,77,null,801465452965139,2,null,[[0,[162]]]],[12,102,null,457616314876137,0,null,[[10,8],[3,1]]]]],[0,0,false,null,198623525941489,253,[[-1,49,null,0,false,false,false,222895668113459,null]],[],[[0,0,false,null,850171610309553,254,[[-1,57,null,0,false,false,false,118673940658913,null,[[7,[163,[5,"FrontingWall"],[1,12,53,false],[1,12,88,false],[0,12,"Platform",101,false],[4,65],[1,12,107,false]]],[8,0],[7,[6]]]]],[[7,100,null,952488302098479,0,null,[[10,0],[3,0]]],[12,102,null,422276840708510,0,null,[[10,5],[3,1]]]]],[0,0,false,null,532623258233360,255,[[-1,49,null,0,false,false,false,294326199528224,null]],[[7,100,null,155805652771008,0,null,[[10,0],[3,0]]],[12,42,null,231451155840212,0,null,[[10,16],[7,[164]]]],[12,102,null,529066125726466,0,null,[[10,14],[3,1]]]]]]],[0,0,false,null,559119866870922,256,[],[]]]],[0,0,false,null,439536166334238,257,[[12,98,"Platform",0,false,true,false,236255431038706,null]],[],[[0,0,false,null,211472219931371,258,[[12,44,null,0,false,false,false,655643690920764,null,[[10,15]]],[12,44,null,0,false,true,false,684136933290961,null,[[10,8]]],[12,44,null,0,false,true,false,941545591086546,null,[[10,12]]],[12,44,null,0,false,true,false,812361768392862,null,[[10,21]]]],[],[[0,0,true,null,959991410610999,259,[[0,51,null,0,false,false,false,682406169866365,null,[[1,[16]]]],[0,51,null,0,false,false,false,264997556571122,null,[[1,[17]]]]],[[12,52,"LineOfSight",500608170638440,0,null,[[0,[18,[1,12,53,false]]],[0,[19,[1,12,54,false],[1,12,55,false]]],[0,[165,[1,12,53,false],[1,12,88,false],[0,12,"Platform",101,false],[4,65]]],[0,[19,[1,12,54,false],[1,12,55,false]]],[16,true]]]]],[0,0,false,null,315363602008194,260,[[-1,49,null,0,false,false,false,504587121190583,null]],[],[[0,0,false,null,733464297446785,261,[[12,44,null,0,false,true,false,290811721276675,null,[[10,12]]]],[[12,102,null,214600965368991,0,null,[[10,9],[3,1]]],[12,102,null,422307509642276,0,null,[[10,8],[3,0]]],[12,102,null,902454740563271,0,null,[[10,13],[3,0]]],[12,102,null,853222742213734,0,null,[[10,14],[3,0]]]]]]]]],[0,0,true,null,642332867162679,262,[[-1,57,null,0,false,false,false,647971270005784,null,[[7,[166,[5,"FrontingWall"],[1,12,53,false],[1,12,88,false],[0,12,"Platform",101,false],[4,65],[1,12,107,false]]],[8,0],[7,[4]]]]],[],[[0,0,true,null,268523609846814,263,[[0,51,null,0,false,false,false,380415008655954,null,[[1,[16]]]],[0,51,null,0,false,false,false,262609462633277,null,[[1,[17]]]]],[],[[0,0,false,null,222765042727516,264,[[12,44,null,0,false,false,false,361468234406432,null,[[10,15]]],[12,44,null,0,false,true,false,772472671662211,null,[[10,9]]],[12,44,null,0,false,true,false,630831164336427,null,[[10,12]]],[-1,57,null,0,false,false,false,405955974584331,null,[[7,[7,[0,12,"Platform",108,false]]],[8,2],[7,[167,[0,12,"Platform",109,false]]]]],[-1,57,null,0,false,false,false,651883272646591,null,[[7,[168,[5,"IsPressingForward"],[1,12,107,false]]],[8,0],[7,[4]]]]],[[12,42,null,617333639433649,0,null,[[10,16],[7,[169,[2,12,false,16],[2,12,false,16]]]]],[12,102,null,469101232004804,0,null,[[10,14],[3,1]]]]],[0,0,false,null,787353344018842,265,[[-1,49,null,0,false,false,false,157470539669678,null],[12,44,null,0,false,true,false,179741120117716,null,[[10,9]]],[12,44,null,0,false,true,false,839481920524363,null,[[10,32]]],[12,44,null,0,false,true,false,448557327679793,null,[[10,12]]],[12,44,null,0,false,true,false,380979381070503,null,[[10,13]]]],[[12,102,null,357173068335279,0,null,[[10,8],[3,1]]]]]]],[0,0,false,null,282768069692555,266,[[-1,49,null,0,false,false,false,181790215519468,null]],[],[[0,0,false,null,950383695600350,267,[[12,44,null,0,false,true,false,173935896866420,null,[[10,12]]]],[[12,102,null,774646268737622,0,null,[[10,9],[3,1]]],[12,102,null,739627455607815,0,null,[[10,8],[3,0]]],[12,102,null,989426887415233,0,null,[[10,13],[3,0]]],[12,102,null,322384317137924,0,null,[[10,14],[3,0]]]]]]]]],[0,0,false,null,296593824738430,268,[[-1,49,null,0,false,false,false,755658114391581,null]],[],[[0,0,true,null,543225617385531,269,[[12,110,"Platform",0,false,false,false,226194933092912,null,[[3,0]]],[12,110,"Platform",0,false,false,false,186739302339652,null,[[3,1]]]],[],[[0,0,true,null,602856199077283,270,[[0,51,null,0,false,false,false,731261168491836,null,[[1,[16]]]],[0,51,null,0,false,false,false,997156302284652,null,[[1,[17]]]]],[],[[0,0,false,null,395868959918641,271,[[12,44,null,0,false,false,false,617361932599839,null,[[10,15]]],[12,44,null,0,false,true,false,247842024713668,null,[[10,9]]],[12,44,null,0,false,true,false,354292339784354,null,[[10,12]]],[-1,57,null,0,false,false,false,898744427013856,null,[[7,[7,[0,12,"Platform",108,false]]],[8,2],[7,[167,[0,12,"Platform",109,false]]]]]],[[12,42,null,691372805173744,0,null,[[10,16],[7,[169,[2,12,false,16],[2,12,false,16]]]]],[12,102,null,317608828992551,0,null,[[10,14],[3,1]]]]],[0,0,false,null,152701317773347,272,[[-1,49,null,0,false,false,false,839949219530159,null],[12,44,null,0,false,true,false,926751049739764,null,[[10,9]]],[12,44,null,0,false,true,false,658174822645318,null,[[10,32]]],[12,44,null,0,false,true,false,749577478873128,null,[[10,12]]],[12,44,null,0,false,true,false,429032988089548,null,[[10,13]]]],[[12,102,null,267569534772411,0,null,[[10,8],[3,1]]]]]]],[0,0,false,null,360906872779960,273,[[-1,49,null,0,false,false,false,896624425007020,null]],[],[[0,0,false,null,827714374404317,274,[[12,44,null,0,false,true,false,962646841124245,null,[[10,12]]]],[[12,102,null,907435874412169,0,null,[[10,9],[3,1]]],[12,102,null,912925525969123,0,null,[[10,8],[3,0]]],[12,102,null,165621989234775,0,null,[[10,13],[3,0]]],[12,102,null,386217639565464,0,null,[[10,14],[3,0]]]]]]]]],[0,0,false,null,637449521756661,275,[[-1,49,null,0,false,false,false,221795932283008,null]],[],[[0,0,true,null,210154173638874,276,[[0,51,null,0,false,false,false,272647174857493,null,[[1,[16]]]],[0,51,null,0,false,false,false,823588500113965,null,[[1,[17]]]]],[],[[0,0,false,null,757493762664664,277,[[12,44,null,0,false,true,false,657334385885061,null,[[10,9]]],[12,44,null,0,false,true,false,570001608368909,null,[[10,32]]],[12,44,null,0,false,true,false,222824314518364,null,[[10,12]]],[12,44,null,0,false,true,false,196406104252584,null,[[10,13]]]],[[12,102,null,276264008694540,0,null,[[10,8],[3,1]]]]]]],[0,0,false,null,478256570751599,278,[[-1,49,null,0,false,false,false,125123381100936,null]],[],[[0,0,false,null,407579938230147,279,[[12,44,null,0,false,true,false,786187475446828,null,[[10,12]]]],[[12,102,null,570557247816024,0,null,[[10,9],[3,1]]],[12,102,null,301580802661704,0,null,[[10,8],[3,0]]],[12,102,null,439712596256383,0,null,[[10,13],[3,0]]],[12,102,null,149182373221006,0,null,[[10,14],[3,0]]]]]]]]]]]]]]],[4,["ControlsBuffer",0,[[1,"Parameter0",1,"",false,false,604664554886781,false,205],[1,"Parameter1",0,0,false,false,291415589129821,false,214]],true,false],false,null,452323533184948,280,[],[],[[1,"Length",0,5,false,false,268253305779948,false,212],[1,"Input",1,"",false,false,114396144087691,false,213],[0,0,false,null,558612047869878,281,[],[[-1,40,null,840644900593403,0,null,[[11,"Input"],[7,[2,[3,"Parameter0"]]]]],[-1,40,null,200405336166705,0,null,[[11,"Length"],[7,[170,[3,"Parameter1"],[3,"Length"],[3,"Parameter1"]]]]]]],[0,0,false,null,320991734054164,282,[[-1,111,null,0,true,false,false,714989204250569,null,[[0,[2,[3,"Length"]]]]]],[[2,112,null,666796890437109,0,null,[[3,0],[7,[2,[3,"Input"]]],[3,0]]]]]]],[4,["ControlsClearBuffer",0,[],true,false],false,null,380013364038566,283,[],[[2,113,null,907120992835241,0,null,[[0,[6]],[0,[4]],[0,[4]]]]]],[0,0,true,null,254064475291318,284,[[0,51,null,0,false,false,false,674485531911244,null,[[1,[16]]]],[0,51,null,0,false,false,false,508655169418922,null,[[1,[17]]]]],[],[[0,0,false,null,783217835209020,285,[[-1,114,null,0,false,false,false,152453059982891,null,[[11,"Inverted"],[8,0],[7,[6]]]]],[],[[0,0,false,null,437652179711234,286,[[0,51,null,0,false,false,false,873360277395839,null,[[1,[17]]]]],[[12,115,"Platform",129134712057115,0,null,[[3,0]]]]],[0,0,false,null,353710777903622,287,[[0,51,null,0,false,false,false,581695127242472,null,[[1,[16]]]]],[[12,115,"Platform",414447619918650,0,null,[[3,1]]]]]]],[0,0,false,null,409240548171973,288,[[-1,49,null,0,false,false,false,958124746145883,null]],[],[[0,0,false,null,415783064781923,289,[[0,51,null,0,false,false,false,284381686438448,null,[[1,[17]]]]],[[12,115,"Platform",416888808825630,0,null,[[3,1]]]]],[0,0,false,null,378728374023667,290,[[0,51,null,0,false,false,false,798973063024993,null,[[1,[16]]]]],[[12,115,"Platform",615205345715490,0,null,[[3,0]]]]]]]]]]],[3,[true,"Player > Controls > Special Movements"],false,null,781258033025545,291,[[-1,39,null,0,false,false,false,0,false,[[1,[171]]]]],[],[[0,0,false,null,394789461579642,292,[[12,98,"Platform",0,false,false,false,268115305678951,null],[12,44,null,0,false,true,false,768665463494171,null,[[10,5]]],[-1,57,null,0,false,false,false,420578408694318,null,[[7,[7,[0,12,"Platform",116,false]]],[8,4],[7,[172]]]]],[[12,117,"Platform",101315853081064,0,null,[[3,0]]]],[[0,0,false,null,760765312105138,293,[[12,118,"Timer",0,false,true,false,401056460161550,null,[[1,[173]]]]],[[12,119,"Timer",341129975668474,0,null,[[0,[174]],[3,0],[1,[173]]]]]]]],[0,0,false,null,824963062389860,294,[[-1,49,null,0,false,false,false,911490893932308,null],[-1,57,null,0,false,false,false,887859836120433,null,[[7,[7,[0,12,"Platform",120,false]]],[8,3],[7,[172]]]],[12,44,null,0,false,true,false,692011142495237,null,[[10,5]]],[12,44,null,0,false,true,false,124420342359459,null,[[10,9]]],[12,44,null,0,false,true,false,799727397800297,null,[[10,12]]],[12,44,null,0,false,true,false,489791700293452,null,[[10,14]]],[12,44,null,0,false,true,false,546647194054917,null,[[10,8]]],[12,44,null,0,false,true,false,522739353612161,null,[[10,1]]],[12,44,null,0,false,true,false,693965761780025,null,[[10,1]]],[12,50,null,0,false,true,false,714740585894197,null,[[10,0],[8,0],[7,[76]]]],[12,110,"Platform",0,false,true,false,358381556589803,null,[[3,0]]],[12,110,"Platform",0,false,true,false,175305139615661,null,[[3,1]]],[12,50,null,0,false,true,false,901067792060213,null,[[10,0],[8,0],[7,[80]]]]],[[12,104,"Platform",922308945294033,0,null,[[0,[175]]]],[12,121,"Platform",399747466238573,0,null,[[0,[172]]]],[12,42,null,558736302407647,0,null,[[10,27],[7,[7,[0,12,"Platform",116,false]]]]]]],[0,0,false,null,377911922369579,296,[[2,103,null,0,false,false,false,720499796665342,null,[[3,0],[8,4],[0,[6]]]],[-1,122,null,0,false,false,false,892687167164580,null,[[0,[176]]]]],[[0,123,null,154976945721624,0,null,[[1,[177,[1,2,124,false]]]]],[2,125,null,873096658383220,0,null,[[3,1],[3,0]]]]],[0,0,false,null,720293930224063,297,[[12,126,"Timer",0,false,false,false,545573034591005,null,[[1,[173]]]],[12,98,"Platform",0,false,false,false,947540380613611,null]],[],[[0,0,false,null,796960700159024,298,[[12,44,null,0,false,true,false,787354643057148,null,[[10,5]]]],[[12,104,"Platform",508771477080013,0,null,[[0,[175]]]],[12,121,"Platform",375013817012861,0,null,[[0,[172]]]],[12,42,null,283748557935838,0,null,[[10,27],[7,[7,[0,12,"Platform",116,false]]]]]]]]],[0,0,false,null,510719055293421,299,[[12,98,"Platform",0,false,false,false,817716658577926,null],[12,44,null,0,false,true,false,639201122175617,null,[[10,15]]]],[[12,102,null,831851893864103,0,null,[[10,15],[3,1]]],[12,42,null,354339209509072,0,null,[[10,16],[7,[164]]]]]],[0,0,false,null,713653291782929,300,[[12,44,null,0,false,false,false,595707314991016,null,[[10,5]]]],[],[[0,0,false,null,435012323462755,301,[[-1,67,null,0,false,false,false,148727001247864,null]],[[12,102,null,676319377420116,0,null,[[10,4],[3,0]]],[12,102,null,469757378212836,0,null,[[10,9],[3,0]]],[-1,77,null,421700852661496,2,null,[[0,[31,[2,12,false,6]]]]],[12,102,null,747469220689267,0,null,[[10,5],[3,0]]],[-1,77,null,328275846848820,2,null,[[0,[31,[2,12,false,7]]]]]],[[0,0,false,null,353132804098901,302,[[12,44,null,0,false,true,false,497001890228768,null,[[10,4]]]],[[12,102,null,989221202347286,0,null,[[10,4],[3,1]]]]]]],[0,0,false,null,684187962126155,303,[[-1,67,null,0,false,false,false,822746283134847,null]],[],[[0,0,false,null,903009564910166,304,[[12,98,"Platform",0,false,true,false,552298558644284,null]],[[12,102,null,485529174386370,0,null,[[10,5],[3,0]]]]],[0,0,false,null,196312600275104,305,[[-1,49,null,0,false,false,false,638681361775928,null]],[[12,127,null,390572170277445,0,null,[[0,[4]]]],[12,117,"Platform",149549575789431,0,null,[[3,1]]],[12,128,"Platform",542149475767243,0,null,[[0,[178,[0,12,"Platform",116,false],[2,12,false,3]]]]],[12,121,"Platform",280163471691723,0,null,[[0,[179]]]],[12,42,null,225625696762376,0,null,[[10,27],[7,[7,[0,12,"Platform",116,false]]]]]]]]],[0,0,false,null,659403329479470,306,[[-1,49,null,0,false,false,false,102624864328938,null]],[[12,127,null,524532510348683,0,null,[[0,[4]]]],[12,117,"Platform",347317817149500,0,null,[[3,1]]],[12,128,"Platform",967593122385535,0,null,[[0,[178,[0,12,"Platform",116,false],[2,12,false,3]]]]],[12,121,"Platform",552792967602670,0,null,[[0,[179]]]],[12,42,null,810617562990446,0,null,[[10,27],[7,[7,[0,12,"Platform",116,false]]]]]]],[0,0,false,null,700538012531236,307,[[0,97,null,1,false,false,false,414077213551619,null,[[1,[155]]]]],[[12,104,"Platform",460263074084503,0,null,[[0,[6]]]],[12,105,"Platform",565047585376047,0,null,[[0,[161,[0,12,"Platform",106,false]]]]],[12,102,null,824082440038812,0,null,[[10,5],[3,0]]],[-2,"ControlsClearBuffer",null,603844386850951,0,null],[-1,77,null,903296781112983,2,null,[[0,[162]]]],[12,102,null,206996766919884,0,null,[[10,8],[3,1]]]]],[0,0,false,null,281112700731859,308,[[12,126,"Timer",0,false,false,false,203316760730795,null,[[1,[180]]]]],[[12,104,"Platform",892150883367587,0,null,[[0,[6]]]],[12,102,null,912056975421839,0,null,[[10,5],[3,0]]],[12,127,null,779595848123052,0,null,[[0,[6]]]],[6,129,null,978046573777961,0,null,[[1,[108]]]]]],[0,0,false,null,519139936264109,309,[[12,98,"Platform",0,false,true,false,432654653784721,null],[-1,67,null,0,false,false,false,324922475101695,null]],[[12,119,"Timer",423798376851611,0,null,[[0,[181]],[3,0],[1,[180]]]]]],[0,0,false,null,789307657697218,310,[[12,98,"Platform",0,false,false,false,562838981661253,null]],[[12,130,"Timer",244511944479607,0,null,[[1,[180]]]]]],[0,0,true,null,820504135772756,311,[[12,110,"Platform",0,false,false,false,422241470902539,null,[[3,0]]],[12,110,"Platform",0,false,false,false,319804072872169,null,[[3,1]]]],[[12,104,"Platform",468835460237736,0,null,[[0,[6]]]],[12,102,null,382256293663712,0,null,[[10,5],[3,0]]],[12,127,null,368677411750347,0,null,[[0,[6]]]],[6,129,null,728255856556769,0,null,[[1,[108]]]]]]]],[0,0,false,null,607555540309337,312,[[12,44,null,0,false,false,false,117325120625869,null,[[10,11]]]],[[12,102,null,790191365246760,0,null,[[10,9],[3,0]]],[12,102,null,830343306288261,0,null,[[10,10],[3,0]]],[12,127,null,135180033304467,0,null,[[0,[4]]]],[12,117,"Platform",554012100244253,0,null,[[3,1]]],[12,128,"Platform",950149472135299,0,null,[[0,[178,[0,12,"Platform",116,false],[2,12,false,3]]]]],[12,121,"Platform",629790727083696,0,null,[[0,[179]]]],[12,42,null,392390839768686,0,null,[[10,27],[7,[7,[0,12,"Platform",116,false]]]]]],[[0,0,false,null,863492546008719,313,[[12,98,"Platform",0,false,true,false,893796728695355,null]],[],[[0,0,false,null,236544447819104,314,[[-1,67,null,0,false,false,false,621992424789686,null]],[[12,119,"Timer",791375228715704,0,null,[[0,[181]],[3,0],[1,[180]]]]]],[0,0,false,null,346643562251425,315,[[12,126,"Timer",0,false,false,false,959597544886820,null,[[1,[180]]]]],[[12,104,"Platform",274189547296452,0,null,[[0,[6]]]],[12,102,null,900906474907219,0,null,[[10,11],[3,0]]],[12,127,null,399452988650756,0,null,[[0,[6]]]]]]]],[0,0,false,null,278113615419392,316,[[12,98,"Platform",0,false,false,false,544291786286525,null]],[[12,130,"Timer",749567494036173,0,null,[[1,[180]]]]]],[0,0,true,null,658711904114042,317,[[12,110,"Platform",0,false,false,false,103053115879458,null,[[3,0]]],[12,110,"Platform",0,false,false,false,128108626966842,null,[[3,1]]]],[[12,102,null,467898720701424,0,null,[[10,11],[3,0]]],[12,102,null,634315535686451,0,null,[[10,4],[3,1]]]]]]],[0,0,false,null,305407685397542,318,[[12,44,null,0,false,false,false,657987586697370,null,[[10,8]]]],[],[[0,0,false,null,461153569603921,319,[[-1,67,null,0,false,false,false,178099548702418,null]],[],[[0,0,false,null,945698664509011,320,[[0,51,null,0,false,false,false,347207860150064,null,[[1,[17]]]],[0,51,null,0,false,true,false,443477488103437,null,[[1,[16]]]]],[[-2,"PlayerMirror",null,346174440094548,0,null,[[0,[18,[1,12,107,false]]]]]]],[0,0,false,null,529538311193662,321,[[0,51,null,0,false,true,false,231548513769249,null,[[1,[17]]]],[0,51,null,0,false,false,false,289369285575191,null,[[1,[16]]]]],[[-2,"PlayerUnmirror",null,576292891309879,0,null,[[0,[18,[1,12,107,false]]]]]]]]],[0,0,false,null,670943797131071,322,[],[[12,127,null,204306677683642,0,null,[[0,[4]]]],[12,117,"Platform",247212167586483,0,null,[[3,1]]]]],[0,0,true,null,369852038995950,323,[[12,110,"Platform",0,false,false,false,763532031405810,null,[[3,0]]],[12,110,"Platform",0,false,false,false,269577516469654,null,[[3,1]]]],[[12,102,null,631724994912295,0,null,[[10,8],[3,0]]],[12,102,null,243120343176361,0,null,[[10,12],[3,1]]]]],[0,0,true,null,593023078899896,324,[[12,98,"Platform",0,false,true,false,410423384508342,null]],[[12,128,"Platform",884136327805002,0,null,[[0,[182,[0,12,"Platform",116,false],[2,12,false,3]]]]],[12,121,"Platform",537596602543891,0,null,[[0,[179]]]],[12,42,null,425045727792677,0,null,[[10,27],[7,[7,[0,12,"Platform",116,false]]]]],[12,104,"Platform",135634300950934,0,null,[[0,[6]]]]]],[0,0,false,null,706099360014088,325,[[12,98,"Platform",0,false,false,false,864903158775451,null],[12,131,"Platform",0,false,false,false,721416421088381,null]],[[12,104,"Platform",975182963818077,0,null,[[0,[183]]]]],[[0,0,false,null,839720010045511,326,[[0,97,null,1,false,false,false,774822653027479,null,[[1,[155]]]]],[[12,105,"Platform",353465868762298,0,null,[[0,[184,[0,12,"Platform",106,false]]]]],[12,102,null,197306872703401,0,null,[[10,8],[3,0]]],[12,102,null,792244616966596,0,null,[[10,13],[3,1]]],[-2,"ControlsClearBuffer",null,462751092388007,0,null]]]]],[0,0,false,null,953022540395536,327,[[12,98,"Platform",0,false,false,false,174367954714889,null],[12,131,"Platform",0,false,true,false,425897847734685,null]],[[12,102,null,964670847810373,0,null,[[10,8],[3,0]]]]]]],[0,0,false,null,535807198420549,328,[[12,44,null,0,false,false,false,318395378683609,null,[[10,13]]]],[[12,127,null,674722041769027,0,null,[[0,[6]]]],[12,117,"Platform",300991471541821,0,null,[[3,0]]],[12,121,"Platform",782573150710773,0,null,[[0,[179]]]],[12,42,null,545774992094923,0,null,[[10,27],[7,[7,[0,12,"Platform",116,false]]]]],[12,128,"Platform",228742276329488,0,null,[[0,[185,[0,12,"Platform",116,false],[2,12,false,3]]]]],[12,104,"Platform",548157915104968,0,null,[[0,[6]]]]],[[0,0,true,null,345524425220487,329,[[12,110,"Platform",0,false,false,false,829773709078184,null,[[3,0]]],[12,110,"Platform",0,false,false,false,530952775515952,null,[[3,1]]]],[[12,102,null,724022069192407,0,null,[[10,13],[3,0]]]]],[0,0,false,null,592525871242451,330,[[12,98,"Platform",0,false,false,false,640463952843303,null]],[[12,102,null,948635675405694,0,null,[[10,13],[3,0]]]]]]],[0,0,false,null,162062931562666,331,[[12,44,null,0,false,false,false,490283227879466,null,[[10,14]]]],[[12,127,null,521590606483098,0,null,[[0,[6]]]],[12,105,"Platform",415559955748464,0,null,[[0,[186,[0,12,"Platform",106,false]]]]],[12,128,"Platform",416938512204667,0,null,[[0,[187,[2,12,false,3],[0,12,"Platform",116,false]]]]],[12,117,"Platform",565540393869634,0,null,[[3,0]]]],[[1,"check",2,true,true,false,913260949516604,false,215],[0,0,false,null,982252188131761,332,[[-1,67,null,0,false,false,false,594768828824172,null]],[[12,102,null,276964975333430,0,null,[[10,15],[3,0]]],[-1,132,null,583968126729356,0,null,[[11,"check"],[3,1]]]]],[0,0,false,null,958071857831330,333,[[-1,133,null,0,false,false,false,806769986374902,null,[[11,"check"]]]],[[-1,132,null,581872491756100,0,null,[[11,"check"],[3,0]]],[-1,77,null,297642578861126,2,null,[[0,[31,[2,12,false,16]]]]]],[[0,0,true,null,145718530944318,334,[[12,110,"Platform",0,false,false,false,114726620239085,null,[[3,0]]],[12,110,"Platform",0,false,false,false,681053492144224,null,[[3,1]]]],[[12,102,null,151967127734403,0,null,[[10,14],[3,0]]]]],[0,0,false,null,583576990788201,335,[[-1,49,null,0,false,false,false,248195683078765,null]],[[12,42,null,832587980074172,0,null,[[10,16],[7,[188,[2,12,false,16]]]]]],[[0,0,false,null,512263117996345,336,[[12,50,null,0,false,false,false,723284358585580,null,[[10,16],[8,2],[7,[181]]]]],[[12,102,null,928960117691832,0,null,[[10,14],[3,0]]]]],[0,0,false,null,926105220827676,337,[[-1,49,null,0,false,false,false,538218122997856,null]],[[-1,132,null,684541901244583,0,null,[[11,"check"],[3,1]]]]]]]]],[0,0,true,null,743680691304006,338,[[12,110,"Platform",0,false,false,false,386349439146133,null,[[3,0]]],[12,110,"Platform",0,false,false,false,579365407589539,null,[[3,1]]]],[],[[0,0,false,null,113643253912533,339,[[12,110,"Platform",0,false,false,false,964816007147142,null,[[3,0]]]],[],[[0,0,false,null,590130900371157,340,[[0,97,null,1,false,false,false,190870248890025,null,[[1,[155]]]]],[[12,102,null,658367975118403,0,null,[[10,14],[3,0]]],[-2,"ControlsClearBuffer",null,504390380084593,0,null]],[[0,0,false,null,972199395169999,341,[[0,51,null,0,false,false,false,938893057119037,null,[[1,[17]]]]],[[12,128,"Platform",784385687100190,0,null,[[0,[189,[0,12,"Platform",116,false]]]]],[12,102,null,927926025159678,0,null,[[10,15],[3,1]]],[-1,77,null,974628486333567,2,null,[[0,[190]]]],[12,105,"Platform",250575743325706,0,null,[[0,[161,[0,12,"Platform",106,false]]]]]]],[0,0,false,null,754880271144297,342,[[-1,49,null,0,false,false,false,195947813990623,null]],[[12,105,"Platform",412269459782015,0,null,[[0,[161,[0,12,"Platform",106,false]]]]],[-1,77,null,893805325217663,2,null,[[0,[190]]]],[12,102,null,672689720187079,0,null,[[10,8],[3,1]]]]]]]]],[0,0,false,null,392115047217888,343,[[12,110,"Platform",0,false,false,false,674106886082266,null,[[3,1]]]],[],[[0,0,false,null,537475576098699,344,[[0,97,null,1,false,false,false,290973937163933,null,[[1,[155]]]]],[[12,102,null,113063082174541,0,null,[[10,14],[3,0]]],[-2,"ControlsClearBuffer",null,953551121920771,0,null]],[[0,0,false,null,696105719520341,345,[[0,51,null,0,false,false,false,842083102337338,null,[[1,[16]]]]],[[12,128,"Platform",635452234569878,0,null,[[0,[7,[0,12,"Platform",116,false]]]]],[12,102,null,398322883022706,0,null,[[10,15],[3,1]]],[-1,77,null,643681864936804,2,null,[[0,[190]]]],[12,105,"Platform",785329367563640,0,null,[[0,[161,[0,12,"Platform",106,false]]]]]]],[0,0,false,null,524093223695815,346,[[-1,49,null,0,false,false,false,427784052606540,null]],[[12,105,"Platform",755705205548927,0,null,[[0,[161,[0,12,"Platform",106,false]]]]],[-1,77,null,423476762053831,2,null,[[0,[190]]]],[12,102,null,632799861683670,0,null,[[10,8],[3,1]]]]]]]]]]],[0,0,false,null,190661232112547,347,[[-1,49,null,0,false,false,false,406804139933356,null]],[],[[0,0,false,null,250485117314365,348,[[0,97,null,1,false,false,false,858836950826111,null,[[1,[155]]]]],[[12,102,null,482411430063518,0,null,[[10,14],[3,0]]],[12,102,null,547203751658190,0,null,[[10,13],[3,1]]],[12,42,null,191957902718497,0,null,[[10,0],[7,[99]]]],[12,102,null,240812656482310,0,null,[[10,15],[3,1]]],[-2,"ControlsClearBuffer",null,722480823217538,0,null]]],[0,0,false,null,556237510983260,349,[],[[-1,77,null,147847073407177,2,null,[[0,[162]]]]],[[0,0,false,null,550387385260313,350,[[12,110,"Platform",0,false,true,false,558456775606435,null,[[3,0]]],[12,110,"Platform",0,false,true,false,761738402247724,null,[[3,1]]]],[[12,102,null,110968032085793,0,null,[[10,14],[3,0]]]]]]]]],[0,0,false,null,791541796012409,351,[],[]]]],[0,0,false,null,143621281686191,352,[[12,44,null,0,false,false,false,517940680295150,null,[[10,9]]]],[[12,134,"Platform",559142732655422,0,null,[[0,[191,[0,12,"Platform",109,false]]]]],[12,117,"Platform",815488328851453,0,null,[[3,1]]]],[[1,"vecX",0,0,true,false,631859915824174,false,216],[1,"vecY",0,0,true,false,201764165374966,false,217],[0,0,false,null,539481159951165,353,[[-1,67,null,0,false,false,false,671989159868795,null]],[[19,135,"Jumpthru",400744528247678,0,null,[[3,0]]],[17,136,"Solid",654757799238965,0,null,[[3,0]]],[62,136,"Solid",703469173940979,0,null,[[3,0]]],[-1,40,null,864596630024622,0,null,[[11,"vecX"],[7,[7,[0,12,"Platform",101,false]]]]],[-1,40,null,892684617362267,0,null,[[11,"vecY"],[7,[7,[0,12,"Platform",108,false]]]]]],[[0,0,false,null,268294031312213,354,[[12,137,null,0,false,false,false,232216176717268,null,[[8,0],[0,[4]]]]],[[12,52,"LineOfSight",145872137503913,0,null,[[0,[18,[1,12,53,false]]],[0,[192,[1,12,54,false],[1,12,55,false]]],[0,[18,[1,12,53,false]]],[0,[193,[1,12,54,false],[1,12,55,false]]],[16,true]]]],[[0,0,false,null,401315199462650,355,[[12,56,"LineOfSight",0,false,false,false,175319139830984,null]],[[12,138,null,203705813606244,0,null,[[0,[194,[1,12,54,false],[1,12,55,false],[0,12,"LineOfSight",85,false]]]]]]]]]]],[0,0,false,null,749651645515340,356,[],[[12,128,"Platform",739751388946398,0,null,[[0,[6]]]],[12,127,null,815844862478032,0,null,[[0,[6]]]]]],[0,0,true,null,795932790830691,357,[[12,98,"Platform",0,false,false,false,787131855075368,null]],[],[[0,0,false,null,459500770847579,358,[[0,97,null,1,false,false,false,528011326126939,null,[[1,[155]]]]],[[-2,"ControlsClearBuffer",null,600582662624245,0,null],[12,105,"Platform",974095184068172,0,null,[[0,[195,[0,12,"Platform",106,false]]]]],[12,102,null,367799239472656,0,null,[[10,9],[3,0]]],[12,42,null,952458174300362,0,null,[[10,0],[7,[70]]]]],[[0,0,false,null,620804108234640,359,[],[[12,102,null,599986283649193,0,null,[[10,10],[3,1]]],[-1,77,null,272088833557656,2,null,[[0,[159]]]],[12,102,null,193031663763126,0,null,[[10,10],[3,0]]]]]]],[0,0,false,null,573743010105198,360,[[-1,67,null,0,false,false,false,432948897453462,null]],[[8,139,null,414254883021063,0,null,[[1,[0]],[0,[196]],[0,[196]],[0,[181]],[0,[6]],[0,[181]],[0,[197]]]],[-1,77,null,349941515868150,2,null,[[0,[197]]]],[12,130,"Timer",205623198289753,0,null,[[1,[198]]]],[12,130,"Timer",976016945073807,0,null,[[1,[199]]]],[12,102,null,921332682617756,0,null,[[10,9],[3,0]]]]]]],[0,0,false,null,437603666006169,361,[[-1,67,null,0,false,false,false,425931549527216,null]],[[12,105,"Platform",641612665499759,0,null,[[0,[200,[0,12,"Platform",109,false]]]]],[12,119,"Timer",961333988263844,0,null,[[0,[197]],[3,0],[1,[198]]]],[12,119,"Timer",338596994041415,0,null,[[0,[201]],[3,0],[1,[199]]]]]],[0,0,false,null,448751889280928,362,[[12,126,"Timer",0,false,false,false,795279229867237,null,[[1,[198]]]]],[[12,105,"Platform",900067385041314,0,null,[[0,[202,[0,12,"Platform",109,false]]]]]]],[0,0,false,null,889645089810034,363,[[12,118,"Timer",0,false,false,false,270220300151472,null,[[1,[199]]]],[-1,57,null,0,false,false,false,746255181207407,null,[[7,[203,[3,"vecX"]]],[8,4],[7,[172]]]]],[],[[0,0,false,null,190610663060095,364,[[0,97,null,1,false,false,false,401693609334019,null,[[1,[155]]]]],[],[[0,0,false,null,971742762876686,365,[[0,51,null,0,false,false,false,599580506203912,null,[[1,[16]]]],[12,50,null,0,false,false,false,920654185350374,null,[[10,3],[8,0],[7,[3]]]]],[[-2,"ControlsClearBuffer",null,257605607998152,0,null],[12,105,"Platform",931790144836819,0,null,[[0,[204,[3,"vecY"]]]]],[12,130,"Timer",429266665913976,0,null,[[1,[198]]]],[12,130,"Timer",242976607211236,0,null,[[1,[199]]]],[12,102,null,583485895367564,0,null,[[10,9],[3,0]]],[-1,77,null,334850923714737,2,null,[[0,[6]]]],[12,128,"Platform",360916065843714,0,null,[[0,[205,[3,"vecX"]]]]],[12,102,null,443613293266826,0,null,[[10,32],[3,1]]]]],[0,0,false,null,327678247377250,366,[[-1,49,null,0,false,false,false,873531410169643,null],[0,51,null,0,false,false,false,643477321166112,null,[[1,[17]]]],[12,50,null,0,false,false,false,431156227040641,null,[[10,3],[8,0],[7,[4]]]]],[[-2,"ControlsClearBuffer",null,412701211377476,0,null],[12,105,"Platform",173562201326759,0,null,[[0,[204,[3,"vecY"]]]]],[12,130,"Timer",379917623436567,0,null,[[1,[198]]]],[12,130,"Timer",780442013568880,0,null,[[1,[199]]]],[12,102,null,679307705752158,0,null,[[10,9],[3,0]]],[-1,77,null,536371045071149,2,null,[[0,[6]]]],[12,128,"Platform",177698565413577,0,null,[[0,[206,[3,"vecX"]]]]],[12,102,null,355490778991372,0,null,[[10,32],[3,1]]]]]]]]]]],[0,0,false,null,304386866859067,367,[[12,44,null,0,false,false,false,208667331721595,null,[[10,21]]]],[[12,127,null,146079371529867,0,null,[[0,[4]]]],[12,117,"Platform",494530678636838,0,null,[[3,1]]]],[[1,"HasMoved",0,0,true,false,840702804595254,false,218],[0,0,false,null,129249208206830,368,[[-1,67,null,0,false,false,false,140164031876981,null]],[[-1,40,null,731454482087933,0,null,[[11,"HasMoved"],[7,[6]]]],[12,102,null,489543217940645,0,null,[[10,5],[3,0]]],[12,102,null,356028765330169,0,null,[[10,8],[3,0]]],[12,102,null,406267001165287,0,null,[[10,12],[3,0]]]]],[0,0,false,null,480335476238984,369,[[12,140,null,0,false,true,false,174294084329140,null,[[0,[6]],[0,[207]]]],[12,140,null,0,false,true,false,402894249894215,null,[[0,[208]],[0,[209]]]]],[[12,128,"Platform",689562871526988,0,null,[[0,[210,[0,12,"Platform",116,false],[2,12,false,3]]]]],[12,121,"Platform",842401003754937,0,null,[[0,[211]]]],[12,42,null,502767341249939,0,null,[[10,27],[7,[7,[0,12,"Platform",116,false]]]]],[12,104,"Platform",610421554326541,0,null,[[0,[6]]]]]],[0,0,false,null,780256215174902,370,[[-1,49,null,0,false,false,false,864288597838830,null],[12,131,"Platform",0,false,false,false,969607304362818,null]],[[12,104,"Platform",445390848496205,0,null,[[0,[212]]]]]],[0,0,false,null,621713143830166,371,[[-1,49,null,0,false,false,false,591854032988863,null]],[[12,102,null,551360572651561,0,null,[[10,21],[3,0]]]]]]],[0,0,false,null,956291464033652,372,[[12,44,null,0,false,false,false,842649650224928,null,[[10,12]]]],[[12,117,"Platform",936908719567980,0,null,[[3,1]]],[12,102,null,903481125733476,0,null,[[10,14],[3,0]]]],[[0,0,false,null,893796900808762,373,[[12,98,"Platform",0,false,false,false,501420882645180,null],[-1,67,null,0,false,false,false,139989879872186,null]],[[12,127,null,337792591745615,0,null,[[0,[6]]]],[-1,77,null,726228986489951,2,null,[[0,[201]]]],[12,102,null,991221153394297,0,null,[[10,12],[3,0]]],[12,128,"Platform",295554064710501,0,null,[[0,[213,[2,12,false,3]]]]]]],[0,0,false,null,500387899356004,375,[[-1,67,null,0,false,false,false,742224993606527,null]],[[12,128,"Platform",330225628512858,0,null,[[0,[214,[0,12,"Platform",101,false]]]]],[8,139,null,755244013932178,0,null,[[1,[0]],[0,[215]],[0,[196]],[0,[216]],[0,[6]],[0,[181]],[0,[217]]]]]]]],[0,0,false,null,895286987149732,376,[[12,44,null,0,false,true,false,411435816161256,null,[[10,5]]],[12,44,null,0,false,true,false,437102321584763,null,[[10,8]]],[12,44,null,0,false,true,false,265241712294075,null,[[10,9]]],[12,44,null,0,false,true,false,331264432223888,null,[[10,12]]],[12,44,null,0,false,true,false,485399622408167,null,[[10,1]]],[12,44,null,0,false,true,false,921744321689756,null,[[10,21]]],[12,44,null,0,false,true,false,981119854844127,null,[[10,14]]],[12,50,null,0,false,true,false,705107740176783,null,[[10,0],[8,0],[7,[36]]]],[7,90,null,0,false,true,false,659748276825933,null,[[10,0]]]],[[12,127,null,261536573242069,0,null,[[0,[6]]]],[12,117,"Platform",606783346551646,0,null,[[3,0]]]],[[0,0,false,null,386361505012417,377,[[0,97,null,1,false,false,false,874145779543888,null,[[1,[155]]]],[12,110,"Platform",0,false,true,false,813432121786851,null,[[3,0]]],[12,110,"Platform",0,false,true,false,742664069557361,null,[[3,1]]],[12,98,"Platform",0,false,false,false,129736737100352,null],[2,103,null,0,false,false,false,167160202950036,null,[[3,0],[8,4],[0,[6]]]]],[[-2,"ControlsClearBuffer",null,328499776342797,0,null],[12,105,"Platform",509698830094636,0,null,[[0,[189,[0,12,"Platform",106,false]]]]],[5,93,null,461890569757816,0,null,[[1,[2,[3,"VibratePtrn"]]]]]],[[0,0,false,null,358626983628827,378,[[12,118,"Timer",0,false,false,false,799966628874151,null,[[1,[173]]]]],[[12,141,null,125518030672827,0,null,[[4,55],[5,[6]],[7,[218]]]],[55,75,"Fade",825913778318926,0,null]]]]]]]]]]],[3,[true,"Player > WallSlide/Jump"],false,null,897962974821868,379,[[-1,39,null,0,false,false,false,0,false,[[1,[219]]]]],[],[[0,0,false,null,581320071833339,380,[[12,142,"Platform",0,false,false,false,336617417274744,null],[12,44,null,0,false,true,false,489924033177456,null,[[10,9]]],[12,44,null,0,false,true,false,143562208922866,null,[[10,12]]]],[],[[0,0,false,null,847882809617407,381,[[12,50,null,0,false,false,false,200870464554806,null,[[10,0],[8,0],[7,[80]]]]],[[12,105,"Platform",505587091811084,0,null,[[0,[220,[0,12,"Platform",108,false]]]]],[12,102,null,125380941106008,0,null,[[10,1],[3,1]]],[12,127,null,412093854798533,0,null,[[0,[6]]]]]],[0,0,false,null,912307605169002,382,[[-1,114,null,0,false,false,false,207550329894140,null,[[11,"Inverted"],[8,0],[7,[6]]]]],[],[[0,0,false,null,777432545478548,383,[[12,110,"Platform",0,false,false,false,313281164961412,null,[[3,0]]],[0,51,null,0,false,false,false,430537787019248,null,[[1,[17]]]]],[[12,105,"Platform",723818133250685,0,null,[[0,[220,[0,12,"Platform",108,false]]]]],[12,102,null,971643440218031,0,null,[[10,1],[3,1]]],[12,127,null,628651336883805,0,null,[[0,[6]]]]]],[0,0,false,null,938413874058102,384,[[12,110,"Platform",0,false,false,false,142579338104826,null,[[3,1]]],[0,51,null,0,false,false,false,327262911526224,null,[[1,[16]]]]],[[12,105,"Platform",179941423050119,0,null,[[0,[220,[0,12,"Platform",108,false]]]]],[12,102,null,482504478745342,0,null,[[10,1],[3,1]]],[12,127,null,846090166334436,0,null,[[0,[6]]]]]]]],[0,0,false,null,182904734065475,385,[[-1,49,null,0,false,false,false,176981741340805,null]],[],[[0,0,false,null,262002816657273,386,[[12,110,"Platform",0,false,false,false,909102229921368,null,[[3,0]]],[0,51,null,0,false,false,false,789632679954070,null,[[1,[16]]]]],[[12,105,"Platform",516862305714561,0,null,[[0,[220,[0,12,"Platform",108,false]]]]],[12,102,null,486811522365930,0,null,[[10,1],[3,1]]],[12,127,null,496565667829409,0,null,[[0,[6]]]]]],[0,0,false,null,597453002528234,387,[[12,110,"Platform",0,false,false,false,249086831884906,null,[[3,1]]],[0,51,null,0,false,false,false,341716005766839,null,[[1,[17]]]]],[[12,105,"Platform",447728675508476,0,null,[[0,[220,[0,12,"Platform",108,false]]]]],[12,102,null,141287487637648,0,null,[[10,1],[3,1]]],[12,127,null,755084680209933,0,null,[[0,[6]]]]]]]]]],[0,0,false,null,329153940471440,388,[[0,97,null,1,false,false,false,439219238628864,null,[[1,[155]]]],[12,98,"Platform",0,false,false,false,116971123929490,null],[12,44,null,0,false,true,false,479969893830303,null,[[10,5]]]],[[5,45,null,604744158288536,0,null,[[3,0],[7,[221]]]]],[[0,0,false,null,601549080890076,389,[[12,50,null,0,false,false,false,413825088917873,null,[[10,0],[8,0],[7,[36]]]]],[[5,45,null,447379134680755,0,null,[[3,0],[7,[36]]]],[-2,"ControlsClearBuffer",null,899566836991152,0,null],[12,102,null,863247846894962,0,null,[[10,13],[3,1]]],[-1,77,null,252679339877348,2,null,[[0,[6]]]],[12,105,"Platform",690260436662740,0,null,[[0,[222,[0,12,"Platform",106,false]]]]],[12,128,"Platform",518264290157153,0,null,[[0,[223,[2,12,false,3],[0,12,"Platform",116,false]]]]],[12,117,"Platform",549406889232767,0,null,[[3,0]]]]],[0,0,false,null,485179971012857,390,[[-1,49,null,0,false,false,false,956734955195809,null]],[],[[0,0,true,null,426549800704115,391,[[12,110,"Platform",0,false,false,false,300738828881755,null,[[3,0]]],[12,110,"Platform",0,false,false,false,144907753963542,null,[[3,1]]]],[[12,128,"Platform",749385357314859,0,null,[[0,[224,[2,12,false,3],[0,12,"Platform",116,false]]]]],[-2,"ControlsClearBuffer",null,999644560296797,0,null],[-1,77,null,658289031002877,2,null,[[0,[6]]]],[12,105,"Platform",846745973604449,0,null,[[0,[225,[0,12,"Platform",106,false]]]]]]]]]]],[0,0,false,null,420117773525160,392,[[0,97,null,1,false,false,false,619368700547687,null,[[1,[155]]]],[12,98,"Platform",0,false,true,false,807368316007199,null],[12,44,null,0,false,true,false,724070077217780,null,[[10,9]]],[12,44,null,0,false,true,false,788589288779942,null,[[10,12]]]],[],[[0,0,false,null,706653399148472,393,[[12,50,null,0,false,false,false,835379436953935,null,[[10,0],[8,0],[7,[80]]]]],[[12,128,"Platform",553160035494524,0,null,[[0,[187,[2,12,false,3],[0,12,"Platform",116,false]]]]],[12,104,"Platform",380920381084346,0,null,[[0,[6]]]],[5,45,null,553303594788964,0,null,[[3,0],[7,[226]]]],[-2,"ControlsClearBuffer",null,872748685684356,0,null],[12,105,"Platform",320446031977289,0,null,[[0,[227,[0,12,"Platform",106,false]]]]],[-1,77,null,451004088596968,2,null,[[0,[6]]]],[12,102,null,145197512626168,0,null,[[10,1],[3,1]]]]],[0,0,false,null,729343931304442,394,[[-1,49,null,0,false,false,false,456282936119801,null]],[],[[0,0,true,null,645106458439446,395,[[12,110,"Platform",0,false,false,false,376009865285526,null,[[3,0]]],[12,110,"Platform",0,false,false,false,459908206301815,null,[[3,1]]]],[],[[0,0,false,null,607158731307705,396,[],[[12,128,"Platform",891823501621652,0,null,[[0,[224,[2,12,false,3],[0,12,"Platform",116,false]]]]],[12,104,"Platform",279997988067869,0,null,[[0,[6]]]],[12,117,"Platform",929675268673007,0,null,[[3,1]]],[5,45,null,216694885441379,0,null,[[3,0],[7,[226]]]],[-2,"ControlsClearBuffer",null,151931882161652,0,null],[12,105,"Platform",376454257073338,0,null,[[0,[161,[0,12,"Platform",106,false]]]]]],[[0,0,false,null,582462992143327,397,[[12,44,null,0,false,false,false,756762555965619,null,[[10,2]]]],[[12,102,null,374369383323874,0,null,[[10,1],[3,1]]]]],[0,0,false,null,417922286555617,398,[[-1,49,null,0,false,false,false,548328845318596,null]],[[-1,77,null,948181895159597,2,null,[[0,[6]]]],[12,102,null,745549771017932,0,null,[[10,1],[3,1]]],[12,102,null,941911445908278,0,null,[[10,2],[3,1]]]]]]]]]]]]],[0,0,false,null,856907847179673,399,[[12,44,null,0,false,false,false,116811958918121,null,[[10,1]]],[12,142,"Platform",0,false,false,false,495629020118445,null],[12,110,"Platform",0,false,true,false,276148413961730,null,[[3,0]]],[12,110,"Platform",0,false,true,false,289631087969101,null,[[3,1]]]],[[12,102,null,244651111832363,0,null,[[10,1],[3,0]]],[5,45,null,733191159078683,0,null,[[3,0],[7,[228]]]]]],[0,0,false,null,803529664374864,400,[[12,44,null,0,false,false,false,622165870188898,null,[[10,1]]],[12,98,"Platform",0,false,false,false,208614898978284,null]],[[12,102,null,690272538060388,0,null,[[10,1],[3,0]]],[5,45,null,935642913291294,0,null,[[3,0],[7,[228]]]]]],[0,0,false,null,864222565324420,401,[[12,44,null,0,false,false,false,477651681097314,null,[[10,2]]],[12,98,"Platform",0,false,false,false,868345734197957,null]],[[12,102,null,520317002406667,0,null,[[10,2],[3,0]]]]]]],[3,[true,"Player > Initialisation"],false,null,123628374087149,402,[[-1,39,null,0,false,false,false,0,false,[[1,[229]]]]],[],[[0,0,true,null,511747637711474,403,[[-1,38,null,1,false,false,false,658948728074572,null]],[[12,42,null,822616043178396,0,null,[[10,18],[7,[31,[2,7,true,6]]]]]],[[0,0,false,null,674239462336516,404,[[-1,143,null,0,true,false,false,525065936212953,null,[[4,75],[7,[143,[2,75,false,0]]],[3,1]]]],[[75,144,null,938765543350359,0,null,[[3,0],[4,12]]],[5,45,null,629188901490157,0,null,[[3,0],[7,[230]]]]]],[0,0,false,null,599344961775050,408,[[-1,57,null,0,false,false,false,307144475185162,null,[[7,[231,[4,145],[4,146]]],[8,5],[7,[6]]]]],[[8,147,null,892200500733625,0,null,[[1,[0]],[0,[18,[1,12,53,false]]],[0,[18,[1,12,54,false]]],[0,[4]],[3,1]]],[8,148,null,846815223085433,0,null,[[1,[0]],[4,12],[0,[4]],[7,[6]]]],[8,149,null,809207587593200,0,null,[[1,[0]],[3,0]]],[8,150,null,313269550087493,0,null,[[1,[0]],[0,[215]]]]]],[0,0,false,null,815972625492007,409,[[-1,49,null,0,false,false,false,377815825546270,null]],[[-1,151,null,944370144598041,0,null,[[0,[232,[4,152]]],[0,[232,[4,153]]]]]]]]]]],[3,[true,"Player > Mirroring"],false,null,465384352389025,410,[[-1,39,null,0,false,false,false,0,false,[[1,[233]]]]],[],[[0,0,false,null,978062356331417,411,[[12,44,null,0,false,true,false,562583275958265,null,[[10,21]]]],[],[[0,0,false,null,770146534364943,412,[[12,50,null,0,false,false,false,254422306759550,null,[[10,3],[8,4],[7,[6]]]]],[],[[0,0,true,null,830452913276956,413,[[-1,57,null,0,false,false,false,890376146664356,null,[[7,[7,[0,12,"Platform",101,false]]],[8,2],[7,[6]]]]],[[-2,"PlayerMirror",null,617484838484115,0,null,[[0,[18,[1,12,107,false]]]]]]]]],[0,0,false,null,303598930515130,414,[[12,50,null,0,false,false,false,631154235510168,null,[[10,3],[8,2],[7,[6]]]]],[],[[0,0,true,null,134133261826707,415,[[-1,57,null,0,false,false,false,661535561789368,null,[[7,[7,[0,12,"Platform",101,false]]],[8,4],[7,[6]]]]],[[-2,"PlayerUnmirror",null,690806548602110,0,null,[[0,[18,[1,12,107,false]]]]]]]]]]]]],[3,[true,"Player > States"],false,null,949318562548910,416,[[-1,39,null,0,false,false,false,0,false,[[1,[234]]]]],[],[[0,0,false,null,272293554947318,417,[[12,50,null,0,false,false,false,247946851247640,null,[[10,0],[8,1],[7,[142]]]]],[],[[0,0,false,null,302294437957707,418,[[12,98,"Platform",0,false,false,false,690907403161745,null]],[],[[0,0,false,null,510374501876173,420,[[12,110,"Platform",0,false,false,false,296316015160923,null,[[3,1]]]],[[12,42,null,589726289071946,0,null,[[10,0],[7,[33]]]]]],[0,0,false,null,584608874344922,421,[[-1,49,null,0,false,false,false,207178794455741,null],[12,110,"Platform",0,false,false,false,791795150980203,null,[[3,0]]]],[[12,42,null,457004757904014,0,null,[[10,0],[7,[33]]]]]],[0,0,false,null,816442042664118,422,[[-1,49,null,0,false,false,false,536515649451920,null],[12,44,null,0,false,false,false,443925177228396,null,[[10,21]]]],[[12,42,null,273020457187604,0,null,[[10,0],[7,[124]]]]]],[0,0,false,null,493233524098875,423,[[-1,49,null,0,false,false,false,449214119305929,null],[12,44,null,0,false,false,false,217729902063614,null,[[10,5]]]],[[12,42,null,143052338123651,0,null,[[10,0],[7,[108]]]]]],[0,0,false,null,856653204564583,424,[[-1,49,null,0,false,false,false,742527423326004,null],[12,131,"Platform",0,false,false,false,925789957805342,null]],[[12,42,null,381338023949180,0,null,[[10,0],[7,[44]]]]]],[0,0,false,null,876982520537760,425,[[-1,49,null,0,false,false,false,711025179387380,null]],[[12,42,null,109160150160396,0,null,[[10,0],[7,[22]]]]]]]],[0,0,false,null,981876935317055,426,[[-1,49,null,0,false,false,false,370166149470432,null],[12,44,null,0,false,false,false,928985673218083,null,[[10,32]]]],[[12,42,null,130928753546546,0,null,[[10,0],[7,[30]]]]],[[0,0,false,null,341059228809594,427,[[-1,67,null,0,false,false,false,863092129760828,null]],[[-1,77,null,135171425235478,2,null,[[0,[164]]]],[12,102,null,865482279356680,0,null,[[10,32],[3,0]]]]]]],[0,0,false,null,571162858824066,428,[[-1,49,null,0,false,false,false,193920427046684,null],[12,99,"Platform",0,false,true,false,105286871324475,null]],[],[[0,0,true,null,139532216521013,429,[[12,110,"Platform",0,false,false,false,403380611562322,null,[[3,1]]],[12,110,"Platform",0,false,false,false,846736792699272,null,[[3,0]]]],[[12,42,null,721654871757469,0,null,[[10,0],[7,[76]]]]]],[0,0,false,null,101142554124338,430,[[-1,49,null,0,false,false,false,854335339154647,null],[12,142,"Platform",0,false,false,false,672175769449407,null]],[[12,42,null,615805194738596,0,null,[[10,0],[7,[72]]]]]],[0,0,false,null,338482602681739,431,[[-1,57,null,0,false,false,false,215030297890691,null,[[7,[235,[5,"FrontingWall"],[1,12,53,false],[1,12,88,false],[1,12,107,false]]],[8,0],[7,[4]]]],[12,98,"Platform",0,false,true,false,636850450419481,null]],[[12,42,null,457476900291494,0,null,[[10,0],[7,[80]]]]]]]],[0,0,false,null,691446237718994,432,[[-1,49,null,0,false,false,false,825884962843719,null],[12,50,null,0,false,true,false,124971407306596,null,[[10,0],[8,0],[7,[70]]]],[12,50,null,0,false,true,false,427927625555389,null,[[10,0],[8,0],[7,[99]]]]],[[12,42,null,964700438957252,0,null,[[10,0],[7,[55]]]]]],[0,0,false,null,107938217353372,433,[[12,44,null,0,false,false,false,761680182791950,null,[[10,9]]],[12,98,"Platform",0,false,true,false,617464215737272,null]],[[12,42,null,577943845442461,0,null,[[10,0],[7,[127]]]]]],[0,0,false,null,135185869457876,434,[[12,44,null,0,false,false,false,788336388057074,null,[[10,9]]],[12,98,"Platform",0,false,false,false,926859828479418,null]],[[12,42,null,805595834285551,0,null,[[10,0],[7,[62]]]]]],[0,0,false,null,413592753002981,435,[[12,44,null,0,false,false,false,989101824400509,null,[[10,8]]]],[[12,42,null,226056925411766,0,null,[[10,0],[7,[119]]]]]],[0,0,false,null,846483752893275,436,[[12,44,null,0,false,false,false,895835759193134,null,[[10,14]]]],[[12,42,null,782062900956218,0,null,[[10,0],[7,[90]]]]]],[0,0,false,null,376537917369243,437,[[12,44,null,0,false,false,false,491041283222968,null,[[10,12]]]],[[12,42,null,179668735814798,0,null,[[10,0],[7,[130]]]]]],[0,0,false,null,964748835061908,438,[[12,44,null,0,false,false,false,964419829544954,null,[[10,11]]]],[[12,42,null,213115366756003,0,null,[[10,0],[7,[99]]]]]]]]]],[3,[false,"Player > Slopes"],false,null,130685920511916,439,[[-1,39,null,0,false,false,false,0,false,[[1,[236]]]]],[],[[1,"lastX",0,0,true,false,850639872922430,false,219],[1,"lastY",0,0,true,false,106622802682804,false,220],[1,"lastA",0,0,true,false,605828097301865,false,221],[0,0,false,null,593364618773170,440,[[-1,38,null,1,false,false,false,179030043184000,null]],[[12,42,null,879348014412258,0,null,[[10,26],[7,[237]]]]]],[0,0,false,null,729190528586261,441,[[12,44,null,0,false,true,false,864078711461801,null,[[10,13]]],[12,44,null,0,false,true,false,438615263445361,null,[[10,11]]],[12,44,null,0,false,true,false,259996065595614,null,[[10,12]]],[12,50,null,0,false,true,false,180820950562903,null,[[10,0],[8,0],[7,[99]]]]],[],[[0,0,false,null,271524134541833,442,[],[],[[0,0,true,null,613667895347349,443,[[-1,57,null,0,false,false,false,367115731996841,null,[[7,[7,[0,12,"Platform",101,false]]],[8,1],[7,[6]]]],[-1,57,null,0,false,false,false,694859986136134,null,[[7,[7,[0,12,"Platform",108,false]]],[8,1],[7,[6]]]]],[[12,52,"LineOfSight",148991564080542,0,null,[[0,[238,[1,12,60,false]]],[0,[238,[1,12,61,false]]],[0,[239,[1,12,60,false],[1,12,88,false]]],[0,[240,[1,12,61,false]]],[16,true]]],[-1,40,null,437546383345424,0,null,[[11,"lastA"],[7,[18,[1,12,64,false]]]]],[-1,40,null,946934387969487,0,null,[[11,"lastX"],[7,[18,[1,12,53,false]]]]],[-1,40,null,880674989077256,0,null,[[11,"lastY"],[7,[18,[1,12,54,false]]]]]],[[0,0,false,null,289341284456432,444,[[12,56,"LineOfSight",0,false,false,false,414521426269486,null]],[[12,42,null,411871765791199,0,null,[[10,26],[7,[7,[0,12,"LineOfSight",58,false]]]]]]],[0,0,false,null,583662104458447,445,[[-1,49,null,0,false,false,false,372734561982428,null]],[[12,42,null,662375469012857,0,null,[[10,26],[7,[237]]]]]],[0,0,false,null,601019451683445,446,[[-1,46,null,0,false,true,false,930731035475242,null,[[0,[31,[2,12,false,26]]],[0,[241]],[0,[242]]]]],[[12,42,null,513317955316410,0,null,[[10,26],[7,[237]]]]]],[0,0,false,null,380676963536673,447,[],[[12,52,"LineOfSight",951095532085245,0,null,[[0,[243,[1,12,60,false]]],[0,[243,[1,12,61,false]]],[0,[244,[1,12,60,false],[1,12,88,false]]],[0,[245,[1,12,61,false]]],[16,true]]]],[[0,0,false,null,447884095075554,448,[[12,56,"LineOfSight",0,false,false,false,388556066832468,null]],[[12,42,null,901565741980049,0,null,[[10,26],[7,[246,[0,12,"LineOfSight",58,false],[0,12,"LineOfSight",58,false],[0,12,"LineOfSight",58,false],[2,12,false,26]]]]]]],[0,0,false,null,705046354918046,449,[[-1,49,null,0,false,false,false,327188069449550,null]],[[12,42,null,495040619167403,0,null,[[10,26],[7,[247,[2,12,false,26]]]]]]]]],[0,0,false,null,225648778452817,450,[],[[12,52,"LineOfSight",467798110275487,0,null,[[0,[18,[1,12,53,false]]],[0,[18,[1,12,54,false]]],[0,[248,[1,12,60,false],[1,12,88,false]]],[0,[249,[1,12,61,false]]],[16,true]]]],[[0,0,false,null,438489435375435,451,[[12,56,"LineOfSight",0,false,false,false,411817387118532,null]],[[12,42,null,495355192034199,0,null,[[10,26],[7,[250,[0,12,"LineOfSight",58,false],[0,12,"LineOfSight",58,false],[0,12,"LineOfSight",58,false],[2,12,false,26]]]]]]],[0,0,false,null,942929832645874,452,[[-1,49,null,0,false,false,false,979907415379195,null]],[[12,42,null,243335004445991,0,null,[[10,26],[7,[251,[2,12,false,26]]]]]]]]],[0,0,false,null,847097831336033,453,[[-1,46,null,0,false,true,false,966486119779336,null,[[0,[31,[2,12,false,26]]],[0,[241]],[0,[242]]]]],[[12,42,null,342928026871511,0,null,[[10,26],[7,[237]]]]]]]]]]]],[0,0,false,null,354758554994239,454,[[-1,49,null,0,false,false,false,909735212528674,null]],[[12,42,null,918791311669657,0,null,[[10,26],[7,[237]]]]]],[0,0,false,null,233011214678592,455,[],[[12,154,null,471488883189045,0,null,[[0,[156]],[0,[252,[2,12,false,26]]]]],[12,155,"Platform",988319138144896,0,null,[[0,[253,[2,12,false,26]]]]]],[[0,0,false,null,243745717486098,458,[[-1,156,null,0,false,false,false,803525010290004,null,[[4,55],[0,[6]]]]],[[55,59,null,725542424617169,0,null,[[0,[238,[1,12,60,false]]],[0,[238,[1,12,61,false]]]]],[55,157,null,430120013788091,0,null,[[0,[254,[1,55,53,false],[1,55,54,false],[1,12,60,false],[1,12,88,false],[1,12,61,false]]],[0,[255]]]],[55,62,null,416353769928269,0,null,[[0,[256,[1,55,53,false],[1,55,54,false],[1,12,60,false],[1,12,88,false],[1,12,61,false]]]]]]],[0,0,false,null,795364571475754,459,[[-1,156,null,0,false,false,false,905456689865001,null,[[4,55],[0,[4]]]]],[[55,59,null,480744382639712,0,null,[[0,[243,[1,12,60,false]]],[0,[243,[1,12,61,false]]]]],[55,157,null,814393841481311,0,null,[[0,[257,[1,55,53,false],[1,55,54,false],[1,12,60,false],[1,12,88,false],[1,12,61,false]]],[0,[255]]]],[55,62,null,198338716197680,0,null,[[0,[258,[1,55,53,false],[1,55,54,false],[1,12,60,false],[1,12,88,false],[1,12,61,false]]]]]]],[0,0,false,null,915041353737825,460,[[-1,156,null,0,false,false,false,527605295613629,null,[[4,55],[0,[255]]]]],[[55,59,null,733801438549859,0,null,[[0,[259,[1,12,60,false]]],[0,[259,[1,12,61,false]]]]],[55,157,null,140317137036897,0,null,[[0,[260,[1,55,53,false],[1,55,54,false],[1,12,60,false],[1,12,88,false],[1,12,61,false]]],[0,[255]]]],[55,62,null,290607143806543,0,null,[[0,[261,[1,55,53,false],[1,55,54,false],[1,12,60,false],[1,12,88,false],[1,12,61,false]]]]]]]]]]]]],[0,0,false,null,489848144797884,462,[[12,44,null,0,false,false,false,514679510242084,null,[[10,22]]]],[[12,76,"Platform",977076067218057,0,null,[[3,0]]]],[[1,"GhostOpacity",0,50,false,true,141393009178464,false,222],[0,0,false,null,278942994217921,463,[],[[33,158,null,743261683603090,0,null,[[0,[215]]]],[32,158,null,747454241507695,0,null,[[0,[215]]]],[34,158,null,653957343702282,0,null,[[0,[215]]]],[35,158,null,583460771494665,0,null,[[0,[215]]]],[36,158,null,947975108103418,0,null,[[0,[215]]]],[37,158,null,524255490678694,0,null,[[0,[215]]]],[38,158,null,433324694785982,0,null,[[0,[215]]]],[39,158,null,755607766811320,0,null,[[0,[215]]]],[40,158,null,330340239753006,0,null,[[0,[215]]]],[41,158,null,159762265676256,0,null,[[0,[215]]]]]],[0,0,false,null,667250008948421,464,[[12,159,null,1,false,false,false,503539003628244,null],[12,44,null,0,false,false,false,195793859343416,null,[[10,22]]]],[],[[0,0,false,null,135443706083091,465,[[7,90,null,0,false,false,false,284348986914843,null,[[10,12]]]],[[12,160,null,491468847714394,0,null]]],[0,0,false,null,870505030009457,466,[[-1,49,null,0,false,false,false,559140207830133,null]],[[9,161,null,659879023753140,0,null,[[1,[31,[2,12,true,23]]]]]],[[0,0,false,null,557443319628485,467,[[12,50,null,0,false,false,false,249009254571732,null,[[10,23],[8,0],[7,[262]]]]],[]]]]]],[0,0,false,null,545090700516437,468,[[9,103,null,0,false,false,false,501888309457715,null,[[3,0],[8,4],[0,[6]]]],[-1,57,null,0,false,false,false,159762151985663,null,[[7,[154,[4,89]]],[8,4],[7,[6]]]]],[[12,59,null,166731429666510,0,null,[[0,[263,[1,9,124,false]]],[0,[264,[1,9,124,false]]]]],[12,62,null,223629125341161,0,null,[[0,[265,[1,9,124,false]]]]],[12,42,null,258677554576277,0,null,[[10,0],[7,[266,[1,9,124,false]]]]],[12,127,null,236671709007494,0,null,[[0,[267,[1,9,124,false]]]]]],[[0,0,false,null,840663419969787,469,[[9,162,null,0,false,false,false,942835139701426,null,[[0,[6]],[0,[157]],[8,1],[7,[31,[2,12,false,3]]]]]],[[12,42,null,739489602635718,0,null,[[10,3],[7,[268,[1,9,124,false]]]]]],[[0,0,false,null,296024266342103,470,[[12,50,null,0,false,false,false,192117131563554,null,[[10,3],[8,4],[7,[6]]]]],[[-2,"PlayerUnmirror",null,733756804784965,0,null,[[0,[18,[1,12,107,false]]]]]]],[0,0,false,null,150134481263769,471,[[12,50,null,0,false,false,false,219500737551301,null,[[10,3],[8,2],[7,[6]]]]],[[-2,"PlayerMirror",null,212463025874431,0,null,[[0,[18,[1,12,107,false]]]]]]]]],[0,0,false,null,746884891677824,472,[],[[9,125,null,117688357396770,0,null,[[3,1],[3,0]]]]]]],[0,0,false,null,497104738095078,473,[[-1,49,null,0,false,false,false,196871058775233,null]],[],[[0,0,false,null,751575040861648,474,[[-1,67,null,0,false,false,false,166874888694642,null]],[[-1,77,null,979336648179773,2,null,[[0,[4]]]],[9,161,null,857468168077526,0,null,[[1,[31,[2,12,true,23]]]]]]]]]]]]]]],["Levels",[[2,"Player",false],[2,"Debug",false],[2,"Gameplay",false],[1,"levelWidth",0,0,true,false,301437772693090,false,223],[1,"levelHeight",0,0,true,false,769832268563615,false,224],[0,0,false,null,297410864073028,1,[[-1,38,null,1,false,false,false,211916643391203,null]],[[5,163,null,392026453336250,0,null,[[1,[269]]]]],[[0,0,false,null,892141100538122,4,[[7,90,null,0,false,false,false,626503293025225,null,[[10,13]]],[27,44,null,0,false,false,false,649972794148386,null,[[10,2]]]],[[27,160,null,990886466527048,0,null]]],[1,"BORDERWIDTH",0,84,false,true,134590617515558,false,225],[1,"BORDEROPA",0,100,false,true,167568863684822,false,226],[0,0,false,null,169474553709376,5,[],[[-1,40,null,194963715598355,0,null,[[11,"levelHeight"],[7,[154,[4,164]]]]],[-1,40,null,154313634192538,0,null,[[11,"levelWidth"],[7,[154,[4,165]]]]],[-1,166,null,522887981832615,0,null,[[4,44],[5,[270]],[0,[6]],[0,[6]]]],[44,167,null,364520956273615,0,null,[[0,[2,[3,"levelWidth"]]],[0,[271]]]],[44,168,null,480022738823718,0,null,[[0,[272]]]],[-1,166,null,163085333409317,0,null,[[4,44],[5,[270]],[0,[6]],[0,[2,[3,"levelHeight"]]]]],[44,167,null,951352316856846,0,null,[[0,[2,[3,"levelHeight"]]],[0,[271]]]],[44,169,null,644790040851384,0,null,[[0,[273]]]],[44,168,null,583592500799488,0,null,[[0,[272]]]],[-1,166,null,675206978870564,0,null,[[4,44],[5,[270]],[0,[2,[3,"levelWidth"]]],[0,[2,[3,"levelHeight"]]]]],[44,167,null,346678050812997,0,null,[[0,[2,[3,"levelWidth"]]],[0,[271]]]],[44,169,null,823432082669211,0,null,[[0,[274]]]],[44,168,null,480418149030668,0,null,[[0,[272]]]],[-1,166,null,627395015587820,0,null,[[4,44],[5,[270]],[0,[2,[3,"levelWidth"]]],[0,[6]]]],[44,167,null,610615813296267,0,null,[[0,[2,[3,"levelHeight"]]],[0,[271]]]],[44,169,null,158638447830924,0,null,[[0,[275]]]],[44,168,null,656650700016691,0,null,[[0,[272]]]]]]]],[0,0,false,null,890495677448595,6,[[-1,38,null,1,false,false,false,341920788753962,null]],[],[[0,0,false,null,449548862374724,7,[[-1,57,null,0,false,false,false,836807647110536,null,[[7,[154,[4,146]]],[8,0],[7,[276]]]]],[[7,170,null,852045873677922,0,null,[[10,2],[7,[154,[4,68]]]]]]],[0,0,true,null,726877947481906,8,[[-1,57,null,0,false,false,false,141405139515805,null,[[7,[154,[4,146]]],[8,0],[7,[277]]]],[-1,57,null,0,false,false,false,590125597320068,null,[[7,[154,[4,146]]],[8,0],[7,[278]]]]],[],[[0,0,false,null,237766885431848,9,[[31,171,null,0,false,false,false,841002963826968,null,[[10,0],[8,0],[7,[279]]]]],[[31,172,"SpritefontDeluxe",363138864172336,0,null,[[1,[280,[4,68],[2,7,false,2]]]]]]]]]]]]],["Debug",[[3,[true,"Debug"],false,null,799690784588537,1,[[-1,39,null,0,false,false,false,0,false,[[1,[281]]]]],[],[[0,0,false,null,968390986852768,2,[[-1,57,null,0,false,false,false,140094929942013,null,[[7,[18,[1,12,173,false]]],[8,4],[7,[6]]]]],[],[[0,0,false,null,465263727385883,3,[[7,90,null,0,false,false,false,523128698354019,null,[[10,12]]]],[],[[0,0,false,null,836813019316588,4,[[-1,67,null,0,false,false,false,595033001132983,null]],[[9,113,null,522793774931129,0,null,[[0,[6]],[0,[282]],[0,[4]]]]]],[0,0,false,null,997477160012886,5,[[12,44,null,0,false,true,false,838114496455209,null,[[10,22]]],[-1,57,null,0,false,false,false,128711266759060,null,[[7,[154,[4,89]]],[8,4],[7,[6]]]]],[[9,112,null,230955665982162,0,null,[[3,0],[7,[6]],[3,0]]],[9,174,null,567443753053355,0,null,[[0,[147,[1,9,175,false]]],[0,[6]],[7,[18,[1,12,53,false]]]]],[9,174,null,402712361600434,0,null,[[0,[147,[1,9,175,false]]],[0,[4]],[7,[18,[1,12,54,false]]]]],[9,174,null,446540394858916,0,null,[[0,[147,[1,9,175,false]]],[0,[255]],[7,[18,[1,12,64,false]]]]],[9,174,null,312583368435270,0,null,[[0,[147,[1,9,175,false]]],[0,[283]],[7,[31,[2,12,true,0]]]]],[9,174,null,198311251365889,0,null,[[0,[147,[1,9,175,false]]],[0,[284]],[7,[18,[1,12,176,false]]]]],[9,174,null,317670405074567,0,null,[[0,[147,[1,9,175,false]]],[0,[157]],[7,[31,[2,12,false,3]]]]]],[[0,0,false,null,476151856780376,6,[[-1,177,null,0,false,false,false,969235395083730,null]],[],[[0,0,true,null,683945146479809,7,[[12,80,null,0,false,false,false,596883396941828,null,[[4,16]]],[1,178,null,1,false,false,false,313354380324345,null,[[9,114]]]],[[5,45,null,367708620294393,0,null,[[3,0],[7,[18,[1,9,179,true]]]]],[-1,77,null,679458132418732,2,null,[[0,[6]]]],[7,100,null,275881202568990,0,null,[[10,12],[3,0]]],[-1,166,null,593331976961725,0,null,[[4,12],[5,[270]],[0,[6]],[0,[6]]]],[12,102,null,789770522672478,0,null,[[10,22],[3,1]]],[12,42,null,713826784740822,0,null,[[10,23],[7,[18,[1,9,179,true]]]]]]]]]]]]],[0,0,false,null,929107634642297,8,[[-1,49,null,0,false,false,false,895695334588456,null]],[],[[0,0,false,null,928152221849634,9,[[1,178,null,1,false,false,false,613919371770091,null,[[9,114]]],[-1,177,null,0,false,false,false,447625835916127,null]],[[7,100,null,255670758834618,0,null,[[10,12],[3,1]]]],[[0,0,false,null,895087259007104,10,[[12,44,null,0,false,false,false,985998705551332,null,[[10,22]]]],[[12,160,null,254684034651969,0,null]]]]],[0,0,false,null,631603640557931,12,[[-1,38,null,1,false,false,false,872548271263115,null],[-1,57,null,0,false,false,false,616480142472925,null,[[7,[18,[1,30,173,false]]],[8,4],[7,[6]]]],[-1,57,null,0,false,false,false,548438847553174,null,[[7,[31,[2,30,true,1]]],[8,1],[7,[262]]]]],[[-1,166,null,137105443831553,0,null,[[4,12],[5,[270]],[0,[6]],[0,[6]]]],[12,102,null,762790980543320,0,null,[[10,22],[3,1]]],[12,42,null,218760852765968,0,null,[[10,23],[7,[31,[2,30,true,1]]]]],[9,161,null,830222379800515,0,null,[[1,[31,[2,30,true,1]]]]]],[[0,0,false,null,181401185845229,13,[[7,90,null,0,false,false,false,198807107114545,null,[[10,8]]]],[[12,180,null,245592527654131,0,null,[[3,1]]]]],[0,0,false,null,370362555424447,14,[[-1,49,null,0,false,false,false,894771672717108,null]],[[12,180,null,317500703190727,0,null,[[3,0]]]]]]],[0,0,false,null,212678010884831,15,[[-1,67,null,0,false,false,false,826350521501003,null]],[]]]]]],[0,0,false,null,527579332202839,16,[[-1,38,null,1,false,false,false,578133602405920,null]],[[55,127,null,856405555688810,0,null,[[0,[18,[1,55,181,false]]]]]],[[0,0,false,null,362574982146124,17,[[-1,57,null,0,false,false,false,599624576805849,null,[[7,[18,[1,55,173,false]]],[8,2],[7,[283]]]],[-1,111,null,0,true,false,false,170200520229140,null,[[0,[285,[1,55,173,false]]]]]],[[-1,166,null,877099294087943,0,null,[[4,55],[5,[18,[1,12,182,true]]],[0,[6]],[0,[6]]]],[55,127,null,962631369446997,0,null,[[0,[18,[1,55,181,false]]]]]],[[0,0,false,null,226227046804310,18,[[7,90,null,0,false,false,false,607579238275664,null,[[10,8]]]],[[55,180,null,895450140014948,0,null,[[3,1]]]]],[0,0,false,null,554110713581939,19,[[-1,49,null,0,false,false,false,449527942373677,null]],[[55,180,null,150803515918020,0,null,[[3,0]]]]]]],[0,0,false,null,179173040718925,20,[[-1,57,null,0,false,false,false,127698953117276,null,[[7,[18,[1,69,183,false]]],[8,2],[7,[4]]]]],[[-1,166,null,934885109444696,0,null,[[4,69],[5,[18,[1,12,182,true]]],[0,[6]],[0,[6]]]]],[[0,0,false,null,883367873083154,21,[[7,90,null,0,false,false,false,961428131190994,null,[[10,8]]]],[[69,184,null,926256695269782,0,null,[[3,1]]]]],[0,0,false,null,989716900795517,22,[[-1,49,null,0,false,false,false,748418922482276,null]],[[69,184,null,437395582311788,0,null,[[3,0]]]]]]],[0,0,false,null,741196514065945,23,[[7,90,null,0,false,false,false,125142662317683,null,[[10,8]]]],[[12,180,null,615575808589794,0,null,[[3,1]]],[20,180,null,103514425091788,0,null,[[3,1]]],[55,180,null,312073819255339,0,null,[[3,1]]],[71,185,null,284410740990387,0,null,[[3,1]]],[69,184,null,156535063464359,0,null,[[3,1]]]]],[0,0,false,null,807968600530471,24,[[-1,49,null,0,false,false,false,864910687924085,null]],[[12,180,null,157289869392062,0,null,[[3,0]]],[20,180,null,983085675462277,0,null,[[3,0]]],[55,180,null,694449579232242,0,null,[[3,0]]],[71,185,null,591769102437852,0,null,[[3,0]]],[69,184,null,873762348361972,0,null,[[3,0]]]]],[0,0,false,null,318949084191785,25,[[7,90,null,0,false,false,false,712653987176864,null,[[10,9]]]],[[7,170,null,616901215197452,0,null,[[10,6],[7,[18,[1,10,186,true]]]]]]]]],[0,0,false,null,383384808710855,26,[[-1,187,null,1,false,false,false,986963966407555,null]],[[7,170,null,573142818588572,0,null,[[10,11],[7,[154,[4,146]]]]]]],[0,0,false,null,443680493373204,27,[[1,178,null,1,false,false,false,354755354969379,null,[[9,113]]],[-1,177,null,0,false,false,false,618408807595664,null]],[[7,188,null,738921584373947,0,null,[[10,8]]]],[[0,0,false,null,926266995032493,28,[[7,90,null,0,false,false,false,750670626201932,null,[[10,8]]]],[[12,180,null,561021757406433,0,null,[[3,1]]],[20,180,null,235691084756447,0,null,[[3,1]]],[55,180,null,998874112596864,0,null,[[3,1]]],[71,185,null,658009202448489,0,null,[[3,1]]],[69,184,null,209208849927138,0,null,[[3,1]]]]],[0,0,false,null,194314480197126,29,[[-1,49,null,0,false,false,false,384821504249096,null]],[[12,180,null,533097857210937,0,null,[[3,0]]],[20,180,null,206057333129694,0,null,[[3,0]]],[55,180,null,874347362349251,0,null,[[3,0]]],[71,185,null,347324300120199,0,null,[[3,0]]],[69,184,null,137816610242761,0,null,[[3,0]]]]]]]]]]],["Inputs",[[3,[true,"Inputs"],false,null,676187960268572,1,[[-1,39,null,0,false,false,false,0,false,[[1,[286]]]]],[],[[3,[true,"Inputs > Listen"],false,null,227265358218236,2,[[-1,39,null,0,false,false,false,0,false,[[1,[287]]]]],[],[[0,0,false,null,382755113505235,3,[[1,189,null,1,false,false,false,470857499390906,null],[3,90,null,0,false,false,false,656581753546182,null,[[10,4]]]],[[-2,"InputsSetInput",null,170754212181894,0,null,[[0,[31,[2,3,false,5]]],[0,[154,[1,1,190,false]]]]]]]]],[3,[true,"Inputs > API"],false,null,479917278809175,4,[[-1,39,null,0,false,false,false,0,false,[[1,[288]]]]],[],[[4,["InputsListen",0,[[1,"Parameter0",0,0,false,false,411852516394218,false,205]],true,false],false,null,877408459155278,5,[],[[-2,"InputsListen",null,856572041112547,0,null,[[0,[6]]]]],[[1,"Next",0,0,false,false,117844432328933,false,8],[0,0,false,null,836438225079534,6,[],[[-1,40,null,687966218054869,0,null,[[11,"Next"],[7,[2,[3,"Parameter0"]]]]],[3,170,null,688174947856986,0,null,[[10,5],[7,[2,[3,"Next"]]]]],[3,100,null,560623875036225,0,null,[[10,4],[3,1]]]]]]],[4,["InputsListenStop",0,[],true,false],false,null,892920012205470,7,[],[[3,100,null,199736407996779,0,null,[[10,4],[3,0]]]]],[4,["InputsSetInput",0,[[1,"Parameter0",0,0,false,false,980674456439750,false,205],[1,"Parameter1",0,0,false,false,358324279100542,false,214]],true,false],false,null,789006620384034,8,[],[[3,100,null,639834617992056,0,null,[[10,4],[3,0]]]],[[1,"Next",0,0,false,false,129890002768839,false,8],[1,"Value",0,0,false,false,415772615271704,false,227],[0,0,false,null,896462839841991,9,[],[[-1,40,null,225674393913141,0,null,[[11,"Next"],[7,[2,[3,"Parameter0"]]]]],[-1,40,null,867790798205989,0,null,[[11,"Value"],[7,[2,[3,"Parameter1"]]]]]]],[0,0,false,null,716140286604558,10,[[-1,114,null,0,false,false,false,802607311871220,null,[[11,"Next"],[8,0],[7,[6]]]]],[[3,170,null,690619489799026,0,null,[[10,0],[7,[2,[3,"Value"]]]]]]],[0,0,false,null,802254760353788,11,[[-1,114,null,0,false,false,false,867668796907274,null,[[11,"Next"],[8,0],[7,[4]]]]],[[3,170,null,378313387610181,0,null,[[10,1],[7,[2,[3,"Value"]]]]]]],[0,0,false,null,631556674023994,12,[[-1,114,null,0,false,false,false,768694694916796,null,[[11,"Next"],[8,0],[7,[255]]]]],[[3,170,null,604992655197514,0,null,[[10,2],[7,[2,[3,"Value"]]]]]]],[0,0,false,null,396254073249602,13,[[-1,114,null,0,false,false,false,806133046822655,null,[[11,"Next"],[8,0],[7,[283]]]]],[[3,170,null,757809103815990,0,null,[[10,3],[7,[2,[3,"Value"]]]]]]]]]]]]]]],["Gameplay",[[1,"UnlockAchievement",0,-1,false,false,971897244062510,false,228],[3,[true,"Enemies"],false,null,584892422329300,1,[[-1,39,null,0,false,false,false,0,false,[[1,[289]]]]],[],[[3,[true,"Enemies > Spikes"],false,null,752794358721513,2,[[-1,39,null,0,false,false,false,0,false,[[1,[290]]]]],[],[[0,0,false,null,967685144478233,3,[[12,50,null,0,false,false,false,347218604648122,null,[[10,0],[8,0],[7,[142]]]]],[[27,136,"Solid",487670991717339,0,null,[[3,1]]],[28,136,"Solid",724129945053097,0,null,[[3,1]]]]],[0,0,false,null,188700471487781,4,[[-1,49,null,0,false,false,false,585263095718586,null]],[[27,136,"Solid",136869723378820,0,null,[[3,0]]],[28,136,"Solid",568438414005688,0,null,[[3,0]]]]]]],[0,0,false,null,679648565811482,5,[[12,80,null,0,false,false,false,540388315536657,null,[[4,76]]],[76,44,null,0,false,false,false,712504870184172,null,[[10,1]]],[12,50,null,0,false,true,false,841187691310296,null,[[10,0],[8,0],[7,[142]]]],[12,44,null,0,false,true,false,448797122220300,null,[[10,22]]]],[[12,81,null,239479446174799,0,null,[[10,20],[7,[4]]]]],[[0,0,false,null,982842817263533,6,[[12,50,null,0,false,false,false,478600007666684,null,[[10,20],[8,5],[7,[31,[2,12,false,19]]]]]],[[-2,"GameplayDeath",null,545018372506494,0,null]],[[0,0,false,null,212560510006174,7,[[76,44,null,0,false,false,false,596597035743291,null,[[10,0]]]],[[76,160,null,618240024722245,0,null]]]]]]],[0,0,false,null,793347381747664,8,[[-1,49,null,0,false,false,false,723919435508917,null],[12,50,null,0,false,false,false,793392609651167,null,[[10,20],[8,4],[7,[6]]]]],[[12,42,null,326602040182880,0,null,[[10,20],[7,[6]]]]]]]],[3,[true,"Jump Boost"],false,null,823574865511386,9,[[-1,39,null,0,false,false,false,0,false,[[1,[291]]]]],[],[[0,0,false,null,358904309354959,10,[[12,191,null,0,false,false,true,876916904094425,null,[[4,18]]],[12,44,null,0,false,true,false,725742609980762,null,[[10,9]]],[12,44,null,0,false,true,false,943058764593583,null,[[10,8]]],[12,44,null,0,false,true,false,470057446040562,null,[[10,12]]]],[[12,105,"Platform",691785405455428,0,null,[[0,[292,[0,12,"Platform",109,false],[2,18,false,0],[1,18,64,false]]]]],[12,121,"Platform",406633000508367,0,null,[[0,[293,[4,192],[0,12,"Platform",109,false],[2,18,false,0],[1,18,64,false]]]]],[12,128,"Platform",507740978919710,0,null,[[0,[294,[0,12,"Platform",109,false],[2,18,false,0],[1,18,64,false],[0,12,"Platform",101,false]]]]],[5,45,null,505312469423542,0,null,[[3,0],[7,[291]]]]],[[0,0,false,null,964370937619564,11,[[18,44,null,0,false,false,false,628703720517484,null,[[10,1]]]],[[12,104,"Platform",729547708374989,0,null,[[0,[6]]]]]]]],[0,0,false,null,544494924702043,12,[[75,191,null,0,false,false,true,336627350355534,null,[[4,18]]],[12,50,null,0,false,false,false,740728422630637,null,[[10,0],[8,0],[7,[142]]]]],[[75,70,"Bullet",520338981766912,0,null,[[0,[295,[1,18,64,false]]]]],[75,71,"Bullet",767171620871581,0,null,[[0,[296,[0,75,"Bullet",193,false],[2,18,false,0]]]]]]]]],[3,[true,"TP"],false,null,498605097439997,13,[[-1,39,null,0,false,false,false,0,false,[[1,[297]]]]],[],[[0,0,false,null,243732264960013,14,[[-1,38,null,1,false,false,false,476890698138569,null]],[[-1,77,null,547278047900977,2,null,[[0,[4]]]]],[[0,0,false,null,842662367552578,15,[[-1,114,null,0,false,false,false,335762722393473,null,[[11,"UnlockAchievement"],[8,1],[7,[3]]]]],[[-1,40,null,935500092396704,0,null,[[11,"UnlockAchievement"],[7,[3]]]]]]]],[0,0,false,null,609376060677065,16,[[12,80,null,0,false,false,false,263934988114867,null,[[4,16]]],[12,44,null,0,false,true,false,366692727348098,null,[[10,22]]],[-1,67,null,0,false,false,false,280304377125199,null]],[],[[1,"ID",0,0,true,false,957877829849501,false,69],[0,0,false,null,685291911777024,17,[],[[-1,40,null,972843629625945,0,null,[[11,"ID"],[7,[298,[4,194],[4,195],[4,146]]]]]]],[0,0,false,null,897997238434861,18,[[-1,114,null,0,false,false,false,290635712063180,null,[[11,"ID"],[8,0],[7,[299]]]]],[[-1,40,null,483012353287778,0,null,[[11,"UnlockAchievement"],[7,[283]]]]]],[0,0,false,null,854239646459222,19,[[-1,114,null,0,false,false,false,780469174193010,null,[[11,"ID"],[8,0],[7,[300]]]]],[[-1,40,null,488359092511093,0,null,[[11,"UnlockAchievement"],[7,[284]]]]]],[0,0,false,null,801351232276871,20,[[-1,114,null,0,false,false,false,265907443940751,null,[[11,"ID"],[8,0],[7,[301]]]]],[[-1,40,null,676939442242026,0,null,[[11,"UnlockAchievement"],[7,[157]]]]]],[0,0,false,null,239230318013100,21,[[-1,114,null,0,false,false,false,268263568647344,null,[[11,"ID"],[8,0],[7,[302]]]]],[[-1,40,null,435272240556984,0,null,[[11,"UnlockAchievement"],[7,[282]]]]]],[0,0,false,null,174846902176785,22,[[7,90,null,0,false,false,false,795327290442311,null,[[10,1]]]],[],[[0,0,false,null,924377765944617,23,[[-1,114,null,0,false,false,false,756194745897692,null,[[11,"UnlockAchievement"],[8,1],[7,[3]]]]],[[-1,40,null,728687953112199,0,null,[[11,"UnlockAchievement"],[7,[3]]]]]]]],[0,0,false,null,887375281809269,24,[[-1,49,null,0,false,false,false,268795654204556,null]],[],[[0,0,false,null,934561670728847,27,[[16,50,null,0,false,false,false,182823981287779,null,[[10,0],[8,1],[7,[262]]]]],[[-1,196,null,429539206412150,0,null,[[1,[31,[2,16,true,0]]]]]]],[0,0,false,null,241886234925986,28,[[-1,49,null,0,false,false,false,579971836664743,null]],[]]]]]]]],[3,[true,"Buttons"],false,null,105109055331975,29,[[-1,39,null,0,false,false,false,0,false,[[1,[303]]]]],[],[[0,0,false,null,428115506907955,30,[[-1,38,null,1,false,false,false,191638146051171,null]],[[5,163,null,172012423019894,0,null,[[1,[269]]]]]],[0,0,false,null,470766381966795,31,[],[[14,127,null,903592045492094,0,null,[[0,[304,[2,14,false,1]]]]]]],[0,0,false,null,826736593636383,32,[[12,44,null,0,false,true,false,889112215552988,null,[[10,22]]]],[],[[0,0,true,null,605487952802066,33,[[12,191,null,0,false,false,true,107235861613851,null,[[4,14]]]],[],[[0,0,false,null,123182948598349,34,[[14,44,null,0,false,false,false,345396717548970,null,[[10,1]]]],[[14,102,null,886519283180591,0,null,[[10,1],[3,0]]],[14,127,null,652711393149596,0,null,[[0,[304,[2,14,false,1]]]]],[-3,197,[false,false,2]]]]]],[0,0,false,null,325861306318285,35,[[33,191,null,0,false,false,true,760735282806515,null,[[4,14]]],[12,50,null,0,false,false,false,398229375620033,null,[[10,0],[8,0],[7,[142]]]]],[],[[0,0,false,null,457703331955272,36,[[14,44,null,0,false,false,false,334263709858451,null,[[10,1]]]],[[14,102,null,813948497637025,0,null,[[10,1],[3,0]]],[14,127,null,177470983209991,0,null,[[0,[304,[2,14,false,1]]]]],[-3,198,[false,false,2]]]]]]]],[0,0,false,null,997724776537635,37,[[-1,38,null,1,false,false,false,332482466855155,null]],[],[[0,0,false,null,735270102023232,38,[[-1,199,null,0,true,false,false,674842821455293,null,[[4,14]]]],[[14,59,null,941353108292176,0,null,[[0,[305,[2,14,false,3],[1,14,53,false],[2,14,false,3]]],[0,[305,[2,14,false,4],[1,14,54,false],[2,14,false,4]]]]],[14,62,null,446753354230571,0,null,[[0,[306,[2,14,false,5],[1,14,64,false],[2,14,false,5]]]]],[14,42,null,475404012427172,0,null,[[10,3],[7,[18,[1,14,53,false]]]]],[14,42,null,927533178315087,0,null,[[10,4],[7,[18,[1,14,54,false]]]]],[14,42,null,138029979070080,0,null,[[10,5],[7,[18,[1,14,64,false]]]]],[-3,200,[false,false,5]]],[[0,0,false,null,854596910093029,39,[[14,44,null,0,false,true,false,297519536460286,null,[[10,1]]]],[[14,127,null,618899327344556,0,null,[[0,[304,[2,14,false,1]]]]]],[[0,0,false,null,965343519020789,40,[[14,44,null,0,false,false,false,718400546767527,null,[[10,2]]],[7,201,null,0,false,false,false,112009956073390,null,[[10,11],[8,0],[7,[154,[4,146]]]]],[7,90,null,0,false,false,false,846459976846470,null,[[10,13]]]],[]],[0,0,false,null,579232524596056,41,[[-1,49,null,0,false,false,false,758743363459488,null]],[[14,102,null,144219560939731,0,null,[[10,1],[3,1]]],[14,127,null,934978484612953,0,null,[[0,[304,[2,14,false,1]]]]]]]]]]]]]]],[3,[true,"MovingArea"],false,null,735033247889468,42,[[-1,39,null,0,false,false,false,0,false,[[1,[307]]]]],[],[[4,["MoveArea",0,[[1,"ID",0,0,false,false,809905729340380,false,69]],true,false],false,null,987437301554247,44,[],[],[[0,0,false,null,905585555202250,45,[[20,50,null,0,false,false,false,975052307319325,null,[[10,0],[8,0],[7,[2,[3,"ID"]]]]]],[[20,102,null,460252936801953,0,null,[[10,1],[3,1]]]]]]],[0,0,false,null,859131627257164,47,[[-1,199,null,0,true,false,false,727645811732349,null,[[4,20]]],[-1,202,null,0,true,false,false,187814249824837,null],[20,50,null,0,false,false,false,459752565516040,null,[[10,3],[8,2],[7,[308,[4,203],[2,20,true,2]]]]],[20,118,"Timer",0,false,true,false,162044777035706,null,[[1,[309]]]],[20,44,null,0,false,false,false,752114970060756,null,[[10,1]]]],[],[[1,"currentMovement",1,"",false,false,655407248709317,false,229],[1,"currentCommand",1,"",false,false,195313578438848,false,230],[1,"temp",1,"",false,false,433301300740634,false,231],[1,"temp2",1,"",false,false,862063214110943,false,232],[1,"mustwait",0,0,false,false,208016995848906,false,233],[0,0,false,null,788029058387039,48,[],[[-1,40,null,122425223844260,0,null,[[11,"currentMovement"],[7,[310,[4,195],[2,20,true,2],[2,20,false,3]]]]],[-1,40,null,778823736991183,0,null,[[11,"currentCommand"],[7,[311,[4,204],[4,195],[3,"currentMovement"]]]]]]],[0,0,false,null,784911750853967,49,[[-1,57,null,0,false,false,false,226051882718952,null,[[7,[2,[3,"currentCommand"]]],[8,0],[7,[312]]]]],[[20,205,"Tween",817676007769061,1,null,[[1,[313,[1,20,107,false],[2,20,false,3]]],[3,0],[0,[314,[4,206],[4,195],[3,"currentMovement"],[1,20,53,false],[4,207],[4,208],[4,195],[3,"currentMovement"],[4,209],[4,195],[3,"currentMovement"],[4,207],[4,195],[3,"currentMovement"]]],[0,[315,[4,206],[4,195],[3,"currentMovement"],[1,20,54,false],[4,207],[4,208],[4,195],[3,"currentMovement"],[4,209],[4,195],[3,"currentMovement"],[4,207],[4,195],[3,"currentMovement"]]],[0,[316,[4,192],[4,207],[4,195],[3,"currentMovement"],[4,65]]],[18,0],[3,0]]],[-1,40,null,932434083023001,0,null,[[11,"temp"],[7,[314,[4,206],[4,195],[3,"currentMovement"],[1,20,53,false],[4,207],[4,208],[4,195],[3,"currentMovement"],[4,209],[4,195],[3,"currentMovement"],[4,207],[4,195],[3,"currentMovement"]]]]],[-1,40,null,323462391237464,0,null,[[11,"temp2"],[7,[315,[4,206],[4,195],[3,"currentMovement"],[1,20,54,false],[4,207],[4,208],[4,195],[3,"currentMovement"],[4,209],[4,195],[3,"currentMovement"],[4,207],[4,195],[3,"currentMovement"]]]]],[-1,40,null,296775442717452,0,null,[[11,"mustwait"],[7,[317,[4,203],[3,"currentMovement"],[4,194],[4,195],[3,"currentMovement"],[4,192],[4,207],[4,195],[3,"currentMovement"],[4,65]]]]]]],[0,0,false,null,378927129597709,50,[[-1,57,null,0,false,false,false,239388078080678,null,[[7,[2,[3,"currentCommand"]]],[8,0],[7,[318]]]]],[[20,210,"Tween",519507501115271,1,null,[[1,[313,[1,20,107,false],[2,20,false,3]]],[3,0],[0,[314,[4,206],[4,195],[3,"currentMovement"],[1,20,53,false],[4,207],[4,208],[4,195],[3,"currentMovement"],[4,209],[4,195],[3,"currentMovement"],[4,207],[4,195],[3,"currentMovement"]]],[0,[319,[4,192],[4,207],[4,195],[3,"currentMovement"],[4,65]]],[18,0],[3,0]]],[-1,40,null,134797617873445,0,null,[[11,"mustwait"],[7,[320,[4,203],[3,"currentMovement"],[4,194],[4,195],[3,"currentMovement"],[4,192],[4,207],[4,195],[3,"currentMovement"],[4,65]]]]]]],[0,0,false,null,519865859937125,51,[[-1,57,null,0,false,false,false,927553534624454,null,[[7,[2,[3,"currentCommand"]]],[8,0],[7,[321]]]]],[[20,210,"Tween",780343338854218,1,null,[[1,[313,[1,20,107,false],[2,20,false,3]]],[3,1],[0,[314,[4,206],[4,195],[3,"currentMovement"],[1,20,54,false],[4,207],[4,208],[4,195],[3,"currentMovement"],[4,209],[4,195],[3,"currentMovement"],[4,207],[4,195],[3,"currentMovement"]]],[0,[319,[4,192],[4,207],[4,195],[3,"currentMovement"],[4,65]]],[18,0],[3,0]]],[-1,40,null,205646841094345,0,null,[[11,"mustwait"],[7,[320,[4,203],[3,"currentMovement"],[4,194],[4,195],[3,"currentMovement"],[4,192],[4,207],[4,195],[3,"currentMovement"],[4,65]]]]]]],[0,0,false,null,279936956607823,52,[[-1,57,null,0,false,false,false,497395332647497,null,[[7,[2,[3,"currentCommand"]]],[8,0],[7,[322]]]]],[[20,211,"Tween",955829804219103,1,null,[[1,[322]],[0,[18,[1,20,64,false]]],[0,[314,[4,206],[4,195],[3,"currentMovement"],[1,20,64,false],[4,207],[4,208],[4,195],[3,"currentMovement"],[4,209],[4,195],[3,"currentMovement"],[4,207],[4,195],[3,"currentMovement"]]],[0,[319,[4,192],[4,207],[4,195],[3,"currentMovement"],[4,65]]],[18,0],[3,0]]],[-1,40,null,279562660846593,0,null,[[11,"mustwait"],[7,[320,[4,203],[3,"currentMovement"],[4,194],[4,195],[3,"currentMovement"],[4,192],[4,207],[4,195],[3,"currentMovement"],[4,65]]]]]]],[0,0,false,null,223314025638785,53,[[-1,57,null,0,false,false,false,687427171579797,null,[[7,[2,[3,"currentCommand"]]],[8,0],[7,[309]]]]],[[20,119,"Timer",698447372945838,0,null,[[0,[323,[4,207],[4,195],[3,"currentMovement"]]],[3,0],[1,[309]]]]]],[0,0,false,null,309098489510797,54,[[-1,57,null,0,false,false,false,543053770705970,null,[[7,[2,[3,"mustwait"]]],[8,4],[7,[6]]]]],[[20,119,"Timer",936722061193847,0,null,[[0,[2,[3,"mustwait"]]],[3,0],[1,[309]]]]]],[0,0,false,null,550918686349221,55,[[-1,57,null,0,false,false,false,305925875797423,null,[[7,[2,[3,"currentCommand"]]],[8,0],[7,[324]]]]],[[20,42,null,628107074764783,0,null,[[10,3],[7,[325,[4,194],[4,195],[3,"currentMovement"]]]]],[20,119,"Timer",853735617221041,0,null,[[0,[232,[4,65]]],[3,0],[1,[309]]]]]],[0,0,false,null,365321747995495,56,[],[[20,81,null,705980931904953,0,null,[[10,3],[7,[4]]]]]]]],[0,0,false,null,148846845518032,57,[[20,212,"Tween",0,false,false,false,593700173578518,null,[[1,[322]]]]],[[20,62,null,507573607228282,0,null,[[0,[326,[0,20,"Tween",213,false]]]]]]]]],[3,[true,"GroudPoundSolid"],false,null,242348090363954,58,[[-1,39,null,0,false,false,false,0,false,[[1,[327]]]]],[],[[0,0,false,null,379202090905213,59,[[12,44,null,0,false,true,false,876786804892624,null,[[10,9]]],[12,80,null,0,false,true,false,644180151804034,null,[[4,19]]]],[[19,135,"Jumpthru",474384169779289,0,null,[[3,1]]]]],[0,0,false,null,990849593877826,60,[[12,44,null,0,false,true,false,649591706673475,null,[[10,9]]],[12,80,null,0,false,true,false,958626282207226,null,[[4,17]]]],[[17,136,"Solid",936661808975356,0,null,[[3,1]]]]],[0,0,false,null,521727816502535,61,[[12,44,null,0,false,true,false,111136838066011,null,[[10,9]]],[12,80,null,0,false,true,false,191266465672623,null,[[4,62]]]],[[62,136,"Solid",937915639304271,0,null,[[3,1]]]]],[0,0,false,null,326586950503988,62,[[12,44,null,0,false,false,false,907008687482807,null,[[10,9]]],[12,80,null,0,false,false,false,350593372124281,null,[[4,62]]]],[[62,214,null,950529549813343,0,null]]]]],[3,[true,"RocketLauncher"],false,null,867956520320554,63,[[-1,39,null,0,false,false,false,0,false,[[1,[328]]]]],[],[[0,0,false,null,581401630699694,64,[[-1,38,null,1,false,false,false,725603426695444,null],[12,44,null,0,false,true,false,628991736067900,null,[[10,22]]]],[[23,215,"Turret",259002420574403,0,null,[[4,12]]],[63,160,null,169377689265485,0,null]]],[0,0,false,null,274126110553996,65,[[12,44,null,0,false,true,false,517387814279612,null,[[10,22]]],[23,216,"LineOfSight",0,false,false,true,781835962042542,null,[[4,12]]],[23,44,null,0,false,false,false,588762224759045,null,[[10,7]]]],[[23,217,"Turret",326013211259299,0,null,[[3,1]]]]],[0,0,false,null,217563180490718,66,[[12,44,null,0,false,true,false,180330618084599,null,[[10,22]]],[23,216,"LineOfSight",0,false,true,true,605521506193872,null,[[4,12]]]],[[23,217,"Turret",402024883476988,0,null,[[3,0]]]]],[0,0,false,null,648654694914223,67,[[23,159,null,1,false,false,false,275080015275901,null]],[[23,218,"LineOfSight",757456252952168,0,null,[[4,77]]]],[[0,0,false,null,536568826921058,68,[[23,44,null,0,false,false,false,689595673990283,null,[[10,1]]]],[[23,219,"Turret",408707489130740,0,null,[[3,1]]]],[[0,0,false,null,596907241664563,69,[[23,44,null,0,false,false,false,631953637981258,null,[[10,0]]]],[[23,220,null,574850135210927,0,null,[[1,[329]],[3,1]]]]],[0,0,false,null,595613838799985,70,[[-1,49,null,0,false,false,false,611911382224931,null]],[[23,220,null,129382749672828,0,null,[[1,[330]],[3,1]]]]]]],[0,0,false,null,338240406576608,71,[[-1,49,null,0,false,false,false,182253886609310,null]],[[23,219,"Turret",501863467651554,0,null,[[3,0]]]],[[0,0,false,null,630527739214222,72,[[23,44,null,0,false,false,false,142774388592669,null,[[10,0]]]],[[23,220,null,257721489974798,0,null,[[1,[331]],[3,1]]]]],[0,0,false,null,974388301032203,73,[[-1,49,null,0,false,false,false,509205559952252,null]],[[23,220,null,412525367157457,0,null,[[1,[332]],[3,1]]]]]]]]],[0,0,false,null,181483128254176,74,[[23,221,"Turret",1,false,false,false,569078079219237,null]],[],[[0,0,false,null,396923595944962,75,[[23,44,null,0,false,false,false,194574665142677,null,[[10,0]]]],[],[[0,0,true,null,828927795519049,76,[[23,44,null,0,false,false,false,535259168307716,null,[[10,7]]]],[[23,102,null,549894693009100,0,null,[[10,7],[3,0]]],[23,141,null,961322396112931,0,null,[[4,63],[5,[18,[1,23,182,true]]],[7,[4]]]],[63,102,null,472012381633493,0,null,[[10,1],[3,0]]],[63,222,null,534546201460613,0,null,[[0,[196]]]],[63,220,null,141262684235033,0,null,[[1,[333]],[3,1]]],[63,144,null,729016213687761,0,null,[[3,1],[4,23]]],[63,42,null,223805980176374,0,null,[[10,2],[7,[18,[1,23,107,false]]]]],[63,158,null,815365083696007,0,null,[[0,[6]]]],[59,223,null,467740928641791,0,null,[[0,[334]]]],[63,210,"Tween",935989888462314,1,null,[[1,[262]],[3,3],[0,[284]],[0,[4]],[18,12],[3,0]]],[63,210,"Tween",413922020708454,1,null,[[1,[262]],[3,5],[0,[215]],[0,[4]],[18,18],[3,0]]],[-1,77,null,765093141415282,2,null,[[0,[335]]]],[8,139,null,963603507743653,0,null,[[1,[0]],[0,[196]],[0,[11]],[0,[6]],[0,[6]],[0,[6]],[0,[201]]]],[23,217,"Turret",856343256928729,0,null,[[3,0]]],[63,220,null,588363735154866,0,null,[[1,[336]],[3,1]]]],[[1,"Intervalle",0,30,false,true,763667656253285,false,234],[0,0,false,null,406048555789839,77,[[-1,224,null,0,true,false,false,704598293581280,null,[[1,[337]],[0,[6]],[0,[338,[1,63,88,false]]]]]],[],[[1,"tarx",0,0,true,false,174974675305339,false,190],[1,"tary",0,0,true,false,166183762264080,false,191],[0,0,false,null,278513951797373,78,[],[[-1,40,null,828936843109742,0,null,[[11,"tarx"],[7,[339,[1,63,53,false],[1,63,53,false],[1,63,88,false],[1,63,64,false],[1,63,88,false],[4,225]]]]],[-1,40,null,851287549240132,0,null,[[11,"tary"],[7,[340,[1,63,54,false],[1,63,54,false],[1,63,88,false],[1,63,64,false],[1,63,88,false],[4,225]]]]],[-1,166,null,760511039855699,0,null,[[4,72],[5,[6]],[0,[2,[3,"tarx"]]],[0,[2,[3,"tary"]]]]]]]]],[0,0,false,null,490690550854450,79,[],[[-1,77,null,863025793974537,2,null,[[0,[217]]]],[63,210,"Tween",978114156570223,1,null,[[1,[262]],[3,5],[0,[6]],[0,[197]],[18,0],[3,0]]],[-1,77,null,593366447767180,2,null,[[0,[201]]]],[63,210,"Tween",694894054886851,1,null,[[1,[262]],[3,5],[0,[272]],[0,[181]],[18,0],[3,0]]],[63,220,null,749639843496736,0,null,[[1,[341]],[3,1]]],[63,210,"Tween",786834981889474,1,null,[[1,[262]],[3,6],[0,[342]],[0,[181]],[18,0],[3,0]]],[63,102,null,351097796297983,0,null,[[10,1],[3,1]]],[63,210,"Tween",368077183723628,1,null,[[1,[262]],[3,3],[0,[299]],[0,[181]],[18,12],[3,0]]],[8,139,null,870785247514262,0,null,[[1,[0]],[0,[196]],[0,[215]],[0,[6]],[0,[6]],[0,[181]],[0,[335]]]]],[[0,0,false,null,593730897526096,80,[],[[23,52,"LineOfSight",477644943899770,0,null,[[0,[343,[1,23,60,false]]],[0,[343,[1,23,61,false]]],[0,[344,[1,23,60,false],[1,23,64,false],[0,23,"LineOfSight",226,false]]],[0,[345,[1,23,61,false],[1,23,64,false],[0,23,"LineOfSight",226,false]]],[16,true]]]],[[0,0,false,null,815448777899214,81,[[23,56,"LineOfSight",0,false,false,false,571247085386511,null]],[[-1,166,null,161526937812775,0,null,[[4,74],[5,[6]],[0,[7,[0,23,"LineOfSight",227,false]]],[0,[7,[0,23,"LineOfSight",228,false]]]]],[74,229,null,234032241563211,0,null,[[0,[7,[0,23,"LineOfSight",58,false]]]]]]]]],[0,0,false,null,841463713791708,82,[],[[-1,77,null,830723783617200,2,null,[[0,[181]]]],[63,210,"Tween",132900881703530,1,null,[[1,[262]],[3,5],[0,[6]],[0,[217]],[18,0],[3,0]]],[63,210,"Tween",725118373755609,1,null,[[1,[262]],[3,3],[0,[6]],[0,[217]],[18,12],[3,0]]],[63,210,"Tween",853687374092804,1,null,[[1,[262]],[3,6],[0,[334]],[0,[181]],[18,0],[3,0]]],[63,102,null,856856972136809,0,null,[[10,1],[3,0]]],[63,220,null,177127224405641,0,null,[[1,[333]],[3,1]]],[-1,77,null,579584500796999,2,null,[[0,[181]]]]],[[0,0,false,null,872877926944324,83,[[-1,224,null,0,true,false,false,884656053228809,null,[[1,[337]],[0,[6]],[0,[338,[1,63,88,false]]]]]],[[-1,166,null,629985513047880,0,null,[[4,73],[5,[6]],[0,[339,[1,63,53,false],[1,63,53,false],[1,63,88,false],[1,63,64,false],[1,63,88,false],[4,225]]],[0,[340,[1,63,54,false],[1,63,54,false],[1,63,88,false],[1,63,64,false],[1,63,88,false],[4,225]]]]]]],[0,0,false,null,176515139502628,84,[],[[-1,77,null,760189865825070,2,null,[[0,[201]]]],[63,160,null,896249253682447,0,null],[23,217,"Turret",701910370104956,0,null,[[3,1]]],[-1,77,null,928484112391924,2,null,[[0,[31,[2,23,false,5]]]]],[23,102,null,410781214930540,0,null,[[10,7],[3,1]]]]]]]]]]]]],[0,0,false,null,882457939902381,85,[[-1,49,null,0,false,false,false,231299712901868,null]],[],[[0,0,true,null,241898375775264,86,[[23,44,null,0,false,false,false,761922128096513,null,[[10,7]]],[23,44,null,0,false,false,false,934078226275861,null,[[10,8]]]],[[23,102,null,596266768112958,0,null,[[10,7],[3,0]]],[-1,77,null,710559499379451,2,null,[[0,[197]]]],[23,141,null,654459988604108,0,null,[[4,22],[5,[18,[1,23,182,true]]],[7,[4]]]],[-3,230,[false,false,3]],[22,220,null,464610607770604,0,null,[[1,[346,[2,23,false,8],[2,23,false,2]]],[3,1]]],[22,42,null,287432631650553,0,null,[[10,2],[7,[18,[1,23,107,false]]]]],[22,71,"Bullet",844063076886502,0,null,[[0,[347,[2,23,false,3],[2,23,false,3],[0,22,"Bullet",231,false]]]]]]]]]]],[0,0,false,null,172110151969163,87,[[-1,199,null,0,true,false,false,116408293768351,null,[[4,63]]],[23,41,null,0,false,false,true,454014344090553,null,[[0,[31,[2,63,false,2]]]]]],[[23,52,"LineOfSight",176128238999468,0,null,[[0,[343,[1,23,60,false]]],[0,[343,[1,23,61,false]]],[0,[344,[1,23,60,false],[1,23,64,false],[0,23,"LineOfSight",226,false]]],[0,[345,[1,23,61,false],[1,23,64,false],[0,23,"LineOfSight",226,false]]],[16,true]]],[63,66,null,408939594620337,0,null,[[4,23],[7,[4]]]],[63,62,null,762089817438907,0,null,[[0,[18,[1,23,64,false]]]]]],[[0,0,false,null,701280240707635,88,[[23,56,"LineOfSight",0,false,false,false,963206848650905,null]],[[63,232,null,627477218699355,0,null,[[0,[7,[0,23,"LineOfSight",85,false]]]]]]],[0,0,false,null,393526747674525,89,[[-1,49,null,0,false,false,false,399404971278565,null]],[[63,232,null,927455763843248,0,null,[[0,[7,[0,23,"LineOfSight",226,false]]]]]]]]],[3,[true,"Rocket"],false,null,575650155980141,91,[[-1,39,null,0,false,false,false,0,false,[[1,[348]]]]],[],[[0,0,false,null,869638248099863,92,[[-1,233,null,0,false,false,false,388490778290316,null],[12,44,null,0,false,true,false,904600893705683,null,[[10,22]]],[22,234,null,0,false,true,false,857593087430797,null,[[1,[349]]]]],[],[[0,0,false,null,293594479552318,93,[[22,44,null,0,false,false,false,213135665178743,null,[[10,3]]],[21,41,null,0,false,false,true,532133064001199,null,[[0,[31,[2,22,false,4]]]]]],[[22,235,null,685047970520464,0,null,[[0,[283]],[0,[18,[1,21,53,false]]],[0,[18,[1,21,54,false]]]]]],[[0,0,false,null,772027692014936,94,[[22,80,null,0,false,false,false,769656334917063,null,[[4,21]]]],[],[[1,"Target",0,0,false,false,905724304615112,false,98],[0,0,false,null,741498649115820,95,[],[[-1,40,null,841453932966337,0,null,[[11,"Target"],[7,[31,[2,21,false,1]]]]]]],[0,0,false,null,465394443062004,96,[[-1,69,null,0,false,false,false,418869650237193,null,[[4,21]]],[-1,236,null,0,false,false,false,565856038764541,null,[[4,21],[7,[31,[2,21,false,0]]],[8,0],[7,[2,[3,"Target"]]]]]],[[22,66,null,304734454589376,0,null,[[4,21],[7,[4]]]],[22,62,null,318284843342907,0,null,[[0,[18,[1,21,64,false]]]]],[22,42,null,621082522265642,0,null,[[10,4],[7,[3]]]]]]]]]],[0,0,false,null,336960609008293,97,[[-1,49,null,0,false,false,false,948726128638340,null]],[[22,235,null,492887529496308,0,null,[[0,[283]],[0,[18,[1,12,53,false]]],[0,[18,[1,12,54,false]]]]]]]]],[0,0,false,null,242990356166980,98,[[22,237,null,1,false,false,false,220429532500408,null],[23,41,null,0,false,false,true,470234656237827,null,[[0,[31,[2,22,false,2]]]]]],[[23,102,null,578375120434889,0,null,[[10,7],[3,1]]]]],[0,0,false,null,975049006825006,99,[[22,80,null,0,false,false,false,941340879682719,null,[[4,77]]]],[[22,160,null,585751006023911,0,null]]]]]]],[3,[true,"Coin"],false,null,990451640931477,100,[[-1,39,null,0,false,false,false,0,false,[[1,[350]]]]],[],[[0,0,false,null,940927583971450,101,[[-1,38,null,1,false,false,false,290959982618054,null]],[],[[0,0,false,null,399208593995078,102,[[-1,199,null,0,true,false,false,645951248633864,null,[[4,15]]]],[],[[0,0,false,null,712195202166939,103,[],[[15,158,null,908177307058498,0,null,[[0,[11]]]]]]]]]],[0,0,false,null,568895904425117,104,[[12,191,null,0,false,false,true,720349583435080,null,[[4,15]]],[15,238,"Bullet",0,false,false,false,946482604818914,null,[[8,0],[0,[6]]]]],[[15,74,"Bullet",947736517954669,0,null,[[3,1]]],[15,70,"Bullet",112940484689525,0,null,[[0,[237]]]],[15,75,"Fade",329374712953997,0,null]]]]],[3,[true,"Portal"],false,null,269674408685541,105,[[-1,39,null,0,false,false,false,0,false,[[1,[351]]]]],[],[[1,"JustCollided",0,0,true,false,566175294531988,false,235],[0,0,false,null,933589481341011,106,[[12,56,"LineOfSight",0,false,false,false,418545910536002,null]],[]],[0,0,false,null,520712428622576,107,[[12,239,null,0,false,false,false,355889751525965,null,[[4,21],[0,[352,[0,12,"Platform",101,false],[4,65]]],[0,[352,[0,12,"Platform",108,false],[4,65]]]]],[12,239,null,0,false,true,false,900902226589336,null,[[4,77],[0,[353,[2,12,false,14],[0,12,"Platform",101,false],[4,65]]],[0,[352,[0,12,"Platform",108,false],[4,65]]]]],[12,240,null,0,false,false,true,600788334596796,null,[[3,0],[0,[18,[1,21,53,false]]],[0,[18,[1,21,54,false]]]]],[-1,114,null,0,false,false,false,895960023305062,null,[[11,"JustCollided"],[8,0],[7,[6]]]]],[[-1,40,null,267036565475141,0,null,[[11,"JustCollided"],[7,[4]]]],[12,241,null,393824572766211,0,null,[[3,0]]]],[[1,"Target",0,0,false,false,497328891668924,false,98],[1,"InitAngle",0,0,false,false,477521597470536,false,74],[1,"speed",0,0,false,false,302521863049998,false,236],[1,"newAngle",0,0,false,false,600734005749924,false,237],[0,0,false,null,758921628654325,108,[],[[-1,40,null,987325884269686,0,null,[[11,"Target"],[7,[31,[2,21,false,1]]]]],[-1,40,null,433457504769939,0,null,[[11,"InitAngle"],[7,[18,[1,21,64,false]]]]],[22,42,null,506227106334621,0,null,[[10,4],[7,[18,[1,21,107,false]]]]]]],[0,0,false,null,686270924108445,109,[[-1,69,null,0,false,false,false,398512139371253,null,[[4,21]]],[-1,236,null,0,false,false,false,895596111410269,null,[[4,21],[7,[31,[2,21,false,0]]],[8,0],[7,[2,[3,"Target"]]]]]],[[-1,40,null,119109777275943,0,null,[[11,"speed"],[7,[354,[2,21,false,4],[2,21,false,5],[0,12,"Platform",120,false]]]]],[-1,40,null,912897193806467,0,null,[[11,"newAngle"],[7,[355,[2,21,false,2],[2,21,false,3],[0,12,"Platform",242,false],[3,"InitAngle"],[1,21,64,false]]]]],[12,59,null,349994434856225,0,null,[[0,[343,[1,21,60,false]]],[0,[343,[1,21,61,false]]]]],[12,128,"Platform",392328997249016,0,null,[[0,[356,[3,"newAngle"],[3,"speed"]]]]],[12,105,"Platform",146518217139777,0,null,[[0,[357,[3,"newAngle"],[3,"speed"]]]]]]],[0,0,false,null,495507609656744,110,[],[[-1,77,null,760450021046599,2,null,[[0,[190]]]],[12,241,null,152372575153389,0,null,[[3,1]]]]]]],[0,0,false,null,938072069276762,111,[[12,50,null,0,false,false,false,796654953810639,null,[[10,0],[8,0],[7,[142]]]],[75,239,null,0,false,false,false,135401553701782,null,[[4,21],[0,[358,[0,75,"Bullet",243,false],[0,75,"Bullet",231,false],[4,65]]],[0,[359,[0,75,"Bullet",243,false],[0,75,"Bullet",231,false],[4,65]]]]],[75,240,null,0,false,false,true,653107752782884,null,[[3,0],[0,[18,[1,21,53,false]]],[0,[18,[1,21,54,false]]]]],[-1,114,null,0,false,false,false,216183960631771,null,[[11,"JustCollided"],[8,0],[7,[6]]]]],[[-1,40,null,853180126754972,0,null,[[11,"JustCollided"],[7,[4]]]],[12,241,null,161829795696467,0,null,[[3,0]]]],[[1,"Target",0,0,false,false,840984905118782,false,98],[1,"InitAngle",0,0,false,false,169976532013322,false,74],[1,"speed",0,0,false,false,643833662125539,false,236],[1,"newAngle",0,0,false,false,991344877173377,false,237],[0,0,false,null,816838679376588,112,[],[[-1,40,null,449992734113091,0,null,[[11,"Target"],[7,[31,[2,21,false,1]]]]],[-1,40,null,753044649533117,0,null,[[11,"InitAngle"],[7,[18,[1,21,64,false]]]]]]],[0,0,false,null,511201581557150,113,[[-1,69,null,0,false,false,false,151102765247069,null,[[4,21]]],[-1,236,null,0,false,false,false,677891954683639,null,[[4,21],[7,[31,[2,21,false,0]]],[8,0],[7,[2,[3,"Target"]]]]]],[[-1,40,null,440323801508293,0,null,[[11,"speed"],[7,[354,[2,21,false,4],[2,21,false,5],[0,75,"Bullet",231,false]]]]],[-1,40,null,753387989886508,0,null,[[11,"newAngle"],[7,[360,[2,21,false,2],[2,21,false,3],[0,75,"Bullet",243,false],[3,"InitAngle"],[1,21,64,false]]]]],[75,59,null,910865530101278,0,null,[[0,[343,[1,21,60,false]]],[0,[343,[1,21,61,false]]]]],[75,70,"Bullet",137767993035028,0,null,[[0,[2,[3,"newAngle"]]]]],[75,71,"Bullet",940295375498631,0,null,[[0,[2,[3,"speed"]]]]]]],[0,0,false,null,976027404444245,114,[],[[-1,77,null,722817361789651,2,null,[[0,[190]]]],[75,241,null,448871636927268,0,null,[[3,1]]]]]]],[0,0,false,null,910985258546229,115,[[12,80,null,0,false,true,false,293411027858853,null,[[4,21]]],[-1,114,null,0,false,false,false,296035543707873,null,[[11,"JustCollided"],[8,0],[7,[4]]]]],[[-1,77,null,720963669825147,2,null,[[0,[181]]]],[-1,40,null,122286764344964,0,null,[[11,"JustCollided"],[7,[6]]]]]]]],[3,[true,"GravityZone"],false,null,766431109369342,116,[[-1,39,null,0,false,false,false,0,false,[[1,[361]]]]],[],[[1,"BaseGravity",0,0,true,false,416550862531596,false,238],[1,"gravityAngle",0,0,true,false,838278822552094,false,239],[0,0,false,null,504657490900519,117,[[-1,38,null,1,false,false,false,437685135686957,null]],[[-1,40,null,673517440873318,0,null,[[11,"BaseGravity"],[7,[7,[0,12,"Platform",109,false]]]]]]],[0,0,false,null,267089152098061,118,[],[[12,244,"Platform",719715866628944,0,null,[[0,[2,[3,"BaseGravity"]]]]],[71,168,null,691690664314623,0,null,[[0,[272]]]],[-1,40,null,128624128454200,0,null,[[11,"gravityAngle"],[7,[275]]]]]],[1,"gravityOverwritten",2,false,false,false,510168127386186,false,240],[0,0,false,null,557733158713274,119,[[-1,245,null,0,false,false,false,290072851400039,null,[[4,71],[0,[18,[1,12,53,false]]],[0,[18,[1,12,54,false]]]]],[-1,143,null,0,true,false,false,601074265763469,null,[[4,71],[7,[18,[1,71,246,false]]],[3,0]]]],[[71,168,null,529766007884207,0,null,[[0,[215]]]]],[[0,0,false,null,383764308548928,120,[[71,247,null,0,false,false,false,698563044001595,null,[[10,0]]]],[[-1,40,null,196202753006745,0,null,[[11,"gravityAngle"],[7,[31,[2,71,false,1]]]]]]],[0,0,false,null,630167689695574,121,[[-1,49,null,0,false,false,false,554738704278215,null]],[[-1,40,null,142240474341291,0,null,[[11,"gravityAngle"],[7,[362,[1,71,248,false]]]]]]],[0,0,false,null,348351310216794,122,[[71,247,null,0,false,false,false,149876680551865,null,[[10,2]]]],[[12,244,"Platform",948537589013705,0,null,[[0,[31,[2,71,false,3]]]]],[-1,132,null,582237837232815,0,null,[[11,"gravityOverwritten"],[3,1]]]]],[0,0,false,null,738804275526320,123,[[-1,49,null,0,false,false,false,391308303420540,null],[-1,133,null,0,false,true,false,800233870012742,null,[[11,"gravityOverwritten"]]]],[[12,244,"Platform",593482208166597,0,null,[[0,[2,[3,"BaseGravity"]]]]]]]]],[1,"startAngle",0,0,false,false,869050466087301,false,241],[0,0,false,null,812259206955645,124,[[-1,233,null,0,false,false,false,331644329248900,null]],[[12,62,null,896263749552981,0,null,[[0,[363,[0,12,"Platform",47,false]]]]],[-1,40,null,555001677282380,0,null,[[11,"startAngle"],[7,[7,[0,12,"Platform",47,false]]]]],[12,155,"Platform",474054806656459,0,null,[[0,[364,[4,63],[0,12,"Platform",47,false],[3,"gravityAngle"],[4,65]]]]],[69,249,null,422081086341589,0,null,[[0,[18,[1,32,53,false]]],[0,[18,[1,32,54,false]]]]],[69,250,null,182595123839849,0,null,[[0,[365,[0,12,"Platform",101,false],[0,12,"Platform",108,false],[4,65]]],[0,[156]]]],[69,251,null,386348546902043,0,null,[[0,[366,[0,12,"Platform",101,false],[0,12,"Platform",108,false],[1,12,64,false]]]]],[69,252,null,160581600201118,0,null,[[0,[367,[1,69,253,false]]]]]],[[0,0,false,null,149596391574260,125,[[-1,57,null,0,false,false,false,273514221508254,null,[[7,[2,[3,"startAngle"]]],[8,1],[7,[7,[0,12,"Platform",47,false]]]]]],[],[[1,"vx",0,0,false,false,927717529501226,false,242],[1,"vy",0,0,false,false,534816233354566,false,243],[0,0,false,null,488593826887737,126,[],[[-1,40,null,209632787777534,0,null,[[11,"vx"],[7,[7,[0,12,"Platform",101,false]]]]],[-1,40,null,648351967866101,0,null,[[11,"vy"],[7,[7,[0,12,"Platform",108,false]]]]],[12,128,"Platform",942791898198261,0,null,[[0,[368,[3,"vx"],[3,"startAngle"],[0,12,"Platform",47,false],[3,"vy"],[3,"startAngle"],[0,12,"Platform",47,false]]]]],[12,105,"Platform",391867351587072,0,null,[[0,[369,[3,"vy"],[3,"startAngle"],[0,12,"Platform",47,false],[3,"vx"],[3,"startAngle"],[0,12,"Platform",47,false]]]]],[-2,"PlayerUpdateControls",null,482316455423457,0,null]]]]]]]]]]],["UI Elements",[[0,0,false,null,989397403362457,1,[[-1,38,null,1,false,false,false,570092867221707,null]],[[47,254,"Pin",781181076188030,0,null,[[4,46],[3,0]]]],[[0,0,false,null,632500859518511,2,[[78,50,null,0,false,false,false,304737293933916,null,[[10,5],[8,1],[7,[262]]]],[-1,199,null,0,true,false,false,150704949912272,null,[[4,78]]]],[[-1,166,null,205104097739033,0,null,[[4,43],[5,[18,[1,78,182,true]]],[0,[18,[1,78,86,false]]],[0,[18,[1,78,84,false]]]]],[43,255,null,276543967584178,0,null,[[0,[18,[1,78,88,false]]],[0,[18,[1,78,55,false]]]]],[43,172,"SpritefontDeluxe",130487887530586,0,null,[[1,[143,[2,78,true,5]]]]]]]]]]]],[],"media/",false,1280,1280,3,true,"nearest",true,"1.0.0.0",true,false,0,0,2425,false,true,1,true,false,[[32,12,33,34,35,36,37,38,39,40,41],[46,47]],"icons/",[],true,"uk0d4zqlquq","fonts/",[["Timeline 1",1,0.1,"default","relative",[[[[475,323,0,64,32,0,0,[1,1,1,1],0,0.5,0,0,[]],22,84,[0,1,0,0,0],[[400,0,0,false,true,false,true]],[true,"Default",0,true]],"default","relative",1,[[0,"easeinoutsine",1,""],[1,"easeinoutsine",1,""]],[[["world-instance"],"offsetX","float",null,null,"continuous","relative",1,[[[0,482,"numeric"],0,"easeinoutsine",1,[["cubic-bezier",[null,0,null,0]]]],[[595,1749,"numeric"],1,"easeinoutsine",1,[["cubic-bezier",[null,0,null,0]]]]]],[["world-instance"],"offsetY","float",null,null,"continuous","relative",1,[[[0,317,"numeric"],0,"easeinoutsine",1,[["cubic-bezier",[null,0,null,0]]]],[[-1,275,"numeric"],1,"easeinoutsine",1,[["cubic-bezier",[null,0,null,0]]]]]]],""]],1,1,1]],"high-performance",[],"standard","vsync",""]} \ No newline at end of file diff --git a/games/ovo/2.0.2alpha/icons/icon-512.png b/games/ovo/2.0.2alpha/icons/icon-512.png new file mode 100644 index 00000000..d09fb2dd Binary files /dev/null and b/games/ovo/2.0.2alpha/icons/icon-512.png differ diff --git a/games/ovo/2.0.2alpha/icons/loading-logo.png b/games/ovo/2.0.2alpha/icons/loading-logo.png new file mode 100644 index 00000000..c98252ec Binary files /dev/null and b/games/ovo/2.0.2alpha/icons/loading-logo.png differ diff --git a/games/ovo/2.0.2alpha/images/border-sheet0.png b/games/ovo/2.0.2alpha/images/border-sheet0.png new file mode 100644 index 00000000..78e1ea60 Binary files /dev/null and b/games/ovo/2.0.2alpha/images/border-sheet0.png differ diff --git a/games/ovo/2.0.2alpha/images/destructiblefloor-sheet0.png b/games/ovo/2.0.2alpha/images/destructiblefloor-sheet0.png new file mode 100644 index 00000000..1de1aead Binary files /dev/null and b/games/ovo/2.0.2alpha/images/destructiblefloor-sheet0.png differ diff --git a/games/ovo/2.0.2alpha/images/gravityzone-sheet0.png b/games/ovo/2.0.2alpha/images/gravityzone-sheet0.png new file mode 100644 index 00000000..74792d6d Binary files /dev/null and b/games/ovo/2.0.2alpha/images/gravityzone-sheet0.png differ diff --git a/games/ovo/2.0.2alpha/images/groundpoundsolid-sheet0.png b/games/ovo/2.0.2alpha/images/groundpoundsolid-sheet0.png new file mode 100644 index 00000000..eb225261 Binary files /dev/null and b/games/ovo/2.0.2alpha/images/groundpoundsolid-sheet0.png differ diff --git a/games/ovo/2.0.2alpha/images/jumpthrough-sheet0.png b/games/ovo/2.0.2alpha/images/jumpthrough-sheet0.png new file mode 100644 index 00000000..67262fa6 Binary files /dev/null and b/games/ovo/2.0.2alpha/images/jumpthrough-sheet0.png differ diff --git a/games/ovo/2.0.2alpha/images/realjumpthrough-sheet0.png b/games/ovo/2.0.2alpha/images/realjumpthrough-sheet0.png new file mode 100644 index 00000000..b1c480d4 Binary files /dev/null and b/games/ovo/2.0.2alpha/images/realjumpthrough-sheet0.png differ diff --git a/games/ovo/2.0.2alpha/images/shared-0-sheet0.png b/games/ovo/2.0.2alpha/images/shared-0-sheet0.png new file mode 100644 index 00000000..c0fa4e24 Binary files /dev/null and b/games/ovo/2.0.2alpha/images/shared-0-sheet0.png differ diff --git a/games/ovo/2.0.2alpha/images/shared-0-sheet1.png b/games/ovo/2.0.2alpha/images/shared-0-sheet1.png new file mode 100644 index 00000000..a84b4b83 Binary files /dev/null and b/games/ovo/2.0.2alpha/images/shared-0-sheet1.png differ diff --git a/games/ovo/2.0.2alpha/images/shared-0-sheet2.png b/games/ovo/2.0.2alpha/images/shared-0-sheet2.png new file mode 100644 index 00000000..bfc56301 Binary files /dev/null and b/games/ovo/2.0.2alpha/images/shared-0-sheet2.png differ diff --git a/games/ovo/2.0.2alpha/images/shared-0-sheet3.png b/games/ovo/2.0.2alpha/images/shared-0-sheet3.png new file mode 100644 index 00000000..cb748d50 Binary files /dev/null and b/games/ovo/2.0.2alpha/images/shared-0-sheet3.png differ diff --git a/games/ovo/2.0.2alpha/images/shared-0-sheet4.jpg b/games/ovo/2.0.2alpha/images/shared-0-sheet4.jpg new file mode 100644 index 00000000..e8f9ecd4 Binary files /dev/null and b/games/ovo/2.0.2alpha/images/shared-0-sheet4.jpg differ diff --git a/games/ovo/2.0.2alpha/images/shared-0-sheet5.png b/games/ovo/2.0.2alpha/images/shared-0-sheet5.png new file mode 100644 index 00000000..17250b34 Binary files /dev/null and b/games/ovo/2.0.2alpha/images/shared-0-sheet5.png differ diff --git a/games/ovo/2.0.2alpha/images/shared-0-sheet6.png b/games/ovo/2.0.2alpha/images/shared-0-sheet6.png new file mode 100644 index 00000000..d79d8220 Binary files /dev/null and b/games/ovo/2.0.2alpha/images/shared-0-sheet6.png differ diff --git a/games/ovo/2.0.2alpha/images/shared-0-sheet7.png b/games/ovo/2.0.2alpha/images/shared-0-sheet7.png new file mode 100644 index 00000000..0dceaaac Binary files /dev/null and b/games/ovo/2.0.2alpha/images/shared-0-sheet7.png differ diff --git a/games/ovo/2.0.2alpha/images/solid-sheet0.png b/games/ovo/2.0.2alpha/images/solid-sheet0.png new file mode 100644 index 00000000..411c9e81 Binary files /dev/null and b/games/ovo/2.0.2alpha/images/solid-sheet0.png differ diff --git a/games/ovo/2.0.2alpha/images/solid2-sheet0.png b/games/ovo/2.0.2alpha/images/solid2-sheet0.png new file mode 100644 index 00000000..c7adb40f Binary files /dev/null and b/games/ovo/2.0.2alpha/images/solid2-sheet0.png differ diff --git a/games/ovo/2.0.2alpha/images/solid3-sheet0.png b/games/ovo/2.0.2alpha/images/solid3-sheet0.png new file mode 100644 index 00000000..442c2ee4 Binary files /dev/null and b/games/ovo/2.0.2alpha/images/solid3-sheet0.png differ diff --git a/games/ovo/2.0.2alpha/images/solidmove-sheet0.png b/games/ovo/2.0.2alpha/images/solidmove-sheet0.png new file mode 100644 index 00000000..17617e2d Binary files /dev/null and b/games/ovo/2.0.2alpha/images/solidmove-sheet0.png differ diff --git a/games/ovo/2.0.2alpha/images/tiledbackground-sheet0.png b/games/ovo/2.0.2alpha/images/tiledbackground-sheet0.png new file mode 100644 index 00000000..db359623 Binary files /dev/null and b/games/ovo/2.0.2alpha/images/tiledbackground-sheet0.png differ diff --git a/games/ovo/2.0.2alpha/index.html b/games/ovo/2.0.2alpha/index.html new file mode 100644 index 00000000..436817d9 --- /dev/null +++ b/games/ovo/2.0.2alpha/index.html @@ -0,0 +1,35 @@ + + + + + + OvO 2.0.2 + + + + + + + + + + +
+ + + + + + + + + + \ No newline at end of file diff --git a/games/ovo/2.0.2alpha/main course.json b/games/ovo/2.0.2alpha/main course.json new file mode 100644 index 00000000..78bab8fb --- /dev/null +++ b/games/ovo/2.0.2alpha/main course.json @@ -0,0 +1,27 @@ +{ + "name": "Main course", + "image": "", + "chapters": [ + { + "name": "Tutorial", + "image": "", + "levels": [ + { + "name": "My super level", + "width": 2560, + "height": 2560, + "objects": [ + { + "name": "Solid", + "x": 100, + "y": 100, + "width": 200, + "height": 8, + "angle": 0 + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/games/ovo/2.0.2alpha/scripts/c3runtime.js b/games/ovo/2.0.2alpha/scripts/c3runtime.js new file mode 100644 index 00000000..1e297822 --- /dev/null +++ b/games/ovo/2.0.2alpha/scripts/c3runtime.js @@ -0,0 +1,8825 @@ +// Generated by Construct 3, the game and app creator :: https://www.construct.net +"use strict"; +// c3/3rdparty/glmatrix.js +(function(e,t){if('object'==typeof exports&&'object'==typeof module)module.exports=t();else if('function'==typeof define&&define.amd)define([],t);else{var r=t();for(var a in r)('object'==typeof exports?exports:e)[a]=r[a]}})(this,function(){var e=Math.acos,t=Math.round,r=Math.min,o=Math.floor,l=Math.ceil,n=Math.sqrt,s=Math.pow,d=Math.cos,u=Math.sin,i=Math.max,m=Math.abs,c=Math.PI;return function(e){function t(r){if(a[r])return a[r].exports;var o=a[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var a={};return t.m=e,t.c=a,t.d=function(e,a,r){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var a=e&&e.__esModule?function(){return e['default']}:function(){return e};return t.d(a,'a',a),a},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p='',t(t.s=4)}([function(e,t){'use strict';Object.defineProperty(t,'__esModule',{value:!0}),t.setMatrixArrayType=function(e){t.ARRAY_TYPE=a=e},t.toRadian=function(e){return e*l},t.equals=function(e,t){return m(e-t)<=r*i(1,m(e),m(t))};var r=t.EPSILON=1e-6,a=t.ARRAY_TYPE='undefined'==typeof Float32Array?Array:Float32Array,o=t.RANDOM=Math.random,l=c/180},function(e,t,a){'use strict';function r(e,t,a){var r=t[0],o=t[1],l=t[2],s=t[3],n=t[4],d=t[5],u=t[6],i=t[7],c=t[8],m=a[0],f=a[1],P=a[2],p=a[3],E=a[4],y=a[5],A=a[6],O=a[7],R=a[8];return e[0]=m*r+f*s+P*u,e[1]=m*o+f*n+P*i,e[2]=m*l+f*d+P*c,e[3]=p*r+E*s+y*u,e[4]=p*o+E*n+y*i,e[5]=p*l+E*d+y*c,e[6]=A*r+O*s+R*u,e[7]=A*o+O*n+R*i,e[8]=A*l+O*d+R*c,e}function o(e,t,a){return e[0]=t[0]-a[0],e[1]=t[1]-a[1],e[2]=t[2]-a[2],e[3]=t[3]-a[3],e[4]=t[4]-a[4],e[5]=t[5]-a[5],e[6]=t[6]-a[6],e[7]=t[7]-a[7],e[8]=t[8]-a[8],e}Object.defineProperty(t,'__esModule',{value:!0}),t.sub=t.mul=void 0,t.create=function(){var e=new c.ARRAY_TYPE(9);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},t.fromMat4=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[4],e[4]=t[5],e[5]=t[6],e[6]=t[8],e[7]=t[9],e[8]=t[10],e},t.clone=function(e){var t=new c.ARRAY_TYPE(9);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},t.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},t.fromValues=function(e,t,a,r,o,l,s,n,d){var u=new c.ARRAY_TYPE(9);return u[0]=e,u[1]=t,u[2]=a,u[3]=r,u[4]=o,u[5]=l,u[6]=s,u[7]=n,u[8]=d,u},t.set=function(e,t,a,r,o,l,s,n,d,u){return e[0]=t,e[1]=a,e[2]=r,e[3]=o,e[4]=l,e[5]=s,e[6]=n,e[7]=d,e[8]=u,e},t.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},t.transpose=function(e,t){if(e===t){var a=t[1],r=t[2],o=t[5];e[1]=t[3],e[2]=t[6],e[3]=a,e[5]=t[7],e[6]=r,e[7]=o}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e},t.invert=function(e,t){var a=t[0],r=t[1],o=t[2],l=t[3],s=t[4],n=t[5],d=t[6],u=t[7],i=t[8],c=i*s-n*u,m=-i*l+n*d,f=u*l-s*d,P=a*c+r*m+o*f;return P?(P=1/P,e[0]=c*P,e[1]=(-i*r+o*u)*P,e[2]=(n*r-o*s)*P,e[3]=m*P,e[4]=(i*a-o*d)*P,e[5]=(-n*a+o*l)*P,e[6]=f*P,e[7]=(-u*a+r*d)*P,e[8]=(s*a-r*l)*P,e):null},t.adjoint=function(e,t){var a=t[0],r=t[1],o=t[2],l=t[3],s=t[4],n=t[5],d=t[6],u=t[7],i=t[8];return e[0]=s*i-n*u,e[1]=o*u-r*i,e[2]=r*n-o*s,e[3]=n*d-l*i,e[4]=a*i-o*d,e[5]=o*l-a*n,e[6]=l*u-s*d,e[7]=r*d-a*u,e[8]=a*s-r*l,e},t.determinant=function(e){var t=e[0],a=e[1],r=e[2],o=e[3],l=e[4],s=e[5],n=e[6],d=e[7],u=e[8];return t*(u*l-s*d)+a*(-u*o+s*n)+r*(d*o-l*n)},t.multiply=r,t.translate=function(e,t,a){var r=t[0],o=t[1],l=t[2],s=t[3],n=t[4],d=t[5],u=t[6],i=t[7],c=t[8],m=a[0],f=a[1];return e[0]=r,e[1]=o,e[2]=l,e[3]=s,e[4]=n,e[5]=d,e[6]=m*r+f*s+u,e[7]=m*o+f*n+i,e[8]=m*l+f*d+c,e},t.rotate=function(e,t,a){var r=t[0],o=t[1],l=t[2],n=t[3],i=t[4],m=t[5],f=t[6],P=t[7],p=t[8],E=u(a),s=d(a);return e[0]=s*r+E*n,e[1]=s*o+E*i,e[2]=s*l+E*m,e[3]=s*n-E*r,e[4]=s*i-E*o,e[5]=s*m-E*l,e[6]=f,e[7]=P,e[8]=p,e},t.scale=function(e,t,a){var r=a[0],o=a[1];return e[0]=r*t[0],e[1]=r*t[1],e[2]=r*t[2],e[3]=o*t[3],e[4]=o*t[4],e[5]=o*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},t.fromTranslation=function(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=t[0],e[7]=t[1],e[8]=1,e},t.fromRotation=function(e,t){var a=u(t),r=d(t);return e[0]=r,e[1]=a,e[2]=0,e[3]=-a,e[4]=r,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},t.fromScaling=function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=t[1],e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},t.fromMat2d=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=0,e[3]=t[2],e[4]=t[3],e[5]=0,e[6]=t[4],e[7]=t[5],e[8]=1,e},t.fromQuat=function(e,t){var a=t[0],r=t[1],o=t[2],l=t[3],s=a+a,n=r+r,d=o+o,u=a*s,i=r*s,c=r*n,m=o*s,f=o*n,P=o*d,p=l*s,E=l*n,y=l*d;return e[0]=1-c-P,e[3]=i-y,e[6]=m+E,e[1]=i+y,e[4]=1-u-P,e[7]=f-p,e[2]=m-E,e[5]=f+p,e[8]=1-u-c,e},t.normalFromMat4=function(e,t){var a=t[0],r=t[1],o=t[2],l=t[3],s=t[4],n=t[5],d=t[6],u=t[7],i=t[8],c=t[9],m=t[10],f=t[11],P=t[12],p=t[13],E=t[14],y=t[15],A=a*n-r*s,O=a*d-o*s,R=a*u-l*s,L=r*d-o*n,S=r*u-l*n,_=o*u-l*d,N=i*p-c*P,I=i*E-m*P,Y=i*y-f*P,q=c*E-m*p,g=c*y-f*p,M=m*y-f*E,v=A*M-O*g+R*q+L*Y-S*I+_*N;return v?(v=1/v,e[0]=(n*M-d*g+u*q)*v,e[1]=(d*Y-s*M-u*I)*v,e[2]=(s*g-n*Y+u*N)*v,e[3]=(o*g-r*M-l*q)*v,e[4]=(a*M-o*Y+l*I)*v,e[5]=(r*Y-a*g-l*N)*v,e[6]=(p*_-E*S+y*L)*v,e[7]=(E*R-P*_-y*O)*v,e[8]=(P*S-p*R+y*A)*v,e):null},t.projection=function(e,t,a){return e[0]=2/t,e[1]=0,e[2]=0,e[3]=0,e[4]=-2/a,e[5]=0,e[6]=-1,e[7]=1,e[8]=1,e},t.str=function(e){return'mat3('+e[0]+', '+e[1]+', '+e[2]+', '+e[3]+', '+e[4]+', '+e[5]+', '+e[6]+', '+e[7]+', '+e[8]+')'},t.frob=function(e){return n(s(e[0],2)+s(e[1],2)+s(e[2],2)+s(e[3],2)+s(e[4],2)+s(e[5],2)+s(e[6],2)+s(e[7],2)+s(e[8],2))},t.add=function(e,t,a){return e[0]=t[0]+a[0],e[1]=t[1]+a[1],e[2]=t[2]+a[2],e[3]=t[3]+a[3],e[4]=t[4]+a[4],e[5]=t[5]+a[5],e[6]=t[6]+a[6],e[7]=t[7]+a[7],e[8]=t[8]+a[8],e},t.subtract=o,t.multiplyScalar=function(e,t,a){return e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e[3]=t[3]*a,e[4]=t[4]*a,e[5]=t[5]*a,e[6]=t[6]*a,e[7]=t[7]*a,e[8]=t[8]*a,e},t.multiplyScalarAndAdd=function(e,t,a,r){return e[0]=t[0]+a[0]*r,e[1]=t[1]+a[1]*r,e[2]=t[2]+a[2]*r,e[3]=t[3]+a[3]*r,e[4]=t[4]+a[4]*r,e[5]=t[5]+a[5]*r,e[6]=t[6]+a[6]*r,e[7]=t[7]+a[7]*r,e[8]=t[8]+a[8]*r,e},t.exactEquals=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},t.equals=function(e,t){var a=e[0],r=e[1],o=e[2],l=e[3],s=e[4],n=e[5],d=e[6],u=e[7],f=e[8],P=t[0],p=t[1],E=t[2],y=t[3],A=t[4],O=t[5],R=t[6],L=t[7],S=t[8];return m(a-P)<=c.EPSILON*i(1,m(a),m(P))&&m(r-p)<=c.EPSILON*i(1,m(r),m(p))&&m(o-E)<=c.EPSILON*i(1,m(o),m(E))&&m(l-y)<=c.EPSILON*i(1,m(l),m(y))&&m(s-A)<=c.EPSILON*i(1,m(s),m(A))&&m(n-O)<=c.EPSILON*i(1,m(n),m(O))&&m(d-R)<=c.EPSILON*i(1,m(d),m(R))&&m(u-L)<=c.EPSILON*i(1,m(u),m(L))&&m(f-S)<=c.EPSILON*i(1,m(f),m(S))};var l=a(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}(l);var f=t.mul=r,P=t.sub=o},function(a,s,f){'use strict';function P(){var e=new Y.ARRAY_TYPE(3);return e[0]=0,e[1]=0,e[2]=0,e}function p(e){var t=e[0],a=e[1],r=e[2];return n(t*t+a*a+r*r)}function E(e,t,a){var r=new Y.ARRAY_TYPE(3);return r[0]=e,r[1]=t,r[2]=a,r}function y(e,t,a){return e[0]=t[0]-a[0],e[1]=t[1]-a[1],e[2]=t[2]-a[2],e}function A(e,t,a){return e[0]=t[0]*a[0],e[1]=t[1]*a[1],e[2]=t[2]*a[2],e}function O(e,t,a){return e[0]=t[0]/a[0],e[1]=t[1]/a[1],e[2]=t[2]/a[2],e}function R(e,t){var a=t[0]-e[0],r=t[1]-e[1],o=t[2]-e[2];return n(a*a+r*r+o*o)}function L(e,t){var a=t[0]-e[0],r=t[1]-e[1],o=t[2]-e[2];return a*a+r*r+o*o}function S(e){var t=e[0],a=e[1],r=e[2];return t*t+a*a+r*r}function _(e,t){var a=t[0],r=t[1],o=t[2],l=a*a+r*r+o*o;return 0l?c:e(l)},s.str=function(e){return'vec3('+e[0]+', '+e[1]+', '+e[2]+')'},s.exactEquals=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]},s.equals=function(e,t){var a=e[0],r=e[1],o=e[2],l=t[0],s=t[1],n=t[2];return m(a-l)<=Y.EPSILON*i(1,m(a),m(l))&&m(r-s)<=Y.EPSILON*i(1,m(r),m(s))&&m(o-n)<=Y.EPSILON*i(1,m(o),m(n))};var I=f(0),Y=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t}(I),q=s.sub=y,g=s.mul=A,M=s.div=O,v=s.dist=R,h=s.sqrDist=L,T=s.len=p,b=s.sqrLen=S,x=s.forEach=function(){var e=P();return function(t,a,o,s,n,d){var u,i;for(a||(a=3),o||(o=0),i=s?r(s*a+o,t.length):t.length,u=o;ut[5]&t[0]>t[10]?(r=2*n(1+t[0]-t[5]-t[10]),e[3]=(t[6]-t[9])/r,e[0]=.25*r,e[1]=(t[1]+t[4])/r,e[2]=(t[8]+t[2])/r):t[5]>t[10]?(r=2*n(1+t[5]-t[0]-t[10]),e[3]=(t[8]-t[2])/r,e[0]=(t[1]+t[4])/r,e[1]=.25*r,e[2]=(t[6]+t[9])/r):(r=2*n(1+t[10]-t[0]-t[5]),e[3]=(t[1]-t[4])/r,e[0]=(t[8]+t[2])/r,e[1]=(t[6]+t[9])/r,e[2]=.25*r),e},t.fromRotationTranslationScale=function(e,t,a,r){var o=t[0],l=t[1],s=t[2],n=t[3],d=o+o,u=l+l,i=s+s,c=o*d,m=o*u,f=o*i,P=l*u,p=l*i,E=s*i,y=n*d,A=n*u,O=n*i,R=r[0],L=r[1],S=r[2];return e[0]=(1-(P+E))*R,e[1]=(m+O)*R,e[2]=(f-A)*R,e[3]=0,e[4]=(m-O)*L,e[5]=(1-(c+E))*L,e[6]=(p+y)*L,e[7]=0,e[8]=(f+A)*S,e[9]=(p-y)*S,e[10]=(1-(c+P))*S,e[11]=0,e[12]=a[0],e[13]=a[1],e[14]=a[2],e[15]=1,e},t.fromRotationTranslationScaleOrigin=function(e,t,a,r,l){var o=t[0],s=t[1],n=t[2],d=t[3],u=o+o,i=s+s,c=n+n,m=o*u,f=o*i,P=o*c,p=s*i,E=s*c,y=n*c,A=d*u,O=d*i,R=d*c,L=r[0],S=r[1],_=r[2],N=l[0],I=l[1],Y=l[2];return e[0]=(1-(p+y))*L,e[1]=(f+R)*L,e[2]=(P-O)*L,e[3]=0,e[4]=(f-R)*S,e[5]=(1-(m+y))*S,e[6]=(E+A)*S,e[7]=0,e[8]=(P+O)*_,e[9]=(E-A)*_,e[10]=(1-(m+p))*_,e[11]=0,e[12]=a[0]+N-(e[0]*N+e[4]*I+e[8]*Y),e[13]=a[1]+I-(e[1]*N+e[5]*I+e[9]*Y),e[14]=a[2]+Y-(e[2]*N+e[6]*I+e[10]*Y),e[15]=1,e},t.fromQuat=function(e,t){var a=t[0],r=t[1],o=t[2],l=t[3],s=a+a,n=r+r,d=o+o,u=a*s,i=r*s,c=r*n,m=o*s,f=o*n,P=o*d,p=l*s,E=l*n,y=l*d;return e[0]=1-c-P,e[1]=i+y,e[2]=m-E,e[3]=0,e[4]=i-y,e[5]=1-u-P,e[6]=f+p,e[7]=0,e[8]=m+E,e[9]=f-p,e[10]=1-u-c,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},t.frustum=function(e,t,a,r,o,l,s){var n=1/(a-t),d=1/(o-r),u=1/(l-s);return e[0]=2*l*n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*l*d,e[6]=0,e[7]=0,e[8]=(a+t)*n,e[9]=(o+r)*d,e[10]=(s+l)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*(s*l)*u,e[15]=0,e},t.perspective=function(e,t,a,r,o){var s=1/l(t/2),n=1/(r-o);return e[0]=s/a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(o+r)*n,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*o*r*n,e[15]=0,e},t.perspectiveFromFieldOfView=function(e,t,a,r){var o=l(t.upDegrees*c/180),s=l(t.downDegrees*c/180),n=l(t.leftDegrees*c/180),d=l(t.rightDegrees*c/180),u=2/(n+d),i=2/(o+s);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i,e[6]=0,e[7]=0,e[8]=-(.5*((n-d)*u)),e[9]=.5*((o-s)*i),e[10]=r/(a-r),e[11]=-1,e[12]=0,e[13]=0,e[14]=r*a/(a-r),e[15]=0,e},t.ortho=function(e,t,a,r,o,l,s){var n=1/(t-a),d=1/(r-o),u=1/(l-s);return e[0]=-2*n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*d,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+a)*n,e[13]=(o+r)*d,e[14]=(s+l)*u,e[15]=1,e},t.lookAt=function(e,t,a,r){var o=void 0,l=void 0,s=void 0,d=void 0,u=void 0,i=void 0,c=void 0,f=void 0,p=void 0,E=void 0,y=t[0],A=t[1],O=t[2],R=r[0],L=r[1],S=r[2],_=a[0],N=a[1],I=a[2];return m(y-_)p&&(p=-p,i=-i,c=-c,m=-m,f=-f),1e-6<1-p?(P=e(p),E=u(P),y=u((1-l)*P)/E,A=u(l*P)/E):(y=1-l,A=l),r[0]=y*t+A*i,r[1]=y*s+A*c,r[2]=y*n+A*m,r[3]=y*d+A*f,r}function P(e,t){var a=t[0]+t[4]+t[8],r=void 0;if(0t[0]&&(o=1),t[8]>t[3*o+o]&&(o=2);var l=(o+1)%3,s=(o+2)%3;r=n(t[3*o+o]-t[3*l+l]-t[3*s+s]+1),e[o]=.5*r,r=.5/r,e[3]=(t[3*l+s]-t[3*s+l])*r,e[l]=(t[3*l+o]+t[3*o+l])*r,e[s]=(t[3*s+o]+t[3*o+s])*r}return e}Object.defineProperty(a,'__esModule',{value:!0}),a.setAxes=a.sqlerp=a.rotationTo=a.equals=a.exactEquals=a.normalize=a.sqrLen=a.squaredLength=a.len=a.length=a.lerp=a.dot=a.scale=a.mul=a.add=a.set=a.copy=a.fromValues=a.clone=void 0,a.create=l,a.identity=function(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e},a.setAxisAngle=s,a.getAxisAngle=function(t,a){var r=2*e(a[3]),o=u(r/2);return 0==o?(t[0]=1,t[1]=0,t[2]=0):(t[0]=a[0]/o,t[1]=a[1]/o,t[2]=a[2]/o),r},a.multiply=i,a.rotateX=function(e,t,a){a*=.5;var r=t[0],o=t[1],l=t[2],s=t[3],n=u(a),i=d(a);return e[0]=r*i+s*n,e[1]=o*i+l*n,e[2]=l*i-o*n,e[3]=s*i-r*n,e},a.rotateY=function(e,t,a){a*=.5;var r=t[0],o=t[1],l=t[2],s=t[3],n=u(a),i=d(a);return e[0]=r*i-l*n,e[1]=o*i+s*n,e[2]=l*i+r*n,e[3]=s*i-o*n,e},a.rotateZ=function(e,t,a){a*=.5;var r=t[0],o=t[1],l=t[2],s=t[3],n=u(a),i=d(a);return e[0]=r*i+o*n,e[1]=o*i-r*n,e[2]=l*i+s*n,e[3]=s*i-l*n,e},a.calculateW=function(e,t){var a=t[0],r=t[1],o=t[2];return e[0]=a,e[1]=r,e[2]=o,e[3]=n(m(1-a*a-r*r-o*o)),e},a.slerp=f,a.invert=function(e,t){var a=t[0],r=t[1],o=t[2],l=t[3],s=a*a+r*r+o*o+l*l,n=s?1/s:0;return e[0]=-a*n,e[1]=-r*n,e[2]=-o*n,e[3]=l*n,e},a.conjugate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e},a.fromMat3=P,a.fromEuler=function(e,t,a,r){var o=.5*c/180;t*=o,a*=o,r*=o;var l=u(t),s=d(t),n=u(a),i=d(a),m=u(r),f=d(r);return e[0]=l*i*f-s*n*m,e[1]=s*n*f+l*i*m,e[2]=s*i*m-l*n*f,e[3]=s*i*f+l*n*m,e},a.str=function(e){return'quat('+e[0]+', '+e[1]+', '+e[2]+', '+e[3]+')'};var p=r(0),E=o(p),y=r(1),A=o(y),O=r(2),R=o(O),L=r(3),S=o(L),_=a.clone=S.clone,N=a.fromValues=S.fromValues,I=a.copy=S.copy,Y=a.set=S.set,q=a.add=S.add,g=a.mul=i,M=a.scale=S.scale,v=a.dot=S.dot,h=a.lerp=S.lerp,T=a.length=S.length,b=a.len=T,x=a.squaredLength=S.squaredLength,D=a.sqrLen=x,k=a.normalize=S.normalize,w=a.exactEquals=S.exactEquals,V=a.equals=S.equals,j=a.rotationTo=function(){var e=R.create(),t=R.fromValues(1,0,0),r=R.fromValues(0,1,0);return function(o,l,a){var n=R.dot(l,a);return-.999999>n?(R.cross(e,t,l),1e-6>R.len(e)&&R.cross(e,r,l),R.normalize(e,e),s(o,e,Math.PI),o):.999999=i&&0<=j&&1>=j}function e(d,a,b){return(a[0]-d[0])*(b[1]-d[1])-(b[0]-d[0])*(a[1]-d[1])}function a(d,a,b){return 0e(d,a,b)}function g(d,a,b){return 0>=e(d,a,b)}function h(d,a,b,c){var f=Math.sqrt;if(!c)return 0===e(d,a,b);var g=tmpPoint1,h=tmpPoint2;g[0]=a[0]-d[0],g[1]=a[1]-d[1],h[0]=b[0]-a[0],h[1]=b[1]-a[1];var i=g[0]*h[0]+g[1]*h[1],j=f(g[0]*g[0]+g[1]*g[1]),k=f(h[0]*h[0]+h[1]*h[1]),l=Math.acos(i/(j*k));return lb?b%c+c:b%c]}function m(a){a.length=0}function n(a,b,c,d){for(var e=c;eJ.length)return e;if(w++,w>s)return console.warn("quickDecomp: max level ("+s+") reached."),e;for(var v=0;vD&&(D+=c.length),d=x,Dd[c][0])&&(c=e);return!a(l(b,c-1),l(b,c),l(b,c+1))&&(j(b),!0)}}} + +// c3/lib/c3.js +"use strict";{let a=!1,b=!1,c="dev";self.C3=class{constructor(){throw TypeError("static class can't be instantiated")}static SetReady(){a=!0}static IsReady(){return a}static SetAppStarted(){b=!0}static HasAppStarted(){return b}static SetBuildMode(a){c=a}static GetBuildMode(){return c}static IsReleaseBuild(){return"final"===c}},C3.isDebug=!1,C3.isDebugDefend=!1,C3.hardwareConcurrency=navigator.hardwareConcurrency||2} + +// ../lib/queryParser.js +"use strict";C3.QueryParser=class{constructor(a){this._queryString=a,this._parameters=new Map,this._Parse()}_Parse(){let a=this._queryString;(a.startsWith("?")||a.startsWith("#"))&&(a=a.substr(1));const b=a.split("&");for(const a of b)this._ParseParameter(a)}_ParseParameter(a){if(a){if(!a.includes("="))return void this._parameters.set(a,null);const b=a.indexOf("="),c=decodeURIComponent(a.substring(0,b)),d=decodeURIComponent(a.substring(b+1));this._parameters.set(c,d)}}LogAll(){for(const a of this._parameters)console.log("[QueryParser] Parameter '"+a[0]+"' = "+(null===a[1]?"null":"'"+a[1]+"'"))}Has(a){return this._parameters.has(a)}Get(a){const b=this._parameters.get(a);return"undefined"==typeof b?null:b}ClearHash(){history.replaceState("",document.title,location.pathname+location.search)}Reparse(a){this._queryString=a,this._parameters.clear(),this._Parse()}},C3.QueryString=new C3.QueryParser(location.search),C3.LocationHashString=new C3.QueryParser(location.hash),"dev"!==C3.QueryString.Get("mode")&&C3.SetBuildMode("final"); + +// ../lib/detect/detect.js +"use strict";{function a(a,b,c){if(!0===b){c();o.set(a,!0)}else if(b&&b.length){c(b[0]);o.set(a,!0)}else;}const b=navigator.userAgent;let c={linux:/linux|openbsd|freebsd|netbsd/i.test(b),chromeOS:/CrOS/.test(b),windowsTizen:/trident|iemobile|msie|tizen/i.test(b),genericMS:/trident|iemobile|msie|edge\//i.test(b),opera:/OPR\//.test(b),blackberry:/bb10/i.test(b),edge:/edge\//i.test(b),trident:/trident/i.test(b),webkit:/webkit/i.test(b),safari:/safari\//i.test(b),chrome:/chrome\//i.test(b),chromium:/chromium\//i.test(b),crosswalk:/crosswalk|xwalk/i.test(b),nwjs:/nwjs/i.test(b),amazonwebapp:/amazonwebappplatform/i.test(b),webview:/wv\)/.test(b),android:/android/i.test(b),nokia:/nokiabrowser\/[0-9.]+/i.test(b)},d={windows:/windows\s+nt\s+\d+\.\d+/i.exec(b),OSX:/mac\s+os\s+x\s+[0-9_]+/i.exec(b),android:/android\s+[0-9.]+/i.exec(b),opera:/OPR\/[0-9.]+/.exec(b),tizen:/tizen\s+[0-9.]+/i.exec(b),iphone:/iphone\s+os\s+[0-9_]+/i.exec(b),ipad:/ipad[^)]*os\s+[0-9_]+/i.exec(b),winPhone:/windows\s+phone\s+[0-9.]+/i.exec(b),winPhoneOS:/windows\s+phone\s+os\s+[0-9.]+/i.exec(b),chrome:/chrome\/[0-9.]+/i.exec(b),chromium:/chromium\/[0-9.]+/i.exec(b),nwjs:/nwjs\/[0-9.]+/i.exec(b),firefox:/firefox\/[0-9.]+/i.exec(b),ie:/msie\s+[0-9.]+/i.exec(b),edge:/edge\/[0-9.]+/i.exec(b),edgeChromium:/edg\/[0-9.]+/i.exec(b),silk:/silk\/[0-9.]+/i.exec(b)},e="(unknown)",f="(unknown)",g="(unknown)",h="(unknown)",i="(unknown)",j="(unknown)",k="(unknown)",l="browser",m=!1,n=!1,o=new Map;a("isWindows",d.windows,(a)=>{e="Windows";const b=a.split(" ")[2];b&&("5.0"===b?f="2000":"5.1"===b?f="XP":"5.2"===b?f="XP":"6.0"===b?f="Vista":"6.1"===b?f="7":"6.2"===b?f="8":"6.3"===b?f="8.1":"10.0"===b?f="10":void 0)}),a("isOSX",d.OSX,(a)=>{e="Mac OS X";const b=a.split(" ")[3];b&&(f=b.replace("_","."))}),a("isLinux",c.linux,()=>{e="Linux"}),a("isChromeOS",c.chromeOS,()=>{e="Chrome OS"}),a("isAndroid",!c.windowsTizen&&d.android,(a)=>{e="Android";const b=a.split(" ")[1];b&&(f=b)}),a("isTizen",d.tizen,(a)=>{e="Tizen";const b=a.split(" ")[1];b&&(f=b)}),a("isIPhone",!c.windowsTizen&&d.iphone,(a)=>{e="iOS";const b=a.split(" ")[2];b&&(f=b.replace("_","."))}),a("isIPad",!c.windowsTizen&&d.ipad,(a)=>{e="iOS";const b=a.split(" ")[3];b&&(f=b.replace("_","."))}),a("isWindowsPhone",d.winPhone,(a)=>{e="Windows Phone";const b=a.split(" ")[2];b&&(f=b)}),a("isWindowsPhoneOS",d.winPhoneOS,(a)=>{e="Windows Phone";const b=a.split(" ")[3];b&&(f=b)}),a("isBlackberry",c.blackberry,()=>{e="Blackberry",f="10",h="stock",k="webkit"}),a("isChrome",!c.edge&&!c.opera&&d.chrome,(a)=>{h="Chrome",k="Chromium";const b=a.split("/")[1];b&&(i=b)}),a("isOpera",d.opera,(a)=>{h="Opera",k="Chromium";const b=a.split("/")[1];b&&(i=b)}),a("isChromium",d.chromium,(a)=>{h="Chromium",k="Chromium";const b=a.split("/")[1];b&&(i=b)}),a("isFirefox",d.firefox,(a)=>{h="Firefox",k="Gecko";const b=a.split("/")[1];b&&(i=b)}),a("isInternetExplorer",d.ie,(a)=>{h="Internet Explorer",k="Trident";const b=a.split(" ")[1];b&&(i=b)}),a("isTrident","Internet Explorer"!=h&&c.trident,()=>{k="Trident";const a=/rv:[0-9.]+/i.exec(b);if(a&&a.length){h="Internet Explorer";const b=a[0].split(":")[1];b&&(i=b)}}),a("isEdge",d.edge,(a)=>{h="Edge",k="Edge";const b=a.split("/")[1];b&&(i=b)}),a("isEdgeChromium",d.edgeChromium,(a)=>{h="Edge",k="Chromium";const b=a.split("/")[1];b&&(i=b)}),a("isSafari",c.safari&&!c.nokia&&!c.chrome&&!c.chromium&&!c.genericIE&&!c.blackberry,()=>{h="Safari",k="WebKit";const a=/version\/[0-9.]+/i.exec(b),c=/crios\/[0-9.]+/i.exec(b),d=/fxios\/[0-9.]+/i.exec(b);if(a&&a.length){const b=a[0].split("/")[1];b&&(i=b)}if(c&&c.length){h="Chrome for iOS";const a=c[0].split("/")[1];a&&(i=a)}if(d&&d.length){h="Firefox for iOS";const a=d[0].split("/")[1];a&&(i=a)}}),a("isSilk",d.silk,(a)=>{h="Silk";const b=a.split("/")[1];b&&(i=b)}),a("isCrosswalk",c.crosswalk,()=>l="crosswalk"),a("isCordova",self["device"]&&(self["device"]["cordova"]||self["device"]["phonegap"]),()=>l="cordova"),a("isNWJS",d.nwjs,(a)=>{l="nwjs",h="NW.js",k="Chromium";const b=a.split("/")[1];b&&(i=b)}),a("isAmazonWebApp",c.amazonwebapp,()=>l="webapp"),a("isHomeScreenWebApp","nwjs"!=l&&"undefined"!=typeof window&&(window.matchMedia&&window.matchMedia("(display-mode: standalone)").matches||navigator["standalone"]),()=>l="webapp"),a("isFalseSafari","Safari"==h&&("Android"==e||"Tizen"==e||"Blackberry"==e),()=>h="stock"),a("isAndroidWebview","Chrome"==h&&"browser"==l&&c.webview,()=>l="webview"),a("isFirefoxOS","Firefox"==h&&e=="(unknown)",()=>e="Firefox OS"),a("isAndroidFallback",e=="(unknown)"&&!c.windowsTizen&&c.android,()=>e="Android"),a("isTridentFallback",e=="(unknown)"&&c.trident,()=>k="Trident"),a("isWebkitFallback",e=="(unknown)"&&c.webkit,()=>k="WebKit"),a("is64Bit",((a)=>a.test(b)||a.test(navigator.platform)||"x64"===navigator.cpuClass)(/x86_64|x86-64|win64|x64;|x64\)|x64_|amd64|wow64|ia64|arm64|arch64|sparc64|ppc64|irix64/i),()=>g="64-bit"),a("is32Bit",((a)=>a.test(b)||a.test(navigator.platform)||"x86"===navigator.cpuClass)(/x86;|x86\)|i86|i386|i486|i586|i686|armv1|armv2|armv3|armv4|armv5|armv6|armv7/i),()=>g="32-bit"),a("is64BitFallback",g=="(unknown)"&&"Mac OS X"==e&&10.7<=parseFloat(f),()=>g="64-bit"),a("is32BitFallback",g=="(unknown)"&&"Windows"==e||"Android"==e&&5>parseFloat(f),()=>g="32-bit"),a("is32BitBrowser","32-bit"==g||/wow64/i.test(b),()=>j="32-bit"),a("is64BitBrowser",/win64/i.test(b),()=>j="64-bit"),a("isDesktop",(()=>"Windows"==e||"Mac OS X"==e||"Linux"==e||"Chrome OS"==e||"nwjs"==l)(),()=>m=!0),"Edge"==k&&"undefined"!=typeof Windows&&"undefined"!=typeof Windows["System"]&&(l="windows-store"),n="nwjs"==l;const p="Mac OS X"==e&&navigator["maxTouchPoints"]&&2{a.onsuccess=()=>b(a.result),a.onerror=()=>c(a.error)})}function b(a){return new Promise((b,c)=>{a.oncomplete=()=>b(),a.onerror=()=>c(a.error),a.onabort=()=>c(a.error)})}function c(a,b){return e(a,b)}function d(a,b){return e(a,b,!0)}async function e(a,b,c=!1,d=!0){const g=await f(a);try{const a=g.transaction([k],c?"readwrite":"readonly");return b(a)}catch(f){if(d&&"InvalidStateError"===f["name"])return l.delete(a),e(a,b,c,!1);throw f}}function f(a){h(a);let b=l.get(a);return b instanceof Promise||(b=g(a),l.set(a,b),b.catch(()=>l.delete(a))),b}async function g(b){h(b);const c=indexedDB.open(b,j);return c.addEventListener("upgradeneeded",(a)=>{try{const b=a.target.result;b.createObjectStore(k)}catch(a){console.error(`Failed to create objectstore for database ${b}`,a)}}),a(c)}function h(a){if("string"!=typeof a)throw new TypeError("expected string")}function i(a,b){const c=a.objectStore(k).openCursor();return new Promise((a)=>{const d=[];c.onsuccess=(c)=>{const e=c.target.result;e?("entries"===b?d.push([e.key,e.value]):"keys"===b?d.push(e.key):"values"===b?d.push(e.value):void 0,e.continue()):a(d)}})}const j=2,k="keyvaluepairs",l=new Map,m="undefined"!=typeof IDBObjectStore&&"function"==typeof IDBObjectStore.prototype.getAll,n="undefined"!=typeof IDBObjectStore&&"function"==typeof IDBObjectStore.prototype.getAllKeys;self.KVStorageContainer=class{constructor(a){h(a),this.name=a}async ready(){await f(this.name)}set(c,e){return h(c),d(this.name,async(d)=>{const f=d.objectStore("keyvaluepairs").put(e,c),g=a(f),h=b(d);await Promise.all([h,g])})}get(d){return h(d),c(this.name,async(c)=>{const e=c.objectStore("keyvaluepairs").get(d),f=a(e),g=b(c),[h,i]=await Promise.all([g,f]);return i})}delete(c){return h(c),d(this.name,async(d)=>{const e=d.objectStore("keyvaluepairs").delete(c),f=a(e),g=b(d);await Promise.all([g,f])})}clear(){return d(this.name,async(c)=>{const d=c.objectStore("keyvaluepairs").clear(),e=a(d),f=b(c);await Promise.all([f,e])})}keys(){return c(this.name,async(c)=>{let d;if(n){const b=c.objectStore("keyvaluepairs").getAllKeys();d=a(b)}else d=i(c,"keys");const e=b(c),[f,g]=await Promise.all([e,d]);return g})}values(){return c(this.name,async(c)=>{let d;if(m){const b=c.objectStore("keyvaluepairs").getAll();d=a(b)}else d=i(c,"values");const e=b(c),[f,g]=await Promise.all([e,d]);return g})}entries(){return c(this.name,async(a)=>{const c=i(a,"entries"),d=b(a),[e,f]=await Promise.all([d,c]);return f})}}} + +// ../lib/storage/localForageAdaptor.js +"use strict";{function a(a){throw new Error(`"${a}" is not implemented`)}function b(a){if("function"==typeof a)throw new Error(`localforage callback API is not implemented; please use the promise API instead`)}function c(a){return"object"==typeof a?new Promise((b)=>{const{port1:c,port2:d}=new MessageChannel;d.onmessage=(a)=>b(a.data),c.postMessage(a)}):Promise.resolve(a)}const d=[/no available storage method found/i,/an attempt was made to break through the security policy of the user agent/i,/the user denied permission to access the database/i,/a mutation operation was attempted on a database that did not allow mutations/i,/idbfactory\.open\(\) called in an invalid security context/i],e=new WeakMap;let f=!1;"undefined"==typeof indexedDB&&(f=!0,console.warn("Unable to use local storage because indexedDB is not defined"));class g{constructor(a){this._inst=a,e.set(this,new Map)}_MaybeSwitchToMemoryFallback(a){if(!f)for(const b of d)if(a&&b.test(a.message)){console.error("Unable to use local storage, reverting to in-memory store: ",a,a.message),f=!0;break}}async _getItemFallback(a){const b=e.get(this).get(a),d=await c(b);return"undefined"==typeof d?null:d}async _setItemFallback(a,b){b=await c(b),e.get(this).set(a,b)}_removeItemFallback(a){e.get(this).delete(a)}_clearFallback(){e.get(this).clear()}_keysFallback(){return Array.from(e.get(this).keys())}IsUsingFallback(){return f}async getItem(a,c){if(b(c),f)return await this._getItemFallback(a);let d;try{d=await this._inst.get(a)}catch(b){return this._MaybeSwitchToMemoryFallback(b),f?await this._getItemFallback(a):(console.error(`Error reading '${a}' from storage, returning null: `,b),null)}return"undefined"==typeof d?null:d}async setItem(a,c,d){if(b(d),"undefined"==typeof c&&(c=null),f)return void(await this._setItemFallback(a,c));try{await this._inst.set(a,c)}catch(b){if(this._MaybeSwitchToMemoryFallback(b),f)await this._setItemFallback(a,c);else throw b}}async removeItem(a,c){if(b(c),f)return void this._removeItemFallback(a);try{await this._inst.delete(a)}catch(b){this._MaybeSwitchToMemoryFallback(b),f?this._removeItemFallback(a):console.error(`Error removing '${a}' from storage: `,b)}}async clear(a){if(b(a),f)return void this._clearFallback();try{await this._inst.clear()}catch(a){this._MaybeSwitchToMemoryFallback(a),f?this._clearFallback():console.error(`Error clearing storage: `,a)}}async keys(a){if(b(a),f)return this._keysFallback();let c=[];try{c=await this._inst.keys()}catch(a){if(this._MaybeSwitchToMemoryFallback(a),f)return this._keysFallback();console.error(`Error getting storage keys: `,a)}return c}ready(a){return b(a),f?Promise.resolve(!0):this._inst.ready()}createInstance(a){if("object"!=typeof a)throw new TypeError("invalid options object");const b=a["name"];if("string"!=typeof b)throw new TypeError("invalid store name");const c=new KVStorageContainer(b);return new g(c)}length(){a("localforage.length()")}key(){a("localforage.key()")}iterate(){a("localforage.iterate()")}setDriver(){a("localforage.setDriver()")}config(){a("localforage.config()")}defineDriver(){a("localforage.defineDriver()")}driver(){a("localforage.driver()")}supports(){a("localforage.supports()")}dropInstance(){a("localforage.dropInstance()")}disableMemoryMode(){f=!1}}self.localforage=new g(new KVStorageContainer("localforage"))} + +// ../lib/misc/supports.js +"use strict";{if(C3.Supports={},C3.Supports.WebAnimations=(()=>{try{if("Safari"===C3.Platform.Browser)return!1;if("undefined"==typeof document)return!1;const a=document.createElement("div");if("undefined"==typeof a.animate)return!1;const b=a.animate([{opacity:"0"},{opacity:"1"}],1e3);return"undefined"!=typeof b.reverse}catch(a){return!1}})(),C3.Supports.DialogElement="undefined"!=typeof HTMLDialogElement,C3.Supports.RequestIdleCallback=!!self.requestIdleCallback,C3.Supports.ImageBitmap=!!self.createImageBitmap,C3.Supports.ImageBitmapOptions=!1,C3.Supports.ImageBitmap)try{self.createImageBitmap(new ImageData(32,32),{premultiplyAlpha:"none"}).then(()=>{C3.Supports.ImageBitmapOptions=!0}).catch(()=>{C3.Supports.ImageBitmapOptions=!1})}catch(a){C3.Supports.ImageBitmapOptions=!1}C3.Supports.ClipboardReadText=!!(navigator["clipboard"]&&navigator["clipboard"]["readText"]&&"Firefox"!==C3.Platform.Browser),C3.Supports.Proxies="undefined"!=typeof Proxy,C3.Supports.DownloadAttribute=(()=>{if("undefined"==typeof document)return!1;const b=document.createElement("a");return"undefined"!=typeof b.download})(),C3.Supports.CanvasToBlob=(()=>"undefined"!=typeof HTMLCanvasElement&&HTMLCanvasElement.prototype.toBlob)(),C3.Supports.CSSElement="undefined"!=typeof CSS&&CSS.supports("background","element(#test)"),C3.Supports.Fetch="function"==typeof fetch,C3.Supports.PersistentStorage=!!(self.isSecureContext&&"Opera"!==C3.Platform.Browser&&navigator["storage"]&&navigator["storage"]["persist"]),C3.Supports.StorageQuotaEstimate=!!(self.isSecureContext&&navigator["storage"]&&navigator["storage"]["estimate"]),C3.Supports.Fullscreen=(()=>{if("undefined"==typeof document)return!1;if("iOS"===C3.Platform.OS)return!1;const a=document.documentElement;return!!(a.requestFullscreen||a.msRequestFullscreen||a.mozRequestFullScreen||a.webkitRequestFullscreen)})();const a=[{name:"A",value:12},{name:"B",value:13},{name:"C",value:13},{name:"D",value:13},{name:"E",value:13},{name:"F",value:13},{name:"G",value:14},{name:"H",value:12},{name:"I",value:12},{name:"J",value:13},{name:"K",value:14}],b=Math.ceil(496/a.length),c=(b+"").length,d=[];for(const e of a)for(let a=0;a<=b;a++)d.push({name:e.name+(a+"")["padStart"](c,"0"),value:e.value});d.sort((c,a)=>a.value-c.value);const e=d.reduce((a,b)=>{const c=b.name.slice(0,1),d=a.slice(-1);return d===c?a:a+c},"");C3.Supports.ArraySortProbablyStable="GKBCDEFJAHI"===e} + +// ../lib/misc/polyfills.js +"use strict";{if(!String.prototype.trimStart){const a=/^[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]*/;String.prototype.trimStart=function(){return this.replace(a,"")}}if(!String.prototype.trimEnd){const a=/[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]*$/;String.prototype.trimEnd=function(){return this.replace(a,"")}}if(Array.prototype.values||(Array.prototype.values=function*(){for(const a of this)yield a}),!Array.prototype.flat){function a(b,c){return b.reduce((b,d)=>0navigator["webkitTemporaryStorage"]["queryUsageAndQuota"]((b,c)=>a({"usage":b,"quota":c}),b))}),"undefined"==typeof HTMLCollection||HTMLCollection.prototype[Symbol.iterator]||(HTMLCollection.prototype[Symbol.iterator]=function(){let a=0;return{next:()=>a>=this.length?{done:!0}:{value:this.item(a++),done:!1}}});"undefined"==typeof NodeList||NodeList.prototype[Symbol.iterator]||(NodeList.prototype[Symbol.iterator]=function(){let a=0;return{next:()=>a>=this.length?{done:!0}:{value:this.item(a++),done:!1}}});"undefined"==typeof DOMTokenList||DOMTokenList.prototype[Symbol.iterator]||(DOMTokenList.prototype[Symbol.iterator]=function(){let a=0;return{next:()=>a>=this.length?{done:!0}:{value:this.item(a++),done:!1}}});if("undefined"==typeof FileList||FileList.prototype[Symbol.iterator]||(FileList.prototype[Symbol.iterator]=function(){let a=0;return{next:()=>a>=this.length?{done:!0}:{value:this.item(a++),done:!1}}}),"undefined"==typeof TextEncoder&&(self.TextEncoder=class{constructor(){Object.defineProperty(this,"encoding",{"value":"utf-8","writable":!1})}encode(a){for(var b=a.length,c=-1,d=new Uint8Array(3*b),e=0,f=0,g=0;g!==b;){if(e=a.charCodeAt(g),g+=1,55296<=e&&56319>=e){if(g===b){d[c+=1]=239,d[c+=1]=191,d[c+=1]=189;break}if(f=a.charCodeAt(g),!(56320<=f&&57343>=f)){d[c+=1]=239,d[c+=1]=191,d[c+=1]=189;continue}else if(e=1024*(e-55296)+f-56320+65536,g+=1,65535>>18,d[c+=1]=128|63&e>>>12,d[c+=1]=128|63&e>>>6,d[c+=1]=128|63&e;continue}}127>=e?d[c+=1]=0|e:2047>=e?(d[c+=1]=192|e>>>6,d[c+=1]=128|63&e):(d[c+=1]=224|e>>>12,d[c+=1]=128|63&e>>>6,d[c+=1]=128|63&e)}return new Uint8Array(d.buffer.slice(0,c+1))}toString(){return"[object TextEncoder]"}},TextEncoder[Symbol.toStringTag]="TextEncoder"),"undefined"==typeof TextDecoder){function a(a){const b=a[Symbol.iterator]();return{next:()=>b.next(),[Symbol.iterator](){return this}}}function b(a){const b=a.next();if(b.done)throw new Error("unexpected end of input");if(0!=(128^192&b.value))throw new Error("invalid byte");return 63&b.value}const c=new Map;c.set("utf-8",(c,d)=>{let e;if(c.buffer)e=new Uint8Array(c.buffer,c.byteOffset,c.byteLength);else if(e instanceof ArrayBuffer)e=new Uint8Array(c);else throw new Error("Invalid parameter");const f=a(e),g=[];try{for(const a of f){let c;if(127>a)c=127&a;else if(223>a)c=(31&a)<<6|b(f);else if(239>a)c=(15&a)<<12|b(f)<<6|b(f);else if(247>a)c=(7&a)<<18|b(f)<<12|b(f)<<6|b(f);else throw new Error("Invalid character");g.push(String.fromCodePoint(c))}}catch(a){if(d)throw a;g.push("\uFFFD")}return g.join("")}),c.set("utf8",c.get("utf-8")),c.set("utf-16le",()=>{throw new Error("utf-16le decoder not implemented")}),self.TextDecoder=class{constructor(a="utf-8",b={}){const d=c.get(a);if(!d)throw new Error(`TextDecoder polyfill does not support "${a}"`);Object.defineProperty(this,"fatal",{"value":!0===b["fatal"],"writable":!1}),Object.defineProperty(this,"_decoder",{"value":d,"writable":!1}),Object.defineProperty(this,"encoding",{"value":a,"writable":!1})}decode(a){return this["_decoder"](a,this["fatal"])}toString(){return"[object TextDecoder]"}},TextDecoder[Symbol.toStringTag]="TextDecoder"}"undefined"==typeof self.isSecureContext&&(self.isSecureContext="https:"===location.protocol),"undefined"==typeof self["globalThis"]&&(self["globalThis"]=self)} + +// c3/lib/misc/assert.js +"use strict";{function a(a){let b=C3.GetCallStack();console.error("Assertion failure: "+a+"\n\nStack trace:\n"+b)}self.assert=function(b,c){b||a(c)}} + +// ../lib/misc/typeChecks.js +"use strict";{C3.IsNumber=function(a){return"number"==typeof a},C3.IsFiniteNumber=function(a){return C3.IsNumber(a)&&isFinite(a)},C3.RequireNumber=function(a){if(!C3.IsNumber(a))throw new TypeError("expected number")},C3.RequireOptionalNumber=function(a){C3.IsNullOrUndefined(a)},C3.RequireNumberInRange=function(a,b,c){if(!C3.IsNumber(a)||isNaN(a)||b>a||cC3.getName(a))),b=[...a].join(",");console.warn(`An object derived from DefendedBase was not protected with debugDefend(). This will disable some checks. See the coding guidelines! Possible affected class names: ${b}`),f.clear(),g.clear()}}function d(a){let b=new Set;for(let c in a)b.add(c);return b}function e(a,b){let c=d(b),e=l.get(a);if(e){let b=[];for(let a of e.values())c.has(a)?c.delete(a):b.push(a);C3.appendArray(b,[...c]),b.length&&console.warn(`[Defence] '${C3.getName(a)}' constructor creates inconsistent properties: ${b.join(", ")}`)}else l.set(a,c)}C3.GetCallStack=function(){return new Error().stack},C3.Debugger=function(){debugger},C3.cast=function(a,b){return a&&a instanceof b?a:null},C3.getName=function(a){return"undefined"==typeof a?"undefined":null===a?"null":"boolean"==typeof a?"":C3.IsNumber(a)?"":C3.IsString(a)?"":C3.IsArray(a)?"":"symbol"==typeof a?"<"+a.toString()+">":C3.IsFunction(a)?a.name&&"Function"!==a.name?a.name:"":"object"==typeof a?a.constructor&&a.constructor.name&&"Object"!==a.constructor.name?a.constructor.name:"":""},C3.getType=function(a){return null===a?"null":Array.isArray(a)?"array":typeof a},C3.range=function*(c,a){if(!isFinite(Math.abs(c-a)))throw new Error("Invalid parameters");if(c>a)for(let b=c-1;b>=a;b--)yield b;else for(let b=c;b1/a}const b=2*Math.PI,c=Math.PI/180,d=180/Math.PI;C3.wrap=function(a,b,c){var d=Math.floor;if(a=d(a),b=d(b),c=d(c),aa?a:c},C3.clampAngle=function(c){return c%=b,0>c&&(c+=b),c},C3.toRadians=function(a){return a*c},C3.toDegrees=function(a){return a*d},C3.distanceTo=function(a,b,c,d){return Math.hypot(c-a,d-b)},C3.distanceSquared=function(a,b,c,d){const e=c-a,f=d-b;return e*e+f*f},C3.angleTo=function(a,b,c,d){return Math.atan2(d-b,c-a)},C3.angleDiff=function(a,b){var c=Math.cos,d=Math.sin;if(a===b)return 0;let e=d(a),f=c(a),g=d(b),h=c(b),i=e*g+f*h;return 1<=i?0:-1>=i?Math.PI:Math.acos(i)},C3.angleRotate=function(a,b,c){var d=Math.cos,e=Math.sin;let f=e(a),g=d(a),h=e(b),i=d(b);return Math.acos(f*h+g*i)>c?0=f*g-e*h},C3.angleLerp=function(c,a,b){let d=C3.angleDiff(c,a);return C3.angleClockwise(a,c)?C3.clampAngle(c+d*b):C3.clampAngle(c-d*b)},C3.lerp=function(c,a,b){return c+b*(a-c)},C3.unlerp=function(c,a,b){return c===a?0:(b-c)/(a-c)},C3.relerp=function(e,a,b,f,c){return C3.lerp(f,c,C3.unlerp(e,a,b))},C3.qarp=function(d,a,b,c){return C3.lerp(C3.lerp(d,a,c),C3.lerp(a,b,c),c)},C3.cubic=function(e,a,b,c,d){return C3.lerp(C3.qarp(e,a,b,d),C3.qarp(a,b,c,d),d)},C3.cosp=function(c,a,b){return(c+a+(c-a)*Math.cos(b*Math.PI))/2},C3.isPOT=function(a){return 0b;b<<=1)a|=a>>b;return a+1},C3.roundToNearestFraction=function(a,b){return Math.round(a*b)/b},C3.floorToNearestFraction=function(a,b){return Math.floor(a*b)/b},C3.round6dp=function(a){return Math.round(1e6*a)/1e6},C3.toFixed=function(a,b){let c=a.toFixed(b),d=c.length-1;for(;0<=d&&"0"===c.charAt(d);--d);return 0<=d&&"."===c.charAt(d)&&--d,0>d?c:c.substr(0,d+1)},C3.PackRGB=function(a,b,c){return C3.clamp(a,0,255)|C3.clamp(b,0,255)<<8|C3.clamp(c,0,255)<<16};const e=1024;C3.PackRGBAEx=function(a,b,c,d){var f=Math.floor;return a=C3.clamp(f(1024*a),-8192,8191),b=C3.clamp(f(1024*b),-8192,8191),c=C3.clamp(f(1024*c),-8192,8191),d=C3.clamp(f(1023*d),0,1023),0>a&&(a+=16384),0>b&&(b+=16384),0>c&&(c+=16384),-(16384*(16384*a)*e+16384*b*e+c*e+d)},C3.PackRGBEx=function(a,b,c){return C3.PackRGBAEx(a,b,c,1)},C3.GetRValue=function(a){if(0<=a)return(255&a)/255;else{let b=Math.floor(-a/274877906944);return 8191>8)/255;else{let b=Math.floor(-a%274877906944/16777216);return 8191>16)/255;else{let b=Math.floor(-a%16777216/e);return 8191c(b-e))return d.slice(0);if(e=a/d[1]*d[0],1>c(b-e))return[d[1],d[0]]}let e=C3.greatestCommonDivisor(a,b);return[a/e,b/e]},C3.segmentsIntersect=function(a,b,c,e,f,g,h,i){var j=Math.abs;let k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(ao)return!1;if(bq)return!1;let s=f-a+h-c,t=g-b+i-e,u=c-a,v=e-b,w=h-f,x=i-g,y=j(v*w-x*u);if(j(w*t-x*s)>y)return!1;return j(u*t-v*s)<=y},C3.segmentsIntersectPreCalc=function(a,b,c,e,f,g,h,i,j,k,l,m){var n=Math.abs;let o=0,p=0,q=0,r=0;if(jo)return!1;if(kq)return!1;let s=j-a+l-c,t=k-b+m-e,u=c-a,v=e-b,w=l-j,x=m-k,y=n(v*w-x*u);if(n(w*t-x*s)>y)return!1;return n(u*t-v*s)<=y},C3.segmentIntersectsQuad=function(a,b,c,d,e){let f=0,g=0,h=0,i=0;a0!==a.size).filter((a)=>b(a)).map(async(a)=>{try{return await C3.CloneFile(a)}catch(a){return null}}),d=await Promise.all(c);return d.filter((a)=>a)},C3.IsFileAnImage=function(a){return-1!==a.type.search(/image\/.*/)},C3.IsFileAnSVG=function(a){return"image/svg+xml"===a.type},C3.GetFileExtension=function(a){let b=a.lastIndexOf(".");return 1>b?"":a.substr(b)},C3.GetFileNamePart=function(a){let b=a.lastIndexOf(".");return 1>b?a:a.substr(0,b)},C3.NormalizeFileSeparator=function(a){return a.replace(/\\/g,"/")},C3.ParseFilePath=function(a){a=C3.NormalizeFileSeparator(a);let b=/^\w\:\//.exec(a);b?(b=b[0],a=a.slice(3),"/"!==a[0]&&(a="/"+a)):b="",a=a.replace(/\/{2,}/g,"/"),1{self.setTimeout(c,a,b)})},C3.swallowException=function(a){try{a()}catch(a){C3.isDebug&&console.warn("Swallowed exception: ",a)}},C3.noop=function(){},C3.equalsNoCase=function(c,d){return"string"==typeof c&&"string"==typeof d&&(!(c!==d)||(c=c.normalize(),d=d.normalize(),c.length===d.length&&c.toLowerCase()===d.toLowerCase()))},C3.equalsCase=function(c,d){return"string"==typeof c&&"string"==typeof d&&(!(c!==d)||c.normalize()===d.normalize())},C3.stableSort=function(a,c){if(C3.Supports.ArraySortProbablyStable)return void a.sort(c);const b=a.map((a,b)=>[a,b]);b.sort((d,a)=>{const b=c(d[0],a[0]);return 0===b?d[1]-a[1]:b});for(let d=0,e=a.length;dd&&C3.extendArray(a,b,c)},C3.shallowAssignArray=function(a,b){C3.clearArray(a),C3.appendArray(a,b)},C3.appendArray=function(c,a){if(1e4>a.length)c.push(...a);else for(let b=0,d=a.length;bb||b>=a.length)){let c=a.length-1;for(let d=b;dc:!(5!=b)&&a>=c},C3.hasAnyOwnProperty=function(a){for(let b in a)if(a.hasOwnProperty(b))return!0;return!1},C3.PromiseAllWithProgress=function(a,b){return a.length?new Promise((c,d)=>{const e=[];let f=0,g=!1;for(let h=0,i=a.length;h{g||(e[h]=d,++f,f===a.length?c(e):b(f,a.length))}).catch((a)=>{g=!0,d(a)})}):Promise.resolve([])};let c=[];C3.AddLibraryMemoryCallback=function(a){c.push(a)},C3.GetEstimatedLibraryMemoryUsage=function(){let a=0;for(let b of c){let c=b();a+=c}return Math.floor(a)};const d=new MessageChannel;d.port2.onmessage=function(a){const b=a.data,c=f.get(b);f.delete(b),c&&c(a.timeStamp)};let e=1;const f=new Map;C3.RequestUnlimitedAnimationFrame=function(a){const b=e++;return f.set(b,a),d.port1.postMessage(b),b},C3.CancelUnlimitedAnimationFrame=function(a){f.delete(a)},C3.PostTask=C3.RequestUnlimitedAnimationFrame,C3.WaitForNextTask=function(){return new Promise((a)=>C3.PostTask(a))};const g=new Set;C3.RequestPostAnimationFrame=function(a){const b=self.requestAnimationFrame(async(c)=>{await C3.WaitForNextTask(),g.has(b)&&(g.delete(b),a(c))});return g.add(b),b},C3.CancelPostAnimationFrame=function(a){g.has(a)&&(self.cancelAnimationFrame(a),g.delete(a))}} + +// c3/lib/misc/runtimeutil.js +"use strict";C3.IsAbsoluteURL=function(a){return /^(?:[a-z]+:)?\/\//.test(a)||"data:"===a.substr(0,5)||"blob:"===a.substr(0,5)},C3.IsRelativeURL=function(a){return!C3.IsAbsoluteURL(a)},C3.ThrowIfNotOk=function(a){if(!a.ok)throw new Error(`fetch '${a.url}' response returned ${a.status} ${a.statusText}`)},C3.FetchOk=function(a,b){return fetch(a,b).then((a)=>(C3.ThrowIfNotOk(a),a))},C3.FetchText=function(a){return C3.FetchOk(a).then((a)=>a.text())},C3.FetchJson=function(a){return C3.FetchOk(a).then((a)=>a.json())},C3.FetchBlob=function(a){return C3.FetchOk(a).then((a)=>a.blob())},C3.FetchArrayBuffer=function(a){return C3.FetchOk(a).then((a)=>a.arrayBuffer())},C3.FetchImage=function(a){return new Promise((b,c)=>{const d=new Image;d.onload=()=>b(d),d.onerror=(a)=>c(a),d.src=a})},C3.BlobToArrayBuffer=function(a){return new Promise((b,c)=>{const d=new FileReader;d.onload=()=>b(d.result),d.onerror=()=>c(d.error),d.readAsArrayBuffer(a)})},C3.BlobToString=function(a){return new Promise((b,c)=>{const d=new FileReader;d.onload=()=>b(d.result),d.onerror=()=>c(d.error),d.readAsText(a)})},C3.BlobToJson=function(a){return C3.BlobToString(a).then((a)=>JSON.parse(a))},C3.BlobToImage=async function(a,b){let c=URL.createObjectURL(a);try{const a=await C3.FetchImage(c);return URL.revokeObjectURL(c),c="",b&&"function"==typeof a["decode"]&&(await a["decode"]()),a}finally{c&&URL.revokeObjectURL(c)}},C3.CreateCanvas=function(a,b){if("undefined"!=typeof document&&"function"==typeof document.createElement){const c=document.createElement("canvas");return c.width=a,c.height=b,c}return new OffscreenCanvas(a,b)},C3.CanvasToBlob=function(a,b,c){return"number"!=typeof c&&(c=1),b=b||"image/png",c=C3.clamp(c,0,1),a.toBlob?new Promise((d)=>a.toBlob(d,b,c)):a["convertToBlob"]?a["convertToBlob"]({"type":b,"quality":c}):C3.Asyncify(()=>C3.CanvasToBlobSync(a,b,c))},C3.CanvasToBlobSync=function(a,b,c){return"number"!=typeof c&&(c=1),b=b||"image/png",c=C3.clamp(c,0,1),C3.DataURIToBinaryBlobSync(a.toDataURL(b,c))},C3.DataURIToBinaryBlobSync=function(a){const b=C3.ParseDataURI(a);return C3.BinaryStringToBlob(b.data,b.mime_type)},C3.ParseDataURI=function(a){if("data:"!==a.substr(0,5))throw new URIError("expected data: uri");let b=a.indexOf(",");if(0>b)throw new URIError("expected comma in data: uri");let c,d=a.substring(5,b),e=a.substring(b+1),f=d.split(";"),g=f[0]||"",h=f[1],i=f[2];return c="base64"===h||"base64"===i?atob(e):decodeURIComponent(e),{mime_type:g,data:c}},C3.BinaryStringToBlob=function(a,b){let c,d,e=a.length,f=e>>2,g=new Uint8Array(e),h=new Uint32Array(g.buffer,0,f);for(c=0,d=0;cC3.DrawableToBlob(a,b,c));if(C3.Supports.ImageBitmap)return createImageBitmap(a).then((a)=>C3.DrawableToBlob(a,b,c));else{const d=C3.CreateCanvas(a.width,a.height),e=d.getContext("2d");return e.putImageData(a,0,0),C3.CanvasToBlob(d,b,c)}},C3.CopySet=function(a,b){a.clear();for(const c of b)a.add(c)},C3.MapToObject=function(a){const b=Object.create(null);for(const[c,d]of a.entries())b[c]=d;return b},C3.ObjectToMap=function(a,b){b.clear();for(const[c,d]of Object.entries(a))b.set(c,d)},C3.ToSuperJSON=function a(b){if("object"==typeof b&&null!==b){if(b instanceof Set)return{"_c3type_":"set","data":[...b].map((b)=>a(b))};if(b instanceof Map)return{"_c3type_":"map","data":[...b].map((b)=>[b[0],a(b[1])])};else{const c=Object.create(null);for(const[d,e]of Object.entries(b))c[d]=a(e);return c}}return b},C3.FromSuperJSON=function a(b){if("object"==typeof b&null!==b){if("set"===b["_c3type_"])return new Set(b["data"].map((b)=>a(b)));if("map"===b["_c3type_"])return new Map(b["data"].map((b)=>[b[0],a(b[1])]));else{const c=Object.create(null);for(const[d,e]of Object.entries(b))c[d]=a(e);return c}}return b},C3.CSSToCamelCase=function(a){let b="",c=!1;for(const d of a)"-"===d?c=!0:c?(b+=d.toUpperCase(),c=!1):b+=d;return b},C3.IsIterator=function(a){return"object"==typeof a&&"function"==typeof a.next}; + +// ../lib/misc/color.js +"use strict";{function a(a){return 0===a.length?"00":1===a.length?"0"+a:a}function c(a,b,c){return 0>c&&(c+=1),1b.length)return!1;const c=parseInt(b[0].trim(),10)/255,d=parseInt(b[1].trim(),10)/255,e=parseInt(b[2].trim(),10)/255;return isFinite(c)&&this.setR(c),isFinite(d)&&this.setG(d),isFinite(e)&&this.setB(e),this.setA(1),!0}parseCommaSeparatedPercentageRgb(a){if("string"!=typeof a)return!1;a=a.replace(/^rgb\(|\)|%/,"");const b=a.split(",");if(3>b.length)return!1;const c=parseInt(b[0].trim(),10)/100,d=parseInt(b[1].trim(),10)/100,e=parseInt(b[2].trim(),10)/100;return isFinite(c)&&this.setR(c),isFinite(d)&&this.setG(d),isFinite(e)&&this.setB(e),this.setA(1),!0}parseCommaSeparatedRgba(a){if("string"!=typeof a)return!1;a=a.replace(/^rgba\(|\)|%/,"");const b=a.split(",");if(4>b.length)return!1;const c=parseInt(b[0].trim(),10)/255,d=parseInt(b[1].trim(),10)/255,e=parseInt(b[2].trim(),10)/255,f=parseFloat(b[3].trim());return isFinite(c)&&this.setR(c),isFinite(d)&&this.setG(d),isFinite(e)&&this.setB(e),isFinite(f)&&this.setA(f),!0}parseCommaSeparatedPercentageRgba(a){if("string"!=typeof a)return!1;a=a.replace(/^rgba\(|\)|%/,"");const b=a.split(",");if(4>b.length)return!1;const c=parseInt(b[0].trim(),10)/100,d=parseInt(b[1].trim(),10)/100,e=parseInt(b[2].trim(),10)/100,f=parseFloat(b[3].trim());return isFinite(c)&&this.setR(c),isFinite(d)&&this.setG(d),isFinite(e)&&this.setB(e),isFinite(f)&&this.setA(f),!0}parseString(a){if("string"!=typeof a)return!1;if(a=a.replace(/\s+/,""),a.includes(",")){if(a.startsWith("rgb("))return a.includes("%")?this.parseCommaSeparatedPercentageRgb(a):this.parseCommaSeparatedRgb(a);if(a.startsWith("rgba("))return a.includes("%")?this.parseCommaSeparatedPercentageRgba(a):this.parseCommaSeparatedRgba(a);if(a.startsWith("hsl(")||a.startsWith("hsla("))return this.parseHSLString(a);else{const b=a.split(",");return a.includes("%")?3===b.length?this.parseCommaSeparatedPercentageRgb(a):4===b.length&&this.parseCommaSeparatedPercentageRgba(a):3===b.length?this.parseCommaSeparatedRgb(a):4===b.length&&this.parseCommaSeparatedRgba(a)}}else return this.parseHexString(a)}toJSON(){return[this._r,this._g,this._b,this._a]}setFromHSLA(d,e,f,h){let a,i,g;if(d%=360,e=C3.clamp(e,0,100),f=C3.clamp(f,0,100),h=C3.clamp(h,0,1),d/=360,e/=100,f/=100,0===e)a=i=g=f;else{const b=.5>f?f*(1+e):f+e-f*e,h=2*f-b;a=c(h,b,d+1/3),i=c(h,b,d),g=c(h,b,d-1/3)}return this.setR(a),this.setG(i),this.setB(g),this.setA(h),this}parseHSLString(a){const c=a.replace(/ |hsl|hsla|\(|\)|;/gi,""),e=b.exec(c),f=d.exec(c);return e&&4===e.length?(this.setFromHSLA(+e[1],+e[2],+e[3],1),!0):!!(f&&5===f.length)&&(this.setFromHSLA(+e[1],+e[2],+e[3],+e[4]),!0)}toHSLAString(){const c=this._r,d=this._g,e=this._b,b=this._a,a=C3.Color.GetHue(c,d,e),f=C3.Color.GetSaturation(c,d,e),g=C3.Color.GetLuminosity(c,d,e);return`hsla(${a}, ${f}%, ${g}%, ${b})`}toHSLAArray(){const a=this._r,c=this._g,d=this._b;return[C3.Color.GetHue(a,c,d),C3.Color.GetSaturation(a,c,d),C3.Color.GetLuminosity(a,c,d),this._a]}setFromJSON(a){!Array.isArray(a)||3>a.length||(this._r=a[0],this._g=a[1],this._b=a[2],this._a=4<=a.length?a[3]:1)}set r(a){this.setR(a)}get r(){return this.getR()}set g(a){this.setG(a)}get g(){return this.getG()}set b(a){this.setB(a)}get b(){return this.getB()}set a(b){this.setA(b)}get a(){return this.getA()}setAtIndex(a,b){switch(a){case 0:this.setR(b);break;case 1:this.setG(b);break;case 2:this.setB(b);break;case 3:this.setA(b);break;default:throw new RangeError("invalid color index");}}getAtIndex(a){switch(a){case 0:return this.getR();case 1:return this.getG();case 2:return this.getB();case 3:return this.getA();default:throw new RangeError("invalid color index");}}static Diff(a,b){var c=Math.min,d=Math.max;const e=new C3.Color;return e.setR(d(a._r,b._r)-c(a._r,b._r)),e.setG(d(a._g,b._g)-c(a._g,b._g)),e.setB(d(a._b,b._b)-c(a._b,b._b)),e.setA(d(a._a,b._a)-c(a._a,b._a)),e}static GetHue(a,c,d){const b=Math.max(a,c,d),e=Math.min(a,c,d);if(b===e)return 0;let f=0;return b===a?f=(c-d)/(b-e)+(cd&&(this._right=+d),this._bottom>e&&(this._bottom=+e)}clampFlipped(a,c,d,e){this._leftc&&(this._top=+c),this._right>d&&(this._right=+d),this._bottomthis._right&&this.swapLeftRight(),this._top>this._bottom&&this.swapTopBottom()}intersectsRect(a){return!(a._rightthis._right||a._top>this._bottom)}intersectsRectOffset(a,b,c){return!(a._right+bthis._right||a._top+c>this._bottom)}containsPoint(a,b){return a>=this._left&&a<=this._right&&b>=this._top&&b<=this._bottom}containsRect(a){return a._left>=this._left&&a._top>=this._top&&a._right<=this._right&&a._bottom<=this._bottom}expandToContain(a){a._leftthis._right&&(this._right=+a._right),a._bottom>this._bottom&&(this._bottom=+a._bottom)}lerpInto(a){this._left=C3.lerp(a._left,a._right,this._left),this._top=C3.lerp(a._top,a._bottom,this._top),this._right=C3.lerp(a._left,a._right,this._right),this._bottom=C3.lerp(a._top,a._bottom,this._bottom)}}; + +// ../lib/misc/quad.js +"use strict";{function a(g,a,b,c){gc?a:c):(e=gb?a:b):bc?g:c):(e=ab?g:b)}let e=0,f=0;C3.Quad=class{constructor(a,b,c,d,e,f,g,h){this._tlx=NaN,this._tly=NaN,this._trx=NaN,this._try=NaN,this._brx=NaN,this._bry=NaN,this._blx=NaN,this._bly=NaN,this._tlx=0,this._tly=0,this._trx=0,this._try=0,this._brx=0,this._bry=0,this._blx=0,this._bly=0,a instanceof C3.Quad?this.copy(a):this.set(a||0,b||0,c||0,d||0,e||0,f||0,g||0,h||0)}set(a,b,c,d,e,f,g,h){this._tlx=+a,this._tly=+b,this._trx=+c,this._try=+d,this._brx=+e,this._bry=+f,this._blx=+g,this._bly=+h}setRect(a,b,c,d){this.set(a,b,c,b,c,d,a,d)}copy(a){this._tlx=a._tlx,this._tly=a._tly,this._trx=a._trx,this._try=a._try,this._brx=a._brx,this._bry=a._bry,this._blx=a._blx,this._bly=a._bly}equals(a){return this._tlx===a._tlx&&this._tly===a._tly&&this._trx===a._trx&&this._try===a._try&&this._brx===a._brx&&this._bry===a._bry&&this._blx===a._blx&&this._bly===a._bly}setTlx(a){this._tlx=+a}getTlx(){return this._tlx}setTly(a){this._tly=+a}getTly(){return this._tly}setTrx(a){this._trx=+a}getTrx(){return this._trx}setTry(a){this._try=+a}getTry(){return this._try}setBrx(a){this._brx=+a}getBrx(){return this._brx}setBry(a){this._bry=+a}getBry(){return this._bry}setBlx(a){this._blx=+a}getBlx(){return this._blx}setBly(a){this._bly=+a}getBly(){return this._bly}toDOMQuad(){return new DOMQuad(new DOMPoint(this._tlx,this._tly),new DOMPoint(this._trx,this._try),new DOMPoint(this._brx,this._bry),new DOMPoint(this._blx,this._bly))}toArray(){return[this._tlx,this._tly,this._trx,this._try,this._brx,this._bry,this._blx,this._bly]}toTypedArray(){return new Float64Array(this.toArray())}writeToTypedArray(a,b){a[b++]=this._tlx,a[b++]=this._tly,a[b++]=this._trx,a[b++]=this._try,a[b++]=this._brx,a[b++]=this._bry,a[b++]=this._blx,a[b]=this._bly}writeToTypedArray3D(a,b,c){a[b++]=this._tlx,a[b++]=this._tly,a[b++]=c,a[b++]=this._trx,a[b++]=this._try,a[b++]=c,a[b++]=this._brx,a[b++]=this._bry,a[b++]=c,a[b++]=this._blx,a[b++]=this._bly,a[b]=c}offset(a,b){this._tlx+=+a,this._tly+=+b,this._trx+=+a,this._try+=+b,this._brx+=+a,this._bry+=+b,this._blx+=+a,this._bly+=+b}round(){var a=Math.round;this._tlx=a(this._tlx),this._tly=a(this._tly),this._trx=a(this._trx),this._try=a(this._try),this._brx=a(this._brx),this._bry=a(this._bry),this._blx=a(this._blx),this._bly=a(this._bly)}floor(){var a=Math.floor;this._tlx=a(this._tlx),this._tly=a(this._tly),this._trx=a(this._trx),this._try=a(this._try),this._brx=a(this._brx),this._bry=a(this._bry),this._blx=a(this._blx),this._bly=a(this._bly)}ceil(){var a=Math.ceil;this._tlx=a(this._tlx),this._tly=a(this._tly),this._trx=a(this._trx),this._try=a(this._try),this._brx=a(this._brx),this._bry=a(this._bry),this._blx=a(this._blx),this._bly=a(this._bly)}setFromRect(a){this._tlx=a._left,this._tly=a._top,this._trx=a._right,this._try=a._top,this._brx=a._right,this._bry=a._bottom,this._blx=a._left,this._bly=a._bottom}setFromRotatedRect(b,c){0===c?this.setFromRect(b):this.setFromRotatedRectPrecalc(b,Math.sin(c),Math.cos(c))}setFromRotatedRectPrecalc(a,b,c){const d=a._left*b,e=a._top*b,f=a._right*b,g=a._bottom*b,h=a._left*c,i=a._top*c,j=a._right*c,k=a._bottom*c;this._tlx=h-e,this._tly=i+d,this._trx=j-e,this._try=i+f,this._brx=j-g,this._bry=k+f,this._blx=h-g,this._bly=k+d}getBoundingBox(b){a(this._tlx,this._trx,this._brx,this._blx),b._left=e,b._right=f,a(this._tly,this._try,this._bry,this._bly),b._top=e,b._bottom=f}containsPoint(a,b){let c=this._trx-this._tlx,d=this._try-this._tly;const e=this._brx-this._tlx,f=this._bry-this._tly,g=a-this._tlx,h=b-this._tly;let i=c*c+d*d,j=c*e+d*f,k=c*g+d*h;const l=e*e+f*f,m=e*g+f*h;let n=1/(i*l-j*j),o=(l*k-j*m)*n,p=(i*m-j*k)*n;return!!(0<=o&&0o+p)||(c=this._blx-this._tlx,d=this._bly-this._tly,i=c*c+d*d,j=c*e+d*f,k=c*g+d*h,n=1/(i*l-j*j),o=(l*k-j*m)*n,p=(i*m-j*k)*n,0<=o&&0o+p)}midX(){return(this._tlx+this._trx+this._brx+this._blx)/4}midY(){return(this._tly+this._try+this._bry+this._bly)/4}intersectsSegment(a,b,c,d){return!!(this.containsPoint(a,b)||this.containsPoint(c,d))||C3.segmentIntersectsQuad(a,b,c,d,this)}intersectsQuad(a){let b=a.midX(),c=a.midY();if(this.containsPoint(b,c))return!0;if(b=this.midX(),c=this.midY(),a.containsPoint(b,c))return!0;const d=this._tlx,e=this._tly,f=this._trx,g=this._try,h=this._brx,i=this._bry,j=this._blx,k=this._bly;return C3.segmentIntersectsQuad(d,e,f,g,a)||C3.segmentIntersectsQuad(f,g,h,i,a)||C3.segmentIntersectsQuad(h,i,j,k,a)||C3.segmentIntersectsQuad(j,k,d,e,a)}mirror(){this._swap(0,2),this._swap(1,3),this._swap(6,4),this._swap(7,5)}flip(){this._swap(0,6),this._swap(1,7),this._swap(2,4),this._swap(3,5)}diag(){this._swap(2,6),this._swap(3,7)}_swap(a,b){const c=this._getAtIndex(a);this._setAtIndex(a,this._getAtIndex(b)),this._setAtIndex(b,c)}_getAtIndex(a){switch(a){case 0:return this._tlx;case 1:return this._tly;case 2:return this._trx;case 3:return this._try;case 4:return this._brx;case 5:return this._bry;case 6:return this._blx;case 7:return this._bly;default:throw new RangeError("invalid quad point index");}}_setAtIndex(a,b){switch(b=+b,a){case 0:this._tlx=b;break;case 1:this._tly=b;break;case 2:this._trx=b;break;case 3:this._try=b;break;case 4:this._brx=b;break;case 5:this._bry=b;break;case 6:this._blx=b;break;case 7:this._bly=b;break;default:throw new RangeError("invalid quad point index");}}}} + +// c3/lib/misc/collisionPoly.js +"use strict";{const a=[0,0,1,0,1,1,0,1],b=C3.New(C3.Quad);C3.CollisionPoly=class extends C3.DefendedBase{constructor(b,c=!0){super(),b||(b=a);this._ptsArr=Float64Array.from(b),this._bbox=new C3.Rect,this._isBboxChanged=!0,this._enabled=c}Release(){}pointsArr(){return this._ptsArr}pointCount(){return this._ptsArr.length/2}setPoints(a){this._ptsArr.length===a.length?this._ptsArr.set(a):this._ptsArr=Float64Array.from(a),this._isBboxChanged=!0}copy(a){this.setPoints(a._ptsArr)}setBboxChanged(){this._isBboxChanged=!0}_updateBbox(){if(!this._isBboxChanged)return;const a=this._ptsArr;let b=a[0],c=a[1],d=b,e=c;for(let f=0,g=a.length;fd&&(d=g),he&&(e=h)}this._bbox.set(b,c,d,e),this._isBboxChanged=!1}setFromRect(a,b,c){let d=this._ptsArr;8!==d.length&&(d=new Float64Array(8),this._ptsArr=d),d[0]=a.getLeft()-b,d[1]=a.getTop()-c,d[2]=a.getRight()-b,d[3]=a.getTop()-c,d[4]=a.getRight()-b,d[5]=a.getBottom()-c,d[6]=a.getLeft()-b,d[7]=a.getBottom()-c,this._bbox.copy(a),(0!==b||0!==c)&&this._bbox.offset(-b,-c),this._isBboxChanged=!1}setFromQuad(a,c,d){b.copy(a),b.offset(c,d),this.setPoints(b.toArray()),this._isBboxChanged=!0}transform(b,c,d){let a=0,e=1;0!==d&&(a=Math.sin(d),e=Math.cos(d)),this.transformPrecalc(b,c,a,e)}transformPrecalc(a,b,c,d){const e=this._ptsArr;for(let f=0,g=e.length;f!a.includes(b))}static IsNamePredefined(a){return this._CreateEaseMap(),[...l.keys()].includes(a)}static GetEase(a){this._CreateEaseMap();const b=o.get(a);return b?d.get(b):d.get(a)}static GetEaseFromIndex(a){this._CreateEaseMap();const b=this.GetEaseNames();return b[a]}static GetIndexForEase(a){this._CreateEaseMap();const b=this.GetEaseNames();return b.indexOf(a)}static _CreateEaseMap(){0!==d.size||(this._AddPredifinedEase("default",()=>{}),this._AddPredifinedEase("noease",this.NoEase),this._AddPredifinedEase("easeinsine",this.EaseInSine),this._AddPredifinedEase("easeoutsine",this.EaseOutSine),this._AddPredifinedEase("easeinoutsine",this.EaseInOutSine),this._AddPredifinedEase("easeinelastic",this.EaseInElastic),this._AddPredifinedEase("easeoutelastic",this.EaseOutElastic),this._AddPredifinedEase("easeinoutelastic",this.EaseInOutElastic),this._AddPredifinedEase("easeinback",this.EaseInBack),this._AddPredifinedEase("easeoutback",this.EaseOutBack),this._AddPredifinedEase("easeinoutback",this.EaseInOutBack),this._AddPredifinedEase("easeinbounce",this.EaseInBounce),this._AddPredifinedEase("easeoutbounce",this.EaseOutBounce),this._AddPredifinedEase("easeinoutbounce",this.EaseInOutBounce),this._AddPredifinedEase("easeincubic",this.EaseInCubic),this._AddPredifinedEase("easeoutcubic",this.EaseOutCubic),this._AddPredifinedEase("easeinoutcubic",this.EaseInOutCubic),this._AddPredifinedEase("easeinquad",this.EaseInQuad),this._AddPredifinedEase("easeoutquad",this.EaseOutQuad),this._AddPredifinedEase("easeinoutquad",this.EaseInOutQuad),this._AddPredifinedEase("easeinquart",this.EaseInQuart),this._AddPredifinedEase("easeoutquart",this.EaseOutQuart),this._AddPredifinedEase("easeinoutquart",this.EaseInOutQuart),this._AddPredifinedEase("easeinquint",this.EaseInQuint),this._AddPredifinedEase("easeoutquint",this.EaseOutQuint),this._AddPredifinedEase("easeinoutquint",this.EaseInOutQuint),this._AddPredifinedEase("easeincirc",this.EaseInCirc),this._AddPredifinedEase("easeoutcirc",this.EaseOutCirc),this._AddPredifinedEase("easeinoutcirc",this.EaseInOutCirc),this._AddPredifinedEase("easeinexpo",this.EaseInExpo),this._AddPredifinedEase("easeoutexpo",this.EaseOutExpo),this._AddPredifinedEase("easeinoutexpo",this.EaseInOutExpo),this._AddPrivateCustomEase("cubicbezier",this.EaseCubicBezier),this._AddPrivateCustomEase("spline",this.EaseSpline))}static _AddPredifinedEase(a,b){s._AddEase(a,b,"predefined")}static _AddPrivateCustomEase(a,b){s._AddEase(a,b,"private")}static AddCustomEase(a,b){this._CreateEaseMap(),s._AddEase(a,b,"custom")}static RemoveCustomEase(a){this.IsNamePredefined(a)||[...n.keys()].includes(a)||(m.delete(a),d.delete(a))}static _AddEase(a,b,c){switch(d.set(a,b),c){case"predefined":l.set(a,b);break;case"custom":m.set(a,b);break;case"private":n.set(a,b);break;default:throw new Error("unexpected ease mode");}}static NoEase(a,e,b,c){return b*a/c+e}static EaseInQuad(a,e,b,c){return b*(a/=c)*a+e}static EaseOutQuad(a,e,b,f){return-b*(a/=f)*(a-2)+e}static EaseInOutQuad(a,e,b,f){return 1>(a/=f/2)?b/2*a*a+e:-b/2*(--a*(a-2)-1)+e}static EaseInCubic(a,e,b,c){return b*(a/=c)*a*a+e}static EaseOutCubic(a,e,b,c){return b*((a=a/c-1)*a*a+1)+e}static EaseInOutCubic(a,e,b,c){return 1>(a/=c/2)?b/2*a*a*a+e:b/2*((a-=2)*a*a+2)+e}static EaseInQuart(a,e,b,c){return b*(a/=c)*a*a*a+e}static EaseOutQuart(a,e,b,f){return-b*((a=a/f-1)*a*a*a-1)+e}static EaseInOutQuart(a,e,b,f){return 1>(a/=f/2)?b/2*a*a*a*a+e:-b/2*((a-=2)*a*a*a-2)+e}static EaseInQuint(a,e,b,c){return b*(a/=c)*a*a*a*a+e}static EaseOutQuint(a,e,b,c){return b*((a=a/c-1)*a*a*a*a+1)+e}static EaseInOutQuint(a,e,b,c){return 1>(a/=c/2)?b/2*a*a*a*a*a+e:b/2*((a-=2)*a*a*a*a+2)+e}static EaseInSine(a,e,b,f){return-b*j(a/f*(k/2))+b+e}static EaseOutSine(a,e,b,c){return b*i(a/c*(k/2))+e}static EaseInOutSine(a,e,b,f){return-b/2*(j(k*a/f)-1)+e}static EaseInExpo(a,e,b,c){return 0===a?e:b*h(2,10*(a/c-1))+e}static EaseOutExpo(a,e,b,c){return a===c?e+b:b*(-h(2,-10*a/c)+1)+e}static EaseInOutExpo(a,e,b,c){return 0===a?e:a===c?e+b:1>(a/=c/2)?b/2*h(2,10*(a-1))+e:b/2*(-h(2,-10*--a)+2)+e}static EaseInCirc(a,e,b,f){return-b*(g(1-(a/=f)*a)-1)+e}static EaseOutCirc(a,e,b,c){return b*g(1-(a=a/c-1)*a)+e}static EaseInOutCirc(a,e,b,f){return 1>(a/=f/2)?-b/2*(g(1-a*a)-1)+e:b/2*(g(1-(a-=2)*a)+1)+e}static EaseInElastic(g,j,b,c){let d=1.70158,l=0,m=b;return 0===g?j:1===(g/=c)?j+b:(l||(l=.3*c),mg?-.5*(m*h(2,10*(g-=1))*i((g*c-d)*(2*k)/l))+j:.5*(m*h(2,-10*(g-=1))*i((g*c-d)*(2*k)/l))+b+j)}static EaseInBack(a,e,b,c,d){return void 0===d&&(d=1.70158),b*(a/=c)*a*((d+1)*a-d)+e}static EaseOutBack(a,e,b,c,d){return void 0===d&&(d=1.70158),b*((a=a/c-1)*a*((d+1)*a+d)+1)+e}static EaseInOutBack(a,e,b,c,d){return void 0===d&&(d=1.70158),1>(a/=c/2)?b/2*(a*a*(((d*=1.525)+1)*a-d))+e:b/2*((a-=2)*a*(((d*=1.525)+1)*a+d)+2)+e}static EaseInBounce(a,e,b,c){return b-s.EaseOutBounce(c-a,0,b,c)+e}static EaseOutBounce(a,e,b,c){return(a/=c)<1/2.75?b*(7.5625*a*a)+e:a<2/2.75?b*(7.5625*(a-=1.5/2.75)*a+.75)+e:a<2.5/2.75?b*(7.5625*(a-=2.25/2.75)*a+.9375)+e:b*(7.5625*(a-=2.625/2.75)*a+.984375)+e}static EaseInOutBounce(a,e,b,c){return ad-3*c+3*b-a,a=(a,b,c)=>3*c-6*b+3*a,b=(a,b)=>3*(b-a),c=(d,e,a,b)=>((e*d+a)*d+b)*d,s=(d,e,a,b)=>3*e*d*d+2*a*d+b,u=(d,e,g,h,i,j)=>{if(1==d)return 1;let k=0,l=1,m=j[l],n=j[10];for(;l!=10&&m<=d;)l++,m=j[l],k+=q;l--,m=j[l];const o=(d-m)/(j[l+1]-m);let p=k+o*q;const t=r(e,g,h,i),u=a(e,g,h,i),v=b(e,g,h,i),w=s(p,t,u,v);if(0===w)return p;if(w>=.02){for(let a=0;4>a;++a){const a=c(p,t,u,v)-d,b=s(p,t,u,v);p-=a/b}return p}else{let a,b,e=k,g=k+q,h=0;do{p=e+(g-e)/2;let i=c(p,t,u,v)-d;01e-7,b=10>++h}while(a&&b);return p}}})(); + +// ../lib/misc/probability.js +"use strict";{function a(a){if(!C3.IsString(a));}C3.ProbabilityTable=class{constructor(){this._items=[],this._totalWeight=0}Release(){this.Clear(),this._items=null}Clear(){C3.clear2DArray(this._items),this._totalWeight=0}GetTotalWeight(){return this._totalWeight}Sample(a=Math.random()*this.GetTotalWeight()){let b=0;for(const[c,d]of this._items)if(b+=c,ac(a)));for(let c,d=0,e=this._listeners.length;dc(a)));return Promise.all(b).then(()=>!a.defaultPrevented)}_FireAndWait_AsyncOptional(a){const b=[];this._IncreaseFireDepth();for(let c=0,d=this._captureListeners.length;c!a.defaultPrevented):!a.defaultPrevented}async _FireAndWaitAsync(a){return await this._FireAndWait_AsyncOptional(a)}async _FireAndWaitAsyncSequential(a){this._IncreaseFireDepth();for(let b=0,c=this._captureListeners.length;b(h.push({func:b,resolve:e,reject:f,stack:d}),k?void c(h.pop()):void(-1===i&&a(16))))},C3.Asyncify.SetHighThroughputMode=function(a){if(a)++j;else if(--j,0>j)throw new Error("already turned off high throughput mode")}} + +// ../lib/util/idleTimeout.js +"use strict";{function a(){e=-1}function b(){f=-1,g=-1;let a=Date.now();for(let b of h)if(b._CheckTimeout(a)){let a=b._GetDeadline();(-1===g||aa+c&&(self.clearTimeout(f),g=this._deadline,f=self.setTimeout(b,this._timeout+100))}_CheckTimeout(a){return!(a>=this._deadline)||(this._callback()?(this._deadline=a+this._timeout,!0):(this._isActive=!1,!1))}_GetDeadline(){return this._deadline}Cancel(){this._isActive&&(h.delete(this),this._isActive=!1,0===h.size&&-1!==f&&(self.clearTimeout(f),f=-1,g=-1))}Release(){this.Cancel(),this._callback=null}}} + +// ../lib/util/disposable.js +"use strict";C3.Disposable=class a{constructor(a){this._disposed=!1,this._disposeAction=a}Dispose(){this._disposed||(this._disposed=!0,this._disposeAction&&(this._disposeAction(),this._disposeAction=null))}IsDisposed(){return this._disposed}Release(){this.Dispose()}static Release(b){return new a(()=>b.Release())}static From(a,b,c,d,e){if("undefined"==typeof d||null===d)d=!1;else if("boolean"!=typeof d&&"object"!=typeof d)throw new TypeError("invalid event listener options");if(e&&(c=c.bind(e)),b.includes(" ")){b=b.split(" ");const e=new C3.CompositeDisposable;for(let f of b)a.addEventListener(f,c,d),e.Add(C3.New(C3.Disposable,()=>a.removeEventListener(f,c,d)));return e}return a.addEventListener(b,c,d),C3.New(C3.Disposable,()=>a.removeEventListener(b,c,d))}},C3.StubDisposable=class extends C3.Disposable{SetAction(a){this._disposeAction=a}},C3.CompositeDisposable=class extends C3.Disposable{constructor(...a){super(),this._disposables=new Set;for(let b of a)this.Add(b)}Add(...a){if(this._disposed)throw new Error("already disposed");for(let b of a)this._disposables.add(b)}Remove(a){if(this._disposed)throw new Error("already disposed");this._disposables.delete(a)}RemoveAll(){if(this._disposed)throw new Error("already disposed");if(this._disposables){for(let a of this._disposables)a.Dispose();this._disposables.clear()}}IsDisposed(){return this._disposed}Dispose(){if(this._disposed)throw new Error("already disposed");this._disposed=!0;for(let a of this._disposables)a.Dispose();this._disposables.clear(),this._disposables=null}Release(){this.Dispose()}}; + +// c3/lib/util/kahanSum.js +"use strict";C3.KahanSum=class extends C3.DefendedBase{constructor(){super(),this._c=0,this._y=0,this._t=0,this._sum=0}Add(a){a=+a,this._y=a-this._c,this._t=this._sum+this._y,this._c=this._t-this._sum-this._y,this._sum=this._t}Subtract(a){this._sum-=+a}Get(){return this._sum}Reset(){this._c=0,this._y=0,this._t=0,this._sum=0}Set(a){this._c=0,this._y=0,this._t=0,this._sum=+a}Release(){}}; + +// c3/lib/util/redblackset.js +"use strict";{const a={};a.RBnode=function(a){this.tree=a,this.right=this.tree.sentinel,this.left=this.tree.sentinel,this.parent=null,this.color=!1,this.key=null},a.RedBlackSet=function(b){this.size=0,this.sentinel=new a.RBnode(this),this.sentinel.color=!1,this.root=this.sentinel,this.root.parent=this.sentinel,this.compare=b||this.default_compare},a.RedBlackSet.prototype.default_compare=function(c,a){return cthis.compare(c.key,e.key)?e.left:e.right;c.parent=d,d==this.sentinel?this.root=c:0>this.compare(c.key,d.key)?d.left=c:d.right=c,c.left=this.sentinel,c.right=this.sentinel,c.color=!0,this.insertFixup(c),this.size++}else{var f=this.get_(b);f.key=b}},a.RedBlackSet.prototype.insertFixup=function(a){for(;a!=this.sentinel&&a!=this.root&&a.parent.color==!0;)if(a.parent==a.parent.parent.left){var b=a.parent.parent.right;b.color==!0?(a.parent.color=!1,b.color=!1,a.parent.parent.color=!0,a=a.parent.parent):(a==a.parent.right&&(a=a.parent,this.leftRotate(a)),a.parent.color=!1,a.parent.parent.color=!0,a.parent.parent!=this.sentinel&&this.rightRotate(a.parent.parent))}else{var b=a.parent.parent.left;b.color==!0?(a.parent.color=!1,b.color=!1,a.parent.parent.color=!0,a=a.parent.parent):(a==a.parent.left&&(a=a.parent,this.rightRotate(a)),a.parent.color=!1,a.parent.parent.color=!0,a.parent.parent!=this.sentinel&&this.leftRotate(a.parent.parent))}this.root.color=!1},a.RedBlackSet.prototype.delete_=function(a){var b,c;b=a.left==this.sentinel||a.right==this.sentinel?a:this.successor_(a),c=b.left==this.sentinel?b.right:b.left,c.parent=b.parent,b.parent==this.sentinel?this.root=c:b==b.parent.left?b.parent.left=c:b.parent.right=c,b!=a&&(a.key=b.key),b.color==!1&&this.deleteFixup(c),this.size--},a.RedBlackSet.prototype.deleteFixup=function(a){for(;a!=this.root&&a.color==!1;)if(a==a.parent.left){var b=a.parent.right;b.color==!0&&(b.color=!1,a.parent.color=!0,this.leftRotate(a.parent),b=a.parent.right),b.left.color==!1&&b.right.color==!1?(b.color=!0,a=a.parent):(b.right.color==!1&&(b.left.color=!1,b.color=!0,this.rightRotate(b),b=a.parent.right),b.color=a.parent.color,a.parent.color=!1,b.right.color=!1,this.leftRotate(a.parent),a=this.root)}else{var b=a.parent.left;b.color==!0&&(b.color=!1,a.parent.color=!0,this.rightRotate(a.parent),b=a.parent.left),b.right.color==!1&&b.left.color==!1?(b.color=!0,a=a.parent):(b.left.color==!1&&(b.right.color=!1,b.color=!0,this.leftRotate(b),b=a.parent.left),b.color=a.parent.color,a.parent.color=!1,b.left.color=!1,this.rightRotate(a.parent),a=this.root)}a.color=!1},a.RedBlackSet.prototype.remove=function(a){var b=this.get_(a);if(b!=this.sentinel){var c=b.key;return this.delete_(b),c}return null},a.RedBlackSet.prototype.removeSwapped=function(a,b){this.remove(b)},a.RedBlackSet.prototype.min=function(a){for(;a.left!=this.sentinel;)a=a.left;return a},a.RedBlackSet.prototype.max=function(a){for(;a.right!=this.sentinel;)a=a.right;return a},a.RedBlackSet.prototype.successor_=function(a){if(a.right!=this.sentinel)return this.min(a.right);for(var b=a.parent;b!=this.sentinel&&a==b.right;)a=b,b=b.parent;return b},a.RedBlackSet.prototype.predeccessor_=function(a){if(a.left!=this.sentinel)return this.max(a.left);for(var b=a.parent;b!=this.sentinel&&a==b.left;)a=b,b=b.parent;return b},a.RedBlackSet.prototype.successor=function(a){if(0this.compare(a,b.key)?b.left:b.right;return b},a.RedBlackSet.prototype.contains=function(a){return null!=this.get_(a).key},a.RedBlackSet.prototype.getValues=function(){var a=[];return this.forEach(function(b){a.push(b)}),a},a.RedBlackSet.prototype.insertAll=function(b){if("array"==a.typeOf(b))for(var c=0;cc)return!1;var d=0;if(this.isEmpty())return!0;for(var e=this.min(this.root);e!=this.sentinel;e=this.successor_(e))a.contains.call(b,b,e.key)&&d++;return d==this.getCount()},a.RedBlackSet.prototype.intersection=function(b){var c=new a.RedBlackSet(this.compare);if(this.isEmpty())return c;for(var d=this.min(this.root);d!=this.sentinel;d=this.successor_(d))b.contains.call(b,d.key,d.key,this)&&c.insert(d.key);return c},C3.RedBlackSet=class extends C3.DefendedBase{constructor(b){super();this._rbSet=new a.RedBlackSet(b),this._enableQueue=!1,this._queueInsert=new Set,this._queueRemove=new Set}Add(a){this._enableQueue?this._rbSet.contains(a)?this._queueRemove.delete(a):this._queueInsert.add(a):this._rbSet.insert(a)}Remove(a){this._enableQueue?this._rbSet.contains(a)?this._queueRemove.add(a):this._queueInsert.delete(a):this._rbSet.remove(a)}Has(a){return this._enableQueue?!!this._queueInsert.has(a)||!this._queueRemove.has(a)&&this._rbSet.contains(a):this._rbSet.contains(a)}Clear(){this._rbSet.clear(),this._queueInsert.clear(),this._queueRemove.clear()}toArray(){if(this._enableQueue)throw new Error("cannot be used in queueing mode");return this._rbSet.getValues()}GetSize(){return this._rbSet.getCount()+this._queueInsert.size-this._queueRemove.size}IsEmpty(){return 0===this.GetSize()}Front(){if(this.IsEmpty())throw new Error("empty set");if(this._enableQueue)throw new Error("cannot be used in queueing mode");const a=this._rbSet,b=a.min(a.root);return b.key}Shift(){if(this.IsEmpty())throw new Error("empty set");if(this._enableQueue)throw new Error("cannot be used in queueing mode");const a=this.Front();return this.Remove(a),a}SetQueueingEnabled(a){if((a=!!a,this._enableQueue!==a)&&(this._enableQueue=a,!a)){for(const a of this._queueRemove)this._rbSet.remove(a);this._queueRemove.clear();for(const a of this._queueInsert)this._rbSet.insert(a);this._queueInsert.clear()}}ForEach(a){this._rbSet.forEach(a)}*values(){if(!this.IsEmpty()){const a=this._rbSet;for(let b=a.min(a.root);b!=a.sentinel;b=a.successor_(b))yield b.key}}[Symbol.iterator](){return this.values()}}} + +// ../lib/util/promiseThrottle.js +"use strict";C3.PromiseThrottle=class{constructor(a=C3.hardwareConcurrency){this._maxParallel=a,this._queue=[],this._activeCount=0}Add(a){return new Promise((b,c)=>{this._queue.push({func:a,resolve:b,reject:c}),this._MaybeStartNext()})}_FindInQueue(a){for(let b=0,c=this._queue.length;b=this._maxParallel)){this._activeCount++;const a=this._queue.shift();try{const b=await a.func();a.resolve(b)}catch(b){a.reject(b)}this._activeCount--,this._MaybeStartNext()}}static async Batch(a,b){const c=[];let d=!1;const e=async()=>{for(let a;a=b.pop();){if(d)return;try{c.push((await a()))}catch(a){throw d=!0,a}}},f=[];for(;a--;)f.push(e());return await Promise.all(f),c}}; + +// ../lib/util/rateLimiter.js +"use strict";C3.RateLimiter=class{constructor(a,b,c){this._callback=a,this._interval=b,this._intervalOnBattery=c||2*b,this._timerId=-1,this._lastCallTime=-Infinity,this._timerCallFunc=()=>this._OnTimer(),this._ignoreReset=!1,this._canRunImmediate=!1,this._callbackArguments=null}SetCanRunImmediate(a){this._canRunImmediate=!!a}_GetInterval(){return"undefined"!=typeof C3.Battery&&C3.Battery.IsOnBatteryPower()?this._intervalOnBattery:this._interval}Call(...a){if(-1===this._timerId){this._callbackArguments=a;let b=C3.FastGetDateNow(),c=b-this._lastCallTime,d=this._GetInterval();c>=d&&this._canRunImmediate?(this._lastCallTime=b,this._RunCallback()):this._timerId=self.setTimeout(this._timerCallFunc,Math.max(d-c,4))}}_RunCallback(){this._ignoreReset=!0;const a=this._callbackArguments;this._callbackArguments=null,a?this._callback(...a):this._callback(),this._ignoreReset=!1}Reset(){this._ignoreReset||(this._CancelTimer(),this._callbackArguments=null,this._lastCallTime=C3.FastGetDateNow())}_OnTimer(){this._timerId=-1,this._lastCallTime=C3.FastGetDateNow(),this._RunCallback()}_CancelTimer(){-1!==this._timerId&&(self.clearTimeout(this._timerId),this._timerId=-1)}Release(){this._CancelTimer(),this._callback=null,this._callbackArguments=null,this._timerCallFunc=null}}; + +// ../lib/util/svgRaster/svgRasterManager.js +"use strict";C3.SVGRasterManager=class{constructor(){this._images=new Map,this._allowNpotSurfaces=!1,this._getBaseSizeCallback=null,this._rasterAtSizeCallback=null,this._releaseResultCallback=null,this._redrawCallback=null}SetNpotSurfaceAllowed(b){this._allowNpotSurfaces=!!b}IsNpotSurfaceAllowed(){return this._allowNpotSurfaces}SetGetBaseSizeCallback(a){this._getBaseSizeCallback=a}GetBaseSize(a){if(!this._getBaseSizeCallback)throw new Error("no get base size callback set");return this._getBaseSizeCallback(a)}SetRasterAtSizeCallback(a){this._rasterAtSizeCallback=a}RasterAtSize(a,b,c,d,e,f){if(!this._rasterAtSizeCallback)throw new Error("no raster at size callback set");return this._rasterAtSizeCallback(a,b,c,d,e,f)}SetReleaseResultCallback(a){this._releaseResultCallback=a}ReleaseResult(a){if(!this._releaseResultCallback)throw new Error("no release result callback set");this._releaseResultCallback(a)}SetRedrawCallback(a){this._redrawCallback=a}Redraw(){if(!this._redrawCallback)throw new Error("no redraw callback set");this._redrawCallback()}AddImage(a){let b=this._images.get(a);return b||(b=C3.New(C3.SVGRasterImage,this,a),this._images.set(a,b)),b.IncReference(),b}_RemoveImage(a){this._images.delete(a.GetDataSource())}}; + +// ../lib/util/svgRaster/svgRasterImage.js +"use strict";{const a=2048;C3.SVGRasterImage=class{constructor(a,b){this._manager=a,this._dataSource=b,this._refCount=0,this._baseWidth=0,this._baseHeight=0,this._getBaseSizePromise=this._manager.GetBaseSize(b).then((a)=>{this._baseWidth=a[0],this._baseHeight=a[1],this._manager.Redraw()}).catch((a)=>{console.error("[SVG] Error loading SVG: ",a),this._hadError=!0,this._manager.Redraw()}),this._rasterSurfaceWidth=0,this._rasterSurfaceHeight=0,this._rasterImageWidth=0,this._rasterImageHeight=0,this._isRasterizing=!1,this._rasterizedResult=null,this._forceRaster=!1,this._hadError=!1}Release(){if(0>=this._refCount)throw new Error("already released");this._refCount--,0===this._refCount&&this._Release()}_Release(){this._rasterizedResult&&(this._manager.ReleaseResult(this._rasterizedResult),this._rasterizedResult=null),this._manager._RemoveImage(this),this._manager=null}GetDataSource(){return this._dataSource}IncReference(){this._refCount++}HasReferences(){return 0a){const b=a/i;c*=b,d*=b,g=e(f(g*b),a),h=e(f(h*b),a)}if(ca?(c=h*a,d=h):(c=g,d=g/a)}if(this._manager.IsNpotSurfaceAllowed()&&(g=f(c),h=f(d)),!(g<=this._rasterSurfaceWidth&&h<=this._rasterSurfaceHeight&&!this._forceRaster)){this._isRasterizing=!0,this._rasterSurfaceWidth=g,this._rasterSurfaceHeight=h;const a=await this._manager.RasterAtSize(this._dataSource,b,this._rasterSurfaceWidth,this._rasterSurfaceHeight,c,d);this._rasterizedResult&&this._manager.ReleaseResult(this._rasterizedResult),this._rasterizedResult=a,this._rasterImageWidth=c,this._rasterImageHeight=d,this._isRasterizing=!1,this._forceRaster=!1,this._manager.Redraw()}}WhenBaseSizeReady(){return this._getBaseSizePromise}GetBaseWidth(){return this._baseWidth}GetBaseHeight(){return this._baseHeight}GetRasterWidth(){return this._rasterImageWidth}GetRasterHeight(){return this._rasterImageHeight}HadError(){return this._hadError}}} + +// ../lib/str/str.js +"use strict";{function a(a){return e.get(a)}C3.UTF8_BOM="\uFEFF";const b=new Set([..."0123456789"]);C3.IsNumericChar=function(a){return b.has(a)};const d=new Set([..." \t\n\r\xA0\x85\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u200B\u2028\u2029\u202F\u205F\u3000"]);C3.IsWhitespaceChar=function(a){return d.has(a)},C3.FilterWhitespace=function(a){return[...a].filter((a)=>!C3.IsWhitespaceChar(a)).join("")},C3.IsStringAllWhitespace=function(a){for(const b of a)if(!C3.IsWhitespaceChar(b))return!1;return!0},C3.IsUnprintableChar=function(a){return 1===a.length&&32>a.charCodeAt(0)},C3.FilterUnprintableChars=function(a){return[...a].filter((a)=>!C3.IsUnprintableChar(a)).join("")};const c=new Set([..."0123456789.+-e"]);C3.IsStringNumber=function(a){if(a=a.trim(),!a.length)return!1;let d=a.charAt(0);if("-"!==d&&!b.has(d))return!1;for(let b of a)if(!c.has(b))return!1;return!0},C3.RemoveTrailingDigits=function(a){let b=a.length;for(;0",">"],["\"","""],["'","'"]]);const f=/[&<>"']/g;C3.EscapeHTML=function(b){return b.replace(f,a)},C3.EscapeJS=function(a){let b=C3.ReplaceAll(a,"\\","\\\\");return b=C3.ReplaceAll(b,"\"","\\\""),b=C3.ReplaceAll(b,"\t","\\t"),b=C3.ReplaceAll(b,"\r",""),C3.ReplaceAll(b,"\n","\\n")},C3.EscapeXML=function(a){let b=C3.ReplaceAll(a,"&","&");return b=C3.ReplaceAll(b,"<","<"),b=C3.ReplaceAll(b,">",">"),C3.ReplaceAll(b,"\"",""")};const g=/[-[\]{}()*+?.,\\^$|#\s]/g;C3.EscapeRegex=function(a){return a.replace(g,"\\$&")},C3.FindAll=function(a,b,c=!1){if(!b)return[];c||(a=a.toLowerCase(),b=b.toLowerCase());const d=b.length;let e=0,f=0,g=[];for(;-1<(f=a.indexOf(b,e));)g.push(f),e=f+d;return g},C3.ReplaceAll=function(a,b,c){return a.replace(new RegExp(C3.EscapeRegex(b),"g"),()=>c)},C3.ReplaceAllCaseInsensitive=function(a,b,c){return a.replace(new RegExp(C3.EscapeRegex(b),"gi"),()=>c)},C3.SetElementContent=function(a,b){"string"==typeof b?a.textContent=b:b.isPlainText()?a.textContent=b.toString():(a.innerHTML=b.toHTML(),b instanceof C3.BBString&&b.attachLinkHandlers(a))},C3.StringLikeEquals=function(c,a){return c instanceof C3.HtmlString||c instanceof C3.BBString?c.equals(a):a instanceof C3.HtmlString||a instanceof C3.BBString?a.equals(c):c===a},C3.StringSubstitute=function(a,...b){let c=a;for(let d=0,e=b.length;dd?1:ba){let b=a/h;return b=10>b?c(10*b)/10:c(b),langSub(d+"kilobytes",b)}if(1073741824>a){let b=a/1048576;return b=10>b?c(10*b)/10:c(b),langSub(d+"megabytes",b)}if(1099511627776>a){let b=a/1073741824;return b=10>b?c(10*b)/10:c(b),langSub(d+"gigabytes",b)}else{let b=a/1099511627776;return b=10>b?c(10*b)/10:c(b),langSub(d+"terabytes",b)}};const i={approximate:!1,days:!0,hours:!0,minutes:!0,seconds:!0};C3.FormatTime=function(a,b){var c=Math.floor;b=Object.assign({},i,b),C3.Lang.PushContext("common.time");const d=[];if(b.days){const b=c(a/86400);0a?"-":"";a=Math.abs(a);let d=a.toString(),e=b-d.length;for(let d=0;da.toUpperCase())},C3.CompareVersionStrings=function(a,b){let c=a.split(".").map((a)=>a.trim()),d=b.split(".").map((a)=>a.trim());C3.resizeArray(c,4,"0"),C3.resizeArray(d,4,"0"),c=c.map((a)=>parseInt(a,10)),d=d.map((a)=>parseInt(a,10));for(let e=0;4>e;++e){const a=c[e]-d[e];if(0!=a)return 0>a?-1:1}return 0},C3.CreateGUID=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(a)=>{const b=Math.floor(16*Math.random()),c="x"===a?b:8|3&b;return c.toString(16)})},C3.StringHammingDistance=function(c,a){if(c.length!==a.length)throw new Error("strings must be same length");let b=0;for(let d=0,e=c.length;da.length&&(d=c,c=a,a=d),i=Array(c.length+1),e=0;e<=c.length;e++)i[e]=e;for(e=1;e<=a.length;e++){for(g=e,f=1;f<=c.length;f++)h=a[e-1]===c[f-1]?i[f-1]:b(i[f-1]+1,b(g+1,i[f]+1)),i[f-1]=g,g=h;i[c.length]=g}return i[c.length]}} + +// ../lib/str/bbstring.js +"use strict";{function a(a,c,d){const g=b.get(d);if(!g)return"class"===d?c?"":``:a;else if("string"!=typeof g){if(Array.isArray(g)){let a=g[0],b=g[1];return c?"":`<${a} class="${b}">`}}else if("a"===g&&!c){const a=parseInt(d.substring(1),10)-1;if(0>a||a>=e.length)throw new Error("invalid bbcode link substitution");const b=e[a];if("string"==typeof b)return``;if("function"==typeof b)return``;throw new TypeError("invalid bbcode link action")}else return"<"+c+g+">"}const b=new Map([["b","strong"],["i","em"],["s","s"],["u","u"],["sub","sub"],["sup","sup"],["small","small"],["mark","mark"],["a1","a"],["a2","a"],["a3","a"],["a4","a"],["a5","a"],["a6","a"],["a7","a"],["a8","a"],["a9","a"],["bad",["span","bbCodeBad"]],["good",["span","bbCodeGood"]],["info",["span","bbCodeInfo"]],["h1",["span","bbCodeH1"]],["h2",["span","bbCodeH2"]],["h3",["span","bbCodeH3"]],["h4",["span","bbCodeH4"]],["item",["span","bbCodeItem"]]]),c=/\[(\/?)([a-zA-Z0-9]+)\]/g,d=/\[(\/?)(.*?)\]/g;let e=null,f=0;const g=/\n/g;C3.BBString=class{constructor(a,b){if(this._bbstr=b&&b.noEscape?a:C3.EscapeHTML(a),this._htmlstr="",this._convertLineBreaks=!1,this._linkActions=[],b&&(this._convertLineBreaks=!!b.convertLineBreaks,b.links)){if(9")),this._htmlstr=b}return this._htmlstr}attachLinkHandlers(a){if(this._linkActions.length)for(let b=0,c=this._linkActions.length;bc)return;if(1===a.length){const d=a[0],f=d.text,g=d.styles;if(100>=f.length&&!f.includes("\n")){let{width:a,height:d}=b(f,g);if(a+=e,a<=c)return void this._AddLine([{text:f,styles:g,width:a,height:d}],a,d)}}let f;if("word"===d)f=this._TokeniseWords(a);else{f=[];for(const b of a)C3.appendArray(f,[...b.text].map((a)=>[{text:a,styles:b.styles}]))}this._WrapText(f,b,c,e)}_TokeniseWords(a){const b=[];let c=[],d=!1;for(const e of a){const a=e.text,f=e.styles;for(const e of a)if("\n"===e)0({text:a.text,styles:a.styles,width:a.width,height:a.height}))}_AddWordToLine(a,b){const c=a.length?a[a.length-1]:null;let d=0;c&&b[0].styles===c.styles&&(c.text+=b[0].text,c.width=-1,c.height=-1,d=1);for(let c=b.length;d=c))e=a,f=i,g=j;else if(0a||a>=b.length)throw new RangeError("invalid blend index");return b[a]}GetSrcBlendByIndex(a){return this._GetBlendByIndex(a)[0]}GetDestBlendByIndex(a){return this._GetBlendByIndex(a)[1]}GetNamedBlend(a){const b=this._namedBlendModeMap.get(a);if("undefined"==typeof b)throw new Error("invalid blend name");return b}Finish(){this.EndBatch(),this._frameNumber++}GetFrameNumber(){return this._frameNumber}IncrementFrameNumber(){this._frameNumber++}}} + +// ../lib/gfx/stateGroup.js +"use strict";C3.Gfx.StateGroup=class{constructor(a,b,c,d,e,f){this._renderer=a,this._refCount=0,this._shaderProgram=null,this._shaderProgramName="",this._srcBlend=c,this._destBlend=d,this._color=C3.New(C3.Color),this._color.set(e),this._zElevation=f,"string"==typeof b?this._shaderProgramName=b:(this._shaderProgram=b,this._shaderProgramName=this._shaderProgram.GetName())}Release(){if(0=this._width||0>=this._height)throw new Error("invalid texture data size");if(h.isSvg){const a=C3.CreateCanvas(this._width,this._height),b=a.getContext("2d");b.drawImage(f,0,0,this._width,this._height),f=a}const i=C3.isPOT(this._width)&&C3.isPOT(this._height),j=this._renderer.GetMaxTextureSize();if(this._width>j||this._height>j)throw new Error("texture data exceeds maximum texture size");const k=this._renderer.GetContext(),l=this._renderer.GetWebGLVersionNumber();this._texture=k.createTexture(),k.bindTexture(k.TEXTURE_2D,this._texture),k.pixelStorei(k["UNPACK_PREMULTIPLY_ALPHA_WEBGL"],h.premultiplyAlpha);const m=a(this._pixelFormat,k);if(!this._renderer.SupportsNPOTTextures()&&!i&&this._isTiled){if(null===f)throw new Error("cannot pass null data when creating a NPOT tiled texture without NPOT support");if(f instanceof ArrayBuffer&&(f=new ImageData(new Uint8ClampedArray(f),this._width,this._height)),f instanceof ImageData){const a=C3.CreateCanvas(this._width,this._height),b=a.getContext("2d");b.putImageData(f,0,0),f=a}const a=C3.CreateCanvas(C3.nextHighestPowerOfTwo(this._width),C3.nextHighestPowerOfTwo(this._height)),b=a.getContext("2d");b.imageSmoothingEnabled="nearest"!==this._sampling,b.drawImage(f,0,0,this._width,this._height,0,0,a.width,a.height),k.texImage2D(k.TEXTURE_2D,0,m.internalformat,m.format,m.type,a)}else if(2<=l){let a;a=this._isMipMapped?Math.floor(Math.log2(Math.max(this._width,this._height))+1):1,k.texStorage2D(k.TEXTURE_2D,a,m.sizedinternalformat,this._width,this._height),f instanceof ArrayBuffer?k.texSubImage2D(k.TEXTURE_2D,0,0,0,this._width,this._height,m.format,m.type,new Uint8Array(f)):null!==f&&k.texSubImage2D(k.TEXTURE_2D,0,0,0,m.format,m.type,f)}else f instanceof ArrayBuffer?k.texImage2D(k.TEXTURE_2D,0,m.internalformat,this._width,this._height,0,m.format,m.type,new Uint8Array(f)):null===f?k.texImage2D(k.TEXTURE_2D,0,m.internalformat,this._width,this._height,0,m.format,m.type,null):k.texImage2D(k.TEXTURE_2D,0,m.internalformat,m.format,m.type,f);null!==f&&this._SetTextureParameters(k),k.bindTexture(k.TEXTURE_2D,null),this._renderer._ResetLastTexture(),this._refCount=1,g.add(this)}_CreateDynamic(f,h,i){var j=Math.floor;if(i=Object.assign({},e,i),this._texture)throw new Error("already created texture");if(this._isTiled=!!i.isTiled,this._tileType=i.tileType,this._sampling=i.sampling,this._pixelFormat=i.pixelFormat,this._isMipMapped=!!i.mipMap,this._mipMapQuality=i.mipMapQuality,!c.has(this._sampling))throw new Error("invalid sampling");if(!b.has(this._pixelFormat))throw new Error("invalid pixel format");if(!d.has(this._mipMapQuality))throw new Error("invalid mipmap quality");this._isStatic=!1,this._width=j(f),this._height=j(h);const k=C3.isPOT(this._width)&&C3.isPOT(this._height),l=this._renderer.GetMaxTextureSize();if(0>=this._width||0>=this._height)throw new Error("invalid texture size");if(this._width>l||this._height>l)throw new Error("texture exceeds maximum texture size");if(!this._renderer.SupportsNPOTTextures()&&this._isTiled&&!k)throw new Error("non-power-of-two tiled textures not supported");const m=this._renderer.GetContext(),n=this._renderer.GetWebGLVersionNumber();this._texture=m.createTexture(),m.bindTexture(m.TEXTURE_2D,this._texture),m.pixelStorei(m["UNPACK_PREMULTIPLY_ALPHA_WEBGL"],i.premultiplyAlpha);const o=a(this._pixelFormat,m),p=2<=n?o.sizedinternalformat:o.internalformat;m.texImage2D(m.TEXTURE_2D,0,p,this._width,this._height,0,o.format,o.type,null),this._SetTextureParameters(m),m.bindTexture(m.TEXTURE_2D,null),this._renderer._ResetLastTexture(),this._refCount=1,g.add(this)}_GetMipMapHint(a){if("default"===this._mipMapQuality)return this._isStatic?a.NICEST:a.FASTEST;if("low"===this._mipMapQuality)return a.FASTEST;if("high"===this._mipMapQuality)return a.NICEST;throw new Error("invalid mipmap quality")}_SetTextureParameters(a){const b=C3.isPOT(this._width)&&C3.isPOT(this._height);if(!this._isTiled)a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE);else if("repeat-x"===this._tileType)a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.REPEAT),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE);else if("repeat-y"===this._tileType)a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.REPEAT);else if("repeat"===this._tileType)a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.REPEAT),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.REPEAT);else throw new Error("invalid tile type");if("nearest"===this._sampling)a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.NEAREST),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.NEAREST),this._isMipMapped=!1;else if(a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR),(b||this._renderer.SupportsNPOTTextures())&&this._isMipMapped){a.hint(a.GENERATE_MIPMAP_HINT,this._GetMipMapHint(a)),a.generateMipmap(a.TEXTURE_2D);const b="trilinear"===this._sampling&&!this._renderer.HasMajorPerformanceCaveat();a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,b?a.LINEAR_MIPMAP_LINEAR:a.LINEAR_MIPMAP_NEAREST)}else a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR),this._isMipMapped=!1}_Update(b,c){if(("undefined"==typeof HTMLImageElement||!(b instanceof HTMLImageElement))&&("undefined"==typeof HTMLVideoElement||!(b instanceof HTMLVideoElement))&&("undefined"==typeof HTMLCanvasElement||!(b instanceof HTMLCanvasElement))&&("undefined"==typeof ImageBitmap||!(b instanceof ImageBitmap))&&("undefined"==typeof OffscreenCanvas||!(b instanceof OffscreenCanvas))&&!(b instanceof ImageData))throw new Error("invalid texture source");if(!this._texture||0>=this._refCount)throw new Error("texture not created");if(this._isStatic)throw new Error("cannot update static texture");c=Object.assign({},f,c);const d=b.width||b.videoWidth,e=b.height||b.videoHeight,g=this._renderer.GetWebGLVersionNumber(),h=this._renderer.GetContext();h.bindTexture(h.TEXTURE_2D,this._texture),h.pixelStorei(h["UNPACK_PREMULTIPLY_ALPHA_WEBGL"],c.premultiplyAlpha);const i=a(this._pixelFormat,h),j=2<=g?i.sizedinternalformat:i.internalformat;try{if(this._width===d&&this._height===e){const a=C3.isPOT(this._width)&&C3.isPOT(this._height);h.texSubImage2D(h.TEXTURE_2D,0,0,0,i.format,i.type,b),(a||this._renderer.SupportsNPOTTextures())&&this._isMipMapped&&(h.hint(h.GENERATE_MIPMAP_HINT,this._GetMipMapHint(h)),h.generateMipmap(h.TEXTURE_2D))}else{this._width=d,this._height=e;const a=C3.isPOT(this._width)&&C3.isPOT(this._height);if(!this._renderer.SupportsNPOTTextures()&&this._isTiled&&!a)throw new Error("non-power-of-two tiled textures not supported");h.texImage2D(h.TEXTURE_2D,0,j,i.format,i.type,b),(a||this._renderer.SupportsNPOTTextures())&&this._isMipMapped&&(h.hint(h.GENERATE_MIPMAP_HINT,this._GetMipMapHint(h)),h.generateMipmap(h.TEXTURE_2D))}}catch(a){console.error("Error updating WebGL texture: ",a)}h.bindTexture(h.TEXTURE_2D,null),this._renderer._ResetLastTexture()}_Delete(){if(0=this._refCount)throw new Error("no more references");this._refCount--}GetReferenceCount(){return this._refCount}GetWidth(){return this._width}GetHeight(){return this._height}IsStatic(){return this._isStatic}GetEstimatedMemoryUsage(){let a=this._width*this._height;switch(this._pixelFormat){case"rgba8":a*=4;break;case"rgb8":a*=3;break;case"rgba4":case"rgb5_a1":case"rgb565":a*=2;}return this._isMipMapped&&(a+=Math.floor(a/3)),a}static OnContextLost(){g.clear()}static allTextures(){return g.values()}}} + +// ../lib/gfx/webgl/renderTarget.js +"use strict";{const a=new Set(["nearest","bilinear","trilinear"]),b={sampling:"trilinear",alpha:!0,readback:!0,isDefaultSize:!0,multisampling:0},c=new Set;C3.Gfx.WebGLRenderTarget=class{constructor(a){this._renderer=a,this._frameBuffer=null,this._texture=null,this._renderBuffer=null,this._width=0,this._height=0,this._isDefaultSize=!0,this._sampling="trilinear",this._alpha=!0,this._readback=!0,this._multisampling=0}_Create(d,e,f){f=Object.assign({},b,f);const g=this._renderer.GetWebGLVersionNumber();if(this._texture||this._renderBuffer)throw new Error("already created render target");if(this._sampling=f.sampling,this._alpha=!!f.alpha,this._readback=!!f.readback,this._isDefaultSize=!!f.isDefaultSize,this._multisampling=f.multisampling,!a.has(this._sampling))throw new Error("invalid sampling");if(0g||this._readback))throw new Error("invalid use of multisampling");if(2>g&&(this._readback=!0),this._width=d,this._height=e,0>=this._width||0>=this._height)throw new Error("invalid render target size");const h=this._renderer.GetContext();if(this._frameBuffer=h.createFramebuffer(),h.bindFramebuffer(h.FRAMEBUFFER,this._frameBuffer),this._readback){this._texture=this._renderer.CreateDynamicTexture(this._width,this._height,{sampling:this._sampling,pixelFormat:this._alpha?"rgba8":"rgb8",mipMap:!1});const a=this._texture._GetTexture();h.framebufferTexture2D(h.FRAMEBUFFER,h.COLOR_ATTACHMENT0,h.TEXTURE_2D,a,0)}else{this._renderBuffer=h.createRenderbuffer(),h.bindRenderbuffer(h.RENDERBUFFER,this._renderBuffer);const a=this._alpha?h.RGBA8:h.RGB8;if(0a&&(this._multisampling=a)}else this._multisampling=0}0===this._multisampling?h.renderbufferStorage(h.RENDERBUFFER,a,this._width,this._height):h.renderbufferStorageMultisample(h.RENDERBUFFER,this._multisampling,a,this._width,this._height),h.framebufferRenderbuffer(h.FRAMEBUFFER,h.COLOR_ATTACHMENT0,h.RENDERBUFFER,this._renderBuffer),h.bindRenderbuffer(h.RENDERBUFFER,null)}h.bindFramebuffer(h.FRAMEBUFFER,null),c.add(this)}_Resize(a,b){if(this._width!==a||this._height!==b){this._width=a,this._height=b;const c=this._renderer.GetContext();c.bindFramebuffer(c.FRAMEBUFFER,this._frameBuffer),this._texture?this._texture._Update(new ImageData(this._width,this._height)):(c.bindRenderbuffer(c.RENDERBUFFER,this._renderBuffer),c.renderbufferStorage(c.RENDERBUFFER,this._alpha?c.RGBA8:c.RGB8,this._width,this._height),c.bindRenderbuffer(c.RENDERBUFFER,null)),c.bindFramebuffer(c.FRAMEBUFFER,null)}}_Delete(){if(!this._texture&&!this._renderBuffer)throw new Error("already deleted render target");c.delete(this);const a=this._renderer.GetContext();a.bindFramebuffer(a.FRAMEBUFFER,this._frameBuffer),this._texture?(a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_2D,null,0),this._renderer.DeleteTexture(this._texture),this._texture=null):this._renderBuffer&&(a.framebufferRenderbuffer(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.RENDERBUFFER,null),a.deleteRenderbuffer(this._renderBuffer),this._renderBuffer=null),a.bindFramebuffer(a.FRAMEBUFFER,null),2<=this._renderer.GetWebGLVersionNumber()&&(a.bindFramebuffer(a.READ_FRAMEBUFFER,null),a.bindFramebuffer(a.DRAW_FRAMEBUFFER,null)),a.deleteFramebuffer(this._frameBuffer),this._renderer.GetBatchState().currentFramebuffer=null,this._frameBuffer=null}_GetFramebuffer(){return this._frameBuffer}GetWebGLRenderer(){return this._renderer}GetTexture(){return this._texture}IsLinearSampling(){return"nearest"!==this._sampling}HasAlpha(){return this._alpha}IsReadback(){return this._readback}GetWidth(){return this._width}GetHeight(){return this._height}IsDefaultSize(){return this._isDefaultSize}GetMultisampling(){return this._multisampling}GetOptions(){const a={sampling:this._sampling,alpha:this._alpha,readback:this._readback};return this._isDefaultSize||(a.width=this._width,a.height=this._height),a}IsCompatibleWithOptions(a){return a=Object.assign({},b,a),"nearest"!==a.sampling===this.IsLinearSampling()&&!!a.alpha===this.HasAlpha()&&!(2<=this._renderer.GetWebGLVersionNumber()&&!!a.readback!==this.IsReadback())&&("number"==typeof a.width||"number"==typeof a.height?!this.IsDefaultSize()&&this.GetWidth()===a.width&&this.GetHeight()===a.height:this.IsDefaultSize())}_GetWebGLTexture(){return this._texture?this._texture._GetTexture():null}GetEstimatedMemoryUsage(){return this._texture?this._texture.GetEstimatedMemoryUsage():this._width*this._height*(this._alpha?4:3)}static async DebugReadPixelsToBlob(a,b){const c=await a.ReadBackRenderTargetToImageData(b,!0);return await C3.ImageDataToBlob(c)}static OnContextLost(){c.clear()}static allRenderTargets(){return c.values()}static ResizeAll(a,b){for(const d of c)d.IsDefaultSize()&&d._Resize(a,b)}}} + +// ../lib/gfx/webgl/shaderProgram.js +"use strict";{const a=new Set(["aPos","aTex","aPoints","matP","matMV","samplerFront","samplerBack","destStart","destEnd","srcStart","srcEnd","srcOriginStart","srcOriginEnd","pixelSize","seconds","layerScale","layerAngle","layoutStart","layoutEnd","color","color2_","pointTexStart","pointTexEnd","zElevation","tileSize","tileSpacing","outlineThickness"]);C3.Gfx.WebGLShaderProgram=class{static async Compile(a,b,c,d){const e=a.GetContext(),f=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(f,b),e.compileShader(f);const g=e.createShader(e.VERTEX_SHADER);e.shaderSource(g,c),e.compileShader(g);const h=e.createProgram();e.attachShader(h,f),e.attachShader(h,g),e.bindAttribLocation(h,0,"aPos"),e.bindAttribLocation(h,1,"aTex"),e.bindAttribLocation(h,2,"aPoints"),e.linkProgram(h);const i=a._GetParallelShaderCompileExtension();if(i?await a._WaitForObjectReady(()=>e.getProgramParameter(h,i["COMPLETION_STATUS_KHR"])):await C3.Wait(5),!e.getShaderParameter(f,e.COMPILE_STATUS)){const a=e.getShaderInfoLog(f);throw e.deleteShader(f),e.deleteShader(g),e.deleteProgram(h),new Error("Error compiling fragment shader: "+a)}if(!e.getShaderParameter(g,e.COMPILE_STATUS)){const a=e.getShaderInfoLog(g);throw e.deleteShader(f),e.deleteShader(g),e.deleteProgram(h),new Error("Error compiling vertex shader: "+a)}if(!e.getProgramParameter(h,e.LINK_STATUS)){const a=e.getProgramInfoLog(h);throw e.deleteShader(f),e.deleteShader(g),e.deleteProgram(h),new Error("Error linking shader program: "+a)}const j=C3.FilterUnprintableChars(e.getProgramInfoLog(h)||"").trim();return j&&!C3.IsStringAllWhitespace(j)&&console.info(`[WebGL] Shader program '${d}' compilation log: `,j),e.deleteShader(f),e.deleteShader(g),h}static async Create(a,b,c,d){const e=await C3.Gfx.WebGLShaderProgram.Compile(a,b.src,c,d);return new C3.Gfx.WebGLShaderProgram(a,e,b,d)}constructor(a,b,c,d){const e=a.GetContext(),f=a.GetBatchState();a.EndBatch(),e.useProgram(b),this._gl=e,this._renderer=a,this._name=d,this._shaderProgram=b,this._isDeviceTransform=""===d;const g=e.getAttribLocation(b,"aPos"),h=e.getAttribLocation(b,"aTex"),i=e.getAttribLocation(b,"aPoints");-1!==g&&(e.bindBuffer(e.ARRAY_BUFFER,a._vertexBuffer),e.vertexAttribPointer(g,a.GetNumVertexComponents(),e.FLOAT,!1,0,0),e.enableVertexAttribArray(g)),-1!==h&&(e.bindBuffer(e.ARRAY_BUFFER,a._texcoordBuffer),e.vertexAttribPointer(h,2,e.FLOAT,!1,0,0),e.enableVertexAttribArray(h)),-1!==i&&(e.bindBuffer(e.ARRAY_BUFFER,a._pointBuffer),e.vertexAttribPointer(i,4,e.FLOAT,!1,0,0),e.enableVertexAttribArray(i)),e.bindBuffer(e.ARRAY_BUFFER,null),this._uMatP=new C3.Gfx.WebGLShaderUniform(this,"matP","mat4"),this._uMatMV=new C3.Gfx.WebGLShaderUniform(this,"matMV","mat4"),this._uColor=new C3.Gfx.WebGLShaderUniform(this,"color","vec4"),this._uSamplerFront=new C3.Gfx.WebGLShaderUniform(this,"samplerFront","sampler"),this._uPointTexStart=new C3.Gfx.WebGLShaderUniform(this,"pointTexStart","vec2"),this._uPointTexEnd=new C3.Gfx.WebGLShaderUniform(this,"pointTexEnd","vec2"),this._uZElevation=new C3.Gfx.WebGLShaderUniform(this,"zElevation","float"),this._uTileSize=new C3.Gfx.WebGLShaderUniform(this,"tileSize","vec2"),this._uTileSpacing=new C3.Gfx.WebGLShaderUniform(this,"tileSpacing","vec2"),this._uColor2=new C3.Gfx.WebGLShaderUniform(this,"color2_","vec4"),this._uOutlineThickness=new C3.Gfx.WebGLShaderUniform(this,"outlineThickness","float"),this._uSamplerBack=new C3.Gfx.WebGLShaderUniform(this,"samplerBack","sampler"),this._uDestStart=new C3.Gfx.WebGLShaderUniform(this,"destStart","vec2"),this._uDestEnd=new C3.Gfx.WebGLShaderUniform(this,"destEnd","vec2"),this._uSrcStart=new C3.Gfx.WebGLShaderUniform(this,"srcStart","vec2"),this._uSrcEnd=new C3.Gfx.WebGLShaderUniform(this,"srcEnd","vec2"),this._uSrcOriginStart=new C3.Gfx.WebGLShaderUniform(this,"srcOriginStart","vec2"),this._uSrcOriginEnd=new C3.Gfx.WebGLShaderUniform(this,"srcOriginEnd","vec2"),this._uPixelSize=new C3.Gfx.WebGLShaderUniform(this,"pixelSize","vec2"),this._uSeconds=new C3.Gfx.WebGLShaderUniform(this,"seconds","float"),this._uLayerScale=new C3.Gfx.WebGLShaderUniform(this,"layerScale","float"),this._uLayerAngle=new C3.Gfx.WebGLShaderUniform(this,"layerAngle","float"),this._uLayoutStart=new C3.Gfx.WebGLShaderUniform(this,"layoutStart","vec2"),this._uLayoutEnd=new C3.Gfx.WebGLShaderUniform(this,"layoutEnd","vec2"),this._hasAnyOptionalUniforms=!!(this._uPixelSize.IsUsed()||this._uSeconds.IsUsed()||this._uSamplerBack.IsUsed()||this._uDestStart.IsUsed()||this._uDestEnd.IsUsed()||this._uSrcStart.IsUsed()||this._uSrcEnd.IsUsed()||this._uSrcOriginStart.IsUsed()||this._uSrcOriginEnd.IsUsed()||this._uLayerScale.IsUsed()||this._uLayerAngle.IsUsed()||this._uLayoutStart.IsUsed()||this._uLayoutEnd.IsUsed()),this._extendBoxHorizontal=c.extendBoxHorizontal||0,this._extendBoxVertical=c.extendBoxVertical||0,this._crossSampling=!!c.crossSampling,this._mustPreDraw=!!c.mustPreDraw,this._preservesOpaqueness=!!c.preservesOpaqueness,this._animated=!!c.animated;const j=c.parameters||[];this._uCustomParameters=[],this._usesDest=this._uDestStart.IsUsed()||this._uDestEnd.IsUsed(),this._usesAnySrcRectOrPixelSize=this._uPixelSize.IsUsed()||this._uSrcStart.IsUsed()||this._uSrcEnd.IsUsed()||this._uSrcOriginStart.IsUsed()||this._uSrcOriginEnd.IsUsed(),this._needsPostDrawOrExtendBox=this._crossSampling||this._usesDest||0!==this._extendBoxHorizontal||0!==this._extendBoxVertical,this._hasCurrentMatP=!1,this._hasCurrentMatMV=!1,this._uColor.Init4f(1,1,1,1),this._uColor2.Init4f(1,1,1,1),this._uSamplerFront.Init1i(0),this._uSamplerBack.Init1i(1),this._uPointTexStart.Init2f(0,0),this._uPointTexEnd.Init2f(1,1),this._uZElevation.Init1f(0),this._uTileSize.Init2f(0,0),this._uTileSpacing.Init2f(0,0),this._uDestStart.Init2f(0,0),this._uDestEnd.Init2f(1,1),this._uSrcStart.Init2f(0,0),this._uSrcEnd.Init2f(0,0),this._uSrcOriginStart.Init2f(0,0),this._uSrcOriginEnd.Init2f(0,0),this._uPixelSize.Init2f(0,0),this._uLayerScale.Init1f(1),this._uLayerAngle.Init1f(0),this._uSeconds.Init1f(0),this._uLayoutStart.Init2f(0,0),this._uLayoutEnd.Init2f(0,0),this._uOutlineThickness.Init1f(1);for(const e of j){const a=e[0],b=e[2],c=new C3.Gfx.WebGLShaderUniform(this,a,b);"color"===b?c.Init3f(0,0,0):c.Init1f(0),this._uCustomParameters.push(c)}this._isDeviceTransform?this._UpdateDeviceTransformUniforms(f.currentMatP):(this.UpdateMatP(f.currentMatP,!0),this.UpdateMatMV(f.currentMV,!0));const k=f.currentShader;e.useProgram(k?k._shaderProgram:null)}Release(){this._gl.deleteProgram(this._shaderProgram),this._shaderProgram=null,this._renderer._RemoveShaderProgram(this),this._gl=null,this._renderer=null}GetName(){return this._name}GetWebGLContext(){return this._gl}GetShaderProgram(){return this._shaderProgram}UsesDest(){return this._usesDest}UsesCrossSampling(){return this._crossSampling}MustPreDraw(){return this._mustPreDraw}PreservesOpaqueness(){return this._preservesOpaqueness}ExtendsBox(){return 0!==this._extendBoxHorizontal||0!==this._extendBoxVertical}GetBoxExtendHorizontal(){return this._extendBoxHorizontal}GetBoxExtendVertical(){return this._extendBoxVertical}UsesAnySrcRectOrPixelSize(){return this._usesAnySrcRectOrPixelSize}NeedsPostDrawOrExtendsBox(){return this._needsPostDrawOrExtendBox}GetParameterCount(){return this._uCustomParameters.length}GetParameterType(a){return this._uCustomParameters[a].GetType()}AreCustomParametersAlreadySetInBatch(a){for(let b=0,c=a.length;b{const b=a.font.GetName();for(const c of i)(c.IsBBCodeEnabled()||C3.equalsNoCase(c.GetFontName(),b))&&c._SetTextChanged()}),C3.Gfx.WebGLText=class{constructor(a,b){b=Object.assign({},d,b),this._renderer=a,this._fontName="Arial",this._fontSize=16,this._lineHeight=0,this._isBold=!1,this._isItalic=!1,this._colorStr="black",this._isBBcodeEnabled=!1,this.onloadfont=null,this._alreadyLoadedFonts=new Set,this._horizontalAlign="left",this._verticalAlign="top",this._text="",this._bbString=null,this._wrappedText=C3.New(C3.WordWrap),this._wrapMode="word",this._textChanged=!1,this._isUpdating=!1,this._isAsync=!0,this._drawMaxCharCount=-1,this._drawCharCount=0,this._cssWidth=0,this._cssHeight=0,this._width=0,this._height=0,this._zoom=1,this._changed=!1,this._textCanvas=null,this._textContext=null,this._measureContext=null,this._lastCanvasWidth=-1,this._lastCanvasHeight=-1,this._lastTextCanvasFont="",this._lastMeasureCanvasFont="",this._lastTextCanvasFillStyle="",this._lastTextCanvasOpacity=1,this._lastTextCanvasLineWidth=1,this._measureTextCallback=(a,b)=>this._MeasureText(a,b),this._texture=null,this._textureWidth=0,this._textureHeight=0,this._rcTex=new C3.Rect,this._scaleFactor=1,this._needToRecreateTexture=!1,this._textureTimeout=new C3.IdleTimeout(()=>{this.ReleaseTexture(),this._SetTextCanvasSize(8,8)},b.timeout),this.ontextureupdate=null,this._wasReleased=!1,i.add(this)}Release(){this.onloadfont=null,this._alreadyLoadedFonts.clear(),this._bbString=null,this._textCanvas=null,this._textContext=null,this._measureContext=null,this._measureTextCallback=null,this._textureTimeout.Release(),this.ontextureupdate=null,this.ReleaseTexture(),this._wrappedText.Clear(),this._wrappedText=null,this._renderer=null,this._wasReleased=!0,i.delete(this)}_SetChanged(){this._changed=!0}_SetTextChanged(){this._SetChanged(),this._wrappedText.Clear(),this._textChanged=!0}SetIsAsync(b){this._isAsync=!!b}IsAsync(){return this._isAsync}SetBBCodeEnabled(a){a=!!a;this._isBBcodeEnabled===a||(this._isBBcodeEnabled=a,this._textContext&&(this._textContext.textBaseline=this._isBBcodeEnabled?"alphabetic":"top"),this._SetTextChanged())}IsBBCodeEnabled(){return this._isBBcodeEnabled}SetFontName(a){a||(a="serif");this._fontName===a||(this._fontName=a,this._SetTextChanged())}GetFontName(){return this._fontName}SetFontSize(a){.1>a&&(a=.1);this._fontSize===a||(this._fontSize=a,this._SetTextChanged())}SetLineHeight(a){this._lineHeight===a||(this._lineHeight=a,this._SetChanged())}SetBold(a){a=!!a;this._isBold===a||(this._isBold=a,this._SetTextChanged())}SetItalic(a){a=!!a;this._isItalic===a||(this._isItalic=a,this._SetTextChanged())}SetDrawMaxCharacterCount(a){a=Math.floor(a);this._drawMaxCharCount===a||(this._drawMaxCharCount=a,this._SetChanged())}GetDrawMaxCharacterCount(){return this._drawMaxCharCount}_GetStyleTag(a,b){for(let c=a.length-1;0<=c;--c){const d=a[c];if(d.tag===b)return d}return null}_HasStyleTag(a,b){return!!this._GetStyleTag(a,b)}_GetFontString(a,b){let c="";(this._isBold||this._HasStyleTag(b,"b"))&&(c+="bold"),(this._isItalic||this._HasStyleTag(b,"i"))&&(c+=" italic");const d=this._GetStyleTag(b,"size"),e=d?parseFloat(d.param):this._fontSize;c+=a?" "+e+"pt":" "+e*this._scaleFactor*this._zoom*self.devicePixelRatio+"pt";let f=this._fontName;const g=this._GetStyleTag(b,"font");return g&&g.param&&(f=g.param,this.onloadfont&&!this._alreadyLoadedFonts.has(f)&&(this.onloadfont(f),this._alreadyLoadedFonts.add(f))),f&&(c+=" \""+f+"\""),c}SetColor(a){a instanceof C3.Color&&(a=a.getCssRgb());this._colorStr===a||(this._colorStr=a,this._SetChanged())}SetColorRgb(a,c,d){e.setRgb(a,c,d),this.SetColor(e)}SetHorizontalAlignment(a){if(!f.has(a))throw new Error("invalid horizontal alignment");this._horizontalAlign===a||(this._horizontalAlign=a,this._SetChanged())}SetVerticalAlignment(a){if(!g.has(a))throw new Error("invalid vertical alignment");this._verticalAlign===a||(this._verticalAlign=a,this._SetChanged())}SetWordWrapMode(a){if(!h.has(a))throw new Error("invalid word wrap mode");this._wrapMode===a||(this._wrapMode=a,this._SetTextChanged())}SetText(a){this._text===a||(this._text=a,this._SetTextChanged())}SetSize(a,b,c){var d=Math.min;if("undefined"==typeof c&&(c=1),0>=a||0>=a)return;if(this._cssWidth===a&&this._cssHeight===b&&this._zoom===c)return;1===this._zoom!=(1===c)&&(this._needToRecreateTexture=!0);const e=this._cssWidth,f=this._zoom;this._cssWidth=a,this._cssHeight=b,this._zoom=c;const g=self.devicePixelRatio;this._width=this._cssWidth*this._zoom*g,this._height=this._cssHeight*this._zoom*g;const h=Math.max(this._width,this._height),i=d(this._renderer.GetMaxTextureSize(),2048);let j=1;h>i&&(j=i/h,this._width=d(this._width*j,i),this._height=d(this._height*j,i)),this._scaleFactor=j,0=this._width||0>=this._height||(this._changed=!1,this._isUpdating=!0,this._isAsync?C3.Asyncify(()=>this._DoUpdate()):this._DoUpdate())}_DoUpdate(){var a=Math.ceil;this._wasReleased||(this._SetTextCanvasSize(a(this._width),a(this._height)),this._MaybeWrapText(),this._DrawTextToCanvas(),this._UpdateTexture(),this._textureTimeout.Reset(),this._isUpdating=!1)}_SetTextCanvasSize(a,b){this._textCanvas||(this._textCanvas=C3.CreateCanvas(16,16));let c=!1;(this._lastCanvasWidth!==a||this._lastCanvasHeight!==b)&&(this._lastCanvasWidth=a,this._lastCanvasHeight=b,this._textCanvas.width=a,this._textCanvas.height=b,c=!0),this._textContext||(this._textContext=this._textCanvas.getContext("2d"),c=!0),c?(this._textContext.textBaseline=this._isBBcodeEnabled?"alphabetic":"top",this._textContext.font=this._lastTextCanvasFont,this._textContext.fillStyle=this._lastTextCanvasFillStyle,this._textContext.strokeStyle=this._lastTextCanvasFillStyle,this._textContext.globalAlpha=this._lastTextCanvasOpacity,this._textContext.lineWidth=this._lastTextCanvasLineWidth):this._textContext.clearRect(0,0,a,b)}_MaybeCreateMeasureContext(){this._measureContext||(this._measureContext=C3.CreateCanvas(16,16).getContext("2d"))}_SetMeasureFontString(a){this._lastMeasureCanvasFont===a||(this._lastMeasureCanvasFont=a,this._measureContext.font=a)}_MaybeWrapText(){this._textChanged&&(this._MaybeCreateMeasureContext(),this._isBBcodeEnabled&&(!this._bbString||this._bbString.toString()!==this._text)&&(this._bbString=new C3.BBString(this._text,{noEscape:!0})),this._wrappedText.WordWrap(this._isBBcodeEnabled?this._bbString.toFragmentList():this._text,this._measureTextCallback,this._cssWidth,this._wrapMode,0),this._textChanged=!1)}_MeasureText(a,b){this._SetMeasureFontString(this._GetFontString(!0,b));const d=this._GetStyleTag(b,"size"),e=d?parseFloat(d.param):this._fontSize;return{width:this._measureContext.measureText(a).width,height:c(e)}}_SetDrawFontString(a){this._lastTextCanvasFont===a||(this._lastTextCanvasFont=a,this._textContext.font=a)}_SetDrawCanvasColor(a){this._lastTextCanvasFillStyle===a||(this._lastTextCanvasFillStyle=a,this._textContext.fillStyle=a,this._textContext.strokeStyle=a)}_SetDrawCanvasOpacity(a){this._lastTextCanvasOpacity===a||(this._lastTextCanvasOpacity=a,this._textContext.globalAlpha=a)}_SetDrawCanvasLineWith(a){this._lastTextCanvasLineWidth===a||(this._lastTextCanvasLineWidth=a,this._textContext.lineWidth=a)}_DrawTextToCanvas(){this._drawCharCount=0;const b=this._scaleFactor*this._zoom*self.devicePixelRatio,c=(4+this._lineHeight)*b;let a=0;const d=this._wrappedText.GetLines(),e=d.reduce((d,a)=>d+a.height*b+c,0)-this._lineHeight*b;"center"===this._verticalAlign?a=Math.max(this._height/2-e/2,0):"bottom"===this._verticalAlign&&(a=this._height-e-2);for(let e=0,f=d.length;ethis._height-4*b)break;}else if(0=this._height-g)break;0<=h&&this._DrawTextLine(f,a,b),this._isBBcodeEnabled||(a+=g),a+=c}}_DrawTextLine(a,b,c){let d=0;"center"===this._horizontalAlign?d=(this._width-a.width*c)/2:"right"===this._horizontalAlign&&(d=this._width-a.width*c);for(const e of a.fragments)this._DrawTextFragment(e,d,b,c,a.height),d+=e.width*c}_DrawTextFragment(c,d,e,f,g){const h=this._textContext,i=g/16;let j=c.width*f;const k=c.height*f,l=c.height/16,m=(4+this._lineHeight)*f,n=c.styles;let o=c.text;if(-1!==this._drawMaxCharCount){if(this._drawCharCount>=this._drawMaxCharCount)return;this._drawCharCount+o.length>this._drawMaxCharCount&&(o=o.substr(0,this._drawMaxCharCount-this._drawCharCount),j=this._MeasureText(o,n).width*f),this._drawCharCount+=o.length}const p=this._GetStyleTag(n,"background"),q=this._HasStyleTag(n,"u"),r=this._HasStyleTag(n,"s");if((!C3.IsStringAllWhitespace(o)||p||q||r)&&!this._HasStyleTag(n,"hide")){const c=this._GetStyleTag(n,"offsetx");d+=c?parseFloat(c.param)*f:0;const g=this._GetStyleTag(n,"offsety");e+=g?parseFloat(g.param)*f:0,p&&(this._SetDrawCanvasColor(p.param),h.fillRect(d,e-k,j,k+m));const s=this._GetStyleTag(n,"color");this._SetDrawCanvasColor(s?s.param:this._colorStr);const t=this._GetStyleTag(n,"opacity");this._SetDrawCanvasOpacity(t?parseFloat(t.param)/100:1);const u=this._HasStyleTag(n,"stroke");if(u&&this._SetDrawCanvasLineWith(l*this._scaleFactor*this._zoom),q&&b(h,u,d,e+f*i,j,f*i),r&&b(h,u,d,e-k/4,j,f*l),this._SetDrawFontString(this._GetFontString(!1,n)),a(h,u,o,d,e,j),!u){this._SetDrawCanvasLineWith(l*this._scaleFactor*this._zoom);const b=this._GetStyleTag(n,"outline");b&&(this._SetDrawCanvasColor(b.param),a(h,!0,o,d,e,j))}}}_UpdateTexture(){var a=Math.ceil;this._renderer.IsContextLost()||(this._textureWidth=a(this._width),this._textureHeight=a(this._height),this._rcTex.set(0,0,this._width/this._textureWidth,this._height/this._textureHeight),this._needToRecreateTexture&&(this.ReleaseTexture(),this._needToRecreateTexture=!1),!this._texture&&(this._texture=this._renderer.CreateDynamicTexture(this._textureWidth,this._textureHeight,{mipMap:1===this._zoom,mipMapQuality:"high"})),this._renderer.UpdateTexture(this._textCanvas,this._texture),this.ontextureupdate&&this.ontextureupdate())}GetTexRect(){return this._rcTex}ReleaseTexture(){this._texture&&(!this._renderer.IsContextLost()&&this._renderer.DeleteTexture(this._texture),this._texture=null)}static OnContextLost(){for(const a of i)a.ReleaseTexture()}static GetAll(){return i.values()}}} + +// ../lib/gfx/webgl/query.js +"use strict";{class a{constructor(a){this._gl=a.GetContext(),this._version=a.GetWebGLVersionNumber(),this._timerExt=a._GetDisjointTimerQueryExtension(),this._query=null,this._isActive=!1,this._hasResult=!1,this._result=0,this._query=1===this._version?this._timerExt["createQueryEXT"]():this._gl["createQuery"]()}Release(){this._DeleteQueryObject(),this._gl=null,this._timerExt=null,this._hasResult=!1}_DeleteQueryObject(){this._query&&(1===this._version?this._timerExt["deleteQueryEXT"](this._query):this._gl["deleteQuery"](this._query),this._query=null)}BeginTimeElapsed(){if(this._isActive)throw new Error("query already active");1===this._version?this._timerExt["beginQueryEXT"](this._timerExt["TIME_ELAPSED_EXT"],this._query):this._gl["beginQuery"](this._timerExt["TIME_ELAPSED_EXT"],this._query),this._isActive=!0}EndTimeElapsed(){if(!this._isActive)throw new Error("query not active");1===this._version?this._timerExt["endQueryEXT"](this._timerExt["TIME_ELAPSED_EXT"]):this._gl["endQuery"](this._timerExt["TIME_ELAPSED_EXT"]),this._isActive=!1}CheckForResult(){if(!this._query||this._hasResult||this._isActive)return;let a=!1;a=1===this._version?this._timerExt["getQueryObjectEXT"](this._query,this._timerExt["QUERY_RESULT_AVAILABLE_EXT"]):this._gl["getQueryParameter"](this._query,this._gl["QUERY_RESULT_AVAILABLE"]);const b=this._gl.getParameter(this._timerExt["GPU_DISJOINT_EXT"]);a&&!b&&(this._result=1===this._version?this._timerExt["getQueryObjectEXT"](this._query,this._timerExt["QUERY_RESULT_EXT"]):this._gl["getQueryParameter"](this._query,this._gl["QUERY_RESULT"]),this._result/=1e9,this._hasResult=!0),(a||b)&&this._DeleteQueryObject()}HasResult(){return this._hasResult}GetResult(){if(!this._hasResult)throw new Error("no result available");return this._result}}C3.Gfx.WebGLTimeElapsedQuery=class{constructor(a){this._renderer=a,this._frameNumber=a.GetFrameNumber(),this._isActive=!1,this._parentQuery=null,this._isNested=!1,this._realQuery=null,this._queries=[]}Release(){for(const b of this._queries)b instanceof a&&b.Release();C3.clearArray(this._queries),this._parentQuery=null,this._realQuery=null,this._renderer=null}BeginTimeElapsed(){if(this._isActive)throw new Error("query already active");const a=this._renderer._GetTimeQueryStack();0a.HasResult())}GetResult(){return this._queries.reduce((b,a)=>b+a.GetResult(),0)}GetFrameNumber(){return this._frameNumber}}} + +// ../lib/gfx/webgl/queryResultBuffer.js +"use strict";C3.Gfx.WebGLQueryResultBuffer=class{constructor(a,b=1e3){this._renderer=a,this._maxQueries=b,this._buffer=[],this._renderer._AddQueryResultBuffer(this)}Release(){this.Clear(),this._renderer._RemoveQueryResultBuffer(this),this._renderer=null}Clear(){for(const a of this._buffer)a.Release();C3.clearArray(this._buffer)}AddTimeElapsedQuery(){const a=new C3.Gfx.WebGLTimeElapsedQuery(this._renderer);if(this._buffer.push(a),this._buffer.length>this._maxQueries){const a=this._buffer.shift();a.Release()}return a}CheckForResults(a){for(const b of this._buffer){if(b.GetFrameNumber()>=a)return;if(b.IsNested())return;b.CheckForResult()}}GetFrameRangeResultSum(a,b){if(b<=a)return NaN;let c=0;for(const d of this._buffer){if(d.GetFrameNumber()>=b)break;if(!(d.GetFrameNumber()"],[l.GetTextureFillFragmentShaderSource(),o,""],[l.GetPointFragmentShaderSource(),l.GetPointVertexShaderSource(),""],[l.GetColorFillFragmentShaderSource(),o,""],[l.GetLinearGradientFillFragmentShaderSource(),o,""],[l.GetHardEllipseFillFragmentShaderSource(),o,""],[l.GetHardEllipseOutlineFragmentShaderSource(),o,""],[l.GetSmoothEllipseFillFragmentShaderSource(),o,""],[l.GetSmoothEllipseOutlineFragmentShaderSource(),o,""],[l.GetSmoothLineFillFragmentShaderSource(),o,""],[l.GetTilemapFragmentShaderSource(),l.GetDefaultVertexShaderSource(this._is3d,!0),""]],d=await Promise.all(s.map((e)=>this.CreateShaderProgram({src:e[0]},e[1],e[2])));this._spTextureFill=d[0],this._spDeviceTransformTextureFill=d[1],this._spPoints=d[2],this._spColorFill=d[3],this._spLinearGradientFill=d[4],this._spHardEllipseFill=d[5],this._spHardEllipseOutline=d[6],this._spSmoothEllipseFill=d[7],this._spSmoothEllipseOutline=d[8],this._spSmoothLineFill=d[9],this._spTilemapFill=d[10],this._currentStateGroup=null,this.SetTextureFillMode()}Is3D(){return this._is3d}GetNumVertexComponents(){return this._is3d?3:2}SetBaseZ(e){this._baseZ=e}GetBaseZ(){return this._baseZ}SetCurrentZ(e){this._currentZ=e,this._currentStateGroup=null}GetCurrentZ(){return this._currentZ}async CreateShaderProgram(e,t,r){const a=await C3.Gfx.WebGLShaderProgram.Create(this,e,t,r);return this._AddShaderProgram(a),a}ResetLastProgram(){this._lastProgram=null}SetSize(e,t,r){if(this._width!==e||this._height!==t||r){this.EndBatch();const r=this._gl,a=this._batchState;this._width=e,this._height=t;const i=this.GetScissoredViewportWidth(),n=this.GetScissoredViewportHeight();this._UpdateViewportRenderer(i,n,this._width,this._height),this._UpdateViewportBatch(i,n,this._matP),this._spDeviceTransformTextureFill&&(r.useProgram(this._spDeviceTransformTextureFill.GetShaderProgram()),this._spDeviceTransformTextureFill._UpdateDeviceTransformUniforms(this._matP),this._lastProgram=this._spDeviceTransformTextureFill,this._batchState.currentShader=this._spDeviceTransformTextureFill),r.bindTexture(r.TEXTURE_2D,null),r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,null),r.activeTexture(r.TEXTURE0),this._lastTexture0=null,this._lastTexture1=null,this._currentRenderTarget&&this._currentRenderTarget._Resize(this._width,this._height),r.bindFramebuffer(r.FRAMEBUFFER,null),this._currentRenderTarget=null,a.currentFramebuffer=null}}_UpdateViewportRenderer(e,t,r,a){this._cam[2]=100,mat4.lookAt(this._matMV,this._cam,this._look,this._up),mat4.perspective(this._matP,45,e/t,this.GetNearZ(),this.GetFarZ());const i=[0,0],n=[0,0],_=self.devicePixelRatio;this.Project(0,0,e,t,i),this.Project(1,1,e,t,n),this._worldScale[0]=_/(n[0]-i[0]),this._worldScale[1]=-_/(n[1]-i[1]),this._lastBackbufferWidth=r,this._lastBackbufferHeight=a}_UpdateViewportBatch(e,t,r){const a=this._gl,i=this._batchState;a.viewport(0,0,e,t);const n=this._allShaderPrograms,_=i.currentShader;for(let a=0,i=n.length;a=this._lastVertexPtr&&(this.EndBatch(),e=0),1===this._topOfBatch)this._batch[this._batchPtr-1]._indexCount+=6;else{const t=this.PushBatch();t.InitQuad(this._is3d?e:3*(e/2),6),this._topOfBatch=1}}_WriteQuadToVertexBuffer(e){e.writeToTypedArray3D(this._vertexData,this._vertexPtr,this._baseZ+this._currentZ),this._vertexPtr+=12}Quad(e){this._ExtendQuadBatch(),this._WriteQuadToVertexBuffer(e),n.writeToTypedArray(this._texcoordData,this._texPtr),this._texPtr+=8}Quad2(e,t,r,a,i,_,l,o){this._ExtendQuadBatch();const s=this._vertexData;let d=this._vertexPtr;const u=this._baseZ+this._currentZ;this._is3d?(s[d++]=e,s[d++]=t,s[d++]=u,s[d++]=r,s[d++]=a,s[d++]=u,s[d++]=i,s[d++]=_,s[d++]=u,s[d++]=l,s[d++]=o,s[d++]=u):(s[d++]=e,s[d++]=t,s[d++]=r,s[d++]=a,s[d++]=i,s[d++]=_,s[d++]=l,s[d++]=o),this._vertexPtr=d,n.writeToTypedArray(this._texcoordData,this._texPtr),this._texPtr+=8}Quad3(e,t){this._ExtendQuadBatch(),this._WriteQuadToVertexBuffer(e),t.writeAsQuadToTypedArray(this._texcoordData,this._texPtr),this._texPtr+=8}Quad4(e,t){this._ExtendQuadBatch(),this._WriteQuadToVertexBuffer(e),t.writeToTypedArray(this._texcoordData,this._texPtr),this._texPtr+=8}FullscreenQuad(e,t){var r=Math.max,a=Math.min;if(mat4.copy(o,this._lastMV),vec3.copy(_,this._cam),vec3.copy(l,this._look),this._cam[0]=0,this._cam[1]=0,this._cam[2]=100*self.devicePixelRatio,this._look[0]=0,this._look[1]=0,this._look[2]=0,this.ResetModelView(),this.UpdateModelView(),this._isScissorViewport){const e=this._viewportScissorWidth/2,t=this._viewportScissorHeight/2;d.set(-e,t,-e+this._viewportScissorWidth,t-this._viewportScissorHeight),s.setFromRect(d),d.set(0,0,this._viewportScissorWidth/this._width,this._viewportScissorHeight/this._height),this.Quad3(s,d)}else if("crop"===e&&this._currentRenderTarget&&t){const e=this._width/2,i=this._height/2,n=t.GetWidth(),_=t.GetHeight(),l=this._currentRenderTarget.GetWidth(),o=this._currentRenderTarget.GetHeight(),u=a(l,n),c=a(o,_),p=r(_-o,0),f=r(o-_,0);d.set(-e,i-f,-e+u,i-c-f),s.setFromRect(d),d.set(0,p,u,c+p),d.divide(n,_),this.Quad3(s,d)}else{let[e,t]=this.GetRenderTargetSize(this._currentRenderTarget);const r=e/2,a=t/2;this.Rect2(-r,a,r,-a)}mat4.copy(this._matMV,o),vec3.copy(this._cam,_),vec3.copy(this._look,l),this.UpdateModelView()}ConvexPoly(e){const t=e.length/2;if(3>t)throw new Error("need at least 3 points");const r=t-2,a=e[0],n=e[1];for(let t=0;t=this._lineWidthStack.length)throw new Error("cannot pop last line width - check push/pop pairs");this._lineWidthStack.pop(),this._lineWidth=this._lineWidthStack[this._lineWidthStack.length-1]}SetLineCapButt(){this._lineCap=0,this._lineCapStack[this._lineCapStack.length-1]=0}SetLineCapSquare(){this._lineCap=1,this._lineCapStack[this._lineCapStack.length-1]=0}SetLineCapZag(){this._lineCap=2,this._lineCapStack[this._lineCapStack.length-1]=0}PushLineCap(e){if("butt"===e)this.PushLineCapButt();else if("square"===e)this.PushLineCapSquare();else if("zag"===e)this.PushLineCapZag();else throw new Error("invalid line cap")}PushLineCapButt(){if(100<=this._lineCapStack.length)throw new Error("pushed too many line caps - check push/pop pairs");this._lineCapStack.push(0),this._lineCap=0}PushLineCapSquare(){if(100<=this._lineCapStack.length)throw new Error("pushed too many line caps - check push/pop pairs");this._lineCapStack.push(1),this._lineCap=1}PushLineCapZag(){if(100<=this._lineCapStack.length)throw new Error("pushed too many line caps - check push/pop pairs");this._lineCapStack.push(2),this._lineCap=2}PopLineCap(){if(1>=this._lineCapStack.length)throw new Error("cannot pop last line cap - check push/pop pairs");this._lineCapStack.pop(),this._lineCap=this._lineCapStack[this._lineCapStack.length-1]}SetLineOffset(e){this._lineOffset=e,this._lineOffsetStack[this._lineOffsetStack.length-1]=e}GetLineOffset(){return this._lineOffset}PushLineOffset(e){if(100<=this._lineOffsetStack.length)throw new Error("pushed too many line offsets - check push/pop pairs");this._lineOffsetStack.push(e),this._lineOffset=e}PopLineOffset(){if(1>=this._lineOffsetStack.length)throw new Error("cannot pop last line offset - check push/pop pairs");this._lineOffsetStack.pop(),this._lineOffset=this._lineOffsetStack[this._lineOffsetStack.length-1]}SetPointTextureCoords(e){if(!this._lastPointTexCoords.equals(e)){this._lastPointTexCoords.copy(e);const t=this.PushBatch();t.InitSetPointTexCoords(e),this._topOfBatch=0}}Point(e,t,r,a){this._pointPtr>=7996&&this.EndBatch();let i=this._pointPtr;const n=this._baseZ+this._currentZ;if(2===this._topOfBatch&&this._lastPointZ===n)this._batch[this._batchPtr-1]._indexCount++;else{const e=this.PushBatch();e.InitPoints(i,n),this._topOfBatch=2,this._lastPointZ=n}const _=this._pointData;_[i++]=e,_[i++]=t,_[i++]=r,_[i++]=a,this._pointPtr=i}SetProgram(e){if(this._lastProgram!==e){const t=this.PushBatch();t.InitSetProgram(e),this._lastProgram=e,this._topOfBatch=0,this._currentStateGroup=null}}SetTextureFillMode(){this.SetProgram(this._spTextureFill)}SetDeviceTransformTextureFillMode(){this.SetProgram(this._spDeviceTransformTextureFill)}SetColorFillMode(){this.SetProgram(this._spColorFill)}SetLinearGradientFillMode(){this.SetProgram(this._spLinearGradientFill)}SetGradientColor(e){const t=this.PushBatch();t.InitSetGradientColor(e),this._topOfBatch=0}SetHardEllipseFillMode(){this.SetProgram(this._spHardEllipseFill)}SetHardEllipseOutlineMode(){this.SetProgram(this._spHardEllipseOutline)}SetSmoothEllipseFillMode(){this.SetProgram(this._spSmoothEllipseFill)}SetSmoothEllipseOutlineMode(){this.SetProgram(this._spSmoothEllipseOutline)}SetEllipseParams(e,t,r=1){const a=this.PushBatch();a.InitSetEllipseParams(e,t,r),this._topOfBatch=0}SetSmoothLineFillMode(){this.SetProgram(this._spSmoothLineFill)}SetTilemapFillMode(){this.SetProgram(this._spTilemapFill)}SetTilemapInfo(e,t,r,a,i,n,_){if(this._lastProgram!==this._spTilemapFill)throw new Error("must set tilemap fill mode first");const l=this.PushBatch();l.InitSetTilemapInfo(e,t,r,a,i,n,_),this._topOfBatch=0}SetProgramParameters(e,t,r,a,i,n,_,l,o,d,u){const c=this._lastProgram,s=c._hasAnyOptionalUniforms,p=!!u.length;if(s&&!c.AreOptionalUniformsAlreadySetInBatch(t,r,a,i,n,_,l,o,d)||p&&!c.AreCustomParametersAlreadySetInBatch(u)){const f=this.PushBatch();if(f.InitSetProgramParameters(),s){c.SetOptionalUniformsInBatch(t,r,a,i,n,_,l,o,d);const s=f._mat4param;s[0]=n,s[1]=_,t.writeToTypedArray(s,2),s[6]=l,s[7]=o,r.writeToTypedArray(s,12);const u=f._colorParam;i.writeToTypedArray(u,0);const p=u[1];u[1]=u[3],u[3]=p,a.writeToTypedArray(f._srcOriginRect,0),f._startIndex=d,f._texParam=c._uSamplerBack.IsUsed()?e?e.GetTexture():null:null}p&&(c.SetCustomParametersInBatch(u),C3.shallowAssignArray(f._shaderParams,u)),this._topOfBatch=0}}ClearRgba(e,t,r,i){const a=this.PushBatch();a.InitClearSurface2(e,t,r,i),this._topOfBatch=0}Clear(e){const t=this.PushBatch();t.InitClearSurface(e),this._topOfBatch=0}ClearRect(e,t,r,a){this.ClearRect4(e,t,r,a,0,0,0,0)}ClearRect2(e){this.ClearRect4(e.getLeft(),e.getTop(),e.width(),e.height(),0,0,0,0)}ClearRect3(e,t){this.ClearRect4(e.getLeft(),e.getTop(),e.width(),e.height(),t.getR(),t.getG(),t.getB(),t.getA())}ClearRect4(e,t,i,n,_,r,l,o){if(!(0>i||0>n)){const a=this.PushBatch();a.InitClearRect(e,t,i,n,_,r,l,o),this._topOfBatch=0}}Start(){}Finish(){super.Finish(),this._gl.flush()}CheckForQueryResults(){for(const e of this._allQueryResultBuffers)e.CheckForResults(this._frameNumber)}IsContextLost(){return!this._gl||this._gl.isContextLost()||this._isInitialisingAfterContextRestored}OnContextLost(){C3.Gfx.WebGLRendererTexture.OnContextLost(),C3.Gfx.WebGLRenderTarget.OnContextLost(),C3.Gfx.WebGLText.OnContextLost();for(const e of this._allQueryResultBuffers)e.Clear();this._extensions=[],this._timerExt=null,this._parallelShaderCompileExt=null,this._unmaskedVendor="(unavailable)",this._unmaskedRenderer="(unavailable)",this._lastProgram=null,this._spTextureFill=null,this._spDeviceTransformTextureFill=null,this._spColorFill=null,this._spLinearGradientFill=null,this._spHardEllipseFill=null,this._spHardEllipseOutline=null,this._spSmoothEllipseFill=null,this._spSmoothEllipseOutline=null,this._spSmoothLineFill=null,this._spPoints=null,this._spTilemapFill=null;for(const e of this._stateGroups.values())e.OnContextLost();for(const e of this._allShaderPrograms)e.Release();this._ClearAllShaderPrograms()}async OnContextRestored(){this._isInitialisingAfterContextRestored=!0,await this.InitState(),this._isInitialisingAfterContextRestored=!1;for(const e of this._stateGroups.values())e.OnContextRestored(this);this.SetSize(this._width,this._height,!0)}CreateStaticTexture(e,t){if(this.IsContextLost())throw new Error("context lost");this.EndBatch();const r=C3.New(C3.Gfx.WebGLRendererTexture,this);return r._CreateStatic(e,t),r}CreateStaticTextureAsync(e,t){return this.IsContextLost()?Promise.reject("context lost"):(t=Object.assign({},t),C3.Supports.ImageBitmapOptions&&(this.SupportsNPOTTextures()||!t.isTiled)?(t.premultiplyAlpha=!1,createImageBitmap(e,{"premultiplyAlpha":"premultiply"}).then((e)=>C3.Asyncify(()=>this.CreateStaticTexture(e,t)))):C3.Supports.ImageBitmap?createImageBitmap(e).then((e)=>C3.Asyncify(()=>this.CreateStaticTexture(e,t))):e instanceof Blob?C3.BlobToImage(e,!0).then((e)=>this.CreateStaticTextureAsync(e,t)):"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement&&"function"==typeof e["decode"]?e["decode"]().then(()=>C3.Asyncify(()=>this.CreateStaticTexture(e,t))):C3.Asyncify(()=>this.CreateStaticTexture(e,t)))}CreateDynamicTexture(e,t,r){this.EndBatch();const a=C3.New(C3.Gfx.WebGLRendererTexture,this);return a._CreateDynamic(e,t,r),a}UpdateTexture(e,t,r){this.EndBatch(),t._Update(e,r)}DeleteTexture(e){e&&(e.SubtractReference(),0=t||0>=r)throw new Error("invalid size");this.EndBatch();const i=C3.New(C3.Gfx.WebGLRenderTarget,this);return i._Create(t,r,Object.assign({isDefaultSize:a},e)),this._currentRenderTarget=null,this._batchState.currentFramebuffer=null,i}SetRenderTarget(e){if(e===this._currentRenderTarget)return;let t,r,a,i;e?(e.IsDefaultSize()&&e._Resize(this._width,this._height),a=e.GetWidth(),i=e.GetHeight(),t=a,r=i):(a=this._width,i=this._height,t=this.GetScissoredViewportWidth(),r=this.GetScissoredViewportHeight());const n=this._lastBackbufferWidth!==a||this._lastBackbufferHeight!==i;n&&this._UpdateViewportRenderer(t,r,a,i);const _=this.PushBatch();_.InitSetRenderTarget(e,n,this._matP),this._currentRenderTarget=e,this._topOfBatch=0}GetRenderTarget(){return this._currentRenderTarget}GetRenderTargetSize(e){return e?[e.GetWidth(),e.GetHeight()]:[this._width,this._height]}CopyRenderTarget(e,t="stretch"){if(2>this._version||this._currentRenderTarget&&0this._version)){const t=this.PushBatch();t.InitInvalidateFramebuffer(e._GetFramebuffer()),this._topOfBatch=0}}DeleteRenderTarget(e){this.SetRenderTarget(null),this.EndBatch();const t=e.GetTexture();t===this._lastTexture0&&(this._gl.bindTexture(this._gl.TEXTURE_2D,null),this._lastTexture0=null),t===this._lastTexture1&&(this._gl.activeTexture(this._gl.TEXTURE1),this._gl.bindTexture(this._gl.TEXTURE_2D,null),this._gl.activeTexture(this._gl.TEXTURE0),this._lastTexture1=null),e._Delete()}async ReadBackRenderTargetToImageData(e,t){this.EndBatch();const r=this._currentRenderTarget;let a,i,n;e?(a=e.GetWidth(),i=e.GetHeight(),n=e._GetFramebuffer()):(a=this.GetWidth(),i=this.GetHeight(),n=null);const _=this._gl;_.bindFramebuffer(_.FRAMEBUFFER,n);const l=()=>{_.bindFramebuffer(_.FRAMEBUFFER,null),this._currentRenderTarget=null,this._batchState.currentFramebuffer=null,this.SetRenderTarget(r)};let o;if(!t&&2<=this.GetWebGLVersionNumber()){_.bindFramebuffer(_.READ_FRAMEBUFFER,n);const e=_.createBuffer(),t=4*(a*i),r=_["PIXEL_PACK_BUFFER"];_.bindBuffer(r,e),_.bufferData(r,t,_["STREAM_READ"]),_.readPixels(0,0,a,i,_.RGBA,_.UNSIGNED_BYTE,0),_.bindFramebuffer(_.READ_FRAMEBUFFER,null),_.bindBuffer(r,null),l();const s=_["fenceSync"](_["SYNC_GPU_COMMANDS_COMPLETE"],0);await this._WaitForObjectReady(()=>_["getSyncParameter"](s,_["SYNC_STATUS"])===_["SIGNALED"]),_["deleteSync"](s),o=new ImageData(a,i),_.bindBuffer(r,e),_["getBufferSubData"](r,0,new Uint8Array(o.data.buffer),0,t),_.bindBuffer(r,null),_.deleteBuffer(e)}else o=new ImageData(a,i),_.readPixels(0,0,a,i,_.RGBA,_.UNSIGNED_BYTE,new Uint8Array(o.data.buffer)),l();return o}StartQuery(e){if(this.SupportsGPUProfiling()){const t=this.PushBatch();t.InitStartQuery(e),this._topOfBatch=0}}EndQuery(e){if(this.SupportsGPUProfiling()){const t=this.PushBatch();t.InitEndQuery(e),this._topOfBatch=0}}_WaitForObjectReady(e){const r=new Promise((t)=>c.add({resolve:t,checkFunc:e}));return-1===p&&(p=self.requestAnimationFrame(t)),r}IsDesynchronized(){return!!this._attribs["desynchronized"]}GetEstimatedBackBufferMemoryUsage(){return this._width*this._height*(this._attribs["alpha"]?4:3)}GetEstimatedRenderBufferMemoryUsage(){let e=0;for(const r of C3.Gfx.WebGLRenderTarget.allRenderTargets())r.GetTexture()||(e+=r.GetEstimatedMemoryUsage());return e}GetEstimatedTextureMemoryUsage(){let e=0;for(const r of C3.Gfx.WebGLRendererTexture.allTextures())e+=r.GetEstimatedMemoryUsage();return e}GetEstimatedTotalMemoryUsage(){return this.GetEstimatedBackBufferMemoryUsage()+this.GetEstimatedRenderBufferMemoryUsage()+this.GetEstimatedTextureMemoryUsage()}GetWebGLVersionString(){return this._versionString}GetWebGLVersionNumber(){return this._version}SupportsNPOTTextures(){return 2<=this.GetWebGLVersionNumber()}GetMaxTextureSize(){return this._maxTextureSize}GetMinPointSize(){return this._minPointSize}GetMaxPointSize(){return this._maxPointSize}SupportsHighP(){return 0!==this._highpPrecision}GetHighPPrecision(){return this._highpPrecision}GetUnmaskedVendor(){return this._unmaskedVendor}GetUnmaskedRenderer(){return this._unmaskedRenderer}GetExtensions(){return this._extensions}HasMajorPerformanceCaveat(){return this._hasMajorPerformanceCaveat}SupportsGPUProfiling(){return!!this._timerExt}_GetDisjointTimerQueryExtension(){return this._timerExt}_GetParallelShaderCompileExtension(){return this._parallelShaderCompileExt}_AddQueryResultBuffer(e){this._allQueryResultBuffers.add(e)}_RemoveQueryResultBuffer(e){this._allQueryResultBuffers.delete(e)}_GetTimeQueryStack(){return this._timeQueryStack}GetContext(){return this._gl}_InitBlendModes(e){this._InitBlendModeData([["normal",e.ONE,e.ONE_MINUS_SRC_ALPHA],["additive",e.ONE,e.ONE],["xor",e.ONE,e.ONE_MINUS_SRC_ALPHA],["copy",e.ONE,e.ZERO],["destination-over",e.ONE_MINUS_DST_ALPHA,e.ONE],["source-in",e.DST_ALPHA,e.ZERO],["destination-in",e.ZERO,e.SRC_ALPHA],["source-out",e.ONE_MINUS_DST_ALPHA,e.ZERO],["destination-out",e.ZERO,e.ONE_MINUS_SRC_ALPHA],["source-atop",e.DST_ALPHA,e.ONE_MINUS_SRC_ALPHA],["destination-atop",e.ONE_MINUS_DST_ALPHA,e.SRC_ALPHA]])}CreateWebGLText(){return C3.New(C3.Gfx.WebGLText,this)}}} + +// c3/assets/assetManager.js +"use strict";{function a(a){if(!a)return"";const b=a.split(".");if(2>b.length)return"";const c=b[b.length-1].toLowerCase();return d.get(c)||""}function b(a){return new Promise((b,c)=>{const d=document.createElement("script");d.onload=b,d.onerror=c,d.async=!1,d.src=a,document.head.appendChild(d)})}const c=new Set(["local","remote"]),d=new Map([["mp4","video/mp4"],["webm","video/webm"],["m4a","audio/mp4"],["mp3","audio/mpeg"],["js","application/javascript"],["wasm","application/wasm"],["svg","image/svg+xml"]]);C3.AssetManager=class extends C3.DefendedBase{constructor(a,b){if(super(),!c.has(b.defaultLoadPolicy))throw new Error("invalid load policy");if(this._runtime=a,this._localUrlBlobs=new Map,this._localBlobUrlCache=new Map,this._isCordova=!!b.isCordova,this._isiOSCordova=!!b.isiOSCordova,this._supportedAudioFormats=b.supportedAudioFormats||{},this._audioFiles=new Map,this._preloadSounds=!1,this._mediaSubfolder="",this._fontsSubfolder="",this._iconsSubfolder="",this._defaultLoadPolicy=b.defaultLoadPolicy,this._allAssets=[],this._assetsByUrl=new Map,this._webFonts=[],this._loadPromises=[],this._hasFinishedInitialLoad=!1,this._totalAssetSizeToLoad=0,this._assetSizeLoaded=0,this._lastLoadProgress=0,this._hasHadErrorLoading=!1,this._loadingRateLimiter=C3.New(C3.RateLimiter,()=>this._FireLoadingProgressEvent(),50),this._promiseThrottle=new C3.PromiseThrottle(Math.max(C3.hardwareConcurrency,8)),b.localUrlBlobs)for(const[a,c]of Object.entries(b.localUrlBlobs))this._localUrlBlobs.set(a.toLowerCase(),c);this._iAssetManager=new IAssetManager(this)}Release(){this._localUrlBlobs.clear();for(const a of this._localBlobUrlCache.values())URL.revokeObjectURL(a);this._localBlobUrlCache.clear();for(const a of this._allAssets)a.Release();C3.clearArray(this._allAssets),this._assetsByUrl.clear(),C3.clearArray(this._loadPromises),this._runtime=null}GetRuntime(){return this._runtime}_SetMediaSubfolder(a){this._mediaSubfolder=a}GetMediaSubfolder(){return this._mediaSubfolder}_SetFontsSubfolder(a){this._fontsSubfolder=a}GetFontsSubfolder(){return this._fontsSubfolder}_SetIconsSubfolder(a){this._iconsSubfolder=a}GetIconsSubfolder(){return this._iconsSubfolder}_HasLocalUrlBlob(a){return this._localUrlBlobs.has(a.toLowerCase())}_GetLocalUrlBlob(a){return this._localUrlBlobs.get(a.toLowerCase())||null}GetLocalUrlAsBlobUrl(a){const b=this._GetLocalUrlBlob(a);if(!b)return a;let c=this._localBlobUrlCache.get(b);return c||(c=URL.createObjectURL(b),this._localBlobUrlCache.set(b,c)),c}FetchBlob(a,b){b=b||this._defaultLoadPolicy;const c=this._GetLocalUrlBlob(a);if(c)return Promise.resolve(c);if(C3.IsRelativeURL(a)){const c=a.toLowerCase();return this._isCordova?this.CordovaFetchLocalFileAsBlob(c):"local"===b?this._promiseThrottle.Add(()=>C3.FetchBlob(c)):C3.FetchBlob(c)}return C3.FetchBlob(a)}FetchArrayBuffer(a){const b=this._GetLocalUrlBlob(a);if(b)return C3.BlobToArrayBuffer(b);if(C3.IsRelativeURL(a)){const b=a.toLowerCase();return this._isCordova?this.CordovaFetchLocalFileAsArrayBuffer(b):"local"===this._defaultLoadPolicy?this._promiseThrottle.Add(()=>C3.FetchArrayBuffer(b)):C3.FetchArrayBuffer(b)}return C3.FetchArrayBuffer(a)}FetchText(a){const b=this._GetLocalUrlBlob(a);if(b)return C3.BlobToString(b);if(C3.IsRelativeURL(a)){const b=a.toLowerCase();return this._isCordova?this.CordovaFetchLocalFileAsText(b):"local"===this._defaultLoadPolicy?this._promiseThrottle.Add(()=>C3.FetchText(b)):C3.FetchText(b)}return C3.FetchText(a)}async FetchJson(a){const b=await this.FetchText(a);return JSON.parse(b)}_CordovaFetchLocalFileAs(a,b){return this._runtime.PostComponentMessageToDOMAsync("runtime","cordova-fetch-local-file",{"filename":a,"as":b})}CordovaFetchLocalFileAsText(a){return this._CordovaFetchLocalFileAs(a,"text")}async CordovaFetchLocalFileAsBlob(b){const c=await this._CordovaFetchLocalFileAs(b,"buffer"),d=a(b);return new Blob([c],{"type":d})}async CordovaFetchLocalFileAsBlobURL(a){a=a.toLowerCase();let b=this._localBlobUrlCache.get(a);if(b)return b;const c=await this.CordovaFetchLocalFileAsBlob(a);return b=URL.createObjectURL(c),this._localBlobUrlCache.set(a,b),b}CordovaFetchLocalFileAsArrayBuffer(a){return this._CordovaFetchLocalFileAs(a,"buffer")}GetMediaFileUrl(a){return this._HasLocalUrlBlob(a)?this.GetLocalUrlAsBlobUrl(a):this._mediaSubfolder+a.toLowerCase()}GetProjectFileUrl(a,b=""){if(C3.IsAbsoluteURL(a)){if(b)throw new Error("cannot specify subfolder with remote URL");return Promise.resolve(a)}return this._HasLocalUrlBlob(a)?Promise.resolve(this.GetLocalUrlAsBlobUrl(a)):this._isCordova?this.CordovaFetchLocalFileAsBlobURL(b+a):Promise.resolve(b+a.toLowerCase())}LoadProjectFileUrl(a){return this.GetProjectFileUrl(a)}LoadImage(a){if(a.loadPolicy&&!c.has(a.loadPolicy))throw new Error("invalid load policy");let b=this._assetsByUrl.get(a.url);return b?b:(b=C3.New(C3.ImageAsset,this,{url:a.url,size:a.size||0,loadPolicy:a.loadPolicy||this._defaultLoadPolicy}),this._allAssets.push(b),this._assetsByUrl.set(b.GetURL(),b),this._hasFinishedInitialLoad||(this._totalAssetSizeToLoad+=b.GetSize(),this._loadPromises.push(b.Load().then(()=>this._AddLoadedSize(b.GetSize())))),b)}async WaitForAllToLoad(){try{await Promise.all(this._loadPromises),this._lastLoadProgress=1}catch(a){console.error("Error loading: ",a),this._hasHadErrorLoading=!0,this._FireLoadingProgressEvent()}}SetInitialLoadFinished(){this._hasFinishedInitialLoad=!0}HasHadErrorLoading(){return this._hasHadErrorLoading}_AddLoadedSize(a){this._assetSizeLoaded+=a,this._loadingRateLimiter.Call()}_FireLoadingProgressEvent(){const a=C3.New(C3.Event,"loadingprogress");this._lastLoadProgress=C3.clamp(this._assetSizeLoaded/this._totalAssetSizeToLoad,0,1),a.progress=this._lastLoadProgress,this._runtime.Dispatcher().dispatchEvent(a)}GetLoadProgress(){return this._lastLoadProgress}_SetWebFonts(a){C3.shallowAssignArray(this._webFonts,a),this._webFonts.length&&this._loadPromises.push(this._LoadWebFonts())}_LoadWebFonts(){if("undefined"==typeof FontFace)return Promise.resolve();const a=[];for(const[b,c,d]of this._webFonts)this._totalAssetSizeToLoad+=d,a.push(this._LoadWebFont(b,c).then(()=>this._AddLoadedSize(d)));return Promise.all(a)}async _LoadWebFont(a,b){try{const c=await this.GetProjectFileUrl(b,this._fontsSubfolder),d=new FontFace(a,`url('${c}')`);this._runtime.IsInWorker()?self.fonts.add(d):document.fonts.add(d),await d.load()}catch(b){console.warn(`[C3 runtime] Failed to load web font '${a}': `,b)}}IsAudioFormatSupported(a){return!!this._supportedAudioFormats[a]}_SetAudioFiles(a,b){this._preloadSounds=!!b;for(const[c,d,e]of a)this._audioFiles.set(c,{fileName:c,formats:d.map((a)=>({type:a[0],fileExtension:a[1],fullName:c+a[1],fileSize:a[2]})),isMusic:e})}GetPreferredAudioFile(a){const b=this._audioFiles.get(a.toLowerCase());if(!b)return null;let c=null;for(const d of b.formats)if(c||"audio/webm; codecs=opus"!==d.type||(c=d),this.IsAudioFormatSupported(d.type))return d;return c}GetProjectAudioFileUrl(a){const b=this.GetPreferredAudioFile(a);return b?{url:this.GetMediaFileUrl(b.fullName),type:b.type}:null}GetAudioToPreload(){if(this._preloadSounds){const a=[];for(const b of this._audioFiles.values()){if(b.isMusic)continue;const c=this.GetPreferredAudioFile(b.fileName);c&&a.push({originalUrl:b.fileName,url:this.GetMediaFileUrl(c.fullName),type:c.type,fileSize:c.fileSize})}return a}return[]}GetIAssetManager(){return this._iAssetManager}async LoadScripts(...a){const c=await Promise.all(a.map((a)=>this.GetProjectFileUrl(a)));this._runtime.IsInWorker()?importScripts(...c):await Promise.all(c.map((a)=>b(a)))}async CompileWebAssembly(a){if(WebAssembly.compileStreaming){const b=await this.GetProjectFileUrl(a);return await WebAssembly.compileStreaming(fetch(b))}else{const b=await C3.FetchArrayBuffer(a);return await WebAssembly.compile(b)}}async LoadStyleSheet(a){const b=await this.GetProjectFileUrl(a);return await this._runtime.PostComponentMessageToDOMAsync("runtime","add-stylesheet",{"url":b})}}} + +// c3/assets/asset.js +"use strict";C3.Asset=class extends C3.DefendedBase{constructor(a,b){super(),this._assetManager=a,this._runtime=a.GetRuntime(),this._url=b.url,this._size=b.size,this._loadPolicy=b.loadPolicy,this._blob=null,this._isLoaded=!1,this._loadPromise=null}Release(){this._loadPromise=null,this._assetManager=null,this._runtime=null,this._blob=null}GetURL(){return this._url}GetSize(){return this._size}Load(){return"local"===this._loadPolicy||this._blob?(this._isLoaded=!0,Promise.resolve()):this._loadPromise?this._loadPromise:(this._loadPromise=this._assetManager.FetchBlob(this._url,this._loadPolicy).then((a)=>{this._isLoaded=!0,this._loadPromise=null,this._blob=a}).catch((a)=>console.error("Error loading resource: ",a)),this._loadPromise)}IsLoaded(){return this._isLoaded}GetBlob(){return this._blob?Promise.resolve(this._blob):this._assetManager.FetchBlob(this._url,this._loadPolicy)}}; + +// c3/assets/imageAsset.js +"use strict";{const a=new C3.PromiseThrottle,b=new Set;C3.ImageAsset=class extends C3.Asset{constructor(a,c){super(a,c),this._texturePromise=null,this._webglTexture=null,this._refCount=0,this._imageWidth=-1,this._imageHeight=-1,b.add(this)}Release(){if(this.ReleaseTexture(),0!==this._refCount)throw new Error("released image asset which still has texture references");this._texturePromise=null,b.delete(this),super.Release()}static OnWebGLContextLost(){for(const a of b)a._texturePromise=null,a._webglTexture=null,a._refCount=0}LoadStaticTexture(b,c){return(this._refCount++,this._webglTexture)?Promise.resolve(this._webglTexture):this._texturePromise?this._texturePromise:(this._texturePromise=this.GetBlob().then((d)=>a.Add(()=>b.CreateStaticTextureAsync(d,c).then((a)=>(this._texturePromise=null,0===this._refCount)?(b.DeleteTexture(a),null):(this._webglTexture=a,this._imageWidth=a.GetWidth(),this._imageHeight=a.GetHeight(),this._webglTexture)))).catch((a)=>{throw console.error("Failed to load texture: ",a),a}),this._texturePromise)}ReleaseTexture(){if(0>=this._refCount)throw new Error("texture released too many times");if(this._refCount--,0===this._refCount&&this._webglTexture){const a=this._webglTexture.GetRenderer();a.DeleteTexture(this._webglTexture),this._webglTexture=null}}GetTexture(){return this._webglTexture}GetWidth(){return this._imageWidth}GetHeight(){return this._imageHeight}async LoadToDrawable(){const a=await this.GetBlob();return C3.Supports.ImageBitmapOptions?await createImageBitmap(a,{"premultiplyAlpha":"none"}):C3.Supports.ImageBitmap?await createImageBitmap(a):await C3.BlobToImage(a)}}} + +// c3/layouts/renderCell.js +"use strict";{function a(c,a){return c.GetWorldInfo()._GetLastCachedZIndex()-a.GetWorldInfo()._GetLastCachedZIndex()}C3.RenderCell=class extends C3.DefendedBase{constructor(a,b,c){super(),this._grid=a,this._x=b,this._y=c,this._instances=[],this._isSorted=!0,this._pendingRemoval=new Set,this._isAnyPendingRemoval=!1}Release(){C3.clearArray(this._instances),this._pendingRemoval.clear(),this._grid=null}Reset(){C3.clearArray(this._instances),this._isSorted=!0,this._pendingRemoval.clear(),this._isAnyPendingRemoval=!1}SetChanged(){this._isSorted=!1}IsEmpty(){return!this._instances.length||!(this._instances.length>this._pendingRemoval.size)&&(this._FlushPending(),!0)}Insert(a){return this._pendingRemoval.has(a)?(this._pendingRemoval.delete(a),void(0===this._pendingRemoval.size&&(this._isAnyPendingRemoval=!1))):void(this._instances.push(a),this._isSorted=1===this._instances.length)}Remove(a){this._pendingRemoval.add(a),this._isAnyPendingRemoval=!0,50<=this._pendingRemoval.size&&this._FlushPending()}_FlushPending(){return this._isAnyPendingRemoval?this._instances.length===this._pendingRemoval.size?void this.Reset():void(C3.arrayRemoveAllInSet(this._instances,this._pendingRemoval),this._pendingRemoval.clear(),this._isAnyPendingRemoval=!1):void 0}_EnsureSorted(){this._isSorted||(this._instances.sort(a),this._isSorted=!0)}Dump(a){this._FlushPending(),this._EnsureSorted(),this._instances.length&&a.push(this._instances)}}} + +// c3/layouts/renderGrid.js +"use strict";C3.RenderGrid=class extends C3.DefendedBase{constructor(a,b){super(),this._cellWidth=a,this._cellHeight=b,this._cells=C3.New(C3.PairMap)}Release(){this._cells.Release(),this._cells=null}GetCell(a,b,c){let d=this._cells.Get(a,b);return d?d:c?(d=C3.New(C3.RenderCell,this,a,b),this._cells.Set(a,b,d),d):null}XToCell(a){return Math.floor(a/this._cellWidth)}YToCell(a){return Math.floor(a/this._cellHeight)}Update(a,b,c){if(b)for(let d=b.getLeft(),e=b.getRight();d<=e;++d)for(let e=b.getTop(),f=b.getBottom();e<=f;++e){if(c&&c.containsPoint(d,e))continue;const b=this.GetCell(d,e,!1);b&&(b.Remove(a),b.IsEmpty()&&this._cells.Delete(d,e))}if(c)for(let d=c.getLeft(),e=c.getRight();d<=e;++d)for(let e=c.getTop(),f=c.getBottom();e<=f;++e)b&&b.containsPoint(d,e)||this.GetCell(d,e,!0).Insert(a)}QueryRange(a,b){let c=this.XToCell(a.getLeft());for(const d=this.YToCell(a.getTop()),e=this.XToCell(a.getRight()),f=this.YToCell(a.getBottom());c<=e;++c)for(let a=d;a<=f;++a){const d=this.GetCell(c,a,!1);d&&d.Dump(b)}}MarkRangeChanged(a){let b=a.getLeft();for(const c=a.getTop(),d=a.getRight(),e=a.getBottom();b<=d;++b)for(let a=c;a<=e;++a){const c=this.GetCell(b,a,!1);c&&c.SetChanged()}}}; + +// c3/layouts/layer.js +"use strict";{function a(c,a){return c.GetWorldInfo()._GetLastCachedZIndex()-a.GetWorldInfo()._GetLastCachedZIndex()}function b(c,a){return c.GetWorldInfo().GetZElevation()-a.GetWorldInfo().GetZElevation()}const c=new C3.Rect,d=new C3.Quad,e=[],f=new C3.Rect,g=new C3.Rect,h=vec3.fromValues(0,1,0);C3.Layer=class extends C3.DefendedBase{constructor(a,b,c){super(),this._layout=a,this._runtime=a.GetRuntime(),this._name=c[0],this._index=b,this._sid=c[2],this._isVisible=!!c[3],this._backgroundColor=C3.New(C3.Color),this._backgroundColor.setFromJSON(c[4].map((a)=>a/255)),this._isTransparent=!!c[5],this._parallaxX=c[6],this._parallaxY=c[7],this._color=C3.New(C3.Color,1,1,1,c[8]),this._premultipliedColor=C3.New(C3.Color),this._isForceOwnTexture=c[9],this._useRenderCells=c[10],this._scaleRate=c[11],this._blendMode=c[12],this._srcBlend=0,this._destBlend=0,this._curRenderTarget=null,this._scale=1,this._zElevation=c[16],this._angle=0,this._isAngleEnabled=!0,this._viewport=C3.New(C3.Rect),this._viewportZ0=C3.New(C3.Rect),this._startupInitialInstances=[],this._initialInstances=[],this._createdGlobalUids=[],this._instances=[],this._zIndicesUpToDate=!1,this._anyInstanceZElevated=!1,this._effectList=C3.New(C3.EffectList,this,c[15]),this._renderGrid=null,this._lastRenderList=[],this._isRenderListUpToDate=!1,this._lastRenderCells=C3.New(C3.Rect,0,0,-1,-1),this._curRenderCells=C3.New(C3.Rect,0,0,-1,-1),this._iLayer=new ILayer(this),this._UpdatePremultipliedColor(),this._useRenderCells&&(this._renderGrid=C3.New(C3.RenderGrid,this._runtime.GetOriginalViewportWidth(),this._runtime.GetOriginalViewportHeight()));for(const d of c[14]){const a=this._runtime.GetObjectClassByIndex(d[1]);this._layout._AddInitialObjectClass(a),a.GetDefaultInstanceData()||(a.SetDefaultInstanceData(d),a._SetDefaultLayerIndex(this._index)),this._initialInstances.push(d)}C3.shallowAssignArray(this._startupInitialInstances,this._initialInstances)}static Create(a,b,c){return C3.New(C3.Layer,a,b,c)}Release(){this._layout=null,this._runtime=null}CreateInitialInstances(a){const b=this._layout.IsFirstVisit();let c=0;const d=this._initialInstances;for(let e=0,f=d.length;ec||(b&&this._useRenderCells&&a.GetWorldInfo()._RemoveFromRenderCells(),this._instances.splice(c,1),this.SetZIndicesChanged(),this._MaybeResetAnyInstanceZElevatedFlag())}_SetAnyInstanceZElevated(){this._anyInstanceZElevated=!0}_MaybeResetAnyInstanceZElevatedFlag(){0===this._instances.length&&(this._anyInstanceZElevated=!1)}_SortInstancesByLastCachedZIndex(b){if(b){const a=new Set;for(const b of this._instances){const c=b.GetWorldInfo()._GetLastCachedZIndex();0<=c&&a.add(c)}let b=-1;for(const c of this._instances){const d=c.GetWorldInfo();if(!(0<=d._GetLastCachedZIndex())){for(++b;a.has(b);)++b;d._SetZIndex(b)}}}this._instances.sort(a)}_Start(){this.SetBlendMode(this.GetBlendMode(),!0)}_End(){for(const a of this._instances)a.GetObjectClass().IsGlobal()||this._runtime.DestroyInstance(a);this._runtime.FlushPendingInstances(),C3.clearArray(this._instances),this._anyInstanceZElevated=!1,this.SetZIndicesChanged()}RecreateInitialObjects(a,b){const c=this._runtime.GetEventSheetManager(),d=this._runtime.GetAllObjectClasses(),e=a.IsFamily();for(const f of this._initialInstances){const g=f[0],h=g[0],i=g[1];if(!b.containsPoint(h,i))continue;const j=d[f[1]];if(j!==a)if(!e)continue;else if(!a.FamilyHasMember(j))continue;const k=this._runtime.CreateInstanceFromData(f,this,!1);if(c.BlockFlushingInstances(!0),k._TriggerOnCreated(),k.IsInContainer())for(const a of k.siblings())a._TriggerOnCreated();c.BlockFlushingInstances(!1)}}GetInstanceCount(){return this._instances.length}GetLayout(){return this._layout}GetName(){return this._name}GetIndex(){return this._index}GetSID(){return this._sid}GetRuntime(){return this._runtime}GetDevicePixelRatio(){return this._runtime.GetDevicePixelRatio()}GetEffectList(){return this._effectList}UsesRenderCells(){return this._useRenderCells}GetRenderGrid(){return this._renderGrid}SetRenderListStale(){this._isRenderListUpToDate=!1}IsVisible(){return this._isVisible}SetVisible(a){a=!!a;this._isVisible===a||(this._isVisible=a,this._runtime.UpdateRender())}GetViewport(){return this._viewport}GetViewportForZ(a,b){const c=this._viewportZ0;if(0===a)b.copy(c);else{const d=this.Get2DScaleFactorToZ(a),e=c.midX(),f=c.midY(),g=.5*c.width()/d,h=.5*c.height()/d;b.set(e-g,f-h,e+g,f+h)}}GetOpacity(){return this._color.getA()}SetOpacity(a){a=C3.clamp(a,0,1);this._color.getA()===a||(this._color.setA(a),this._UpdatePremultipliedColor(),this._runtime.UpdateRender())}_UpdatePremultipliedColor(){this._premultipliedColor.copy(this._color),this._premultipliedColor.premultiply()}GetPremultipliedColor(){return this._premultipliedColor}HasDefaultColor(){return this._color.equalsRgba(1,1,1,1)}GetScaleRate(){return this._scaleRate}SetScaleRate(a){this._scaleRate===a||(this._scaleRate=a,this._runtime.UpdateRender())}GetParallaxX(){return this._parallaxX}GetParallaxY(){return this._parallaxY}SetParallax(a,b){if((this._parallaxX!==a||this._parallaxY!==b)&&(this._parallaxX=a,this._parallaxY=b,this._runtime.UpdateRender(),1!==this._parallaxX||1!==this._parallaxY))for(const a of this._instances)a.GetObjectClass()._SetAnyInstanceParallaxed(!0)}SetParallaxX(a){this.SetParallax(a,this.GetParallaxY())}SetParallaxY(a){this.SetParallax(this.GetParallaxX(),a)}SetZElevation(a){this._zElevation=+a}GetZElevation(){return this._zElevation}SetAngle(b){this._angle=C3.clampAngle(b)}GetAngle(){return this._isAngleEnabled?C3.clampAngle(this._layout.GetAngle()+this._angle):0}GetOwnAngle(){return this._angle}HasInstances(){return 0Number.EPSILON){this._UpdateZIndices();const b=this._useRenderCells&&0===this.GetZElevation()&&!this._anyInstanceZElevated;b?this._DrawInstances_RenderCells(a):this._DrawInstances(a,this._instances)}a.SetBaseZ(0),a.SetCurrentZ(0),a.SetCameraXYZ(0,0,100),a.SetLookXYZ(0,0,0),e&&this._DrawLayerOwnTextureToRenderTarget(a,f,b,c),g&&a.EndQuery(g),this._curRenderTarget=null}_DrawInstances(a,b){const c=this._viewport,d=this._curRenderTarget;let e=null;for(let f=0,g=b.length;fthis._width-b&&(a=this._width-b),athis._height-b&&(a=this._height-b),aa||(this._width=a)}GetHeight(){return this._height}SetHeight(a){!isFinite(a)||1>a||(this._height=a)}GetEventSheet(){return this._eventSheet}GetLayers(){return this._layers}GetLayerCount(){return this._layers.length}GetLayer(a){return"number"==typeof a?this.GetLayerByIndex(a):this.GetLayerByName(a.toString())}GetLayerByIndex(a){return a=C3.clamp(Math.floor(a),0,this._layers.length-1),this._layers[a]}GetLayerByName(a){return this._layersByName.get(a.toLowerCase())||null}GetLayerBySID(a){return this._layersBySid.get(a)||null}HasOpaqueBottomLayer(){for(const a of this._layers)if(a.ShouldDraw())return a._IsOpaque();return!1}IsFirstVisit(){return this._isFirstVisit}_GetInitialObjectClasses(){return[...this._initialObjectClasses]}_AddInitialObjectClass(a){if(a.IsInContainer())for(const b of a.GetContainer().GetObjectTypes())this._initialObjectClasses.add(b);else this._initialObjectClasses.add(a)}_GetTextureLoadedObjectTypes(){return[...this._textureLoadedTypes]}_Load(a,b){if(a===this||!b)return Promise.resolve();a&&(C3.CopySet(this._textureLoadedTypes,a._textureLoadedTypes),a._textureLoadedTypes.clear());const c=[];for(const d of this._initialObjectClasses)this._textureLoadedTypes.has(d)||(c.push(d.LoadTextures(b)),this._textureLoadedTypes.add(d));return Promise.all(c)}async MaybeLoadTexturesFor(a){if(a.IsFamily())throw new Error("cannot load textures for family");const b=this._runtime.GetWebGLRenderer();if(!(!b||b.IsContextLost()||this._textureLoadedTypes.has(a))){this._textureLoadedTypes.add(a);const c=a.LoadTextures(b);this._AddPendingTextureLoadPromise(c),await c,a.OnDynamicTextureLoadComplete(),this._runtime.UpdateRender()}}_AddPendingTextureLoadPromise(a){this._textureLoadPendingPromises.add(a),a.then(()=>this._textureLoadPendingPromises.delete(a)).catch(()=>this._textureLoadPendingPromises.delete(a))}WaitForPendingTextureLoadsToComplete(){return Promise.all([...this._textureLoadPendingPromises])}MaybeUnloadTexturesFor(a){if(a.IsFamily()||0a.PreloadTexturesWithInstances(this._runtime.GetWebGLRenderer()))),a&&(b.Dispatcher().dispatchEvent(new C3.Event("beforefirstlayoutstart")),await b.DispatchUserScriptEventAsyncWait(new C3.Event("beforeprojectstart"))),await this.DispatchUserScriptEventAsyncWait(new C3.Event("beforelayoutstart")),b.IsLoadingState()||(await b.TriggerAsync(C3.Plugins.System.Cnds.OnLayoutStart,null,null)),await this.DispatchUserScriptEventAsyncWait(new C3.Event("afterlayoutstart")),a&&(b.Dispatcher().dispatchEvent(new C3.Event("afterfirstlayoutstart")),await b.DispatchUserScriptEventAsyncWait(new C3.Event("afterprojectstart"))),d._RunQueuedTriggers(c),await this.WaitForPendingTextureLoadsToComplete(),this._isFirstVisit=!1}_MoveGlobalObjectsToThisLayout(a){for(const b of this._runtime.GetAllObjectClasses())if(!b.IsFamily()&&b.IsWorldType())for(const a of b.GetInstances()){const b=a.GetWorldInfo(),c=b.GetLayer(),d=C3.clamp(c.GetIndex(),0,this._layers.length-1),e=this._layers[d];b._SetLayer(e),e._MaybeAddInstance(a)}if(!a)for(const a of this._layers)a._SortInstancesByLastCachedZIndex(!1)}_CreateInitialInstances(){for(const a of this._layers)a.CreateInitialInstances(this._createdInstances),a.UpdateViewport(),a._Start()}_CreatePersistedInstances(){let a=!1;for(const[b,c]of Object.entries(this._persistData)){const d=this._runtime.GetObjectClassBySID(parseInt(b,10));if(d&&!d.IsFamily()&&d.HasPersistBehavior()){for(const b of c){let c=null;if(d.IsWorldType()&&(c=this.GetLayerBySID(b["w"]["l"]),!c))continue;const e=this._runtime.CreateInstanceFromData(d,c,!1,0,0,!0);e.LoadFromJson(b),a=!0,this._createdInstances.push(e)}C3.clearArray(c)}}for(const a of this._layers)a._SortInstancesByLastCachedZIndex(!0),a.SetZIndicesChanged();a&&(this._runtime.FlushPendingInstances(),this._runtime._RefreshUidMap())}_CreateAndLinkContainerInstances(a){for(const b of a){if(!b.IsInContainer())continue;const c=b.GetWorldInfo(),d=b.GetIID();for(const e of b.GetObjectClass().GetContainer().objectTypes()){if(e===b.GetObjectClass())continue;const f=e.GetInstances();if(f.length>d)b._AddSibling(f[d]);else{let d;d=c?this._runtime.CreateInstanceFromData(e,c.GetLayer(),!0,c.GetX(),c.GetY(),!0):this._runtime.CreateInstanceFromData(e,null,!0,0,0,!0),this._runtime.FlushPendingInstances(),e._UpdateIIDs(),b._AddSibling(d),a.push(d)}}}}_CreateInitialNonWorldInstances(){for(const a of this._initialNonWorld){const b=this._runtime.GetObjectClassByIndex(a[1]);b.IsInContainer()||this._runtime.CreateInstanceFromData(a,null,!0)}}_CreateGlobalNonWorlds(){const a=[],b=this._initialNonWorld;let c=0;for(let d=0,e=b.length;d=this._isEndingLayout)throw new Error("already unset");this._isEndingLayout--}}IsEndingLayout(){return 0/g;C3.TimelineManager=class extends C3.DefendedBase{constructor(a){super(),this._runtime=a,this._timelineDataManager=C3.New(C3.TimelineDataManager),this._pluginInstance=null,this._timelines=[],this._timelinesByName=new Map,this._objectClassToTimelineMap=new Map,this._timelinesCreatedByTemplate=new Map,this._scheduledTimelines=[],this._playingTimelines=[],this._hasRuntimeListeners=!1,this._changingLayout=!1,this._isTickingTimelines=!1,this._tickFunc=()=>this._OnTick(),this._tick2Func=()=>this._OnTick2(),this._beforeLayoutChange=()=>this._OnBeforeChangeLayout(),this._layoutChange=()=>this._OnAfterChangeLayout(),this._instanceDestroy=(a)=>this._OnInstanceDestroy(a.instance)}Release(){this.RemoveRuntimeListeners(),this._tickFunc=null,this._tick2Func=null,this._beforeLayoutChange=null,this._layoutChange=null,this._instanceDestroy=null;for(const a of this._timelines)a.Stop(),a.Release();C3.clearArray(this._timelines),this._timelines=null,this._timelineDataManager.Release(),this._timelineDataManager=null,C3.clearArray(this._scheduledTimelines),this._scheduledTimelines=null,C3.clearArray(this._playingTimelines),this._playingTimelines=null,this._timelinesByName.clear(),this._timelinesByName=null,this._objectClassToTimelineMap.clear(),this._objectClassToTimelineMap=null,this._timelinesCreatedByTemplate.clear(),this._timelinesCreatedByTemplate=null,this._runtime=null}AddRuntimeListeners(){const a=this._runtime.Dispatcher();a.addEventListener("pretick",this._tickFunc),a.addEventListener("tick2",this._tick2Func),a.addEventListener("beforelayoutchange",this._beforeLayoutChange),a.addEventListener("layoutchange",this._layoutChange),a.addEventListener("instancedestroy",this._instanceDestroy)}RemoveRuntimeListeners(){const a=this._runtime.Dispatcher();a.removeEventListener("pretick",this._tickFunc),a.removeEventListener("tick2",this._tick2Func),a.removeEventListener("beforelayoutchange",this._beforeLayoutChange),a.removeEventListener("layoutchange",this._layoutChange),a.removeEventListener("instancedestroy",this._instanceDestroy)}Create(a){this._timelineDataManager.Add(a);const b=C3.TimelineState.CreateInitial(a,this);this.Add(b),this.SetTimelineObjectClassesToMap(b),this._timelinesCreatedByTemplate.set(b.GetName(),0)}CreateFromTemplate(a){const b=this.GetTimelineDataManager(),c=a.GetTemplateName(),d=b.Get(c),e=C3.TimelineState.CreateFromTemplate(`${c}:${this._timelinesCreatedByTemplate.get(c)}`,d,this);return this._IncreaseTemplateTimelinesCount(c),this.Add(e),e}_IncreaseTemplateTimelinesCount(a){this._timelinesCreatedByTemplate.set(a,this._timelinesCreatedByTemplate.get(a)+1)}_SetCreatedTemplateTimelinesCount(){for(const a of this._timelines){if(a.IsTemplate())continue;const b=a.GetTemplateName();this._IncreaseTemplateTimelinesCount(b)}}_ClearCreatedTemplateTimelinesCount(){for(const a of this._timelinesCreatedByTemplate.keys())this._timelinesCreatedByTemplate.set(a,0)}Add(a){this._timelines.push(a),this._timelinesByName.set(a.GetName().toLowerCase(),a)}Remove(a){a.IsTemplate()||(this._RemoveFromArray(this._timelines,a),this._RemoveFromArray(this._scheduledTimelines,a),this._RemoveFromArray(this._playingTimelines,a),this._timelinesByName.delete(a.GetName().toLowerCase()),this.RemoveTimelineFromObjectClassMap(a),a.Release())}_RemoveFromArray(a,b){const c=a.indexOf(b);-1!==c&&a.splice(c,1)}Trigger(a){this._runtime.Trigger(a,this._pluginInstance,null)}GetRuntime(){return this._runtime}GetTimelineDataManager(){return this._timelineDataManager}SetPluginInstance(a){this._pluginInstance=a}GetPluginInstance(){return this._pluginInstance}*GetTimelines(){for(const a of this._timelines)yield a}SetTimelineObjectClassToMap(a,b){this._objectClassToTimelineMap.has(a)||this._objectClassToTimelineMap.set(a,new Set),this._objectClassToTimelineMap.get(a).add(b)}SetTimelineObjectClassesToMap(a){for(const b of a.GetObjectClasses())this.SetTimelineObjectClassToMap(b,a)}RemoveTimelineFromObjectClassMap(a){for(const[b,c]of this._objectClassToTimelineMap.entries())c.has(a)&&(c.delete(a),0===c.size&&this._objectClassToTimelineMap.delete(b))}GetTimelinesForObjectClass(a){return this._objectClassToTimelineMap.has(a)?this._objectClassToTimelineMap.get(a):void 0}GetTimelineOfTemplateForInstances(a,b){if(b)for(const c of this._timelines){const d=b.every((a)=>c.HasTrackInstance(a.instance,a.trackId));if(d&&c.GetName().includes(a.GetName()))return c}}GetTimelineByName(a){return this._timelinesByName.get(a.toLowerCase())||null}GetScheduledOrPlayingTimelineByName(a){for(const b of this._scheduledTimelines)if(b.GetName()===a)return b;for(const b of this._playingTimelines)if(b.GetName()===a)return b;return null}*GetTimelinesByName(b){if(a.test(b)){a.lastIndex=0;let c;const d=new Set;do if(c=a.exec(b),c){const a=c[1].split(",");for(const b of a)d.add(b)}while(c);for(const a of d.values()){const b=this.GetTimelineByName(a);b&&(yield b)}d.clear()}else{const a=this.GetTimelineByName(b);a&&(yield a)}}*GetTimelinesByTags(a){for(const b of this._timelines)b.HasTags(a)&&(yield b)}AddScheduledTimeline(a){this._scheduledTimelines.includes(a)||this._scheduledTimelines.push(a),this._MaybeEnableRuntimeListeners()}RemovePlayingTimeline(a){this._RemoveFromArray(this._playingTimelines,a),this._MaybeDisableRuntimeListeners()}ScheduleTimeline(a){a.SetPlaying(!1),a.SetScheduled(!0),a.SetMarkedForRemoval(!1),this._scheduledTimelines.includes(a)||this._scheduledTimelines.push(a),this._MaybeEnableRuntimeListeners()}DeScheduleTimeline(a){a.SetPlaying(!1),a.SetScheduled(!1),a.ResolvePlayPromise(),this._RemoveFromArray(this._scheduledTimelines,a),this._MaybeDisableRuntimeListeners()}CompleteTimeline(a){a.SetPlaying(!1),a.SetScheduled(!1),a.SetMarkedForRemoval(!0)}CompleteTimelineAndResolve(a){this.CompleteTimeline(a),a.ResolvePlayPromise()}_OnTick(){if(!this._hasRuntimeListeners)return;if(this._changingLayout)return;let a=!1;for(this._isTickingTimelines=!0;this._scheduledTimelines.length;){const a=this._scheduledTimelines.pop();a.SetInitialState(),this._playingTimelines.push(a)}const b=this._runtime.GetDt(),c=this._runtime.GetTimeScale();for(const d of this._playingTimelines){if(d.IsMarkedForRemoval())continue;const e=d.Tick(b,c);!a&&e&&(a=!0)}this._isTickingTimelines=!1,a&&this.GetRuntime().UpdateRender()}_OnTick2(){if(this._hasRuntimeListeners){for(const a of this._playingTimelines)a.IsMarkedForRemoval()&&(this._MaybeExecuteTimelineFinishTriggers(a),this._RemoveFromArray(this._playingTimelines,a));this._MaybeDisableRuntimeListeners()}}_MaybeExecuteTimelineFinishTriggers(a){a.IsReleased()||!a.HasValidTracks()||a.IsComplete()&&a.InitialStateSet()&&a.FinishTriggers()}_MaybeEnableRuntimeListeners(){this._hasRuntimeListeners||(this._hasRuntimeListeners=!0)}_MaybeDisableRuntimeListeners(){this._playingTimelines.length||this._scheduledTimelines.length||this._isTickingTimelines||(this._hasRuntimeListeners=!1)}_OnBeforeChangeLayout(){for(this._changingLayout=!0;this._scheduledTimelines.length;)this.DeScheduleTimeline(this._scheduledTimelines.pop());for(;this._playingTimelines.length;){const a=this._playingTimelines.pop();a.IsReleased()||(this.CompleteTimeline(a),a.Reset(!1))}this._MaybeDisableRuntimeListeners();for(const a of this._timelines)a.CleanCaches()}_OnAfterChangeLayout(){this._changingLayout=!1}_OnInstanceDestroy(a){const b=a.GetObjectClass(),c=this.GetTimelinesForObjectClass(b);if(c)for(const a of c)a.IsTemplate()||a.HasValidTracks()||(this._MaybeExecuteTimelineFinishTriggers(a),this.Remove(a))}_SaveToJson(){return{"timelinesJson":this._SaveTimelinesToJson(),"scheduledTimelinesJson":this._SaveScheduledTimelinesToJson(),"playingTimelinesJson":this._SavePlayingTimelinesToJson(),"hasRuntimeListeners":this._hasRuntimeListeners,"changingLayout":this._changingLayout,"isTickingTimelines":this._isTickingTimelines}}_LoadFromJson(a){a&&(this._ClearCreatedTemplateTimelinesCount(),this._LoadTimelinesFromJson(a["timelinesJson"]),this._LoadScheduledTimelinesFromJson(a["scheduledTimelinesJson"]),this._LoadPlayingTimelinesFromJson(a["playingTimelinesJson"]),this._hasRuntimeListeners=!a["hasRuntimeListeners"],this._changingLayout=!!a["changingLayout"],this._isTickingTimelines=!!a["isTickingTimelines"],this._SetCreatedTemplateTimelinesCount(),this._MaybeEnableRuntimeListeners(),this._MaybeDisableRuntimeListeners())}_SaveTimelinesToJson(){return this._timelines.map((a)=>a._SaveToJson())}_LoadTimelinesFromJson(a){for(const b of a){let a=this.GetTimelineByName(b["name"]);if(a)a._LoadFromJson(b);else{const c=this._GetTemplateNameFromJson(b);if(!c)continue;const d=this.GetTimelineByName(c);a=this.CreateFromTemplate(d),a._LoadFromJson(b)}a.HasTracks()||this.Remove(a)}}_GetTemplateNameFromJson(a){const b=a["name"],c=b.split(":");return c&&2===c.length?c[0]:null}_SaveScheduledTimelinesToJson(){return this._SaveTimelines(this._scheduledTimelines)}_LoadScheduledTimelinesFromJson(a){this._LoadTimelines(a,this._scheduledTimelines)}_SavePlayingTimelinesToJson(){return this._SaveTimelines(this._playingTimelines)}_LoadPlayingTimelinesFromJson(a){this._LoadTimelines(a,this._playingTimelines)}_IsTimelineInJson(a,b){for(const c of b)if(c===a.GetName())return!0;return!1}_SaveTimelines(a){return a.map((a)=>a.GetName())}_LoadTimelines(a,b){const c=(a)=>(b)=>b.GetName()===a;for(const c of b)this._IsTimelineInJson(c,a)||this._RemoveFromArray(b,c);for(const d of a){const a=this.GetTimelineByName(d);if(a){const e=b.find(c(d));e||b.push(a)}}}}} + +// c3/timelines/state/timelineState.js +"use strict";{const a=0;C3.TimelineState=class extends C3.DefendedBase{constructor(b,c,d){super(),this._runtime=d.GetRuntime(),this._timelineManager=d,this._timelineDataItem=c,this._name=b,this._tracks=[];for(const a of this._timelineDataItem.GetTrackData().trackDataItems())this._tracks.push(C3.TrackState.Create(this,a));this._playPromise=null,this._playResolve=null,this._playheadTime=C3.New(C3.KahanSum),this._playheadTime.Set(0),this._playbackRate=1,this._pingPongState=a,this._currentRepeatCount=1,this._isPlaying=!1,this._isScheduled=!1,this._initialStateSet=!1,this._complete=!0,this._released=!1,this._markedForRemoval=!1,this._completedTick=-1,this._implicitPause=!1,this._isTemplate=!1,this._finishedTriggers=!1,this._tags=[""],this._stringTags="",this._tagsChanged=!1}static CreateInitial(a,b){const c=b.GetTimelineDataManager(),d=c.GetNameId(),e=c.Get(a[d]),f=C3.New(C3.TimelineState,a[d],e,b);return f.SetIsTemplate(!0),f}static CreateFromTemplate(a,b,c){return C3.New(C3.TimelineState,a,b,c)}static get WORLD_INSTANCE_BOX_CHANGE(){return 1}static get LAYOUT_RENDER_CHANGE(){return C3.nextHighestPowerOfTwo(1)}Release(){if(!this.IsReleased()){this._timelineManager.DeScheduleTimeline(this),this._timelineManager.CompleteTimelineAndResolve(this);for(const a of this._tracks)a.Release();C3.clearArray(this._tracks),this._tracks=null,this._playheadTime.Release(),this._playheadTime=null,this._runtime=null,this._timelineManager=null,this._timelineDataItem=null,this._released=!0,this._playPromise=null,this._playResolve=null}}GetTimelineManager(){return this._timelineManager}GetRuntime(){return this._runtime}GetTracks(){return this._tracks}HasTracks(){return!!this._tracks.length}GetTrackById(a){for(const b of this._tracks)if(C3.equalsNoCase(b.GetId(),a))return b;return null}SetName(a){this._name=a}GetName(){return this._name}GetTimelineDataItem(){return this._timelineDataItem}GetTemplateName(){return this._timelineDataItem.GetName()}GetTotalTime(){return this._timelineDataItem.GetTotalTime()}SetTotalTime(a){this._timelineDataItem.SetTotalTime(a)}GetStep(){return this._timelineDataItem.GetStep()}SetStep(a){this._timelineDataItem.SetStep(a)}GetInterpolationMode(){return this._timelineDataItem.GetInterpolationMode()}SetInterpolationMode(a){this._timelineDataItem.SetInterpolationMode(a)}GetResultMode(){return this._timelineDataItem.GetResultMode()}SetResultMode(a){this._timelineDataItem.GetResultMode(a)}SetEase(a){for(const b of this.GetTracks())b.SetEase(a)}GetLoop(){return this._timelineDataItem.GetLoop()}GetPingPong(){return this._timelineDataItem.GetPingPong()}GetRepeatCount(){return this._timelineDataItem.GetRepeatCount()}SetPlaybackRate(a){return this._playbackRate=a}GetPlaybackRate(){return this._playbackRate}IsForwardPlayBack(){return!this.IsPlaying()||0{this._playResolve=a}),this._playPromise)}ResolvePlayPromise(){this._playPromise&&(this._playResolve(),this._playPromise=null,this._playResolve=null)}SetTags(a){this._tags=C3.TimelineState._GetTagArray(a),this._tagsChanged=!0}GetTags(){return this._tags}GetStringTags(){return this._tagsChanged&&(this._stringTags=this._tags.join(" ")),this._tagsChanged=!1,this._stringTags}HasTags(a){if(!this._tags)return!1;if(!this._tags.length)return!1;const b=C3.TimelineState._GetTagArray(a);return!!b&&!!b.length&&b.every(C3.TimelineState._HasTag,this)}OnStarted(){C3.Plugins.Timeline.Cnds.SetTriggerTimeline(this),this._timelineManager.Trigger(C3.Plugins.Timeline.Cnds.OnTimelineStarted),this._timelineManager.Trigger(C3.Plugins.Timeline.Cnds.OnTimelineStartedByName),this._timelineManager.Trigger(C3.Plugins.Timeline.Cnds.OnTimelineStartedByTags),this._timelineManager.Trigger(C3.Plugins.Timeline.Cnds.OnAnyTimelineStarted),C3.Plugins.Timeline.Cnds.SetTriggerTimeline(null)}OnCompleted(){this._completedTick=this._runtime.GetTickCount()}FinishTriggers(){this._finishedTriggers||(this._finishedTriggers=!0,C3.Plugins.Timeline.Cnds.SetTriggerTimeline(this),this._timelineManager.Trigger(C3.Plugins.Timeline.Cnds.OnTimelineFinished),this._timelineManager.Trigger(C3.Plugins.Timeline.Cnds.OnTimelineFinishedByName),this._timelineManager.Trigger(C3.Plugins.Timeline.Cnds.OnTimelineFinishedByTags),this._timelineManager.Trigger(C3.Plugins.Timeline.Cnds.OnAnyTimelineFinished),C3.Plugins.Timeline.Cnds.SetTriggerTimeline(null))}SetPlaying(a){this._isPlaying=a}IsCompletedTick(){return this._completedTick===this._runtime.GetTickCount()}IsPlaying(){return!!this.IsCompletedTick()||this._isPlaying}SetScheduled(a){this._isScheduled=a}IsScheduled(){return this._isScheduled}SetComplete(a){this._complete=a;const b=this.GetTime();(0>=b||b>=this.GetTotalTime())&&(this._complete=!0)}IsComplete(){return this._complete}IsReleased(){return this._released}SetMarkedForRemoval(a){this._markedForRemoval=a}IsMarkedForRemoval(){return this._markedForRemoval}SetImplicitPause(a){this._implicitPause=a}IsImplicitPause(){return this._implicitPause}SetIsTemplate(a){this._isTemplate=!!a}IsTemplate(){return this._isTemplate}InitialStateSet(){return this._initialStateSet}GetTime(){return this._playheadTime.Get()}SetTime(a){this._SetTime(a),this.SetComplete(!1),this.IsComplete()||this.SetImplicitPause(!0),(this.IsPlaying()||this.IsScheduled()||!this._initialStateSet)&&(this.IsPlaying()||this.IsScheduled()||this._initialStateSet?this.IsPlaying()?this.Stop():this.IsScheduled()&&(this._timelineManager.DeScheduleTimeline(this),this.SetInitialStateFromSetTime()):this.SetInitialStateFromSetTime());let b=!1;for(const c of this._tracks){c.SetResumeState();const a=c.Interpolate(this._playheadTime.Get(),!1,!0);!b&&a&&(b=!0)}b&&this.GetRuntime().UpdateRender(),this._OnSetTime()}_SetTime(a){0>a?this._playheadTime.Set(0):a>=this.GetTotalTime()?this._playheadTime.Set(this.GetTotalTime()):this._playheadTime.Set(a)}_OnSetTime(){C3.Plugins.Timeline&&this.constructor===C3.TimelineState&&(C3.Plugins.Timeline.Cnds.SetTriggerTimeline(this),this._timelineManager.Trigger(C3.Plugins.Timeline.Cnds.OnTimeSet),this._timelineManager.Trigger(C3.Plugins.Timeline.Cnds.OnTimeSetByName),this._timelineManager.Trigger(C3.Plugins.Timeline.Cnds.OnTimeSetByTags),C3.Plugins.Timeline.Cnds.SetTriggerTimeline(null))}Resume(){if(!this.IsReleased()){if(this.IsForwardPlayBack()){if(this._playheadTime.Get()>=this.GetTotalTime())return;}else if(0>=this._playheadTime.Get())return;this.Play(!0)}}Play(a=!1){return!this.IsReleased()&&!this.IsScheduled()&&(this.IsPlaying()&&this.IsCompletedTick()?this._SchedulePlayingTimeline():!this.IsPlaying()&&!!(this.IsComplete()||a||this.IsImplicitPause())&&this._ScheduleStoppedTimeline())}_SchedulePlayingTimeline(){return this.SetImplicitPause(!1),this._timelineManager.RemovePlayingTimeline(this),this._timelineManager.ScheduleTimeline(this),this.GetPlayPromise(),!0}_ScheduleStoppedTimeline(){return this.SetImplicitPause(!1),this._timelineManager.ScheduleTimeline(this),this.GetPlayPromise(),!0}Stop(a=!1){this.IsReleased()||(this.SetComplete(a),this._timelineManager.CompleteTimeline(this),this.IsComplete()&&this.ResolvePlayPromise())}Reset(a=!0){if(this.IsReleased())return;if(!this.IsPlaying()&&this.IsScheduled())return this._timelineManager.DeScheduleTimeline(this);if(this.IsComplete())return;this.Stop(!0),this.IsForwardPlayBack()?this._SetTime(0):this._SetTime(this.GetTotalTime());let b=!1;for(const c of this._tracks){const a=c.Interpolate(this._playheadTime.Get());!b&&a&&(b=!0)}a&&this._OnSetTime(),b&&a&&this.GetRuntime().UpdateRender()}SetInitialStateFromSetTime(){this.SetInitialState(!0)}SetInitialState(b){if(!this.IsMarkedForRemoval())if(b){this._initialStateSet=!0;for(const a of this._tracks)a.SetInitialState()}else if(this.SetPlaying(!0),this.SetScheduled(!1),this.OnStarted(),this.IsComplete()){this._completedTick=-1,this._pingPongState=a,this._currentRepeatCount=1,this._complete=!1,this._finishedTriggers=!1,this._initialStateSet=!0,this.IsForwardPlayBack()?this._SetTime(0):this._SetTime(this.GetTotalTime());for(const a of this._tracks)a.SetInitialState()}else for(const a of this._tracks)a.SetResumeState()}Tick(a,b){this._playheadTime.Add(a*b*this._playbackRate);let c;if(this.GetLoop()||this.GetPingPong()?this.GetLoop()&&!this.GetPingPong()?c=this._LoopCompleteCheck():!this.GetLoop()&&this.GetPingPong()?c=this._PingPongCompleteCheck():this.GetLoop()&&this.GetPingPong()&&(c=this._LoopPingPongCompleteCheck()):c=this._SimpleCompleteCheck(),c){for(const a of this._tracks)a.SetEndState();return this.Stop(!0),this.OnCompleted(),!0}else{let a=!1;for(const b of this._tracks){const c=b.Interpolate(this._playheadTime.Get(),!0);!a&&c&&(a=!0)}return a}}_SimpleCompleteCheck(){if(this.IsForwardPlayBack()){if(this._playheadTime.Get()>=this.GetTotalTime())if(this._currentRepeatCount=this._playheadTime.Get())if(this._currentRepeatCount=this.GetTotalTime()&&this._SetTime(0):0>=this._playheadTime.Get()&&this._SetTime(this.GetTotalTime()),!1}_PingPongCompleteCheck(){if(this.IsForwardPlayBack()){if(this._playheadTime.Get()>=this.GetTotalTime())if(this._SetTime(this.GetTotalTime()),this.SetPlaybackRate(-1*this.GetPlaybackRate()),1!==this._pingPongState)this._pingPongState===a&&(this._pingPongState=1);else if(this._currentRepeatCount=this._playheadTime.Get())if(this._SetTime(0),this.SetPlaybackRate(-1*this.GetPlaybackRate()),1!==this._pingPongState)this._pingPongState===a&&(this._pingPongState=1);else if(this._currentRepeatCount=this.GetTotalTime()&&(this._SetTime(this.GetTotalTime()),this.SetPlaybackRate(-1*this.GetPlaybackRate())):0>=this._playheadTime.Get()&&(this._SetTime(0),this.SetPlaybackRate(-1*this.GetPlaybackRate())),!1}AddTrack(){const a=this._timelineDataItem.GetTrackData().AddEmptyTrackDataItem(),b=C3.TrackState.Create(this,a);return this._tracks.push(b),b}CleanCaches(){for(const a of this._tracks)a.CleanCaches()}ClearTrackInstances(){for(const a of this._tracks)a.ClearInstance()}SetTrackInstance(a,b){if(b)for(const c of this._tracks)if(a){if(c.GetId()!==a)continue;c.SetInstance(b),this._timelineManager.SetTimelineObjectClassToMap(b.GetObjectClass(),this);break}else{if(c.HasInstance())continue;c.SetInstance(b),this._timelineManager.SetTimelineObjectClassToMap(b.GetObjectClass(),this);break}}HasTrackInstance(a,b){for(const c of this._tracks)if(b){if(b===c.GetId()&&a===c.GetInstance())return!0;}else if(a===c.GetInstance())return!0;return!1}HasValidTracks(){return this._tracks.some((a)=>a.CanInstanceBeValid())}GetPropertyTrack(a){for(const b of this.GetTracks())for(const c of b.GetPropertyTracks())if(c.GetPropertyName()===a)return c}GetKeyframeWithTags(a){let b=a?a.split(" "):[];const c=new Set(b.map((a)=>a.toLowerCase().trim()));b=[...c.values()];for(const c of this.GetTracks())for(const a of c.GetKeyframeDataItems()){const c=b.every((b)=>a.HasTag(b));if(c)return a}}GetObjectClasses(){const a=[];for(const b of this.GetTracks())a.push(b.GetObjectClass());return a.filter((a)=>a)}_SaveToJson(){return{"tracksJson":this._SaveTracksToJson(),"name":this._name,"playheadTime":this._playheadTime.Get(),"playbackRate":this._playbackRate,"pingPongState":this._pingPongState,"currentRepeatCount":this._currentRepeatCount,"isPlaying":this._isPlaying,"isScheduled":this._isScheduled,"initialStateSet":this._initialStateSet,"finishedTriggers":this._finishedTriggers,"complete":this._complete,"released":this._released,"markedForRemoval":this._markedForRemoval,"completedTick":this._completedTick,"implicitPause":this._implicitPause,"isTemplate":this._isTemplate,"tags":this._tags.join(" "),"stringTags":this._stringTags,"tagsChanged":this._tagsChanged}}_LoadFromJson(a){a&&(this._LoadTracksFromJson(a["tracksJson"]),this._name=a["name"],this._playheadTime.Set(a["playheadTime"]),this._playbackRate=a["playbackRate"],this._pingPongState=a["pingPongState"],this._currentRepeatCount=a["currentRepeatCount"],this._isPlaying=!!a["isPlaying"],this._isScheduled=!!a["isScheduled"],this._initialStateSet=!!a["initialStateSet"],this._finishedTriggers=!!a.hasOwnProperty("finishedTriggers")&&!!a["finishedTriggers"],this._complete=!!a["complete"],this._released=!!a["released"],this._markedForRemoval=!!a["markedForRemoval"],this._completedTick=a["completedTick"],this._implicitPause=!!a["implicitPause"],this._isTemplate=!!a["isTemplate"],this._tags=a["tags"].split(" "),this._stringTags=a["stringTags"],this._tagsChanged=!!a["tagsChanged"])}_SaveTracksToJson(){return this._tracks.map((a)=>a._SaveToJson())}_LoadTracksFromJson(a){a.forEach((a,b)=>{const c=this._tracks[b];c._LoadFromJson(a)}),this._tracks.filter((a)=>a.CanInstanceBeValid())}static _HasTag(a){const b=this.GetTags();return""===a?1===b.length&&""===b[0]:b.includes(a)}static _GetTagArray(a){return C3.IsArray(a)?a.slice(0):C3.IsString(a)?a.split(" "):void 0}}} + +// c3/timelines/state/trackState.js +"use strict";C3.TrackState=class extends C3.DefendedBase{constructor(a,b){super(),this._timeline=a,this._trackDataItem=b,this._trackData=b.GetTrackData(),this._instanceUid=NaN,this._objectClassIndex=NaN,this._instance=null,this._worldInfo=null,this._lastKeyframeDataItem=null,this._keyframeDataItems=this._trackDataItem.GetKeyframeData().GetKeyframeDataItemArray(),this._propertyTracks=[];for(const c of this._trackDataItem.GetPropertyTrackData().propertyTrackDataItems())this._propertyTracks.push(C3.PropertyTrackState.Create(this,c))}static Create(a,b){return C3.New(C3.TrackState,a,b)}Release(){this._keyframeDataItems=null;for(const a of this._propertyTracks)a.Release();C3.clearArray(this._propertyTracks),this._propertyTracks=null,this._timeline=null,this._instance=null,this._worldInfo=null,this._trackDataItem=null,this._lastKeyframeDataItem=null}CleanCaches(){for(const a of this._propertyTracks)a.CleanCaches();this._instance=null,this._worldInfo=null}GetTimeline(){return this._timeline}GetRuntime(){return this._timeline.GetRuntime()}GetKeyframeDataItems(){return this._keyframeDataItems?this._keyframeDataItems:(this._keyframeDataItems=this._trackDataItem.GetKeyframeData().GetKeyframeDataItemArray(),this._keyframeDataItems)}GetPropertyTracks(){return this._propertyTracks}GetPropertyTrack(a){for(const b of this._propertyTracks)if(b.GetPropertyName()===a)return b}MaybeGetInstance(){this._instance||this.GetInstance()}IsInstanceValid(){return!!this._instance&&!this._instance.IsDestroyed()}CanInstanceBeValid(){const a=this.GetInstanceUID(),b=this.GetRuntime().GetInstanceByUID(a);return!!b&&!b.IsDestroyed()}GetObjectClass(){const a=this.GetObjectClassIndex();return-1===a?void 0:this.GetRuntime().GetObjectClassByIndex(a)}ClearInstance(){this._instance=null,this._instanceUid=-1,this._worldInfo=null,this._objectClassIndex=-1}HasInstance(){return!!this._instance}GetInstance(){if(this._instance&&this.IsInstanceValid())return this._instance;const a=this.GetInstanceUID();return this._instance=this.GetRuntime().GetInstanceByUID(a),this._instance}SetInstance(a){if(this._instance!==a){this.CleanCaches(),this._instance=a,this._objectClassIndex=a.GetObjectClass().GetIndex(),this._instanceUid=a.GetUID(),this._worldInfo=a.GetWorldInfo();for(const a of this.propertyTrackItems()){const b=a.propertyTrack,c=a.sourceAdapter,d=b.GetSourceAdapterId();switch(d){case"instance-variable":{const b=c.GetEditorIndex(),d=inst.GetObjectClass(),e=d.GetInstanceVariableIndexByName(a.name),f=d.GetInstanceVariableName(e),g=d.GetInstanceVariableType(e);f===a.name&&g===a.type&&c.UpdateInstanceVariableIndex(e);break}case"behavior":{const b=a.behaviorType,d=this.GetObjectClass(),e=inst.GetObjectClass(),f=c.GetBehaviorType(e);if(b&&f){const a=b.GetName(),g=d.GetBehaviorIndexByName(a),h=e.GetBehaviorIndexByName(a),i=c.GetEditorIndex();c.UpdateBehaviorTypeSid(f.GetSID())}break}}}}}*propertyTrackItems(){for(const a of this._propertyTracks){const b=a.GetSourceAdapter(),c=this.GetObjectClass(),d={propertyTrack:a,sourceAdapter:b};switch(a.GetSourceAdapterId()){case"world-instance":{d.property=a.GetPropertyName();break}case"instance-variable":{const a=b.GetEditorIndex();d.name=c.GetInstanceVariableName(a),d.type=c.GetInstanceVariableType(a);break}case"effect":{const a=c.GetEffectList(),e=b.GetEffectType(a);d.effectType=e;break}case"behavior":{const a=b.GetBehaviorType(c);d.behaviorType=a;break}case"plugin":{d.plugin=c.GetPlugin();break}}yield d}}GetWorldInfo(){if(this._worldInfo&&this.IsInstanceValid())return this._worldInfo;const a=this.GetInstance();return a&&(this._worldInfo=a.GetWorldInfo()),this._worldInfo}GetTrackDataItem(){return this._trackDataItem}GetInstanceUID(){return this._instanceUid?this._instanceUid:this._trackDataItem.GetInstanceUID()}SetInstanceUID(a){this._trackDataItem.SetInstanceUID(a)}GetInterpolationMode(){return this._trackDataItem.GetInterpolationMode()}SetInterpolationMode(a){this._trackDataItem.SetInterpolationMode(a)}GetResultMode(){return this._trackDataItem.GetResultMode()}GetId(){return this._trackDataItem.GetId()}SetResultMode(a){this._trackDataItem.SetResultMode(a)}SetEase(a){for(const b of this.GetKeyframeDataItems())b.SetEase(a);for(const b of this.GetPropertyTracks())b.SetEase(a)}GetEnable(){return this._trackDataItem.GetEnable()}SetEnable(a){this._trackDataItem.SetEnable(a)}GetObjectClassIndex(){return isNaN(this._objectClassIndex)?this._trackDataItem.GetObjectClassIndex():this._objectClassIndex}SetObjectClassIndex(a){this._trackDataItem.SetObjectClassIndex(a)}SetInitialState(){if(this.MaybeGetInstance(),!!this.IsInstanceValid()){for(const a of this._propertyTracks)a.SetInitialState();const a=this.GetTimeline(),b=a.IsForwardPlayBack(),c=a.GetTotalTime(),d=b?0:c;this._lastKeyframeDataItem=this._trackData.GetKeyFrameDataItemAtTime(d,this._trackDataItem),this.Interpolate(d)}}SetResumeState(){if(this.MaybeGetInstance(),!!this.IsInstanceValid()){const a=this._timeline.IsForwardPlayBack(),b=this._timeline.GetTime();this._timeline.IsForwardPlayBack()?this._lastKeyframeDataItem=this._trackData.GetFirstKeyFrameDataItemLowerOrEqualThan(b,this._trackDataItem):(this._lastKeyframeDataItem=this._trackData.GetFirstKeyFrameDataItemHigherOrEqualThan(b,this._trackDataItem),!this._lastKeyframeDataItem&&(this._lastKeyframeDataItem=this._trackData.GetLastKeyframeDataItem(this._trackDataItem)));for(const a of this._propertyTracks)a.SetResumeState()}}SetEndState(){if(!this.GetTimeline().IsComplete()&&(this.MaybeGetInstance(),!!this.IsInstanceValid())){const a=this._timeline.GetTime(),b=this._timeline.GetTotalTime();a>=b?this.Interpolate(b,!0):0>=a&&this.Interpolate(0,!0)}}Interpolate(a,b=!1,c=!1){if(this.MaybeGetInstance(),!this.IsInstanceValid())return!1;this._lastKeyframeDataItem=this.MaybeTriggerKeyframeReachedConditions(a,b);let d=!1,e=!1;for(const f of this._propertyTracks){const b=f.Interpolate(a,c);d||0==(b&C3.TimelineState.WORLD_INSTANCE_BOX_CHANGE)||(d=!0),e||0==(b&C3.TimelineState.LAYOUT_RENDER_CHANGE)||(e=!0)}if(d){const a=this.GetWorldInfo();a&&a.SetBboxChanged()}return e}MaybeTriggerKeyframeReachedConditions(a,b){if(!b)return;const c=this.GetTimeline();let d=this._trackData.GetKeyFrameDataItemAtTime(a,this._trackDataItem);return d?this.OnKeyframeReached(d):(d=c.IsForwardPlayBack()?this._trackData.GetFirstKeyFrameDataItemLowerOrEqualThan(a,this._trackDataItem):this._trackData.GetFirstKeyFrameDataItemHigherOrEqualThan(a,this._trackDataItem),d!==this._lastKeyframeDataItem&&this.OnKeyframeReached(d)),d}OnKeyframeReached(a){if(C3.Plugins.Timeline&&this.GetTimeline().constructor===C3.TimelineState){const b=this.GetTimeline();C3.Plugins.Timeline.Cnds.SetTriggerTimeline(b),C3.Plugins.Timeline.Cnds.SetTriggerKeyframe(a);const c=b.GetTimelineManager();c.Trigger(C3.Plugins.Timeline.Cnds.OnAnyKeyframeReached),c.Trigger(C3.Plugins.Timeline.Cnds.OnKeyframeReached),C3.Plugins.Timeline.Cnds.SetTriggerTimeline(null),C3.Plugins.Timeline.Cnds.SetTriggerKeyframe(null)}}AddKeyframe(){const a=this._trackDataItem.GetKeyframeData(),b=a.AddEmptyKeyframeDataItem();return b}AddPropertyTrack(){const a=this._trackDataItem.GetPropertyTrackData(),b=a.AddEmptyPropertyTrackDataItem(),c=C3.PropertyTrackState.Create(this,b);return this._propertyTracks.push(c),c}DeleteKeyframes(a){const b=this._trackDataItem.GetKeyframeData();b.DeleteKeyframeDataItems(a)}DeletePropertyKeyframes(a){for(const b of this._propertyTracks)b.DeletePropertyKeyframes(a)}SaveState(){for(const a of this._propertyTracks)a.SaveState()}CompareInitialStateWithCurrent(){if(this.MaybeGetInstance(),!!this.IsInstanceValid())for(const a of this._propertyTracks)a.CompareInitialStateWithCurrent()}CompareSaveStateWithCurrent(){if(this.MaybeGetInstance(),!this.IsInstanceValid())return;let a=!1;for(const b of this._propertyTracks){const c=b.CompareSaveStateWithCurrent();!a&&c&&(a=!0)}if(a){const a=this.AddKeyframe();a.SetTime(this.GetTimeline().GetTime()),a.SetEase("noease"),a.SetEnable(!0),a.SetTags("")}}_SaveToJson(){return{"propertyTracksJson":this._SavePropertyTracksToJson(),"lastKeyframeDataItemJson":this._SaveLastKeyframeDataItemToJson(),"instanceUid":this._instanceUid}}_LoadFromJson(a){a&&(this._LoadPropertyTracksFromJson(a["propertyTracksJson"]),this._LoadLastKeyframeDataItemFromJson(a["lastKeyframeDataItemJson"]),this._LoadInstanceFromJson(a["instanceUid"]))}_SaveLastKeyframeDataItemToJson(){const a=this._trackDataItem.GetKeyframeData();return a.GetKeyframeDataItemIndex(this._lastKeyframeDataItem)}_SavePropertyTracksToJson(){return this._propertyTracks.map((a)=>a._SaveToJson())}_LoadPropertyTracksFromJson(a){a.forEach((a,b)=>{const c=this._propertyTracks[b];c._LoadFromJson(a)})}_LoadInstanceFromJson(a){if(C3.IsFiniteNumber(a)){const b=this.GetRuntime().GetInstanceByUID(a);if(b){const a=this.GetTimeline();a.ClearTrackInstances(),a.SetTrackInstance(this._trackDataItem.GetId(),b)}}}_LoadLastKeyframeDataItemFromJson(a){const b=this._trackDataItem.GetKeyframeData();this._lastKeyframeDataItem=b.GetKeyframeDataItemFromIndex(a)}}; + +// c3/timelines/state/propertyTrackState.js +"use strict";C3.PropertyTrackState=class extends C3.DefendedBase{constructor(a,b){super(),this._track=a,this._propertyTrackDataItem=b,this._propertyTrackData=b.GetPropertyTrackData(),this._sourceAdapter=this.GetSourceAdapter(),this._propertyKeyframeDataItems=this._propertyTrackDataItem.GetPropertyKeyframeData().GetPropertyKeyframeDataItemArray()}static Create(a,b){return C3.New(C3.PropertyTrackState,a,b)}Release(){this._track=null,this._sourceAdapter&&(this._sourceAdapter.Release(),this._sourceAdapter=null),this._propertyKeyframeDataItems=null,this._propertyTrackDataItem=null,this._propertyTrackData=null}GetTrack(){return this._track}GetPropertyTrackDataItem(){return this._propertyTrackDataItem}GetPropertyTrackData(){return this._propertyTrackData}GetTimeline(){return this._track.GetTimeline()}GetRuntime(){return this._track.GetRuntime()}GetSourceAdapter(){if(this._sourceAdapter)return this._sourceAdapter;const a=this._propertyTrackDataItem.GetSourceAdapterId();let b;return"behavior"===a?b=new C3.PropertyTrackState.BehaviorSourceAdapter(this):"effect"===a?b=new C3.PropertyTrackState.EffectSourceAdapter(this):"instance-variable"===a?b=new C3.PropertyTrackState.InstanceVariableSourceAdapter(this):"plugin"===a?b=new C3.PropertyTrackState.PluginSourceAdapter(this):"world-instance"===a?b=new C3.PropertyTrackState.WorldInstanceSourceAdapter(this):"value"===a?b=new C3.PropertyTrackState.ValueSourceAdapter(this):void 0,this._sourceAdapter=b,this._sourceAdapter}GetSourceAdapterId(){return this._propertyTrackDataItem.GetSourceAdapterId()}SetSourceAdapterId(a){this._propertyTrackDataItem.SetSourceAdapterId(a)}GetSourceAdapterArgs(){return this._propertyTrackDataItem.GetSourceAdapterArguments()}SetSourceAdapterArgs(a){this._propertyTrackDataItem.SetSourceAdapterArguments(a)}GetSourceAdapterValue(){return this.GetSourceAdapter().GetValue()}GetPropertyName(){return this._propertyTrackDataItem.GetProperty()}SetPropertyName(a){this._propertyTrackDataItem.SetProperty(a)}GetPropertyType(){return this._propertyTrackDataItem.GetType()}SetPropertyType(a){this._propertyTrackDataItem.SetType(a)}GetPropertyKeyframeType(){return this.GetPropertyTrackData().GetFirstPropertyKeyframeDataItem(this._propertyTrackDataItem).GetType()}GetMin(){return this._propertyTrackDataItem.GetMin()}SetMin(a){this._propertyTrackDataItem.SetMin(a)}GetMax(){return this._propertyTrackDataItem.GetMax()}SetMax(a){this._propertyTrackDataItem.SetMax(a)}GetEnable(){return this._propertyTrackDataItem.GetEnable()}SetEnable(a){this._propertyTrackDataItem.SetEnable(a)}GetInterpolationMode(){return this._propertyTrackDataItem.GetInterpolationMode()}SetInterpolationMode(a){this._propertyTrackDataItem.SetInterpolationMode(a)}GetResultMode(){return this._propertyTrackDataItem.GetResultMode()}SetResultMode(a){this._propertyTrackDataItem.SetResultMode(a)}SetEase(a){for(const b of this.GetPropertyKeyframeDataItems())b.SetEase(a)}GetPropertyKeyframeDataItems(){return this._propertyKeyframeDataItems?this._propertyKeyframeDataItems:(this._propertyKeyframeDataItems=this._propertyTrackDataItem.GetPropertyKeyframeData().GetPropertyKeyframeDataItemArray(),this._propertyKeyframeDataItems)}*GetPropertyKeyframeValues(){for(const a of this.GetPropertyKeyframeDataItems())yield a.GetValueWithResultMode()}CleanCaches(){this.GetSourceAdapter().CleanCaches()}GetCurrentState(){return this.GetSourceAdapter().GetCurrentState()}SetInitialState(){this.GetSourceAdapter().SetInitialState()}SetResumeState(){this.GetSourceAdapter().SetResumeState()}Interpolate(a,b=!1){const c=this._propertyTrackDataItem;let d,e=this._propertyTrackData.GetPropertyKeyFrameDataItemAtTime(a,c);return e?d=this._propertyTrackData.GetFirstPropertyKeyFrameDataItemHigherThan(a,c):(e=this._propertyTrackData.GetFirstPropertyKeyFrameDataItemLowerOrEqualThan(a,c),d=this._propertyTrackData.GetFirstPropertyKeyFrameDataItemHigherOrEqualThan(a,c)),this.GetSourceAdapter().Interpolate(a,e,d,b)}static GetStartPropertyKeyframeForTime(a,b){const c=b.GetPropertyTrackDataItem(),d=b._propertyTrackData;let e=d.GetPropertyKeyFrameDataItemAtTime(a,c);return e||(e=d.GetFirstPropertyKeyFrameDataItemLowerOrEqualThan(a,c)),e}static GetEndPropertyKeyframeForTime(a,b){const c=b.GetPropertyTrackDataItem(),d=b._propertyTrackData;let e=d.GetPropertyKeyFrameDataItemAtTime(a,c);return e?d.GetFirstPropertyKeyFrameDataItemHigherThan(a,c):d.GetFirstPropertyKeyFrameDataItemHigherOrEqualThan(a,c)}AddPropertyKeyframe(){const a=this._propertyTrackDataItem.GetPropertyKeyframeData(),b=a.AddEmptyPropertyKeyframeDataItem();return b}DeletePropertyKeyframes(a){const b=this._propertyTrackDataItem.GetPropertyKeyframeData();b.DeletePropertyKeyframeDataItems(a)}SaveState(){this.GetSourceAdapter().SaveState()}CompareInitialStateWithCurrent(){const a=this.GetSourceAdapter().CompareInitialStateWithCurrent();if(a){const a=this._propertyTrackData.GetFirstPropertyKeyframeDataItem(this._propertyTrackDataItem),b=this.GetSourceAdapter().GetCurrentState();a.SetAbsoluteValue(b)}}CompareSaveStateWithCurrent(){const a=this.GetSourceAdapter().CompareSaveStateWithCurrent();return a&&this.AddPropertyKeyframeAtCurrentTime(),this.GetSourceAdapter().ClearSaveState(),a}AddPropertyKeyframeAtCurrentTime(){const a=this.GetTimeline().GetTime(),b=this.GetSourceAdapter(),c=C3.PropertyTrackState.GetStartPropertyKeyframeForTime(a,this),d=this.AddPropertyKeyframe();d.SetType(c.GetType()),d.SetTime(a),d.SetEase(c.GetEase()),d.SetEnable(!0),d.SetValue(b.GetValueAtTime()),d.SetAbsoluteValue(b.GetCurrentState())}_SaveToJson(){return{"sourceAdapterJson":this.GetSourceAdapter()._SaveToJson()}}_LoadFromJson(a){a&&this.GetSourceAdapter()._LoadFromJson(a["sourceAdapterJson"])}}; + +// c3/timelines/state/propertySourceAdapters/propertySourceAdapter.js +"use strict";{const a=C3.PropertyTrackState;a.PropertySourceAdapter=class{constructor(a){this._propertyTrack=a,this._propertyAdapter=null}Release(){this._propertyAdapter&&(this._propertyAdapter.Release(),this._propertyAdapter=null),this._propertyTrack=null}GetPropertyTrack(){return this._propertyTrack}CleanCaches(){this._propertyAdapter&&this._propertyAdapter.CleanCaches()}GetPropertyAdapter(){return this._propertyAdapter?this._propertyAdapter:(this._propertyAdapter=this._CreatePropertyAdapter(),this._propertyAdapter)}GetEditorIndex(){}GetIndex(){return this.GetEditorIndex()}GetTarget(){}SetInitialState(){this.GetPropertyAdapter().SetInitialState()}SetResumeState(){this.GetPropertyAdapter().SetResumeState()}Interpolate(b,c,d,e){const f=a.PropertySourceAdapter.GetInterpolateFunc(this._propertyTrack),g=f(b,c,d,this._propertyTrack);return this.GetPropertyAdapter().ChangeProperty(b,g,c,d,e)}SaveState(){this.GetPropertyAdapter().SetSaveState()}ClearSaveState(){this.GetPropertyAdapter().ClearSaveState()}GetCurrentState(){return this.GetPropertyAdapter().GetCurrentState()}CompareInitialStateWithCurrent(){return this.GetPropertyAdapter().CompareInitialStateWithCurrent()}CompareSaveStateWithCurrent(){return this.GetPropertyAdapter().CompareSaveStateWithCurrent()}GetValueAtTime(){return a.PropertySourceAdapter.GetValueAtTime(this._propertyTrack)}_CreatePropertyAdapter(){const b=this._propertyTrack.GetPropertyType(),c=this._propertyTrack.GetPropertyKeyframeType();return"combo"===c||"boolean"===c||"text"===c||"string"===c?new a.PropertyInterpolationAdapter.NoInterpolationAdapter(this):"numeric"===c||"number"===c||"angle"===c?"combo"===b?new a.PropertyInterpolationAdapter.NoInterpolationAdapter(this):new a.PropertyInterpolationAdapter.NumericInterpolationAdapter(this):"color"===c||"offsetColor"===c?new a.PropertyInterpolationAdapter.ColorInterpolationAdapter(this):void 0}_SaveToJson(){return{"propertyAdapterJson":this.GetPropertyAdapter()._SaveToJson()}}_LoadFromJson(a){a&&this.GetPropertyAdapter()._LoadFromJson(a["propertyAdapterJson"])}static GetValueAtTime(b){const c=b.GetTrack(),d=c.GetTimeline().GetTime(),e=a.GetStartPropertyKeyframeForTime(d,b),f=a.GetEndPropertyKeyframeForTime(d,b),g=a.PropertySourceAdapter.GetInterpolateFunc(b);return g(d,e,f,b)}static GetValue(a,b,c){let d=a.GetResultMode();return"combo"===a.GetPropertyType()&&(d="absolute"),"relative"===d?b+c:"absolute"===d?c:void 0}static GetInterpolateFunc(b){const c=b.GetPropertyKeyframeType();return"numeric"===c?a.NumericTypeAdapter.Interpolate:"angle"===c?a.AngleTypeAdapter.Interpolate:"boolean"===c?a.BooleanTypeAdapter.Interpolate:"color"===c?a.ColorTypeAdapter.Interpolate:"text"===c?a.TextTypeAdapter.Interpolate:void 0}static GetWillChangeFunc(b){const c=b.GetPropertyKeyframeType();return"numeric"===c?a.NumericTypeAdapter.WillChange:"angle"===c?a.AngleTypeAdapter.WillChange:"boolean"===c?a.BooleanTypeAdapter.WillChange:"color"===c?a.ColorTypeAdapter.WillChange:"text"===c?a.TextTypeAdapter.WillChange:void 0}}} + +// c3/timelines/state/propertySourceAdapters/worldInstanceSourceAdapter.js +"use strict";{class a extends C3.PropertyTrackState.PropertySourceAdapter{constructor(a){super(a)}}C3.PropertyTrackState.WorldInstanceSourceAdapter=a} + +// c3/timelines/state/propertySourceAdapters/instanceVariableSourceAdapter.js +"use strict";{const a=0;class b extends C3.PropertyTrackState.PropertySourceAdapter{constructor(a){super(a),this._updatedIndex=NaN}GetEditorIndex(){return this._propertyTrack.GetPropertyTrackDataItem().GetSourceAdapterArguments()[a]}GetIndex(){return this._updatedIndex?this._updatedIndex:super.GetIndex()}GetTarget(){return this._propertyTrack.GetTrack().GetInstance()}UpdateInstanceVariableIndex(b){const c=this._propertyTrack.GetPropertyTrackDataItem().GetSourceAdapterArguments()[a];c===b||(this._updatedIndex=b)}Interpolate(a,b,c,d){this.GetPropertyAdapter().CanChange(b.GetValue())&&super.Interpolate(a,b,c,d)}_SaveToJson(){return Object.assign(super._SaveToJson(),{"index":this._updatedIndex})}_LoadFromJson(a){a&&(super._LoadFromJson(a),this._updatedIndex=a["index"])}}C3.PropertyTrackState.InstanceVariableSourceAdapter=b} + +// c3/timelines/state/propertySourceAdapters/behaviorSourceAdapter.js +"use strict";{const a=0;class b extends C3.PropertyTrackState.PropertySourceAdapter{constructor(a){super(a),this._sid=NaN}GetEditorIndex(){const a=this._propertyTrack.GetPropertyTrackDataItem();return a.GetSourceAdapterArguments()[1]}GetTarget(){const b=this._propertyTrack.GetPropertyTrackDataItem(),c=this._propertyTrack.GetTrack(),d=this._sid?this._sid:b.GetSourceAdapterArguments()[a],e=c.GetInstance(),f=e.GetBehaviorIndexBySID(d),g=e.GetBehaviorInstances()[f];return g.GetSdkInstance()}GetBehaviorType(a){const b=this._propertyTrack.GetPropertyTrackDataItem(),c=b.GetSourceAdapterArguments()[2];return a.GetBehaviorTypeByName(c)}UpdateBehaviorTypeSid(b){const c=this._propertyTrack.GetPropertyTrackDataItem();c.GetSourceAdapterArguments()[a]===b||(this._sid=b)}Interpolate(a,b,c,d){const e=this._propertyTrack.GetTrack(),f=e.GetInstance();this.GetBehaviorType(f.GetObjectClass())&&super.Interpolate(a,b,c,d)}_SaveToJson(){return Object.assign(super._SaveToJson(),{"sid":this._sid})}_LoadFromJson(a){a&&(super._LoadFromJson(a),this._sid=a["sid"])}}C3.PropertyTrackState.BehaviorSourceAdapter=b} + +// c3/timelines/state/propertySourceAdapters/effectSourceAdapter.js +"use strict";{class a extends C3.PropertyTrackState.PropertySourceAdapter{constructor(a){super(a)}GetEditorIndex(){return this._propertyTrack.GetPropertyTrackDataItem().GetSourceAdapterArguments()[1]}GetTarget(){const a=this._propertyTrack,b=a.GetTrack(),c=b.GetWorldInfo(),d=c.GetInstanceEffectList(),e=d.GetEffectList(),f=this.GetEffectType(e),g=f.GetIndex();return d.IsEffectIndexActive(g)?d.GetEffectParametersForIndex(g):null}GetEffectType(a){const b=this._propertyTrack,c=b.GetPropertyTrackDataItem().GetSourceAdapterArguments()[0];return a.GetEffectTypeByName(c)}Interpolate(a,b,c,d){this._IsEffectActive()&&super.Interpolate(a,b,c,d)}_IsEffectActive(){const a=this._propertyTrack,b=a.GetTrack(),c=b.GetWorldInfo(),d=c.GetInstanceEffectList(),e=d.GetEffectList(),f=this.GetEffectType(e);if(f){const a=f.GetIndex();return d.IsEffectIndexActive(a)}}}C3.PropertyTrackState.EffectSourceAdapter=a} + +// c3/timelines/state/propertySourceAdapters/pluginSourceAdapter.js +"use strict";{class a extends C3.PropertyTrackState.PropertySourceAdapter{constructor(a){super(a)}GetEditorIndex(){return this._propertyTrack.GetPropertyTrackDataItem().GetSourceAdapterArguments()[0]}GetTarget(){return this._propertyTrack.GetTrack().GetInstance().GetSdkInstance()}Interpolate(a,b,c,d){const e=this._propertyTrack.GetTrack(),f=e.GetObjectClass().GetPlugin(),g=e.GetInstance().GetObjectClass().GetPlugin();f!==g||super.Interpolate(a,b,c,d)}}C3.PropertyTrackState.PluginSourceAdapter=a} + +// c3/timelines/state/propertySourceAdapters/valueSourceAdapter.js +"use strict";{class a extends C3.PropertyTrackState.PropertySourceAdapter{constructor(a){super(a),this._value=0}SetInitialState(){const a=this._propertyTrack.GetPropertyTrackData();let b=this._propertyTrack.GetPropertyTrackDataItem();b=a.GetFirstPropertyKeyframeDataItem(b),this._value=b.GetValueWithResultMode()}SetResumeState(){}GetValue(){return this._value}Interpolate(a,b,c){const d=C3.PropertyTrackState.NumericTypeAdapter.Interpolate;this._value=d(a,b,c,this._propertyTrack)}SaveState(){}ClearSaveState(){}GetCurrentState(){return this._value}CompareInitialStateWithCurrent(){return!1}CompareSaveStateWithCurrent(){return!1}_SaveToJson(){return{"value":this._value}}_LoadFromJson(a){a&&(this._value=a["value"])}}C3.PropertyTrackState.ValueSourceAdapter=a} + +// c3/timelines/state/propertyInterpolationAdapters/propertyInterpolationAdapter.js +"use strict";C3.PropertyTrackState.PropertyInterpolationAdapter=class{constructor(a){this._sourceAdapter=a,this._propertyTrack=a.GetPropertyTrack(),this._worldInfo=this._propertyTrack.GetTrack().GetWorldInfo(),this._property=this._propertyTrack.GetPropertyName(),this._firstAbsoluteUpdate=!1,this._saveState=null,this._target=null}Release(){this._sourceAdapter=null,this._propertyTrack=null,this._worldInfo=null,this._saveState=null,this._target=null}CleanCaches(){this._worldInfo=null,this._saveState=null,this._target=null}GetWorldInfo(){return this._worldInfo?this._worldInfo:(this._worldInfo=this._propertyTrack.GetTrack().GetWorldInfo(),this._worldInfo)}SetFirstAbsoluteUpdate(a){this._firstAbsoluteUpdate=!!a}GetFirstAbsoluteUpdate(){return this._firstAbsoluteUpdate}SetInitialState(){}SetResumeState(){}SetSaveState(){this._saveState=this.GetCurrentState()}ClearSaveState(){this._saveState=null}GetCurrentState(){}CompareInitialStateWithCurrent(){}CompareSaveStateWithCurrent(){}CanChange(a){const b=typeof this._Getter();return b==typeof a}ChangeProperty(){}_FirstKeyframeGetter(){const a=this._PickTimelinePlaybackMode(()=>{const a=this._propertyTrack.GetPropertyTrackDataItem(),b=this._propertyTrack.GetPropertyTrackData();return b.GetFirstPropertyKeyframeDataItem(a)},()=>{const a=this._propertyTrack.GetPropertyTrackDataItem(),b=this._propertyTrack.GetPropertyTrackData();return b.GetLastPropertyKeyframeDataItem(a)});return a.GetAbsoluteValue()}_CurrentKeyframeGetter(){const a=this._propertyTrack.GetTimeline(),b=a.GetTime(),c=this._PickTimelinePlaybackMode(()=>{const a=this._propertyTrack.GetPropertyTrackDataItem(),c=this._propertyTrack.GetPropertyTrackData();return c.GetFirstPropertyKeyFrameDataItemLowerOrEqualThan(b,a)},()=>{const a=this._propertyTrack.GetPropertyTrackDataItem(),c=this._propertyTrack.GetPropertyTrackData(),d=c.GetFirstPropertyKeyFrameDataItemHigherOrEqualThan(b,a);return d?d:c.GetLastPropertyKeyframeDataItem(a)});return c.GetAbsoluteValue()}_PickTimelinePlaybackMode(a,b){const c=this._propertyTrack.GetTimeline();return c.IsForwardPlayBack()?a():b()}_PickResultMode(a,b){const c=this._propertyTrack.GetResultMode();return"relative"===c?a():b()}_PickFirstAbsoluteUpdate(a,b){return this.GetFirstAbsoluteUpdate()?(this.SetFirstAbsoluteUpdate(!1),a()):b()}_GetAbsoluteInitialValue(){}_GetIndex(){return this._sourceAdapter.GetIndex()}_GetTarget(){return this._target?this._target:(this._target=this._sourceAdapter.GetTarget(),this._target)}_PickSource(a,b,c,d,e){const f=this._propertyTrack.GetSourceAdapterId();return"behavior"===f?a():"effect"===f?b():"instance-variable"===f?c():"plugin"===f?d():"world-instance"===f?e():void 0}_SaveToJson(){return{"firstAbsoluteUpdate":this._firstAbsoluteUpdate,"saveState":this._saveState}}_LoadFromJson(a){a&&(this._firstAbsoluteUpdate=a["firstAbsoluteUpdate"],this._saveState=a["saveState"])}}; + +// c3/timelines/state/propertyInterpolationAdapters/colorInterpolationAdapter.js +"use strict";{class a extends C3.PropertyTrackState.PropertyInterpolationAdapter{constructor(a){super(a),this._lastValueR=0,this._lastValueG=0,this._lastValueB=0}SetInitialState(){this.SetFirstAbsoluteUpdate(!0);const a=this._GetAbsoluteInitialValue(this._FirstKeyframeGetter());this._lastValueR=a.getR(),this._lastValueG=a.getG(),this._lastValueB=a.getB()}SetResumeState(){if(!this._CompareColors(this._FirstKeyframeGetter(),this._CurrentKeyframeGetter())){this.SetFirstAbsoluteUpdate(!0);const a=this._GetAbsoluteInitialValue(this._CurrentKeyframeGetter());this._lastValueR=a.getR(),this._lastValueG=a.getG(),this._lastValueB=a.getB()}}GetCurrentState(){const a=this._propertyTrack.GetSourceAdapterId(),b=this._GetTarget(),c=this._GetIndex();switch(a){case"behavior":b.GetPropertyValueByIndex(c);break;case"effect":return b[c].toArray().slice(0,3);case"plugin":return b.GetPropertyValueByIndex(c);case"world-instance":return this._Getter().toArray().slice(0,3);}}CompareInitialStateWithCurrent(){const a=this._FirstKeyframeGetter();return!this._CompareColors(a,this._Getter())}CompareSaveStateWithCurrent(){return!C3.IsNullOrUndefined(this._saveState)&&!this._CompareColors(this._saveState,this._Getter())}_CompareColors(a,b){return a.equalsIgnoringAlpha(b)}_FirstKeyframeGetter(){const a=super._FirstKeyframeGetter();return this._GetColorFromArray(a)}_CurrentKeyframeGetter(){const a=super._CurrentKeyframeGetter();return this._GetColorFromArray(a)}_GetAbsoluteInitialValue(a){const b=this._GetColorFromArray(a);return C3.Color.Diff(b,this._Getter())}_GetColorFromArray(a){return C3.IsInstanceOf(a,C3.Color)?a:new C3.Color(a[0],a[1],a[2])}CanChange(){return!0}ChangeProperty(a,c){const d=c[0],e=c[1],f=c[2],b=this._lastValueR,g=this._lastValueG,h=this._lastValueB;return this._PickFirstAbsoluteUpdate(()=>{this._Setter(-b,-g,-h)},()=>{this._Setter(-b+d,-g+e,-h+f)}),this._lastValueR=d,this._lastValueG=e,this._lastValueB=f,C3.TimelineState.LAYOUT_RENDER_CHANGE}_Getter(){const a=this._propertyTrack.GetSourceAdapterId(),b=this._GetTarget(),c=this._GetIndex();return"behavior"===a?this._GetColorFromArray(b.GetPropertyValueByIndex(c)):"effect"===a?b[c].clone():"plugin"===a?this._GetColorFromArray(b.GetPropertyValueByIndex(c)):"world-instance"===a?this.GetWorldInfo().GetUnpremultipliedColor().clone():void 0}_Setter(a,c,d){const b=this._propertyTrack.GetSourceAdapterId(),e=this._GetTarget(),f=this._GetIndex();"behavior"===b?e.SetPropertyColorOffsetValueByIndex(f,a,c,d):"effect"===b?e[f].addRgb(a,c,d):"plugin"===b?e.SetPropertyColorOffsetValueByIndex(f,a,c,d):"world-instance"===b?this.GetWorldInfo().OffsetUnpremultipliedColorRGB(a,c,d):void 0}_SaveToJson(){return Object.assign(super._SaveToJson(),{"r":this._lastValueR,"g":this._lastValueG,"b":this._lastValueB})}_LoadFromJson(a){a&&(super._LoadFromJson(a),this._lastValueR=a["r"],this._lastValueG=a["g"],this._lastValueB=a["b"])}}C3.PropertyTrackState.PropertyInterpolationAdapter.ColorInterpolationAdapter=a} + +// c3/timelines/state/propertyInterpolationAdapters/noInterpolationAdapter.js +"use strict";{class a extends C3.PropertyTrackState.PropertyInterpolationAdapter{constructor(a){super(a)}SetInitialState(){}SetResumeState(){}GetCurrentState(){return this._Getter()}CompareInitialStateWithCurrent(){const a=this._FirstKeyframeGetter();return a!==this.GetCurrentState()}CompareSaveStateWithCurrent(){return!C3.IsNullOrUndefined(this._saveState)&&this._saveState!==this.GetCurrentState()}ChangeProperty(a,b){const c=C3.PropertyTrackState.PropertySourceAdapter.GetWillChangeFunc(this._propertyTrack),d=this._propertyTrack.GetSourceAdapterId(),e=c(this._GetIndex(),this._GetTarget(),b,d);if(e)return this._Setter(b),"behavior"===d||"effect"===d||"instance-variable"===d?void 0:"plugin"===d?C3.TimelineState.LAYOUT_RENDER_CHANGE:void 0}_Getter(){const a=this._propertyTrack.GetSourceAdapterId(),b=this._GetTarget(),c=this._GetIndex();switch(a){case"behavior":return b.GetPropertyValueByIndex(c);case"effect":return b[c];case"instance-variable":return b.GetInstanceVariableValue(c);case"plugin":return b.GetPropertyValueByIndex(c);;}}_Setter(a){const b=this._propertyTrack.GetSourceAdapterId(),c=this._GetTarget(),d=this._GetIndex();"behavior"===b?c.SetPropertyValueByIndex(d,a):"effect"===b?c[d]=a:"instance-variable"===b?c.SetInstanceVariableValue(d,a):"plugin"===b?c.SetPropertyValueByIndex(d,a):void 0}}C3.PropertyTrackState.PropertyInterpolationAdapter.NoInterpolationAdapter=a} + +// c3/timelines/state/propertyInterpolationAdapters/numericInterpolationAdapter.js +"use strict";{const a=new Map,b=(b,c,d,e)=>a.set(b,{setter:c,getter:d,round:e});b("offsetX",(a,b)=>a.OffsetX(b),(a)=>a.GetX(),!0),b("offsetY",(a,b)=>a.OffsetY(b),(a)=>a.GetY(),!0),b("offsetWidth",(a,b)=>a.OffsetWidth(b),(a)=>a.GetWidth(),!0),b("offsetHeight",(a,b)=>a.OffsetHeight(b),(a)=>a.GetHeight(),!0),b("offsetAngle",(a,b)=>a.OffsetAngle(b),(a)=>a.GetAngle(),!1),b("offsetOpacity",(a,b)=>a.OffsetOpacity(b),(a)=>a.GetOpacity(),!1),b("offsetOriginX",(a,b)=>a.OffsetOriginX(b),(a)=>a.GetOriginX(),!1),b("offsetOriginY",(a,b)=>a.OffsetOriginY(b),(a)=>a.GetOriginY(),!1),b("offsetZElevation",(a,b)=>a.OffsetZElevation(b),(a)=>a.GetZElevation(),!0);class c extends C3.PropertyTrackState.PropertyInterpolationAdapter{constructor(b){super(b),this._lastValue=0,this._instance_getter=null,this._instance_setter=null,this._round=!1;const c=this._propertyTrack.GetPropertyName();if("world-instance"===this._propertyTrack.GetSourceAdapterId()){const b=a.get(c);this._instance_getter=b.getter,this._instance_setter=b.setter,this._round=b.round}}Release(){this._instance_getter=null,this._instance_setter=null,super.Release()}SetInitialState(){this._lastValue=this._PickResultMode(()=>this._PickTimelinePlaybackMode(()=>0,()=>C3.PropertyTrackState.PropertySourceAdapter.GetValueAtTime(this._propertyTrack)),()=>(this.SetFirstAbsoluteUpdate(!0),this._GetAbsoluteInitialValue(this._FirstKeyframeGetter())))}SetResumeState(){this._FirstKeyframeGetter()===this._CurrentKeyframeGetter()||this._PickResultMode(()=>{},()=>{this.SetFirstAbsoluteUpdate(!0),this._lastValue=this._GetAbsoluteInitialValue(this._CurrentKeyframeGetter())})}GetCurrentState(){return this._Getter()}CompareInitialStateWithCurrent(){const a=this._FirstKeyframeGetter();return a!==this.GetCurrentState()}CompareSaveStateWithCurrent(){return!C3.IsNullOrUndefined(this._saveState)&&this._saveState!==this.GetCurrentState()}_GetAbsoluteInitialValue(a){return a-this.GetCurrentState()}ChangeProperty(a,b,c,d,e){return this._PickResultMode(()=>{this._Setter(b-this._lastValue,c,d),this._lastValue=b,this._MaybeEnsureValue(a,c,d,e,this._lastValue,b)},()=>{this._PickFirstAbsoluteUpdate(()=>{this._Setter(this._lastValue,c,d),this._lastValue=b},()=>{this._Setter(b-this._lastValue,c,d),this._lastValue=b,this._MaybeEnsureValue(a,c,d,e,this._lastValue,b)})}),this._PickSource(()=>{},()=>C3.TimelineState.LAYOUT_RENDER_CHANGE,()=>{},()=>C3.TimelineState.LAYOUT_RENDER_CHANGE,()=>C3.TimelineState.LAYOUT_RENDER_CHANGE)}_Getter(){const a=this._GetTarget(),b=this._GetIndex();return this._PickSource(()=>a.GetPropertyValueByIndex(b),()=>a[b],()=>a.GetInstanceVariableValue(b),()=>a.GetPropertyValueByIndex(b),()=>this._instance_getter(this.GetWorldInfo()))}_Setter(a){const b=this._GetTarget(),c=this._GetIndex();this._PickSource(()=>b.OffsetPropertyValueByIndex(c,a),()=>b[c]+=a,()=>b.SetInstanceVariableOffset(c,a),()=>b.OffsetPropertyValueByIndex(c,a),()=>this._instance_setter(this.GetWorldInfo(),a))}_MaybeEnsureValue(a,b,c,d,e,f){d?b&&a===b.GetTime()?this._AddDelta(b.GetValueWithResultMode(),b,c):c&&a===c.GetTime()?this._AddDelta(c.GetValueWithResultMode(),b,c):!c&&this._AddDelta(b.GetValueWithResultMode(),b,c):b&&a===b.GetTime()?this._AddDelta(b.GetValueWithResultMode(),b,c):c&&a===c.GetTime()?this._AddDelta(c.GetValueWithResultMode(),b,c):0==f-e&&this._AddDelta(b.GetValueWithResultMode(),b,c)}_AddDelta(a,b,c){const d=a.toString(),e=d.split(".")[1]||"",f=e.length,g=this._Getter();let h;h=0===f?this._round?Math.round(g):g:C3.toFixed(g,f),this._Setter(h-g,b,c),this._lastValue+=h-g}_SaveToJson(){return Object.assign(super._SaveToJson(),{"v":this._lastValue})}_LoadFromJson(a){a&&(super._LoadFromJson(a),this._lastValue=a["v"])}}C3.PropertyTrackState.PropertyInterpolationAdapter.NumericInterpolationAdapter=c} + +// c3/timelines/state/propertyTypeAdapters/numericTypeAdapter.js +"use strict";C3.PropertyTrackState.NumericTypeAdapter=class{constructor(){}static WillChange(a,b,c,d){let e;return"behavior"===d?e=b.GetPropertyValueByIndex(a):"effect"===d?e=b[a]:"instance-variable"===d?e=b.GetInstanceVariableValue(a):"plugin"===d?e=b.GetPropertyValueByIndex(a):void 0,e!==c}static Interpolate(a,b,c,d){var f=Math.floor;if(!c){let a=d.GetPropertyTrackDataItem();const b=d.GetPropertyTrackData();return a=b.GetLastPropertyKeyframeDataItem(a),a.GetValueWithResultMode()}let g=d.GetInterpolationMode();if("default"===g&&(g="continuous"),"combo"===d.GetPropertyType()&&(g="discrete"),"discrete"===g)return b.GetValueWithResultMode();if("continuous"===g||"step"===g){if("step"===g){const b=d.GetTimeline().GetStep();if(0!==b){const c=1/b;a=f(a*c)/c}}const h=b.GetTime(),i=c.GetTime(),j=b.GetValueWithResultMode(),k=c.GetValueWithResultMode();if(j===k)return j;const l=C3.normalize(a,h,i),m=b.GetEase();let e;const n=b.GetAddOn("cubic-bezier"),o=c.GetAddOn("cubic-bezier");if(n&&n.GetStartEnable()&&o&&o.GetEndEnable()){const a=i-h;e=Ease.GetEase(m)(a*l,0,1,a),e=Ease.GetEase("cubicbezier")(e,j,j+n.GetStartAnchor(),k+o.GetEndAnchor(),k)}else e=Ease.GetEase(m)((i-h)*l,j,k-j,i-h);return"integer"===d.GetPropertyType()?f(e):e}}}; + +// c3/timelines/state/propertyTypeAdapters/angleTypeAdapter.js +"use strict";C3.PropertyTrackState.AngleTypeAdapter=class{constructor(){}static WillChange(a,b,c,d){let e;return"behavior"===d?e=b.GetPropertyValueByIndex(a):"effect"===d?e=b[a]:"instance-variable"===d?e=b.GetInstanceVariableValue(a):"plugin"===d?e=b.GetPropertyValueByIndex(a):void 0,e!==c}static Interpolate(a,b,c,d){if(!c){let a=d.GetPropertyTrackDataItem();const b=d.GetPropertyTrackData();return a=b.GetLastPropertyKeyframeDataItem(a),a.GetValueWithResultMode()}let e=d.GetInterpolationMode();if("default"===e&&(e="continuous"),"combo"===d.GetPropertyType()&&(e="discrete"),"discrete"===e)return b.GetValueWithResultMode();if("continuous"===e||"step"===e){if("step"===e){const b=d.GetTimeline().GetStep();if(0!==b){const c=1/b;a=Math.floor(a*c)/c}}const f=b.GetTime(),g=c.GetTime(),h=b.GetValueWithResultMode(),i=c.GetValueWithResultMode();if(h===i)return h;let j=C3.normalize(a,f,g);const k=Ease.GetEase(b.GetEase());return C3.angleLerp(h,i,k(j,0,1,1))}}}; + +// c3/timelines/state/propertyTypeAdapters/booleanTypeAdapter.js +"use strict";C3.PropertyTrackState.BooleanTypeAdapter=class{constructor(){}static WillChange(a,b,c,d){let e;return"behavior"===d?e=b.GetPropertyValueByIndex(a):"effect"===d?e=b[a]:"instance-variable"===d?e=b.GetInstanceVariableValue(a):"plugin"===d?e=b.GetPropertyValueByIndex(a):void 0,!!e!=!!c}static Interpolate(a,b,c,d){if(!c){let a=d.GetPropertyTrackDataItem();const b=d.GetPropertyTrackData();return a=b.GetLastPropertyKeyframeDataItem(a),a.GetValueWithResultMode()?1:0}return b.GetValueWithResultMode()?1:0}}; + +// c3/timelines/state/propertyTypeAdapters/colorTypeAdapter.js +"use strict";{const a=[0,0,0],b=[0,0,0];C3.PropertyTrackState.ColorTypeAdapter=class{constructor(){}static WillChange(c,d,e,f){var g=Math.floor;let h;return"behavior"===f?h=d.GetPropertyValueByIndex(c):"effect"===f?h=d[c]:"instance-variable"===f?h=d.GetInstanceVariableValue(c):"plugin"===f?h=d.GetPropertyValueByIndex(c):void 0,Array.isArray(e)?(a[0]=e[0],a[1]=e[1],a[2]=e[2]):(TEMP_COLOR_ARRAY_3.parseCommaSeparatedRgb(e),a[0]=g(255*TEMP_COLOR_ARRAY_3.getR()),a[1]=g(255*TEMP_COLOR_ARRAY_3.getG()),a[2]=g(255*TEMP_COLOR_ARRAY_3.getB())),Array.isArray(h)?(b[0]=h[0],b[1]=h[1],b[2]=h[2]):(TEMP_COLOR_ARRAY_3.parseCommaSeparatedRgb(h),b[0]=g(255*TEMP_COLOR_ARRAY_3.getR()),b[1]=g(255*TEMP_COLOR_ARRAY_3.getG()),b[2]=g(255*TEMP_COLOR_ARRAY_3.getB())),a[0]!==b[0]||a[1]!==b[1]||a[2]!==b[2]}static Interpolate(b,c,f,d){if(!f){let b=d.GetPropertyTrackDataItem();const c=d.GetPropertyTrackData();b=c.GetLastPropertyKeyframeDataItem(b);const e=b.GetValueWithResultMode();return a[0]=e[0],a[1]=e[1],a[2]=e[2],a}let g=d.GetInterpolationMode();if("default"===g&&(g="continuous"),"discrete"===g){const b=c.GetValueWithResultMode();return a[0]=b[0],a[1]=b[1],a[2]=b[2],a}if("continuous"===g||"step"===g){if("step"===g){const a=d.GetTimeline().GetStep();if(0!==a){const c=1/a;b=Math.floor(b*c)/c}}const h=c.GetTime(),i=f.GetTime(),j=c.GetValueWithResultMode(),k=f.GetValueWithResultMode(),l=C3.normalize(b,h,i),m=c.GetEase(),e=j[0],n=j[1],o=j[2],p=k[0],q=k[1],r=k[2],s=Ease.GetEase(m),t=i-h,u=t*l;return a[0]=e===p?e:s(u,e,p-e,t),a[1]=n===q?n:s(u,n,q-n,t),a[2]=o===r?o:s(u,o,r-o,t),a}}}} + +// c3/timelines/state/propertyTypeAdapters/textTypeAdapter.js +"use strict";C3.PropertyTrackState.TextTypeAdapter=class{constructor(){}static WillChange(a,b,c,d){let e;return"behavior"===d?e=b.GetPropertyValueByIndex(a):"effect"===d?e=b[a]:"instance-variable"===d?e=b.GetInstanceVariableValue(a):"plugin"===d?e=b.GetPropertyValueByIndex(a):void 0,e!==c}static Interpolate(a,b,c,d){if(!c){let a=d.GetPropertyTrackDataItem();const b=d.GetPropertyTrackData();return a=b.GetLastPropertyKeyframeDataItem(a),a.GetValueWithResultMode()}return b.GetValueWithResultMode()}}; + +// c3/timelines/data/timelineDataManager.js +"use strict";C3.TimelineDataManager=class{constructor(){this._timelineDataItems=new Map}Release(){for(const a of this._timelineDataItems.values())a.Release();this._timelineDataItems.clear(),this._timelineDataItems=null}Add(a){const b=new C3.TimelineDataItem(a),c=b.GetName();this._timelineDataItems.set(c,b)}Get(a){return this._timelineDataItems.get(a)}GetNameId(){return 0}static _CreateDataItems(a,b,c,d){if(b)for(const e of b)C3.TimelineDataManager._CreateDataItem("create",e,a,c,d)}static _LoadDataItemsFromJson(a,b,c,d){a.length?b.forEach((b,c)=>{a[c]._LoadFromJson(b)}):b.forEach((b)=>{C3.TimelineDataManager._CreateDataItem("load",b,a,c,d)})}static _CreateDataItem(a,b,c,d,e){let f;if("function"==typeof d)"load"===a?f=new d(null,e):"create"===a?f=new d(b,e):void 0;else if("object"==typeof d){const c=d.prop,g=b[c],h=d.map.get(g);"load"===a?f=new h(null,e):"create"===a?f=new h(b,e):void 0}switch(a){case"load":f._LoadFromJson(b),c.push(f);break;case"create":if("function"==typeof f.GetEnable&&!f.GetEnable())return f.Release();c.push(f);}}}; + +// c3/timelines/data/timelineData.js +"use strict";{C3.TimelineDataItem=class{constructor(a){this._name="",this._totalTime=NaN,this._step=0,this._interpolationMode="default",this._resultMode="default",this._loop=!1,this._pingPong=!1,this._repeatCount=1,this._trackData=null;a&&(this._name=a[0],this._totalTime=a[1],this._step=a[2],this._interpolationMode=a[3],this._resultMode=a[4],this._loop=!!a[6],this._pingPong=!!a[7],this._repeatCount=a[8],this._trackData=new C3.TrackData(a[5],this))}Release(){this._trackData.Release(),this._trackData=null}GetTrackData(){return this._trackData||(this._trackData=new C3.TrackData(null,this)),this._trackData}GetName(){return this._name}SetName(a){this._name=a}GetTotalTime(){return this._totalTime}SetTotalTime(a){this._totalTime=a}GetStep(){return this._step}SetStep(a){this._step=a}GetInterpolationMode(){return this._interpolationMode}SetInterpolationMode(a){this._interpolationMode=a}GetResultMode(){return this._resultMode}SetResultMode(a){this._resultMode=a}GetLoop(){return this._loop}GetPingPong(){return this._pingPong}GetRepeatCount(){return this._repeatCount}_SaveToJson(){return{"trackDataJson":this._trackData._SaveToJson(),"name":this._name,"totalTime":this._totalTime,"step":this._step,"interpolationMode":this._interpolationMode,"resultMode":this._resultMode,"loop":this._loop,"pingPong":this._pingPong,"repeatCount":this._repeatCount}}_LoadFromJson(a){a&&(this.GetTrackData()._LoadFromJson(a["trackDataJson"]),this._name=a["name"],this._totalTime=a["totalTime"],this._step=a["step"],this._interpolationMode=a["interpolationMode"],this._resultMode=a["resultMode"],this._loop=a["loop"],this._pingPong=a["pingPong"],this._repeatCount=a["repeatCount"])}}} + +// c3/timelines/data/trackData.js +"use strict";{const a=0;class b{constructor(b,c){this._trackData=c,this._instanceData=null,this._instanceUid=NaN,this._objectClassIndex=NaN,this._interpolationMode="default",this._resultMode="default",this._enabled=!1,this._keyframeData=null,this._propertyTrackData=null,this._id="";b&&(this._instanceData=b[a],this._instanceUid=b[a][2],this._objectClassIndex=b[a][1],this._interpolationMode=b[1],this._resultMode=b[2],this._enabled=!!b[3],b[6]&&(this._id=b[6]),this._keyframeData=new C3.KeyframeData(b[4],this),this._propertyTrackData=new C3.PropertyTrackData(b[5],this))}Release(){this._trackData=null,this._keyframeData&&(this._keyframeData.Release(),this._keyframeData=null),this._propertyTrackData&&(this._propertyTrackData.Release(),this._propertyTrackData=null)}GetTrackData(){return this._trackData}GetKeyframeData(){return this._keyframeData||(this._keyframeData=new C3.KeyframeData(null,this)),this._keyframeData}GetPropertyTrackData(){return this._propertyTrackData||(this._propertyTrackData=new C3.PropertyTrackData(null,this)),this._propertyTrackData}GetInstanceData(){return this._instanceData}GetObjectClassIndex(){return this._objectClassIndex}SetObjectClassIndex(a){this._objectClassIndex=a}GetInstanceUID(){return this._instanceUid}SetInstanceUID(a){this._instanceUid=a}GetInterpolationMode(){return this._interpolationMode}SetInterpolationMode(a){this._interpolationMode=a}GetResultMode(){return this._resultMode}SetResultMode(a){this._resultMode=a}GetEnable(){return this._enabled}SetEnable(a){this._enabled=!!a}GetId(){return this._id}_SaveToJson(){return{"keyframeDataJson":this._keyframeData._SaveToJson(),"propertyTrackDataJson":this._propertyTrackData._SaveToJson(),"instanceData":this._instanceData,"instanceUid":this._instanceUid,"objectClassIndex":this._objectClassIndex,"interpolationMode":this._interpolationMode,"resultMode":this._resultMode,"enabled":this._enabled,"id":this._id}}_LoadFromJson(a){a&&(this._instanceData=a["instanceData"],this._instanceUid=a["instanceUid"],this._objectClassIndex=a["objectClassIndex"],this._interpolationMode=a["interpolationMode"],this._resultMode=a["resultMode"],this._enabled=a["enabled"],this._id=a["id"],this.GetKeyframeData()._LoadFromJson(a["keyframeDataJson"]),this.GetPropertyTrackData()._LoadFromJson(a["propertyTrackDataJson"]))}}C3.TrackData=class{constructor(a,c){this._timelineData=c,this._trackDataItems=[],this._keyframeTimeMap=new Map,C3.TimelineDataManager._CreateDataItems(this._trackDataItems,a,b,this)}Release(){this._timelineData=null;for(const a of this._trackDataItems)a.Release();C3.clearArray(this._trackDataItems),this._trackDataItems=null,this._keyframeTimeMap.clear(),this._keyframeTimeMap=null}AddEmptyTrackDataItem(){const a=new b(null,this);return this._trackDataItems.push(a),a}GetFirstKeyframeDataItem(a){return a.GetKeyframeData().GetKeyframeDataItemArray()[0]}GetLastKeyframeDataItem(a){const b=a.GetKeyframeData().GetKeyframeDataItemArray();return b[b.length-1]}GetKeyFrameDataItemAtTime(a,b){const c=this._keyframeTimeMap.get(b);if(!!c&&c.has(a))return c.get(a);for(const d of b.GetKeyframeData().keyframeDataItems())if(d.GetTime()===a)return c||this._keyframeTimeMap.set(b,new Map),this._keyframeTimeMap.get(b).set(a,d),d}GetFirstKeyFrameDataItemHigherThan(a,b){for(const c of b.GetKeyframeData().keyframeDataItems())if(c.GetTime()>a)return c}GetFirstKeyFrameDataItemHigherOrEqualThan(a,b){for(const c of b.GetKeyframeData().keyframeDataItems())if(c.GetTime()>=a)return c}GetFirstKeyFrameDataItemLowerOrEqualThan(a,b){for(const c of b.GetKeyframeData().keyframeDataItemsReverse())if(c.GetTime()<=a)return c}*trackDataItems(){for(const a of this._trackDataItems)yield a}_SaveToJson(){return{"trackDataItemsJson":this._trackDataItems.map((a)=>a._SaveToJson())}}_LoadFromJson(a){a&&C3.TimelineDataManager._LoadDataItemsFromJson(this._trackDataItems,a["trackDataItemsJson"],b,this)}}} + +// c3/timelines/data/propertyTrackData.js +"use strict";{const a=0;class b{constructor(b,c){this._propertyTrackData=c,this._sourceAdapterId="",this._sourceAdapterArguments=null,this._property=null,this._type=null,this._min=NaN,this._max=NaN,this._interpolationMode="default",this._resultMode="default",this._enabled=!1,this._propertyKeyframeData=null;b&&(this._sourceAdapterId=b[a][0],this._sourceAdapterArguments=b[a].slice(1),this._property=b[1],this._type=b[2],this._min=b[3],this._max=b[4],this._interpolationMode=b[5],this._resultMode=b[6],this._enabled=!!b[7],this._propertyKeyframeData=new C3.PropertyKeyframeData(b[8],this))}Release(){this._propertyKeyframeData.Release(),this._propertyKeyframeData=null,this._propertyTrackData=null,this._sourceAdapterArguments=null}GetPropertyTrackData(){return this._propertyTrackData}GetPropertyKeyframeData(){return this._propertyKeyframeData||(this._propertyKeyframeData=new C3.PropertyKeyframeData(null,this)),this._propertyKeyframeData}GetSourceAdapterId(){return this._sourceAdapterId}SetSourceAdapterId(a){this._sourceAdapterId=a}GetSourceAdapterArguments(){return this._sourceAdapterArguments}SetSourceAdapterArguments(a){this._sourceAdapterArguments=a}GetProperty(){return this._property}SetProperty(a){this._property=a}GetType(){return this._type}SetType(a){this._type=a}GetMin(){return this._min}SetMin(a){this._min=a}GetMax(){return this._max}SetMax(a){this._max=a}GetInterpolationMode(){return this._interpolationMode}SetInterpolationMode(a){this._interpolationMode=a}GetResultMode(){return this._resultMode}SetResultMode(a){this._resultMode=a}GetEnable(){return this._enabled}SetEnable(a){this._enabled=!!a}_SaveToJson(){return{"propertyKeyframeDataJson":this._propertyKeyframeData._SaveToJson(),"sourceAdapterId":this._sourceAdapterId,"sourceAdapterArguments":this._sourceAdapterArguments,"property":this._property,"type":this._type,"min":this._min,"max":this._max,"interpolationMode":this._interpolationMode,"resultMode":this._resultMode,"enabled":this._enabled}}_LoadFromJson(a){a&&(this._sourceAdapterId=a["sourceAdapterId"],this._sourceAdapterArguments=a["sourceAdapterArguments"],this._property=a["property"],this._type=a["type"],this._min=a["min"],this._max=a["max"],this._interpolationMode=a["interpolationMode"],this._resultMode=a["resultMode"],this._enabled=a["enabled"],this.GetPropertyKeyframeData()._LoadFromJson(a["propertyKeyframeDataJson"]))}}C3.PropertyTrackData=class{constructor(a,c){this._trackDataItem=c,this._propertyTrackDataItems=[],this._propertyKeyframeTimeMap=new Map,C3.TimelineDataManager._CreateDataItems(this._propertyTrackDataItems,a,b,this)}Release(){this._trackDataItem=null;for(const a of this._propertyTrackDataItems)a.Release();C3.clearArray(this._propertyTrackDataItems),this._propertyTrackDataItems=null,this._propertyKeyframeTimeMap.clear(),this._propertyKeyframeTimeMap=null}GetTrackDataItem(){return this._trackDataItem}AddEmptyPropertyTrackDataItem(){const a=new b(null,this);return this._propertyTrackDataItems.push(a),a}GetFirstPropertyKeyframeDataItem(a){const b=a.GetPropertyKeyframeData();return b.GetPropertyKeyframeDataItemArray()[0]}GetLastPropertyKeyframeDataItem(a){const b=a.GetPropertyKeyframeData(),c=b.GetPropertyKeyframeDataItemArray();return c[c.length-1]}GetPropertyKeyFrameDataItemAtTime(a,b){const c=this._propertyKeyframeTimeMap.get(b);if(!!c&&c.has(a))return c.get(a);const d=b.GetPropertyKeyframeData();for(const e of d.propertyKeyframeDataItems())if(e.GetTime()===a)return c||this._propertyKeyframeTimeMap.set(b,new Map),this._propertyKeyframeTimeMap.get(b).set(a,e),e}GetFirstPropertyKeyFrameDataItemHigherThan(a,b){const c=b.GetPropertyKeyframeData();for(const d of c.propertyKeyframeDataItems())if(d.GetTime()>a)return d}GetFirstPropertyKeyFrameDataItemHigherOrEqualThan(a,b){const c=b.GetPropertyKeyframeData();for(const d of c.propertyKeyframeDataItems())if(d.GetTime()>=a)return d}GetFirstPropertyKeyFrameDataItemLowerOrEqualThan(a,b){const c=b.GetPropertyKeyframeData();for(const d of c.propertyKeyframeDataItemsReverse())if(d.GetTime()<=a)return d}*propertyTrackDataItems(){for(const a of this._propertyTrackDataItems)yield a}_SaveToJson(){return{"propertyTrackDataItemsJson":this._propertyTrackDataItems.map((a)=>a._SaveToJson())}}_LoadFromJson(a){a&&C3.TimelineDataManager._LoadDataItemsFromJson(this._propertyTrackDataItems,a["propertyTrackDataItemsJson"],b,this)}}} + +// c3/timelines/data/keyframeData.js +"use strict";{class a{constructor(a,b){if(this._keyframeData=b,this._time=-1,this._ease="noease",this._enable=!1,this._tags=null,this._lowerTags=null,!!a){this._time=a[0],this._ease=a[1],this._enable=!!a[2];const b=a[3];this._tags=b?b.split(" "):[],this._lowerTags=new Set(this._tags.map((a)=>a.toLowerCase()))}}Release(){this._keyframeData=null,C3.clearArray(this._tags),this._tags=null,this._lowerTags.clear(),this._lowerTags=null}GetKeyframeData(){return this._keyframeData}GetTime(){return this._time}SetTime(a){this._time=a}GetEase(){return this._ease}SetEase(a){this._ease=a}GetEnable(){return this._enable}SetEnable(a){this._enable=!!a}GetTags(){return this._tags}SetTags(a){this._tags=a?a.split(" "):[],this._lowerTags=new Set(this._tags.map((a)=>a.toLowerCase()))}GetLowerTags(){return this._lowerTags}HasTag(a){return this._lowerTags.has(a.toLowerCase())}_SaveToJson(){return{"time":this._time,"ease":this._ease,"enable":this._enable,"tags":this._tags}}_LoadFromJson(a){a&&(this._time=a["time"],this._ease=a["ease"],this._enable=a["enable"],this._tags=a["tags"],this._lowerTags=new Set(this._tags.map((a)=>a.toLowerCase())))}}C3.KeyframeData=class{constructor(b,c){this._trackDataItem=c,this._keyframeDataItems=[],C3.TimelineDataManager._CreateDataItems(this._keyframeDataItems,b,a,this)}Release(){this._trackDataItem=null;for(const a of this._keyframeDataItems)a.Release();C3.clearArray(this._keyframeDataItems),this._keyframeDataItems=null}GetTrackDataItem(){return this._trackDataItem}GetKeyframeDataItemCount(){return this._keyframeDataItems.length}GetKeyframeDataItemArray(){return this._keyframeDataItems}AddEmptyKeyframeDataItem(){const b=new a(null,this);return this._keyframeDataItems.push(b),b}DeleteKeyframeDataItems(a){for(const b of this._keyframeDataItems){if(!a(b))continue;const c=this._keyframeDataItems.indexOf(b);-1===c||(b.Release(),this._keyframeDataItems.splice(c,1))}this.SortKeyframeDataItems()}SortKeyframeDataItems(){this._keyframeDataItems.sort((c,a)=>c.GetTime()-a.GetTime())}GetKeyframeDataItemIndex(a){return this._keyframeDataItems.indexOf(a)}GetKeyframeDataItemFromIndex(a){return this._keyframeDataItems[a]}*keyframeDataItems(){for(const a of this._keyframeDataItems)yield a}*keyframeDataItemsReverse(){for(let a=this._keyframeDataItems.length-1;0<=a;a--)yield this._keyframeDataItems[a]}_SaveToJson(){return{"keyframeDataItemsJson":this._keyframeDataItems.map((a)=>a._SaveToJson())}}_LoadFromJson(b){b&&C3.TimelineDataManager._LoadDataItemsFromJson(this._keyframeDataItems,b["keyframeDataItemsJson"],a,this)}}} + +// c3/timelines/data/propertyKeyframeData.js +"use strict";{const a=0;class b{constructor(b,c){this._propertyKeyframeData=c,this._value=null,this._aValue=null,this._type="",this._time=NaN,this._ease="noease",this._enable=!1,this._addonData=null;b&&(this._value=b[a][0],this._aValue=b[a][1],this._type=b[a][2],this._time=b[1],this._ease=b[2],this._enable=!!b[3],this._addonData=null,!!b[4]&&(this._addonData=new C3.AddonData(b[4],this)))}Release(){this._propertyKeyframeData=null,this._addonData&&(this._addonData.Release(),this._addonData=null)}GetAddonData(){return this._addonData}GetValue(){return this._value}SetValue(a){"color"===this._type&&C3.IsFiniteNumber(a)?(this._value[0]=C3.GetRValue(a),this._value[1]=C3.GetGValue(a),this._value[2]=C3.GetBValue(a)):this._value=a}GetAbsoluteValue(){return this._aValue}SetAbsoluteValue(a){"color"===this._type&&C3.IsFiniteNumber(a)?(this._aValue[0]=C3.GetRValue(a),this._aValue[1]=C3.GetGValue(a),this._aValue[2]=C3.GetBValue(a)):this._aValue=a}GetValueWithResultMode(){const a=this._propertyKeyframeData.GetPropertyTrackDataItem().GetResultMode();if("relative"===a)return this.GetValue();return"absolute"===a?this.GetAbsoluteValue():void 0}GetType(){return this._type}SetType(a){this._type=a}GetTime(){return this._time}SetTime(a){this._time=a}GetEase(){return this._ease}SetEase(a){this._ease=a}GetEnable(){return this._enable}SetEnable(a){this._enable=!!a}GetAddOn(a){if(this.GetAddonData())for(const b of this.GetAddonData().addonDataItems())if(b.GetId()===a)return b}_SaveToJson(){const a=this._addonData;return{"addonDataJson":a?a._SaveToJson():a,"value":this._value,"aValue":this._aValue,"type":this._type,"time":this._time,"ease":this._ease,"enable":this._enable}}_LoadFromJson(a){a&&(a["addonDataJson"]&&this._addonData._SetFromJson(a["addonDataJson"]),this._value=a["value"],this._aValue=a["aValue"],this._type=a["type"],this._time=a["time"],this._ease=a["ease"],this._enable=a["enable"])}}C3.PropertyKeyframeData=class{constructor(a,c){this._propertyTrackDataItem=c,this._propertyKeyframeDataItems=[],C3.TimelineDataManager._CreateDataItems(this._propertyKeyframeDataItems,a,b,this)}Release(){this._propertyTrackDataItem=null;for(const a of this._propertyKeyframeDataItems)a.Release();C3.clearArray(this._propertyKeyframeDataItems),this._propertyKeyframeDataItems=null}AddEmptyPropertyKeyframeDataItem(){const a=new b(null,this);return this._propertyKeyframeDataItems.push(a),a}DeletePropertyKeyframeDataItems(a){for(const b of this._propertyKeyframeDataItems){if(!a(b))continue;const c=this._propertyKeyframeDataItems.indexOf(b);-1===c||(b.Release(),this._propertyKeyframeDataItems.splice(c,1))}this.SortPropertyKeyFrameDataItems()}SortPropertyKeyFrameDataItems(){this._propertyKeyframeDataItems.sort((c,a)=>c.GetTime()-a.GetTime())}GetPropertyTrackDataItem(){return this._propertyTrackDataItem}GetPropertyKeyframeDataItemCount(){this._propertyKeyframeDataItems.length}GetPropertyKeyframeDataItemArray(){return this._propertyKeyframeDataItems}*propertyKeyframeDataItems(){for(const a of this._propertyKeyframeDataItems)yield a}*propertyKeyframeDataItemsReverse(){for(let a=this._propertyKeyframeDataItems.length-1;0<=a;a--)yield this._propertyKeyframeDataItems[a]}_SaveToJson(){return{"propertyKeyframeDataItemsJson":this._propertyKeyframeDataItems.map((a)=>a._SaveToJson())}}_LoadFromJson(a){a&&C3.TimelineDataManager._LoadDataItemsFromJson(this._propertyKeyframeDataItems,a["propertyKeyframeDataItemsJson"],b,this)}}} + +// c3/timelines/data/propertyKeyframeAddonData.js +"use strict";{class a{constructor(a,b){this._addonData=b,this._id=a[0],this._data=a[1]}Release(){this._addonData=null,this._data=null}GetAddonData(){return this._addonData}GetId(){return this._id}_SaveToJson(){return{"id":this._id,"data":this._data}}_LoadFromJson(a){a&&(this._id=a["id"],this._data=a["data"])}}class b extends a{constructor(a,b){super(a,b),this._startAnchor=this._data[0],this._startEnable=!!this._data[1],this._endAnchor=this._data[2],this._endEnable=!!this._data[3]}Release(){super.Release()}GetStartAnchor(){return this._startAnchor}GetStartEnable(){return this._startEnable}GetEndAnchor(){return this._endAnchor}GetEndEnable(){return this._endEnable}_SaveToJson(){return Object.assign(super._SaveToJson(),{"startAnchor":this._startAnchor,"startEnable":!!this._startEnable,"endAnchor":this._endAnchor,"endEnable":!!this._endEnable})}_LoadFromJson(a){a&&(super._LoadFromJson(a),this._startAnchor=a["startAnchor"],this._startEnable=!!a["startEnable"],this._endAnchor=a["endAnchor"],this._endEnable=!!a["endEnable"])}}C3.AddonData=class{constructor(a,c){this._propertyKeyframeDataItem=c,this._addonDataItems=[],C3.TimelineDataManager._CreateDataItems(this._addonDataItems,a,{prop:0,map:new Map([["cubic-bezier",b]])},this)}Release(){this._propertyKeyframeDataItem=null;for(const a of this._addonDataItems)a.Release();C3.clearArray(this._addonDataItems),this._addonDataItems=null}GetPropertyKeyframeDataItem(){return this._propertyKeyframeDataItem}*addonDataItems(){for(const a of this._addonDataItems)yield a}_SaveToJson(){return{"addonDataItemsJson":this._addonDataItems.map((a)=>a._SaveToJson())}}_LoadFromJson(a){a&&C3.TimelineDataManager._LoadDataItemsFromJson(this._addonDataItems,a["addonDataItemsJson"],{prop:"id",map:new Map([["cubic-bezier",b]])},this)}}} + +// c3/timelines/tweens/tween.js +"use strict";{let a=0;C3.Tween=class extends C3.TimelineState{constructor(b,c){super(`tween-${a++}`,b,c),this._id="",this._destroyInstanceOnComplete=!1,this._initialValueMode="start-value",this._on_completed_callbacks=null,this._on_started_callbacks=null}GetInstance(){const a=this.GetTracks();if(a&&a.length){const b=a[0];if(b){const a=b.GetInstance();return b.IsInstanceValid()?a:null}}}AddStartedCallback(a){this._on_started_callbacks||(this._on_started_callbacks=[]),this._on_started_callbacks.push(a)}AddCompletedCallback(a){this._on_completed_callbacks||(this._on_completed_callbacks=[]),this._on_completed_callbacks.push(a)}RemoveStartedCallback(a){if(this._on_started_callbacks){const b=this._on_started_callbacks.indexOf(a);-1!==b&&this._on_started_callbacks.splice(b,1)}}RemoveCompletedCallback(a){if(this._on_completed_callbacks){const b=this._on_completed_callbacks.indexOf(a);-1!==b&&this._on_completed_callbacks.splice(b,1)}}SetStartValue(a,b){for(const c of this._tracks)for(const d of c._propertyTracks){if(d.GetPropertyName()!==b)continue;const c=d.GetPropertyTrackData(),e=d.GetPropertyTrackDataItem(),f=c.GetFirstPropertyKeyframeDataItem(e);f.SetValue(a),f.SetAbsoluteValue(a)}}_GetPropertyTrackState(a){for(const b of this._tracks)for(const c of b._propertyTracks)if(c.GetPropertyName()===a)return c}BeforeSetEndValues(a,b){for(const c of b){const a=this._GetPropertyTrackState(c);this.SetStartValue(a.GetCurrentState(),c)}this.IsForwardPlayBack()?(this.SetTotalTime(this.GetTotalTime()-this.GetTime()),this._SetTime(0)):(this.SetTotalTime(this.GetTime()),this._SetTime(this.GetTotalTime())),this.SetInitialStateFromSetTime()}SetEndValue(a,b){const c=this._GetPropertyTrackState(b),d=c.GetPropertyTrackData(),e=c.GetPropertyTrackDataItem(),f=d.GetLastPropertyKeyframeDataItem(e);f.SetTime(this.GetTotalTime()),f.SetValue(a),f.SetAbsoluteValue(a)}SetId(a){this._id=a}GetId(){return this._id}SetInitialValueMode(a){this._initialValueMode=a}GetInitialValueMode(){return this._initialValueMode}SetDestroyInstanceOnComplete(a){this._destroyInstanceOnComplete=a}GetDestroyInstanceOnComplete(){return this._destroyInstanceOnComplete}OnStarted(){if(this._on_started_callbacks)for(const a of this._on_started_callbacks)a(this);if(!this.IsComplete())for(const a of this._tracks)a.CompareSaveStateWithCurrent()}OnCompleted(){this._completedTick=this._runtime.GetTickCount()}FinishTriggers(){if(!this._finishedTriggers&&(this._finishedTriggers=!0,this._on_completed_callbacks))for(const a of this._on_completed_callbacks)a(this)}SetTime(a){this._DeleteIntermediateKeyframes(),super.SetTime(a)}SetInitialState(a){if(!this.InitialStateSet()&&this.GetInitialValueMode()==="current-state")for(const a of this._tracks)a.CompareInitialStateWithCurrent();super.SetInitialState(a)}Stop(a=!1){if(super.Stop(a),!this.IsComplete())for(const a of this._tracks)a.SaveState()}Reset(){this._DeleteIntermediateKeyframes(),super.Reset()}_DeleteIntermediateKeyframes(){for(const a of this._tracks){const b=(a)=>{const b=a.GetTime(),c=this.GetTotalTime();return 0!==b&&b!==c};a.DeleteKeyframes(b),a.DeletePropertyKeyframes(b)}}MaybeTriggerKeyframeReachedConditions(){}Tick(){const a=this.GetInstance(),b=this.GetRuntime().GetDt(a);super.Tick(b,1)}_SaveToJson(){const a=super._SaveToJson(),b=this.GetTimelineDataItem();return Object.assign(a,{"tweenDataItemJson":b._SaveToJson(),"id":this._id,"destroyInstanceOnComplete":this._destroyInstanceOnComplete,"initialValueMode":this._initialValueMode})}_LoadFromJson(a){if(a){const b=this.GetTimelineDataItem();b._LoadFromJson(a["tweenDataItemJson"]),super._LoadFromJson(a),this._id=a["id"],this._destroyInstanceOnComplete=a["destroyInstanceOnComplete"],this._initialValueMode=a["initialValueMode"]}}static IsPlaying(a){return a.IsPlaying()}static Build(a){const b=a.runtime.GetTimelineManager(),c=new C3.TimelineDataItem;if(a.json){c._LoadFromJson(a.json["tweenDataItemJson"]);const d=new C3.Tween(c,b);return d._LoadFromJson(a.json),d}else{const d=new C3.Tween(c,b);C3.IsArray(a.propertyTracksConfig)||(a.propertyTracksConfig=[a.propertyTracksConfig]),d.SetId(a.id),d.SetTags(a.tags),d.SetInitialValueMode(a.initialValueMode),d.SetDestroyInstanceOnComplete(a.releaseOnComplete),d.SetTotalTime(a.time),d.SetStep(0),d.SetInterpolationMode("default"),d.SetResultMode(a.propertyTracksConfig[0].resultMode);const e=d.AddTrack();e.SetInstanceUID(a.instance.GetUID()),e.SetInterpolationMode("default"),e.SetResultMode(a.propertyTracksConfig[0].resultMode),e.SetEnable(!0),e.SetObjectClassIndex(a.instance.GetObjectClass().GetIndex());const f=e.AddKeyframe();f.SetTime(0),f.SetEase("noease"),f.SetEnable(!0),f.SetTags("");const g=e.AddKeyframe();g.SetTime(a.time),g.SetEase("noease"),g.SetEnable(!0),g.SetTags("");for(const b of a.propertyTracksConfig){const c=e.AddPropertyTrack();c.SetSourceAdapterId(b.sourceId),c.SetSourceAdapterArgs(b.sourceArgs),c.SetPropertyName(b.property),c.SetPropertyType(b.type),c.SetMin(NaN),c.SetMax(NaN),c.SetInterpolationMode("default"),c.SetResultMode(b.resultMode),c.SetEnable(!0);const d=c.AddPropertyKeyframe();d.SetType(b.valueType),d.SetTime(0),d.SetEase(b.ease),d.SetEnable(!0),d.SetValue(b.startValue),d.SetAbsoluteValue(b.startValue);const f=c.AddPropertyKeyframe();f.SetType(b.valueType),f.SetTime(a.time),f.SetEase(b.ease),f.SetEnable(!0),f.SetValue(b.endValue),f.SetAbsoluteValue(b.endValue)}return d}}}} + +// c3/timelines/transitions/transition.js +"use strict";{C3.Transition=class extends C3.DefendedBase{constructor(a){super(),this._name=a[0],this._transitionKeyframes=[];for(const b of a[1]){const a=C3.TransitionKeyframe.Create(this,b);this._transitionKeyframes.push(a)}this._precalculatedSamples=new Map,this._transitionKeyframeCache=new Map,this._PreCalcSamples(),Ease.AddCustomEase(this._name,(a,b,c,d)=>this.Interpolate(a,b,c,d))}static Create(a){return C3.New(C3.Transition,a)}Release(){for(const a of this._transitionKeyframes)a.Release();C3.clearArray(this._transitionKeyframes),this._transitionKeyframes=null,this._precalculatedSamples.clear(),this._precalculatedSamples=null,this._transitionKeyframeCache.clear(),this._transitionKeyframeCache=null}GetTransitionKeyFrameAt(a){const b=this._transitionKeyframeCache.get(a);if(b)return b;for(const b of this._transitionKeyframes)if(b.GetValueX()===a)return this._transitionKeyframeCache.set(a,b),b}GetFirstTransitionKeyFrameHigherThan(a){for(const b of this._transitionKeyframes)if(b.GetValueX()>a)return b}GetFirstTransitionKeyFrameHigherOrEqualThan(a){for(const b of this._transitionKeyframes)if(b.GetValueX()>=a)return b}GetFirstTransitionKeyFrameLowerOrEqualThan(a){for(let b=this._transitionKeyframes.length-1;0<=b;b--){const c=this._transitionKeyframes[b];if(c.GetValueX()<=a)return c}}Interpolate(a,b,c,d){const e=a/d;let f=this.GetTransitionKeyFrameAt(e),g=null;f?g=this.GetFirstTransitionKeyFrameHigherThan(e):(f=this.GetFirstTransitionKeyFrameLowerOrEqualThan(e),g=this.GetFirstTransitionKeyFrameHigherOrEqualThan(e));const h=g.GetValueX()-f.GetValueX(),i=C3.mapToRange(e,f.GetValueX(),g.GetValueX(),0,h),j=f.GetValueX(),k=f.GetValueY(),l=f.GetValueX()+f.GetStartAnchorX(),m=f.GetValueY()+f.GetStartAnchorY(),n=g.GetValueX()+g.GetEndAnchorX(),o=g.GetValueY()+g.GetEndAnchorY(),p=g.GetValueX(),q=g.GetValueY();let r=Ease.GetEase("spline")(i,j,k,l,m,n,o,p,q,this._precalculatedSamples.get(f));return r+=f.GetValueY(),(1-r)*b+r*(b+c)}_PreCalcSamples(){this._precalculatedSamples.clear();for(let a=0;athis._InvokeFunctionFromJS(a,b)}Release(){this.ClearAllScheduledWaits(),this._eventStack.Release(),this._eventStack=null,this._localVarStack.Release(),this._localVarStack=null,C3.clearArray(this._queuedTriggers),C3.clearArray(this._queuedDebugTriggers),this._runtime=null,C3.clearArray(this._allSheets),this._sheetsByName.clear()}Create(a){const b=C3.New(C3.EventSheet,this,a);this._allSheets.push(b),this._sheetsByName.set(b.GetName().toLowerCase(),b)}_AddTriggerToPostInit(a){this._triggersToPostInit.push(a)}_PostInit(){for(const a of this._functionBlocksByName.values())a._PostInit(!1);for(const a of this._allSheets)a._PostInit();for(const a of this._allSheets)a._UpdateDeepIncludes();for(const a of this._triggersToPostInit)a._PostInit(!1);C3.clearArray(this._triggersToPostInit),this._localVarStack._SetInitialValues(this._localVarInitialValues)}GetRuntime(){return this._runtime}GetEventSheetByName(a){return this._sheetsByName.get(a.toLowerCase())||null}_RegisterGroup(a){this._allGroups.push(a),this._groupsByName.set(a.GetGroupName(),a)}_RegisterEventBlock(a){this._blocksBySid.set(a.GetSID(),a)}_RegisterCondition(a){this._cndsBySid.set(a.GetSID(),a)}_RegisterAction(a){this._actsBySid.set(a.GetSID(),a)}_RegisterFunctionBlock(a){this._functionBlocksByName.set(a.GetFunctionName().toLowerCase(),a)}_RegisterEventVariable(a){this._eventVarsBySid.set(a.GetSID(),a),a.IsGlobal()?this._allGlobalVars.push(a):this._allLocalVars.push(a)}_DeduplicateSolModifierList(c){2<=c.length&&c.sort(a);let d=this._allUniqueSolModifiers.get(c.length);d||(d=[],this._allUniqueSolModifiers.set(c.length,d));for(let a=0,e=d.length;ad=a);return this._queuedDebugTriggers.push([a,b,c,d]),e}*_RunQueuedDebugTriggersGen(){if(this._runtime.HitBreakpoint())throw new Error("should not be in breakpoint");for(const a=this._runtime.GetLayoutManager();this._queuedDebugTriggers.length;){const[b,c,d,e]=this._queuedDebugTriggers.shift(),f=yield*this._DebugTrigger(a,b,c,d);e(f)}}async RunQueuedDebugTriggersAsync(){for(const a of this._RunQueuedDebugTriggersGen())await this._runtime.DebugBreak(a)}_FastTrigger(a,b,c,d){let e=!1;const f=a.GetMainRunningLayout(),g=f.GetEventSheet();if(g){this._executingTriggerDepth++,this._runtime.PushCurrentLayout(f);const a=g.deepIncludes();for(let f=0,g=a.length;fa.ShouldRelease());for(const b of a)b.Release()}ClearAllScheduledWaits(){for(const a of this._scheduledWaits)a.Release();C3.clearArray(this._scheduledWaits)}RemoveInstancesFromScheduledWaits(a){for(const b of this._scheduledWaits)b.RemoveInstances(a)}AddAsyncActionPromise(a){this._asyncActionPromises.push(a)}ClearAsyncActionPromises(){C3.clearArray(this._asyncActionPromises)}GetPromiseForAllAsyncActions(){const a=Promise.all(this._asyncActionPromises);return this._asyncActionPromises=[],a}_SaveToJson(){return{"groups":this._SaveGroupsToJson(),"cnds":this._SaveCndsToJson(),"acts":this._SaveActsToJson(),"vars":this._SaveVarsToJson(),"waits":this._SaveScheduledWaitsToJson()}}_LoadFromJson(a){this._LoadGroupsFromJson(a["groups"]),this._LoadCndsFromJson(a["cnds"]),this._LoadActsFromJson(a["acts"]),this._LoadVarsFromJson(a["vars"]),this._LoadScheduledWaitsFromJson(a["waits"])}_SaveGroupsToJson(){const a={};for(const b of this.GetAllGroups())a[b.GetSID().toString()]=b.IsGroupActive();return a}_LoadGroupsFromJson(a){for(const[b,c]of Object.entries(a)){const a=parseInt(b,10),d=this.GetEventGroupBySID(a);d&&d.SetGroupActive(c)}}_SaveCndsToJson(){const a={};for(const[b,c]of this._cndsBySid){const d=c._SaveToJson();d&&(a[b.toString()]=d)}return a}_LoadCndsFromJson(a){for(const[b,c]of Object.entries(a)){const a=parseInt(b,10),d=this.GetConditionBySID(a);d&&d._LoadFromJson(c)}}_SaveActsToJson(){const a={};for(const[b,c]of this._actsBySid){const d=c._SaveToJson();d&&(a[b.toString()]=d)}return a}_LoadActsFromJson(a){for(const[b,c]of Object.entries(a)){const a=parseInt(b,10),d=this.GetActionBySID(a);d&&d._LoadFromJson(c)}}_SaveVarsToJson(){const a={};for(const[b,c]of this._eventVarsBySid)!c.IsConstant()&&(c.IsGlobal()||c.IsStatic())&&(a[b.toString()]=c.GetValue());return a}_LoadVarsFromJson(a){for(const[b,c]of Object.entries(a)){const a=parseInt(b,10),d=this.GetEventVariableBySID(a);d&&d.SetValue(c)}}_SaveScheduledWaitsToJson(){return this._scheduledWaits.filter((a)=>!a.IsPromise()).map((a)=>a._SaveToJson())}_LoadScheduledWaitsFromJson(a){this.ClearAllScheduledWaits();for(const b of a){const a=C3.ScheduledWait._CreateFromJson(this,b);a&&this._scheduledWaits.push(a)}}_GetPerfRecords(){return[...this._runtime.GetLayoutManager().runningLayouts()].map((a)=>a.GetEventSheet()).filter((a)=>a).map((a)=>a._GetPerfRecord())}FindFirstFunctionBlockParent(a){for(;a;){const b=a.GetScopeParent();if(b instanceof C3.FunctionBlock)return b;a=a.GetParent()}return null}_InvokeFunctionFromJS(a,b){Array.isArray(b)||(b=[]);const c=this.GetFunctionBlockByName(a.toLowerCase());if(!c)return null;if(!c.IsEnabled())return c.GetDefaultReturnValue();const d=c.GetFunctionParameters();if(b.lengtha.DebugCanRunFast()),a.canRunAllActionsFast=this._actions.every((b)=>b.DebugCanRunFast()),a.canRunAllSubEventsFast=this._subEvents.every((a)=>a.DebugCanRunFast()),a.canRunSelfFast=a.canRunAllConditionsFast&&a.canRunAllActionsFast&&a.canRunAllSubEventsFast}_UpdateCanRunFastRecursive(){let a=this;do a._UpdateCanRunFast(),a=a.GetParent();while(a)}_IdentifyTopLevelGroup(){if(!this.IsGroup())return;let a=this.GetParent();for(this._isTopLevelGroup=!0;a;){if(!a.IsGroup()){this._isTopLevelGroup=!1;break}a=a.GetParent()}}_IdentifySolModifiersIncludingParents(){const a=this._runtime.GetAllObjectClasses();if(this._solModifiers===a)this._solModifiersIncludingParents=a;else{this._solModifiersIncludingParents=C3.cloneArray(this._solModifiers);for(let a=this.GetParent();a;){for(const b of a._solModifiers)this._AddParentSolModifier(b);a=a.GetParent()}const a=this.GetEventSheetManager();this._solModifiers=a._DeduplicateSolModifierList(this._solModifiers),this._solModifiersIncludingParents=a._DeduplicateSolModifierList(this._solModifiersIncludingParents)}}_IdentifyTriggerParents(){if(this.HasAnyTriggeredCondition()){this._triggerParents=[];for(let a=this.GetParent();a;)this._triggerParents.push(a),a=a.GetParent();this._triggerParents.reverse()}}SetSolWriterAfterCnds(){this._isSolWriterAfterCnds=!0,this._parent&&this._parent.SetSolWriterAfterCnds()}IsSolWriterAfterCnds(){return this._isSolWriterAfterCnds}GetSolModifiers(){return this._solModifiers}GetSolModifiersIncludingParents(){return this._hasGotSolModifiersIncludingParents||(this._hasGotSolModifiersIncludingParents=!0,this._IdentifySolModifiersIncludingParents()),this._solModifiersIncludingParents}HasSolModifier(a){return this._solModifiers.includes(a)}GetTriggerParents(){return this._triggerParents}GetEventSheet(){return this._eventSheet}GetEventSheetManager(){return this._eventSheet.GetEventSheetManager()}GetRuntime(){return this._runtime}GetParent(){return this._parent}_SetScopeParent(a){this._scopeParent=a}GetScopeParent(){return this._scopeParent||this._parent}GetDisplayNumber(){return this._displayNumber}IsDebugBreakable(){return this._debugData&&this._debugData.isBreakable}IsDebugBreakpoint(){return this.IsDebugBreakable()&&this._debugData.isBreakpoint}_SetDebugBreakpoint(a){this._debugData.isBreakpoint=!!a,this._UpdateCanRunFastRecursive()}IsGroup(){return this._isGroup}IsTopLevelGroup(){return this._isTopLevelGroup}IsElseBlock(){return this._isElseBlock}HasElseBlock(){return this._hasElseBlock}GetGroupName(){return this._groupName}IsGroupActive(){return this._isGroupActive}ResetInitialActivation(){this.SetGroupActive(this._isInitiallyActive)}SetGroupActive(b){if(b=!!b,!this._isGroup)throw new Error("not a group");if(this._isGroupActive!==b){this._isGroupActive=b;for(const a of this._containedIncludes)a.UpdateActive();if(this._containedIncludes.length){const a=this._runtime.GetCurrentLayout(),b=a.GetEventSheet();b&&b._UpdateDeepIncludes()}}}GetSID(){return this._sid}IsOrBlock(){return this._isOrBlock}IsTrigger(){return this._conditions.length&&this._conditions[0].IsTrigger()}IsForFunctionBlock(){return this._scopeParent&&this._scopeParent instanceof C3.FunctionBlock}HasAnyTriggeredCondition(){return this.IsForFunctionBlock()||this._conditions.some((a)=>a.IsTrigger())}GetConditions(){return this._conditions}GetConditionCount(){return this._conditions.length}GetConditionAt(a){if(a=Math.floor(a),0>a||a>=this._conditions.length)throw new RangeError("invalid condition index");return this._conditions[a]}GetConditionByDebugIndex(a){return this.GetConditionAt(a)}IsFirstConditionOfType(a){let b=a.GetIndex();if(0===b)return!0;for(--b;0<=b;--b)if(this._conditions[b].GetObjectClass()===a.GetObjectClass())return!1;return!0}GetActions(){return this._actions}GetActionCount(){return this._actions.length}GetActionAt(a){if(a=Math.floor(a),0>a||a>=this._actions.length)throw new RangeError("invalid action index");return this._actions[a]}GetActionByDebugIndex(b){b=Math.floor(b);const a=this._actions.find((c)=>c.GetDebugIndex()===b);if(!a)throw new RangeError("invalid action debug index");return a}_HasActionIndex(a){return a=Math.floor(a),0<=a&&aa instanceof C3.EventVariable)}RunPreTrigger(a){a.SetCurrentEvent(this);let b=!1;const d=this._conditions;for(let e=0,c=d.length;ea.Get(0));a.GetLocalVarStack().Push(),this._scopeParent.SetFunctionParameters(c)}else this._scopeParent.EvaluateFunctionParameters(b)}RunAsFunctionCall(a,b){let c,d;const e=0C3.EventVariable.Create(a,this,b)),this._isEnabled=d[3],this._isAsync=d[4],this._nextAsyncId=0,this._currentAsyncId=-1,this._asyncMap=new Map,this._eventBlock=C3.EventBlock.Create(a,b,c),this._eventBlock._SetScopeParent(this)}static Create(a,b,c){return C3.New(C3.FunctionBlock,a,b,c)}_PostInit(){for(const a of this._functionParameters)a._PostInit();this._eventBlock._PostInit(!1)}_GetEventVariableNameInScope(a){for(const b of this._functionParameters)if(C3.equalsNoCase(a,b.GetName()))return b;return null}_GetAllLocalVariablesInScope(){return this._functionParameters}GetFunctionParameters(){return this._functionParameters}GetFunctionParameterCount(){return this._functionParameters.length}EvaluateFunctionParameters(a){const b=this._functionParameters;for(let c=0,d=b.length;ca.GetValue())}GetParent(){return this._parent}GetScopeParent(){return this._parent}GetFunctionName(){return this._functionName}GetReturnType(){return this._returnType}IsEnabled(){return this._isEnabled}GetDefaultReturnValue(){switch(this._returnType){case 0:return null;case 2:return"";default:return 0;}}GetEventBlock(){return this._eventBlock}IsAsync(){return this._isAsync}StartAsyncFunctionCall(){const a=this._nextAsyncId++;this._currentAsyncId=a;let b;const c=new Promise((a)=>b=a);return this._asyncMap.set(a,{resolve:b,pauseCount:0}),[a,c]}MaybeFinishAsyncFunctionCall(a){const b=this._asyncMap.get(a);0===b.pauseCount&&(b.resolve(),this._asyncMap.delete(a));this._currentAsyncId=-1}PauseCurrentAsyncFunction(){const a=this._asyncMap.get(this._currentAsyncId);return a.pauseCount++,this._currentAsyncId}ResumeAsyncFunction(a){this._currentAsyncId=a;const b=this._asyncMap.get(a);b.pauseCount--}}; + +// c3/events/eventVariable.js +"use strict";{const a=[];C3.EventVariable=class extends C3.DefendedBase{constructor(a,b,c){super();const d=a.GetEventSheetManager();this._eventSheet=a,this._eventSheetManager=d,this._runtime=a.GetRuntime(),this._parent=b,this._localVarStack=d.GetLocalVarStack(),this._name=c[1],this._type=c[2],this._initialValue=c[3],this._isStatic=!!c[4],this._isConstant=!!c[5],this._isFunctionParameter=b instanceof C3.FunctionBlock,this._sid=c[6],this._jsPropName=this._runtime.GetJsPropName(c[8]),this._scriptSetter=(a)=>this.SetValue(a),this._scriptGetter=()=>this.GetValue(),this._hasSingleValue=!this._parent||this._isStatic||this._isConstant,this._value=this._initialValue,this._localIndex=-1,this.IsBoolean()&&(this._value=this._value?1:0),!this.IsLocal()||this.IsStatic()||this.IsConstant()||(this._localIndex=d._GetNextLocalVarIndex(this)),d._RegisterEventVariable(this)}static Create(a,b,c){return C3.New(C3.EventVariable,a,b,c)}_PostInit(){}GetName(){return this._name}GetJsPropName(){return this._jsPropName}GetParent(){return this._parent}IsGlobal(){return!this.GetParent()}IsLocal(){return!this.IsGlobal()}IsFunctionParameter(){return this._isFunctionParameter}IsStatic(){return this._isStatic}IsConstant(){return this._isConstant}IsNumber(){return 0===this._type}IsString(){return 1===this._type}IsBoolean(){return 2===this._type}IsElseBlock(){return!1}GetSID(){return this._sid}GetInitialValue(){return this._initialValue}GetSolModifiers(){return a}Run(){!this.IsLocal()||this.IsStatic()||this.IsConstant()||this.SetValue(this.GetInitialValue())}DebugCanRunFast(){return!0}*DebugRun(a){this.Run(a)}SetValue(a){this.IsNumber()?"number"!=typeof a&&(a=parseFloat(a)):this.IsString()?"string"!=typeof a&&(a=a.toString()):this.IsBoolean()&&(a=a?1:0),this._hasSingleValue?this._value=a:this._localVarStack.GetCurrent()[this._localIndex]=a}GetValue(){return this._hasSingleValue?this._value:this._localVarStack.GetCurrent()[this._localIndex]}GetTypedValue(){let a=this.GetValue();return this.IsBoolean()&&(a=!!a),a}ResetToInitialValue(){this._value=this._initialValue}_GetScriptInterfaceDescriptor(){return{configurable:!1,enumerable:!0,get:this._scriptGetter,set:this._scriptSetter}}}} + +// c3/events/eventInclude.js +"use strict";{const a=[];C3.EventInclude=class extends C3.DefendedBase{constructor(a,b,c){super();const d=a.GetEventSheetManager();this._eventSheet=a,this._eventSheetManager=d,this._runtime=a.GetRuntime(),this._parent=b,this._includeSheet=null,this._includeSheetName=c[1],this._isActive=!0}static Create(a,b,c){return C3.New(C3.EventInclude,a,b,c)}_PostInit(){this._includeSheet=this._eventSheetManager.GetEventSheetByName(this._includeSheetName);this._eventSheet._AddShallowInclude(this);for(let a=this.GetParent();a;)a instanceof C3.EventBlock&&a.IsGroup()&&a._AddContainedInclude(this),a=a.GetParent();this.UpdateActive(),this._runtime.IsDebug()&&this._eventSheet._GetPerfRecord().children.push(this._includeSheet._GetPerfRecord())}GetParent(){return this._parent}GetSolModifiers(){return a}GetIncludeSheet(){return this._includeSheet}Run(){const a=!!this.GetParent(),b=this._runtime.GetAllObjectClasses();a&&this._eventSheetManager.PushCleanSol(b),this._includeSheet.Run(),a&&this._eventSheetManager.PopSol(b)}*DebugRun(){const a=!!this.GetParent(),b=this._runtime.GetAllObjectClasses();a&&this._eventSheetManager.PushCleanSol(b),yield*this._includeSheet.DebugRun(),a&&this._eventSheetManager.PopSol(b)}DebugCanRunFast(){return!1}IsActive(){return this._isActive}UpdateActive(){for(let a=this.GetParent();a;){if(a instanceof C3.EventBlock&&a.IsGroup()&&!a.IsGroupActive())return void(this._isActive=!1);a=a.GetParent()}this._isActive=!0}}} + +// c3/events/expNode.js +"use strict";{function a(a,b){return a>=b?a%b:0>a?(a<=-b&&(a%=b),0>a&&(a+=b),a):a}C3.ExpNode=class extends C3.DefendedBase{constructor(a){super(),this._owner=a,this._runtime=a.GetRuntime()}_PostInit(){}static CreateNode(a,h){const i=h[0];return C3.New([f,d,e,g,b,c][i],a,h)}};class b extends C3.ExpNode{constructor(a,b){super(a),this._systemPlugin=this._runtime.GetSystemPlugin(),this._func=this._runtime.GetObjectReference(b[1]);(this._func===C3.Plugins.System.Exps.random||this._func===C3.Plugins.System.Exps.choose)&&this._owner.SetVariesPerInstance()}GetBoundMethod(){return this._systemPlugin._GetBoundACEMethod(this._func,this._systemPlugin)}}class c extends C3.ExpNode{constructor(a,b){super(a),this._functionBlock=null,this._functionName=b[1],this._owner.SetVariesPerInstance()}_PostInit(){const a=this._runtime.GetEventSheetManager();this._functionBlock=a.GetFunctionBlockByName(this._functionName);this._functionName=null;const b=this._owner.GetEventBlock(),c=this._functionBlock.GetEventBlock();this._combinedSolModifiers=[...new Set([...b.GetSolModifiersIncludingParents(),...c.GetSolModifiersIncludingParents()])],this._combinedSolModifiers=a._DeduplicateSolModifierList(this._combinedSolModifiers)}GetBoundMethod(){const a=this._functionBlock;if(a.IsEnabled()){const b=a.GetEventBlock();return C3.EventBlock.prototype.RunAsExpressionFunctionCall.bind(b,this._combinedSolModifiers,a.GetReturnType(),a.GetDefaultReturnValue())}else{const b=a.GetDefaultReturnValue();return()=>b}}}class d extends C3.ExpNode{constructor(a,b){super(a),this._objectClass=this._runtime.GetObjectClassByIndex(b[1]),this._func=this._runtime.GetObjectReference(b[2]);this._returnsString=!!b[3],this._eventStack=this._runtime.GetEventSheetManager().GetEventStack(),this._owner._MaybeVaryFor(this._objectClass)}GetBoundMethod(){return this._objectClass.GetPlugin()._GetBoundACEMethod(this._func,this._objectClass.GetSingleGlobalInstance().GetSdkInstance())}ExpObject(...b){const c=this._objectClass,d=c.GetCurrentSol().GetExpressionInstances(),e=d.length;if(0===e)return this._returnsString?"":0;const f=a(this._owner.GetSolIndex(),e);return this._eventStack.GetCurrentStackFrame().SetExpressionObjectClass(c),this._func.apply(d[f].GetSdkInstance(),b)}ExpObject_InstExpr(b,...c){const d=this._objectClass,e=d.GetInstances(),f=e.length;if(0===f)return this._returnsString?"":0;const g=a(b,f);return this._eventStack.GetCurrentStackFrame().SetExpressionObjectClass(d),this._func.apply(e[g].GetSdkInstance(),c)}}class e extends C3.ExpNode{constructor(a,b){super(a),this._objectClass=this._runtime.GetObjectClassByIndex(b[1]),this._varIndex=b[3],this._returnsString=!!b[2],this._owner._MaybeVaryFor(this._objectClass)}ExpInstVar(){const b=this._objectClass.GetCurrentSol().GetExpressionInstances(),c=b.length;if(0===c)return this._returnsString?"":0;const d=a(this._owner.GetSolIndex(),c);return b[d]._GetInstanceVariableValueUnchecked(this._varIndex)}ExpInstVar_Family(){const b=this._objectClass,c=b.GetCurrentSol().GetExpressionInstances(),d=c.length;if(0===d)return this._returnsString?"":0;const e=a(this._owner.GetSolIndex(),d),f=c[e],g=f.GetObjectClass().GetFamilyInstanceVariableOffset(b.GetFamilyIndex());return f._GetInstanceVariableValueUnchecked(this._varIndex+g)}ExpInstVar_InstExpr(b){const c=this._objectClass,d=c.GetInstances(),e=d.length;if(0===e)return this._returnsString?"":0;const f=a(b,e),g=d[f];let h=0;return c.IsFamily()&&(h=g.GetObjectClass().GetFamilyInstanceVariableOffset(c.GetFamilyIndex())),g._GetInstanceVariableValueUnchecked(this._varIndex+h)}}class f extends C3.ExpNode{constructor(a,b){super(a),this._objectClass=this._runtime.GetObjectClassByIndex(b[1]),this._behaviorType=this._objectClass.GetBehaviorTypeByName(b[2]),this._behaviorIndex=this._objectClass.GetBehaviorIndexByName(b[2]),this._func=this._runtime.GetObjectReference(b[3]);this._returnsString=!!b[4],this._eventStack=this._runtime.GetEventSheetManager().GetEventStack(),this._owner._MaybeVaryFor(this._objectClass)}ExpBehavior(...b){const c=this._objectClass,d=c.GetCurrentSol().GetExpressionInstances(),e=d.length;if(0===e)return this._returnsString?"":0;const f=a(this._owner.GetSolIndex(),e);this._eventStack.GetCurrentStackFrame().SetExpressionObjectClass(c);const g=d[f];let h=0;return c.IsFamily()&&(h=g.GetObjectClass().GetFamilyBehaviorOffset(c.GetFamilyIndex())),this._func.apply(g.GetBehaviorInstances()[this._behaviorIndex+h].GetSdkInstance(),b)}ExpBehavior_InstExpr(b,...c){const d=this._objectClass,e=d.GetInstances(),f=e.length;if(0===f)return this._returnsString?"":0;const g=a(b,f);this._eventStack.GetCurrentStackFrame().SetExpressionObjectClass(d);const h=e[g];let i=0;return d.IsFamily()&&(i=h.GetObjectClass().GetFamilyBehaviorOffset(d.GetFamilyIndex())),this._func.apply(h.GetBehaviorInstances()[this._behaviorIndex+i].GetSdkInstance(),c)}}class g extends C3.ExpNode{constructor(a,b){super(a),this._eventVar=null,this._eventVarName=b[1]}_PostInit(){this._eventVar=this._runtime.GetEventSheetManager().GetEventVariableByName(this._eventVarName,this._owner.GetEventBlock());this._eventVarName=null}GetVar(){return this._eventVar}}} + +// c3/events/parameter.js +"use strict";{function a(a){const b=self.C3_ExpressionFuncs[a];if(!b)throw new Error("invalid expression number");return b}C3.Parameter=class extends C3.DefendedBase{constructor(a,b,c){super(),this._owner=a,this._index=c,this._type=b,this.Get=null,this._variesPerInstance=!1,this._isConstant=!1}static Create(a,p,q){const r=p[0];return C3.New([b,c,j,e,g,d,h,b,e,e,k,l,j,n,c,i,f,m,o][r],a,r,q,p)}_PostInit(){}SetVariesPerInstance(){this._variesPerInstance=!0}_MaybeVaryFor(a){!this._variesPerInstance&&a&&(a.GetPlugin().IsSingleGlobal()||(this._variesPerInstance=!0))}VariesPerInstance(){return this._variesPerInstance}GetIndex(){return this._index}GetRuntime(){return this._owner.GetRuntime()}GetEventBlock(){return this._owner.GetEventBlock()}IsConstant(){return this._isConstant}};class b extends C3.Parameter{constructor(b,c,d,e){super(b,c,d),this._solIndex=0;const f=e[1];this._expressionNumber=f[0],this._numberedNodes=[],this._expressionFunc=null;for(let a=1,g=f.length;aa||a>=this._numberedNodes.length)throw new RangeError("invalid numbered node");return this._numberedNodes[a]}_PostInit(){for(const a of this._numberedNodes)a._PostInit();const b=a(this._expressionNumber);this._expressionFunc=this._numberedNodes.length?b(this):b}GetSolIndex(){return this._solIndex}GetExpression(a){return this._solIndex=a,this._expressionFunc()}}class c extends b{constructor(a,b,c,d){super(a,b,c,d),this.Get=this.GetStringExpression,14===b&&(this.GetEventBlock().SetAllSolModifiers(),this._owner instanceof C3.Action&&this.GetEventBlock().SetSolWriterAfterCnds())}GetStringExpression(a){this._solIndex=a;const b=this._expressionFunc();return"string"==typeof b?b:""}_GetFastTriggerValue(){return a(this._expressionNumber)()}}class d extends b{constructor(a,b,c,d){super(a,b,c,d),this.Get=this.GetLayer,this._isConstant=!1}GetLayer(a){this._solIndex=a;const b=this._expressionFunc(),c=this.GetRuntime().GetCurrentLayout();return c.GetLayer(b)}}class e extends C3.Parameter{constructor(a,b,c,d){super(a,b,c),this._combo=d[1],this.Get=this.GetCombo,this._isConstant=!0}GetCombo(){return this._combo}}class f extends C3.Parameter{constructor(a,b,c,d){super(a,b,c),this._bool=d[1],this.Get=this.GetBoolean,this._isConstant=!0}GetBoolean(){return this._bool}}class g extends C3.Parameter{constructor(a,b,c,d){super(a,b,c),this._objectClass=this.GetRuntime().GetObjectClassByIndex(d[1]);this.Get=this.GetObjectClass;const e=this.GetEventBlock();e._AddSolModifier(this._objectClass),this._owner instanceof C3.Action?e.SetSolWriterAfterCnds():e.GetParent()&&e.GetParent().SetSolWriterAfterCnds(),this._isConstant=!0}GetObjectClass(){return this._objectClass}}class h extends C3.Parameter{constructor(a,b,c,d){super(a,b,c),this._layout=this.GetRuntime().GetLayoutManager().GetLayoutByName(d[1]),this.Get=this.GetLayout,this._isConstant=!0}GetLayout(){return this._layout}}class i extends C3.Parameter{constructor(a,b,c,d){super(a,b,c),this._timeline=this.GetRuntime().GetTimelineManager().GetTimelineByName(d[1]),this.Get=this.GetTimeline,this._isConstant=!0}GetTimeline(){return this._timeline}}class j extends C3.Parameter{constructor(a,b,c,d){super(a,b,c),this._fileInfo=d[1],this.Get=this.GetFile,this._isConstant=!0}GetFile(){return this._fileInfo}}class k extends C3.Parameter{constructor(a,b,c,d){super(a,b,c),this._instVarIndex=d[1];const e=this._owner.GetObjectClass();e&&e.IsFamily()?(this.Get=this.GetFamilyInstanceVariable,this.SetVariesPerInstance()):(this.Get=this.GetInstanceVariable,this._isConstant=!0)}GetInstanceVariable(){return this._instVarIndex}GetFamilyInstanceVariable(a){a=a||0;const b=this._owner.GetObjectClass(),c=b.GetCurrentSol(),d=c.GetInstances();let e=null;if(d.length)e=d[a%d.length].GetObjectClass();else if(c.HasAnyElseInstances()){const b=c.GetElseInstances();e=b[a%b.length].GetObjectClass()}else if(0[a[0].GetUID(),a[1].GetUID(),a[2]])),a[b]=d}return{"ex":a}}_LoadFromJson(a){const b=this._runtime,c=a["ex"];if(c){const a=this.GetSavedDataMap();a.clear();for(const[d,e]of Object.entries(c)){let c=e;"collmemory"===d&&(c=C3.New(C3.PairMap,e.map((a)=>[b.GetInstanceByUID(a[0]),b.GetInstanceByUID(a[1]),a[2]]).filter((a)=>a[0]&&a[1]))),a.set(d,c)}}else this._savedData&&(this._savedData.clear(),this._savedData=null)}}} + +// c3/events/action.js +"use strict";{function a(a,b){for(let c=0,d=a.length;ca.VariesPerInstance())?(this.Run=this._RunObject_AllParamsVary,this.DebugRun=this._DebugRunObject_AllParamsVary):this._anyParamVariesPerInstance?(this.Run=this._RunObject_SomeParamsVary,this.DebugRun=this._DebugRunObject_SomeParamsVary):this._parameters.every((a)=>a.IsConstant())?(a(this._parameters,this._results),this.Run=this._RunObject_ParamsConst,this.DebugRun=this._DebugRunObject_ParamsConst):(this.Run=this._RunObject_ParamsDontVary,this.DebugRun=this._DebugRunObject_ParamsDontVary):(this.Run=this._RunObject_ParamsConst,this.DebugRun=this._DebugRunObject_ParamsConst)}_SetSystemRunMethod(){const a=this._systemPlugin,b=this._systemPlugin;this._SetRunMethodForBoundFunc(a,b,this._RunSystem)}_SetSingleGlobalRunMethod(){const a=this._objectClass.GetPlugin(),b=this._objectClass.GetSingleGlobalInstance().GetSdkInstance();this._SetRunMethodForBoundFunc(a,b,this._RunSingleGlobal)}_SetCallFunctionRunMethod(){const a=this._eventBlock.GetEventSheetManager(),b=a.GetFunctionBlockByName(this._callFunctionName);b.IsEnabled()?(this._callEventBlock=b.GetEventBlock(),this._combinedSolModifiers=[...new Set([...this._eventBlock.GetSolModifiersIncludingParents(),...this._callEventBlock.GetSolModifiersIncludingParents()])],this._combinedSolModifiers=a._DeduplicateSolModifierList(this._combinedSolModifiers),this.Run=C3.EventBlock.prototype.RunAsFunctionCall.bind(this._callEventBlock,this._combinedSolModifiers,this._parameters),this.DebugRun=this._DebugRunCallFunction):(this.Run=c,this.DebugRun=d)}_SetRunMethodForBoundFunc(a,b,c){const d=this._func,e=this._parameters;if(0===e.length)this.Run=a._GetBoundACEMethod(d,b);else if(1===e.length){const c=e[0];if(c.IsConstant())this.Run=a._GetBoundACEMethod_1param(d,b,c.Get(0));else{const e=a._GetBoundACEMethod(d,b);this.Run=function(){return e(c.Get(0))}}}else if(2===e.length){const c=e[0],f=e[1];if(c.IsConstant()&&f.IsConstant())this.Run=a._GetBoundACEMethod_2params(d,b,c.Get(0),f.Get(0));else{const e=a._GetBoundACEMethod(d,b);this.Run=function(){return e(c.Get(0),f.Get(0))}}}else if(3===e.length){const c=e[0],f=e[1],g=e[2];if(c.IsConstant()&&f.IsConstant()&&g.IsConstant())this.Run=a._GetBoundACEMethod_3params(d,b,c.Get(0),f.Get(0),g.Get(0));else{const e=a._GetBoundACEMethod(d,b);this.Run=function(){return e(c.Get(0),f.Get(0),g.Get(0))}}}else this.Run=c}GetSID(){return this._sid}IsAsync(){return 1===this._actionReturnType}CanBailOut(){return 2===this._actionReturnType}HasReturnType(){return 0!==this._actionReturnType}GetObjectClass(){return this._objectClass}GetEventBlock(){return this._eventBlock}GetRuntime(){return this._runtime}GetIndex(){return this._index}GetDebugIndex(){return this._debugData.index}GetCombinedSolModifiers(){return this._combinedSolModifiers}IsBreakpoint(){return this._debugData.isBreakpoint}_SetBreakpoint(a){this._debugData.isBreakpoint=!!a,this._eventBlock._UpdateCanRunFastRecursive()}_DebugReturnsGenerator(){return this._debugData.canDebug}DebugCanRunFast(){return!this.IsBreakpoint()&&!this._runtime.DebugBreakNext()&&!this._DebugReturnsGenerator()}GetSavedDataMap(){return this._savedData||(this._savedData=new Map),this._savedData}GetUnsavedDataMap(){return this._unsavedData||(this._unsavedData=new Map),this._unsavedData}_RunSystem(){const b=this._results;return a(this._parameters,b),this._func.apply(this._systemPlugin,b)}*_DebugRunSystem(){if((this.IsBreakpoint()||this._runtime.DebugBreakNext())&&(yield this),this._DebugReturnsGenerator()){const b=this._results;a(this._parameters,b);const c=yield*this._func.apply(this._systemPlugin,b);return c}return this.Run()}*_DebugRunCallFunction(){(this.IsBreakpoint()||this._runtime.DebugBreakNext())&&(yield this);const a=yield*this._callEventBlock.DebugRunAsFunctionCall(this._combinedSolModifiers,this._parameters);return a}_RunSingleGlobal(){const b=this._results;return a(this._parameters,b),this._func.apply(this._objectClass.GetSingleGlobalInstance().GetSdkInstance(),b)}*_DebugRunSingleGlobal(){if((this.IsBreakpoint()||this._runtime.DebugBreakNext())&&(yield this),this._DebugReturnsGenerator()){const b=this._results;a(this._parameters,b);const c=yield*this._func.apply(this._objectClass.GetSingleGlobalInstance().GetSdkInstance(),b);return c}return this.Run()}_RunObject_ParamsConst(){const a=this._results,b=this._objectClass.GetCurrentSol().GetInstances();for(let c=0,d=b.length;cc.getRight()||0>c.getBottom()||c.getLeft()>b.GetWidth()||c.getTop()>b.GetHeight()}function e(a,b,c){const d=this.GetCurrentSol(),e=d.GetInstances();if(!e.length)return!1;let f=e[0],g=f.GetWorldInfo(),h=f,j=C3.distanceSquared(g.GetX(),g.GetY(),b,c);for(let d=1,i=e.length;dj)&&(j=i,h=f)}return d.PickOne(h),!0}function f(a){const b=this.GetWorldInfo();b.GetX()===a||(b.SetX(a),b.SetBboxChanged())}function g(a){const b=this.GetWorldInfo();b.GetY()===a||(b.SetY(a),b.SetBboxChanged())}function h(a,b){const c=this.GetWorldInfo();c.EqualsXY(a,b)||(c.SetXY(a,b),c.SetBboxChanged())}function i(a,b){if(a){const c=a.GetPairedInstance(this._inst);if(c){const[a,d]=c.GetImagePoint(b),e=this.GetWorldInfo();e.GetX()===a&&e.GetY()===d||(e.SetXY(a,d),e.SetBboxChanged())}}}function j(a){if(0!==a){const b=this.GetWorldInfo();b.OffsetXY(b.GetCosAngle()*a,b.GetSinAngle()*a),b.SetBboxChanged()}}function k(b,a){if(0!==a){const c=this.GetWorldInfo();b=C3.toRadians(b),c.OffsetXY(Math.cos(b)*a,Math.sin(b)*a),c.SetBboxChanged()}}function l(){return this.GetWorldInfo().GetX()}function m(){return this.GetWorldInfo().GetY()}function n(){return this._runtime.GetDt(this._inst)}function o(a,b){return C3.compare(this.GetWorldInfo().GetWidth(),a,b)}function p(a,b){return C3.compare(this.GetWorldInfo().GetHeight(),a,b)}function q(a){const b=this.GetWorldInfo();b.GetWidth()===a||(b.SetWidth(a),b.SetBboxChanged())}function r(a){const b=this.GetWorldInfo();b.GetHeight()===a||(b.SetHeight(a),b.SetBboxChanged())}function s(a,b){const c=this.GetWorldInfo();c.GetWidth()===a&&c.GetHeight()===b||(c.SetSize(a,b),c.SetBboxChanged())}function t(){return this.GetWorldInfo().GetWidth()}function u(){return this.GetWorldInfo().GetHeight()}function v(){return this.GetWorldInfo().GetBoundingBox().getLeft()}function w(){return this.GetWorldInfo().GetBoundingBox().getTop()}function x(){return this.GetWorldInfo().GetBoundingBox().getRight()}function y(){return this.GetWorldInfo().GetBoundingBox().getBottom()}function z(b,c){return C3.angleDiff(this.GetWorldInfo().GetAngle(),C3.toRadians(c))<=C3.toRadians(b)}function A(b){return C3.angleClockwise(this.GetWorldInfo().GetAngle(),C3.toRadians(b))}function B(c,a){const b=C3.toRadians(c),d=C3.toRadians(a),e=this.GetWorldInfo().GetAngle(),f=!C3.angleClockwise(d,b);return f?C3.angleClockwise(e,b)||!C3.angleClockwise(e,d):C3.angleClockwise(e,b)&&!C3.angleClockwise(e,d)}function C(b){const a=this.GetWorldInfo(),c=C3.clampAngle(C3.toRadians(b));isNaN(c)||a.GetAngle()===c||(a.SetAngle(c),a.SetBboxChanged())}function D(b){if(!(isNaN(b)||0===b)){const a=this.GetWorldInfo();a.SetAngle(a.GetAngle()+C3.toRadians(b)),a.SetBboxChanged()}}function E(b){if(!(isNaN(b)||0===b)){const a=this.GetWorldInfo();a.SetAngle(a.GetAngle()-C3.toRadians(b)),a.SetBboxChanged()}}function F(b,c){const d=this.GetWorldInfo(),e=d.GetAngle(),a=C3.angleRotate(e,C3.toRadians(c),C3.toRadians(b));isNaN(a)||e===a||(d.SetAngle(a),d.SetBboxChanged())}function G(b,c,d){const e=this.GetWorldInfo(),f=e.GetAngle(),a=c-e.GetX(),g=d-e.GetY(),h=Math.atan2(g,a),i=C3.angleRotate(f,h,C3.toRadians(b));isNaN(i)||f===i||(e.SetAngle(i),e.SetBboxChanged())}function H(b,c){const d=this.GetWorldInfo(),e=d.GetAngle(),a=b-d.GetX(),f=c-d.GetY(),g=Math.atan2(f,a);isNaN(g)||e===g||(d.SetAngle(g),d.SetBboxChanged())}function I(){return C3.toDegrees(this.GetWorldInfo().GetAngle())}function J(a,b){return C3.compare(C3.round6dp(100*this.GetWorldInfo().GetOpacity()),a,b)}function K(){return this.GetWorldInfo().IsVisible()}function L(a){const b=this.GetWorldInfo();a=2===a?!b.IsVisible():0!=a;b.IsVisible()===a||(b.SetVisible(a),this._runtime.UpdateRender())}function M(a){const b=C3.clamp(a/100,0,1),c=this.GetWorldInfo();c.GetOpacity()===b||(c.SetOpacity(b),this._runtime.UpdateRender())}function N(a){ya.setFromRgbValue(a);const b=this.GetWorldInfo();b.GetUnpremultipliedColor().equalsIgnoringAlpha(ya)||(b.SetUnpremultipliedColor(ya),this._runtime.UpdateRender())}function O(){const a=this.GetWorldInfo().GetUnpremultipliedColor();return C3.PackRGBAEx(a.getR(),a.getG(),a.getB(),a.getA())}function P(){return C3.round6dp(100*this.GetWorldInfo().GetOpacity())}function Q(a){return!!a&&this.GetWorldInfo().GetLayer()===a}function R(a){const b=this.GetCurrentSol(),c=b.GetInstances();if(!c.length)return!1;let d=c[0],e=d;for(let b=1,d=c.length;bi||h===i&&f.GetZIndex()>g.GetZIndex())&&(e=d):(hb||b>=f.length)){const g=d.GetShaderProgram().GetParameterType(b);if("color"===g){ya.setFromRgbValue(c);const a=f[b];if(ya.equalsIgnoringAlpha(a))return;a.copyRgb(ya)}else{if("percent"===g&&(c/=100),f[b]===c)return;f[b]=c}e.IsEffectIndexActive(a)&&this._runtime.UpdateRender()}}}function da(a,b,c){return C3.compare(this.GetInstance().GetInstanceVariableValue(a),b,c)}function ea(a){return!!this.GetInstance().GetInstanceVariableValue(a)}function fa(a,b){const c=this.GetCurrentSol(),d=c.GetInstances();if(!d.length)return!1;let e=d[0],f=e,g=e.GetInstanceVariableValue(b);for(let c=1,h=d.length;cg)&&(g=h,f=e)}return c.PickOne(f),!0}function ga(a){return this._runtime.GetCurrentCondition().IsInverted()?ia(this,a):ha(this,a)}function ha(a,b){const c=a.GetRuntime().GetInstanceByUID(b);if(!c)return!1;const d=a.GetCurrentSol();if(!d.IsSelectAll()&&!d._GetOwnInstances().includes(c))return!1;if(a.IsFamily()){if(c.GetObjectClass().BelongsToFamily(a))return d.PickOne(c),a.ApplySolToContainer(),!0;}else if(c.GetObjectClass()===a)return d.PickOne(c),a.ApplySolToContainer(),!0;return!1}function ia(a,b){const c=a.GetCurrentSol();if(c.IsSelectAll()){c._SetSelectAll(!1),c.ClearArrays();const d=a.GetInstances();for(let a=0,e=d.length;athis.SetSignalled()).catch((a)=>{console.warn("[C3 runtime] Promise rejected in 'Wait for previous actions to complete': ",a),this.SetSignalled()})}IsTimer(){return"timer"===this._type}IsSignal(){return"signal"===this._type}IsPromise(){return"promise"===this._type}GetSignalTag(){return this._signalTag}IsSignalled(){return this._isSignalled}SetSignalled(){this._isSignalled=!0}_ShouldRun(){return this.IsTimer()?this._time<=this._eventSheetManager.GetRuntime().GetGameTime():this.IsSignalled()}_RestoreState(a){a._Restore(this._event,this._actIndex);for(const[b,c]of this._sols.entries()){const a=b.GetCurrentSol();c._Restore(a)}const b=this._callingFunctionBlock;b&&(b.SetFunctionParameters(this._functionParameters),b.IsAsync()&&b.ResumeAsyncFunction(this._asyncId))}_Run(a){this._RestoreState(a),this._event._ResumeActionsAndSubEvents(a),this._callingFunctionBlock&&this._callingFunctionBlock.IsAsync()&&this._callingFunctionBlock.MaybeFinishAsyncFunctionCall(this._asyncId),this._eventSheetManager.ClearSol(this._solModifiers),this._shouldRelease=!0}async _DebugRun(a){this._RestoreState(a);for(const b of this._event._DebugResumeActionsAndSubEvents(a))await this._eventSheetManager.GetRuntime().DebugBreak(b);this._callingFunctionBlock&&this._callingFunctionBlock.IsAsync()&&this._callingFunctionBlock.MaybeFinishAsyncFunctionCall(this._asyncId),this._eventSheetManager.ClearSol(this._solModifiers),this._shouldRelease=!0}ShouldRelease(){return this._shouldRelease}RemoveInstances(a){for(const b of this._sols.values())b.RemoveInstances(a)}_SaveToJson(){const a={},b={"t":this._time,"st":this._signalTag,"s":this._isSignalled,"ev":this._event.GetSID(),"sm":this._solModifiers.map((a)=>a.GetSID()),"sols":a};this._event._HasActionIndex(this._actIndex)&&(b["act"]=this._event.GetActionAt(this._actIndex).GetSID());for(const[b,c]of this._sols)a[b.GetSID().toString()]=c._SaveToJson();return b}static _CreateFromJson(a,b){const c=a.GetRuntime(),d=a.GetEventBlockBySID(b["ev"]);if(!d)return null;let e=0;if(b.hasOwnProperty("act")){const c=a.GetActionBySID(b["act"]);if(!c)return null;e=c.GetIndex()}const f=C3.New(C3.ScheduledWait,a);f._time=b["t"],f._type=-1===f._time?"signal":"timer",f._signalTag=b["st"],f._isSignalled=b["s"],f._event=d,f._actIndex=e;for(const d of b["sm"]){const a=c.GetObjectClassBySID(d);a&&f._solModifiers.push(a)}for(const[d,e]of Object.entries(b["sols"])){const b=parseInt(d,10),g=c.GetObjectClassBySID(b);if(!g)continue;const h=C3.New(C3.SolState,null);h._LoadFromJson(a,e),f._sols.set(g,h)}return f}}; + +// c3/events/solState.js +"use strict";C3.SolState=class extends C3.DefendedBase{constructor(a){super(),this._objectClass=null,this._isSelectAll=!0,this._instances=[],a&&(this._objectClass=a.GetObjectClass(),this._isSelectAll=a.IsSelectAll(),C3.shallowAssignArray(this._instances,a._GetOwnInstances()))}Release(){this._objectClass=null,C3.clearArray(this._instances)}_Restore(a){a._SetSelectAll(this._isSelectAll),C3.shallowAssignArray(a._GetOwnInstances(),this._instances)}RemoveInstances(a){C3.arrayRemoveAllInSet(this._instances,a)}_SaveToJson(){return{"sa":this._isSelectAll,"insts":this._instances.map((a)=>a.GetUID())}}_LoadFromJson(a,b){const c=a.GetRuntime();this._isSelectAll=!!b["sa"],C3.clearArray(this._instances);for(const d of b["insts"]){const a=c.GetInstanceByUID(d);a&&this._instances.push(a)}}}; + +// c3/sdk/sdkPluginBase.js +"use strict";{function a(a,b){let c=a.get(b);return c||(c=new Map,a.set(b,c)),c}C3.SDKPluginBase=class extends C3.DefendedBase{constructor(a){super(),this._runtime=a.runtime,this._isSingleGlobal=!!a.isSingleGlobal,this._isWorldType=!!a.isWorld,this._isRotatable=!!a.isRotatable,this._mustPredraw=!!a.mustPredraw,this._hasEffects=!!a.hasEffects,this._singleGlobalObjectClass=null,this._boundACEMethodCache=new Map,this._boundACEMethodCache_1param=new Map,this._boundACEMethodCache_2params=new Map,this._boundACEMethodCache_3params=new Map}Release(){this._runtime=null}GetRuntime(){return this._runtime}OnCreate(){}IsSingleGlobal(){return this._isSingleGlobal}IsWorldType(){return this._isWorldType}IsRotatable(){return this._isRotatable}MustPreDraw(){return this._mustPredraw}HasEffects(){return this._hasEffects}_GetBoundACEMethod(a,b){if(!b)throw new Error("missing 'this' binding");let c=this._boundACEMethodCache.get(a);return c?c:(c=a.bind(b),this._boundACEMethodCache.set(a,c),c)}_GetBoundACEMethod_1param(b,c,d){if(!c)throw new Error("missing 'this' binding");const e=a(this._boundACEMethodCache_1param,b);let f=e.get(d);return f?f:(f=b.bind(c,d),e.set(d,f),f)}_GetBoundACEMethod_2params(b,c,d,e){if(!c)throw new Error("missing 'this' binding");const f=a(this._boundACEMethodCache_2params,b),g=a(f,d);let h=g.get(e);return h?h:(h=b.bind(c,d,e),g.set(e,h),h)}_GetBoundACEMethod_3params(b,c,d,e,f){if(!c)throw new Error("missing 'this' binding");const g=a(this._boundACEMethodCache_3params,b),h=a(g,d),i=a(h,e);let j=i.get(f);return j?j:(j=b.bind(c,d,e,f),i.set(f,j),j)}_SetSingleGlobalObjectClass(a){if(!this.IsSingleGlobal())throw new Error("must be single-global plugin");this._singleGlobalObjectClass=a}GetSingleGlobalObjectClass(){if(!this.IsSingleGlobal())throw new Error("must be single-global plugin");return this._singleGlobalObjectClass}GetSingleGlobalInstance(){if(!this.IsSingleGlobal())throw new Error("must be single-global plugin");return this._singleGlobalObjectClass.GetSingleGlobalInstance()}}} + +// c3/sdk/sdkDOMPluginBase.js +"use strict";C3.SDKDOMPluginBase=class extends C3.SDKPluginBase{constructor(a,b){super(a),this._domComponentId=b,this._nextElementId=0,this._instMap=new Map}Release(){super.Release()}_AddElement(a){const b=this._nextElementId++;return this._instMap.set(b,a),b}_RemoveElement(a){this._instMap.delete(a)}AddElementMessageHandler(a,b){this._runtime.AddDOMComponentMessageHandler(this._domComponentId,a,(a)=>{const c=this._instMap.get(a["elementId"]);b(c,a)})}}; + +// c3/sdk/sdkTypeBase.js +"use strict";C3.SDKTypeBase=class extends C3.DefendedBase{constructor(a){super(),this._objectClass=a,this._runtime=a.GetRuntime(),this._plugin=a.GetPlugin()}Release(){this._objectClass=null,this._runtime=null,this._plugin=null}GetObjectClass(){return this._objectClass}GetRuntime(){return this._runtime}GetPlugin(){return this._plugin}GetImageInfo(){return this._objectClass.GetImageInfo()}FinishCondition(){}LoadTextures(){}ReleaseTextures(){}OnDynamicTextureLoadComplete(){}PreloadTexturesWithInstances(){}LoadTilePolyData(){}GetScriptInterfaceClass(){return null}}; + +// c3/sdk/sdkInstanceBase.js +"use strict";C3.SDKInstanceBase=class extends C3.DefendedBase{constructor(a,b){super(),this._inst=a,this._domComponentId=b,this._runtime=a.GetRuntime(),this._objectClass=this._inst.GetObjectClass(),this._sdkType=this._objectClass.GetSdkType(),this._tickFunc=null,this._tick2Func=null,this._isTicking=!1,this._isTicking2=!1,this._disposables=null,this._wasReleased=!1}Release(){this._wasReleased=!0,this._StopTicking(),this._StopTicking2(),this._tickFunc=null,this._tick2Func=null,this._disposables&&(this._disposables.Release(),this._disposables=null),this._inst=null,this._runtime=null,this._objectClass=null,this._sdkType=null}WasReleased(){return this._wasReleased}GetInstance(){return this._inst}GetRuntime(){return this._runtime}GetObjectClass(){return this._objectClass}GetPlugin(){return this._sdkType.GetPlugin()}GetSdkType(){return this._sdkType}GetScriptInterface(){return this._inst.GetInterfaceClass()}Trigger(a){return this._runtime.Trigger(a,this._inst,null)}DebugTrigger(a){return this._runtime.DebugTrigger(a,this._inst,null)}TriggerAsync(a){return this._runtime.TriggerAsync(a,this._inst,null)}FastTrigger(a,b){return this._runtime.FastTrigger(a,this._inst,b)}DebugFastTrigger(a,b){return this._runtime.DebugFastTrigger(a,this._inst,b)}ScheduleTriggers(a){return this._runtime.ScheduleTriggers(a)}AddDOMMessageHandler(a,b){this._runtime.AddDOMComponentMessageHandler(this._domComponentId,a,b)}AddDOMMessageHandlers(a){for(const[b,c]of a)this.AddDOMMessageHandler(b,c)}PostToDOM(a,b){this._runtime.PostComponentMessageToDOM(this._domComponentId,a,b)}PostToDOMAsync(a,b){return this._runtime.PostComponentMessageToDOMAsync(this._domComponentId,a,b)}_PostToDOMMaybeSync(a,b){this._runtime.IsInWorker()?this.PostToDOM(a,b):window["c3_runtimeInterface"]["_OnMessageFromRuntime"]({"type":"event","component":this._domComponentId,"handler":a,"data":b,"responseId":null})}GetCurrentImageInfo(){return null}GetImagePoint(){const a=this._inst.GetWorldInfo();return[a.GetX(),a.GetY()]}Tick(){}Tick2(){}_StartTicking(){this._isTicking||(!this._tickFunc&&(this._tickFunc=()=>this.Tick()),this._runtime.Dispatcher().addEventListener("tick",this._tickFunc),this._isTicking=!0)}_StopTicking(){this._isTicking&&(this._runtime.Dispatcher().removeEventListener("tick",this._tickFunc),this._isTicking=!1)}IsTicking(){return this._isTicking}_StartTicking2(){this._isTicking2||(!this._tick2Func&&(this._tick2Func=()=>this.Tick2()),this._runtime.Dispatcher().addEventListener("tick2",this._tick2Func),this._isTicking2=!0)}_StopTicking2(){this._isTicking2&&(this._runtime.Dispatcher().removeEventListener("tick2",this._tick2Func),this._isTicking2=!1)}IsTicking2(){return this._isTicking2}GetDebuggerProperties(){return[]}SaveToJson(){return null}LoadFromJson(){}LoadTilemapData(){}TestPointOverlapTile(){}GetPropertyValueByIndex(){}SetPropertyValueByIndex(){}OffsetPropertyValueByIndex(a,b){if(0!==b){const c=this.GetPropertyValueByIndex(a);if("number"!=typeof c)throw new Error("expected number");this.SetPropertyValueByIndex(a,c+b)}}SetPropertyColorOffsetValueByIndex(){}CallAction(a,...b){a.call(this,...b)}CallExpression(a,...b){return a.call(this,...b)}GetScriptInterfaceClass(){return null}}; + +// c3/sdk/sdkWorldInstanceBase.js +"use strict";C3.SDKWorldInstanceBase=class extends C3.SDKInstanceBase{constructor(a,b){super(a,b),this._worldInfo=a.GetWorldInfo(),this._webglcontextlost_handler=null,this._webglcontextrestored_handler=null}Release(){if(this._webglcontextlost_handler){const a=this._runtime.Dispatcher();a.removeEventListener("webglcontextlost",this._webglcontextlost_handler),a.removeEventListener("webglcontextrestored",this._webglcontextrestored_handler),this._webglcontextlost_handler=null,this._webglcontextrestored_handler=null}this._worldInfo=null,super.Release()}HandleWebGLContextLoss(){if(!this._webglcontextlost_handler){this._webglcontextlost_handler=()=>this.OnWebGLContextLost(),this._webglcontextrestored_handler=()=>this.OnWebGLContextRestored();const a=this._runtime.Dispatcher();a.addEventListener("webglcontextlost",this._webglcontextlost_handler),a.addEventListener("webglcontextrestored",this._webglcontextrestored_handler)}}OnWebGLContextLost(){}OnWebGLContextRestored(){}GetWorldInfo(){return this._worldInfo}}; + +// c3/sdk/sdkDOMInstanceBase.js +"use strict";{const a=C3.New(C3.Rect);C3.SDKDOMInstanceBase=class extends C3.SDKWorldInstanceBase{constructor(a,b){super(a,b),this._elementId=this.GetPlugin()._AddElement(this),this._isElementShowing=!0,this._autoFontSize=!1,this._lastRect=C3.New(C3.Rect,0,0,-1,-1);const c=this._runtime.GetCanvasManager();this._lastWindowWidth=c.GetLastWidth(),this._lastWindowHeight=c.GetLastHeight(),this._isPendingUpdateState=!1,this._StartTicking()}Release(){this.GetPlugin()._RemoveElement(this._elementId),this.PostToDOMElement("destroy"),this._elementId=-1,super.Release()}PostToDOMElement(a,b){b||(b={}),b["elementId"]=this._elementId,this.PostToDOM(a,b)}_PostToDOMElementMaybeSync(a,b){b||(b={}),b["elementId"]=this._elementId,this._PostToDOMMaybeSync(a,b)}PostToDOMElementAsync(a,b){return b||(b={}),b["elementId"]=this._elementId,this.PostToDOMAsync(a,b)}CreateElement(a){a||(a={});const b=this.GetWorldInfo().IsVisible();a["elementId"]=this._elementId,a["isVisible"]=b,Object.assign(a,this.GetElementState()),this._isElementShowing=!!a["isVisible"],this.PostToDOM("create",a),this._UpdatePosition(!0)}SetElementVisible(a){a=!!a;this._isElementShowing===a||(this._isElementShowing=a,this.PostToDOMElement("set-visible",{"isVisible":a}))}Tick(){this._UpdatePosition(!1)}_ShouldPreserveElement(){const a=this._runtime.GetCanvasManager().GetFullscreenMode();return"Android"===C3.Platform.OS&&("scale-inner"===a||"scale-outer"===a||"crop"===a)}_UpdatePosition(b){var c=Math.round;const d=this.GetWorldInfo(),e=d.GetLayer(),f=d.GetX(),g=d.GetY();let[h,i]=e.LayerToCanvasCss(f,g),[j,k]=e.LayerToCanvasCss(f+d.GetWidth(),g+d.GetHeight());const l=this._runtime.GetCanvasManager(),m=l.GetCssWidth(),n=l.GetCssHeight();if(!d.IsVisible()||!e.IsVisible())return void this.SetElementVisible(!1);if(!this._ShouldPreserveElement()){if(0>=j||0>=k||h>=m||i>=n)return void this.SetElementVisible(!1);1>h&&(h=1),1>i&&(i=1),j>=m&&(j=m-1),k>=n&&(k=n-1)}a.set(h,i,j,k);const o=l.GetLastWidth(),p=l.GetLastHeight();if(!b&&a.equals(this._lastRect)&&this._lastWindowWidth===o&&this._lastWindowHeight===p)return void this.SetElementVisible(!0);this._lastRect.copy(a),this._lastWindowWidth=o,this._lastWindowHeight=p,this.SetElementVisible(!0);let q=null;this._autoFontSize&&(q=e.GetDisplayScale()-.2),this.PostToDOMElement("update-position",{"left":c(this._lastRect.getLeft())+l.GetCanvasClientX(),"top":c(this._lastRect.getTop())+l.GetCanvasClientY(),"width":c(this._lastRect.width()),"height":c(this._lastRect.height()),"fontSize":q})}FocusElement(){this.PostToDOMElement("focus",{"focus":!0})}BlurElement(){this.PostToDOMElement("focus",{"focus":!1})}SetElementCSSStyle(a,b){this.PostToDOMElement("set-css-style",{"prop":C3.CSSToCamelCase(a),"val":b})}UpdateElementState(){this._isPendingUpdateState||(this._isPendingUpdateState=!0,Promise.resolve().then(()=>{this._isPendingUpdateState=!1,this.PostToDOMElement("update-state",this.GetElementState())}))}GetElementState(){}GetElementId(){return this._elementId}}} + +// c3/sdk/sdkBehaviorBase.js +"use strict";C3.SDKBehaviorBase=class extends C3.DefendedBase{constructor(a){super(),this._runtime=a.runtime,this._myObjectClasses=C3.New(C3.ArraySet),this._myInstances=C3.New(C3.ArraySet),this._iBehavior=null;const b=a.scriptInterfaceClass;if(!b)this._iBehavior=new IBehavior(this);else if(this._iBehavior=new b(this),!(this._iBehavior instanceof IBehavior))throw new TypeError("script interface class must derive from IBehavior")}Release(){this._myInstances.Release(),this._myObjectClasses.Release(),this._runtime=null}GetRuntime(){return this._runtime}OnCreate(){}_AddObjectClass(a){this._myObjectClasses.Add(a)}GetObjectClasses(){return this._myObjectClasses.GetArray()}_AddInstance(a){this._myInstances.Add(a)}_RemoveInstance(a){this._myInstances.Delete(a)}GetInstances(){return this._myInstances.GetArray()}GetIBehavior(){return this._iBehavior}}; + +// c3/sdk/sdkBehaviorTypeBase.js +"use strict";C3.SDKBehaviorTypeBase=class extends C3.DefendedBase{constructor(a){super(),this._runtime=a.GetRuntime(),this._behaviorType=a,this._objectClass=a.GetObjectClass(),this._behavior=a.GetBehavior(),this._behavior._AddObjectClass(this._objectClass)}Release(){this._runtime=null,this._behaviorType=null,this._objectClass=null,this._behavior=null}GetBehaviorType(){return this._behaviorType}GetObjectClass(){return this._objectClass}GetRuntime(){return this._runtime}GetBehavior(){return this._behavior}}; + +// c3/sdk/sdkBehaviorInstanceBase.js +"use strict";C3.SDKBehaviorInstanceBase=class extends C3.DefendedBase{constructor(a,b){super(),this._behInst=a,this._domComponentId=b,this._inst=a.GetObjectInstance(),this._runtime=a.GetRuntime(),this._behaviorType=a.GetBehaviorType(),this._sdkType=this._behaviorType.GetSdkType(),this._isTicking=!1,this._isTicking2=!1,this._isPostTicking=!1,this._disposables=null}Release(){this._StopTicking(),this._StopTicking2(),this._StopPostTicking(),this._disposables&&(this._disposables.Release(),this._disposables=null),this._behInst=null,this._inst=null,this._runtime=null,this._behaviorType=null,this._sdkType=null}GetBehavior(){return this._behaviorType.GetBehavior()}GetBehaviorInstance(){return this._behInst}GetObjectInstance(){return this._inst}GetObjectClass(){return this._inst.GetObjectClass()}GetWorldInfo(){return this._inst.GetWorldInfo()}GetRuntime(){return this._runtime}GetBehaviorType(){return this._behaviorType}GetSdkType(){return this._sdkType}Trigger(a){return this._runtime.Trigger(a,this._inst,this._behaviorType)}DebugTrigger(a){return this._runtime.DebugTrigger(a,this._inst,this._behaviorType)}TriggerAsync(a){return this._runtime.TriggerAsync(a,this._inst,this._behaviorType)}PostCreate(){}Tick(){}Tick2(){}PostTick(){}_StartTicking(){this._isTicking||(this._runtime._AddBehInstToTick(this),this._isTicking=!0)}_StopTicking(){this._isTicking&&(this._runtime._RemoveBehInstToTick(this),this._isTicking=!1)}IsTicking(){return this._isTicking}_StartTicking2(){this._isTicking2||(this._runtime._AddBehInstToTick2(this),this._isTicking2=!0)}_StopTicking2(){this._isTicking2&&(this._runtime._RemoveBehInstToTick2(this),this._isTicking2=!1)}IsTicking2(){return this._isTicking2}_StartPostTicking(){this._isPostTicking||(this._runtime._AddBehInstToPostTick(this),this._isPostTicking=!0)}_StopPostTicking(){this._isPostTicking&&(this._runtime._RemoveBehInstToPostTick(this),this._isPostTicking=!1)}IsPostTicking(){return this._isPostTicking}GetDebuggerProperties(){return[]}AddDOMMessageHandler(a,b){this._runtime.AddDOMComponentMessageHandler(this._domComponentId,a,b)}OnSpriteFrameChanged(){}SaveToJson(){return null}LoadFromJson(){}GetPropertyValueByIndex(){}SetPropertyValueByIndex(){}OffsetPropertyValueByIndex(a,b){if(0!==b){const c=this.GetPropertyValueByIndex(a);if("number"!=typeof c)throw new Error("expected number");this.SetPropertyValueByIndex(a,c+b)}}SetPropertyColorOffsetValueByIndex(){}CallAction(a,...b){a.call(this,...b)}CallExpression(a,...b){return a.call(this,...b)}GetScriptInterfaceClass(){return null}}; + +// c3/interfaces/IRuntime.js +"use strict";{function a(c,a){const b=c[0],d=a[0],e=b-d;if(0!=e)return e;const f=c[1],g=a[1];return f-g}let b=null;const c=new Set;const d=[],e=[];let f=!1;self.IRuntime=class{constructor(a,d){b=a,Object.defineProperties(this,{assets:{value:b.GetAssetManager().GetIAssetManager(),writable:!1},objects:{value:d,writable:!1},globalVars:{value:{},writable:!1},projectName:{value:b.GetProjectName(),writable:!1},projectVersion:{value:b.GetProjectVersion(),writable:!1},storage:{value:new IStorage(b),writable:!1},isInWorker:{value:b.IsInWorker(),writable:!1}}),b.UserScriptDispatcher().addEventListener("keydown",(a)=>c.has(a["key"])?void a.stopPropagation():void c.add(a["key"])),b.UserScriptDispatcher().addEventListener("keyup",(a)=>c.delete(a["key"])),b.Dispatcher().addEventListener("window-blur",()=>c.clear()),b.IsInWorker()&&(self["alert"]=(a)=>(f||(f=!0,console.warn("[Construct 3] alert() was called from a Web Worker, because the project 'Use worker' setting is enabled. This method is not normally available in a Web Worker. Construct has implemented the alert for you, but note that other features may be missing in worker mode. You may wish to disable 'Use worker', or use a more convenient function like console.log(). For more information please refer to the scripting section of the manual.")),this.alert(a)))}_InitGlobalVars(a){Object.defineProperties(this.globalVars,a)}addEventListener(a,c){b.UserScriptDispatcher().addEventListener(a,c)}removeEventListener(a,c){b.UserScriptDispatcher().removeEventListener(a,c)}callFunction(a,...c){const d=b.GetEventSheetManager(),e=d.GetFunctionBlockByName(a);if(!e)throw new Error(`cannot find function name '${a}'`);if(!e.IsEnabled())return e.GetDefaultReturnValue();if(c.lengtha.GetILayout())}goToLayout(a){const c=b.GetLayoutManager();let d=null;if("number"==typeof a||"string"==typeof a)d=c.GetLayout(a);else throw new TypeError("expected string or number");if(!d)throw new Error("invalid layout");c.IsPendingChangeMainLayout()||c.ChangeMainLayout(d)}get keyboard(){const a=b._GetCommonScriptInterfaces().keyboard;if(!a)throw new Error("runtime.keyboard used but Keyboard object missing - add it to your project first");return a}get mouse(){const a=b._GetCommonScriptInterfaces().mouse;if(!a)throw new Error("runtime.mouse used but Mouse object missing - add it to your project first");return a}get touch(){const a=b._GetCommonScriptInterfaces().touch;if(!a)throw new Error("runtime.touch used but Touch object missing - add it to your project first");return a}invokeDownload(a,c){b.InvokeDownload(a,c)}getInstanceByUid(a){const c=b.GetInstanceByUID(a);return c?c.GetInterfaceClass():null}sortZOrder(c,f){const g=b.GetCurrentLayout();for(const a of c){const c=b._UnwrapScriptInterface(a);if(!c||!c.GetWorldInfo())throw new Error("invalid instance");const f=c.GetWorldInfo();d.push([f.GetLayer().GetIndex(),f.GetZIndex()]),e.push(c)}if(0===d.length)return;d.sort(a),e.sort((c,a)=>f(c.GetInterfaceClass(),a.GetInterfaceClass()));let h=!1;for(let a=0,b=d.length;aa.GetInterfaceClass())}getFirstInstance(){const b=a.get(this).GetInstances();return 0a.GetInterfaceClass())}getFirstPickedInstance(){const b=a.get(this).GetCurrentSol().GetInstances();return 0a.GetILayer())}}} + +// c3/interfaces/ILayer.js +"use strict";{const a=new WeakMap;self.ILayer=class{constructor(b){a.set(this,b),Object.defineProperties(this,{name:{value:b.GetName(),writable:!1},index:{value:b.GetIndex(),writable:!1},layout:{value:b.GetLayout().GetILayout(),writable:!1}})}static _Unwrap(b){return a.get(b)}get isVisible(){return a.get(this).IsVisible()}set isVisible(b){a.get(this).SetVisible(b)}get opacity(){return a.get(this).GetOpacity()}set opacity(b){b=C3.clamp(+b,0,1);isNaN(b)||a.get(this).SetOpacity(b)}getViewport(){return a.get(this).GetViewport().toDOMRect()}}} + +// c3/interfaces/IInstance.js +"use strict";{function a(a){let b=c.get(a);return b?b:(b=C3.New(C3.Event.Dispatcher),c.set(a,b),b)}const b=new WeakMap,c=new WeakMap;let d=null;self.IInstance=class{constructor(){b.set(this,d);const a={runtime:{value:d.GetRuntime().GetIRuntime(),writable:!1},objectType:{value:d.GetObjectClass().GetIObjectClass(),writable:!1},uid:{value:d.GetUID(),writable:!1}};d._GetInstVarsScriptDescriptor(a),d._GetBehaviorsScriptDescriptor(a),Object.defineProperties(this,a),d.GetRuntime()._MapScriptInterface(this,d)}static _Init(a){d=a}static _GetInitInst(){return d}_Release(){const a=c.get(this);a&&(a.Release(),c.delete(this)),b.delete(this)}addEventListener(b,c,d){a(this).addEventListener(b,c,d)}removeEventListener(b,c,d){a(this).removeEventListener(b,c,d)}dispatchEvent(b){a(this).dispatchEvent(b)}destroy(){const a=b.get(this);a.GetRuntime().DestroyInstance(a)}}} + +// c3/interfaces/IWorldInstance.js +"use strict";{const d=new WeakMap,a=new Map([["normal",0],["additive",1],["copy",3],["destination-over",4],["source-in",5],["destination-in",6],["source-out",7],["destination-out",8],["source-atop",9],["destination-atop",10]]),b=new Map([...a.entries()].map((b)=>[b[1],b[0]])),c=C3.New(C3.Color);self.IWorldInstance=class extends IInstance{constructor(){super();const a=IInstance._GetInitInst();d.set(this,a);const b=[],c=a.GetWorldInfo(),e=c.GetInstanceEffectList();if(e){const a=c.GetObjectClass().GetEffectList().GetAllEffectTypes().length;for(let d=0;da.length)throw new Error("expected 3 elements");c.setRgb(a[0],a[1],a[2]);const b=d.get(this),e=b.GetWorldInfo();e.GetUnpremultipliedColor().equalsIgnoringAlpha(c)||(e.SetUnpremultipliedColor(c),b.GetRuntime().UpdateRender())}get colorRgb(){const a=d.get(this).GetWorldInfo().GetUnpremultipliedColor();return[a.getR(),a.getG(),a.getB()]}set blendMode(b){const c=a.get(b);if("number"!=typeof c)throw new Error("invalid blend mode");const e=d.get(this),f=e.GetWorldInfo();f.SetBlendMode(c),e.GetRuntime().UpdateRender()}get blendMode(){return b.get(d.get(this).GetWorldInfo().GetBlendMode())}moveToTop(){d.get(this).GetWorldInfo().ZOrderMoveToTop()}moveToBottom(){d.get(this).GetWorldInfo().ZOrderMoveToBottom()}moveToLayer(a){const b=ILayer._Unwrap(a);if(!b)throw new Error("invalid layer");d.get(this).GetWorldInfo().ZOrderMoveToLayer(b)}moveAdjacentToInstance(a,b){d.get(this).GetWorldInfo().ZOrderMoveAdjacentToInstance(d.get(a),b)}containsPoint(a,b){return d.get(this).GetWorldInfo().ContainsPoint(+a,+b)}testOverlap(c){const e=d.get(this),a=d.get(c);return e.GetRuntime().GetCollisionEngine().TestOverlap(e,a)}testOverlapSolid(){const a=d.get(this),b=a.GetRuntime().GetCollisionEngine().TestOverlapSolid(a);return b?b.GetInterfaceClass():null}}} + +// c3/interfaces/IDOMInstance.js +"use strict";{const a=new WeakMap;self.IDOMInstance=class extends IWorldInstance{constructor(){super(),a.set(this,IInstance._GetInitInst())}focus(){a.get(this).GetSdkInstance().FocusElement()}blur(){a.get(this).GetSdkInstance().BlurElement()}setCssStyle(b,c){a.get(this).GetSdkInstance().SetElementCSSStyle(b,c)}}} + +// c3/interfaces/IBehaviorInstance.js +"use strict";{const a=new WeakMap;let b=null;self.IBehaviorInstance=class{constructor(){a.set(this,b);const c={runtime:{value:b.GetRuntime().GetIRuntime(),writable:!1},behavior:{value:b.GetBehavior().GetIBehavior(),writable:!1}};Object.defineProperties(this,c)}static _Init(a){b=a}static _GetInitInst(){return b}get instance(){return a.get(this).GetObjectInstance().GetInterfaceClass()}}} + +// c3/interfaces/IBehavior.js +"use strict";{const a=new WeakMap;self.IBehavior=class{constructor(b){a.set(this,b);const c={runtime:{value:b.GetRuntime().GetIRuntime(),writable:!1}};Object.defineProperties(this,c)}getAllInstances(){return a.get(this).GetInstances().map((a)=>a.GetInterfaceClass())}}} + +// c3/interfaces/IEffectInstance.js +"use strict";{const b=new WeakMap;self.IEffectInstance=class{constructor(a,c){b.set(this,a);Object.defineProperties(this,{index:{value:c,writable:!1}})}get name(){const a=b.get(this),c=a.GetObjectClass().GetEffectList().GetAllEffectTypes();return c[this.index].GetName()}get isActive(){const a=b.get(this),c=a.GetInstanceEffectList();return c.IsEffectIndexActive(this.index)}set isActive(c){c=!!c;const d=b.get(this),e=d.GetInstanceEffectList();e.IsEffectIndexActive(this.index)===c||(e.SetEffectIndexActive(this.index,c),e.UpdateActiveEffects(),d.GetRuntime().UpdateRender())}setParameter(a,c){a=Math.floor(+a);const d=b.get(this),e=d.GetInstanceEffectList(),f=e.GetEffectParametersForIndex(this.index);if(0>a||a>=f.length)throw new RangeError("invalid effect parameter index");const h=f[a];if(h instanceof C3.Color){if(!Array.isArray(c)||3>c.length)throw new TypeError("expected array with 3 elements");const a=c[0],d=c[1],e=c[2];if(h.equalsRgb(a,d,e))return;h.setRgb(a,d,e)}else{if("number"!=typeof c)throw new TypeError("expected number");if(h===c)return;f[a]=c}e.IsEffectIndexActive(this.index)&&d.GetRuntime().UpdateRender()}getParameter(a){a=Math.floor(+a);const c=b.get(this),d=c.GetInstanceEffectList(),e=d.GetEffectParametersForIndex(this.index);if(0>a||a>=e.length)throw new RangeError("invalid effect parameter index");const f=e[a];return f instanceof C3.Color?[f.getR(),f.getG(),f.getB()]:f}}} + +// c3/objects/pluginManager.js +"use strict";C3.Plugins={},C3.Behaviors={},C3.PluginManager=class extends C3.DefendedBase{constructor(a){super(),this._runtime=a,this._allPlugins=[],this._pluginsByCtor=new Map,this._systemPlugin=null,this._allBehaviors=[],this._behaviorsByCtor=new Map,this._solidBehavior=null,this._jumpthruBehavior=null}CreatePlugin(a){const b=this._runtime.GetObjectReference(a[0]);if(!b)throw new Error("missing plugin");C3.AddCommonACEs(a,b);const c=C3.New(b,{runtime:this._runtime,isSingleGlobal:a[1],isWorld:a[2],isRotatable:a[5],hasEffects:a[8],mustPredraw:a[9]});c.OnCreate(),this._allPlugins.push(c),this._pluginsByCtor.set(b,c)}CreateSystemPlugin(){this._systemPlugin=C3.New(C3.Plugins.System,{runtime:this._runtime,isSingleGlobal:!0}),this._systemPlugin.OnCreate()}CreateBehavior(a){const b=this._runtime.GetObjectReference(a[1]);if(!b)throw new Error("missing behavior");const c=C3.New(b,{runtime:this._runtime});c.OnCreate(),this._allBehaviors.push(c),this._behaviorsByCtor.set(b,c),!this._solidBehavior&&C3.Behaviors.solid&&c instanceof C3.Behaviors.solid?this._solidBehavior=c:!this._jumpthruBehavior&&C3.Behaviors.jumpthru&&c instanceof C3.Behaviors.jumpthru&&(this._jumpthruBehavior=c)}GetPluginByConstructorFunction(a){return this._pluginsByCtor.get(a)||null}HasBehaviorByConstructorFunction(a){return this._behaviorsByCtor.has(a)}GetBehaviorByConstructorFunction(a){return this._behaviorsByCtor.get(a)||null}GetSystemPlugin(){return this._systemPlugin}GetSolidBehavior(){return this._solidBehavior}GetJumpthruBehavior(){return this._jumpthruBehavior}}; + +// c3/objects/imageInfo.js +"use strict";{const a=new Set;C3.ImageInfo=class extends C3.DefendedBase{constructor(){super(),this._url="",this._size=0,this._pixelFormat=0,this._offsetX=0,this._offsetY=0,this._width=0,this._height=0,this._hasMetaData=!1,this._imageAsset=null,this._textureState="",this._rcTex=C3.New(C3.Rect),a.add(this)}Release(){this.ReleaseTexture(),this._imageAsset=null,a.delete(this)}static OnWebGLContextLost(){for(const b of a)b._textureState="",b._rcTex.set(0,0,0,0)}LoadData(a){this._url=a[0],this._size=a[1],this._pixelFormat=a[2],this._offsetX=a[3],this._offsetY=a[4],this._width=a[5],this._height=a[6],this._hasMetaData=!0}LoadAnimationFrameData(a){this._url=a[0],this._size=a[1],this._offsetX=a[2],this._offsetY=a[3],this._width=a[4],this._height=a[5],this._pixelFormat=a[11],this._hasMetaData=!0}LoadDynamicAsset(a,b){if(this._imageAsset)throw new Error("already loaded asset");this._url=b;const c={};return C3.IsAbsoluteURL(b)&&(c.loadPolicy="remote"),this.LoadAsset(a,c),this._imageAsset.Load()}ReplaceWith(a){if(a===this)throw new Error("cannot replace with self");this.ReleaseTexture(),this._url=a._url,this._size=a._size,this._pixelFormat=a._pixelFormat,this._offsetX=a._offsetX,this._offsetY=a._offsetY,this._width=a._width,this._height=a._height,this._hasMetaData=a._hasMetaData,this._imageAsset=a._imageAsset,this._textureState=a._textureState,this._rcTex=a._rcTex}GetURL(){return this._url}GetSize(){return this._size}GetPixelFormat(){return this._pixelFormat}GetOffsetX(){return this._offsetX}GetOffsetY(){return this._offsetY}GetWidth(){return this._width}GetHeight(){return this._height}GetSheetWidth(){return this._imageAsset.GetWidth()}GetSheetHeight(){return this._imageAsset.GetHeight()}LoadAsset(a,b){if(this._imageAsset)throw new Error("already got asset");b=Object.assign({},b,{url:this.GetURL(),size:this.GetSize()}),this._imageAsset=a.LoadImage(b)}IsLoaded(){return this._imageAsset&&this._imageAsset.IsLoaded()}async LoadStaticTexture(a,b){if(!this._imageAsset)throw new Error("no asset");if(this._textureState)throw new Error("already loaded texture");this._textureState="loading";const c=await this._imageAsset.LoadStaticTexture(a,b);return c?(this._textureState="loaded",this._hasMetaData||(this._width=c.GetWidth(),this._height=c.GetHeight(),this._hasMetaData=!0),this._rcTex.set(this._offsetX,this._offsetY,this._offsetX+this._width,this._offsetY+this._height),this._rcTex.divide(c.GetWidth(),c.GetHeight()),c):(this._textureState="",null)}ReleaseTexture(){this._textureState&&(this._imageAsset&&this._imageAsset.ReleaseTexture(),this._textureState="",this._rcTex.set(0,0,0,0))}GetTexture(){return this._imageAsset?this._imageAsset.GetTexture():null}GetTexRect(){return this._rcTex}async ExtractImageToCanvas(){const a=await this._imageAsset.LoadToDrawable(),b=C3.CreateCanvas(this._width,this._height),c=b.getContext("2d");return c.drawImage(a,this._offsetX,this._offsetY,this._width,this._height,0,0,this._width,this._height),b}}} + +// c3/objects/animationInfo.js +"use strict";C3.AnimationInfo=class extends C3.DefendedBase{constructor(a){super(),this._name=a[0],this._speed=a[1],this._isLooping=!!a[2],this._repeatCount=a[3],this._repeatTo=a[4],this._isPingPong=!!a[5],this._sid=a[6],this._frames=a[7].map((a)=>C3.New(C3.AnimationFrameInfo,a))}Release(){for(const a of this._frames)a.Release();C3.clearArray(this._frames)}LoadAllAssets(a){for(const b of this._frames)b.GetImageInfo().LoadAsset(a)}LoadAllTextures(a,b){return Promise.all(this._frames.map((c)=>c.GetImageInfo().LoadStaticTexture(a,b)))}ReleaseAllTextures(){for(const a of this._frames)a.GetImageInfo().ReleaseTexture()}GetName(){return this._name}GetSID(){return this._sid}GetFrameCount(){return this._frames.length}GetFrames(){return this._frames}GetFrameAt(a){if(a=Math.floor(a),0>a||a>=this._frames.length)throw new RangeError("invalid frame");return this._frames[a]}GetSpeed(){return this._speed}IsLooping(){return this._isLooping}GetRepeatCount(){return this._repeatCount}GetRepeatTo(){return this._repeatTo}IsPingPong(){return this._isPingPong}}; + +// c3/objects/animationFrameInfo.js +"use strict";C3.AnimationFrameInfo=class extends C3.DefendedBase{constructor(a){super(),this._imageInfo=C3.New(C3.ImageInfo),this._imageInfo.LoadAnimationFrameData(a),this._duration=a[6],this._origin=C3.New(C3.Vector2,a[7],a[8]),this._imagePoints=a[9].map((a)=>C3.New(C3.ImagePoint,this,a)),this._imagePointsByName=new Map;for(const b of this._imagePoints)this._imagePointsByName.set(b.GetName().toLowerCase(),b);this._collisionPoly=null;const b=a[10];6<=b.length&&(this._collisionPoly=C3.New(C3.CollisionPoly,b))}Release(){this._collisionPoly&&(this._collisionPoly.Release(),this._collisionPoly=null),this._imageInfo.Release(),this._imageInfo=null}GetImageInfo(){return this._imageInfo}GetDuration(){return this._duration}GetOriginX(){return this._origin.getX()}GetOriginY(){return this._origin.getY()}GetCollisionPoly(){return this._collisionPoly}GetImagePointByName(a){return this._imagePointsByName.get(a.toLowerCase())||null}GetImagePointByIndex(a){return a=Math.floor(a),0>a||a>=this._imagePoints.length?null:this._imagePoints[a]}GetImagePointCount(){return this._imagePoints.length}}; + +// c3/objects/imagePoint.js +"use strict";C3.ImagePoint=class extends C3.DefendedBase{constructor(a,b){super(),this._afi=a,this._name=b[0],this._pos=C3.New(C3.Vector2,b[1],b[2])}Release(){}GetName(){return this._name}GetX(){return this._pos.getX()}GetY(){return this._pos.getY()}GetVec2(){return this._pos}}; + +// c3/objects/objectClass.js +"use strict";C3.ObjectClass=class extends C3.DefendedBase{constructor(a,b,c){super();const d=a.GetObjectReference(c[1]);if(this._runtime=a,this._plugin=a.GetPluginManager().GetPluginByConstructorFunction(d),this._sdkType=null,this._instSdkCtor=d.Instance,this._index=b,this._sid=c[11],this._name=c[0],this._jsPropName=this._runtime.GetJsPropName(c[14]),this._isGlobal=!!c[9],this._isFamily=!!c[2],this._isOnLoaderLayout=!!c[10],this._instVars=c[3].map((b)=>({sid:b[0],type:b[1],name:b[2],jsPropName:a.GetJsPropName(b[3])})),this._behaviorsCount=c[4],this._effectsCount=c[5],this._isWorldType=this._plugin.IsWorldType(),this._effectList=null,this._collisionGrid=C3.New(C3.SparseGrid,a.GetOriginalViewportWidth(),a.GetOriginalViewportHeight()),this._anyCollisionCellChanged=!0,this._anyInstanceParallaxed=!1,this._familyMembers=null,this._familyMembersSet=null,this._familyIndex=-1,this._families=null,this._familiesSet=null,this._familyInstVarMap=null,this._familyBehaviorMap=null,this._familyEffectMap=null,this._isInContainer=!1,this._container=null,this._behaviorTypes=c[8].map((a)=>C3.BehaviorType.Create(this,a)),this._behaviorTypesIncludingInherited=[],this._behaviorsByName=new Map,this._behaviorNameToIndex=new Map,this._usedBehaviorCtors=new Set,this._solStack=C3.New(C3.SolStack,this),this._defaultInstanceData=null,this._defaultLayerIndex=0,this._isContained=!1,this._container=null,this._imageInfo=null,this._animations=null,this._animationsByName=null,this._animationsBySid=null,this._textureRefCount=0,this._savedData=new Map,this._unsavedData=new Map,this._instances=[],this._iidsStale=!0,this._plugin.HasEffects()&&(this._effectList=C3.New(C3.EffectList,this,c[12])),c[6]&&(this._imageInfo=C3.New(C3.ImageInfo),this._imageInfo.LoadData(c[6])),c[7]){this._animations=c[7].map((a)=>C3.New(C3.AnimationInfo,a)),this._animationsByName=new Map,this._animationsBySid=new Map;for(const a of this._animations)this._animationsByName.set(a.GetName().toLowerCase(),a),this._animationsBySid.set(a.GetSID(),a)}this._isFamily?(this._familyMembers=[],this._familyMembersSet=new Set,this._familyIndex=this._runtime._GetNextFamilyIndex()):(this._families=[],this._familiesSet=new Set,this._familyInstVarMap=[],this._familyBehaviorMap=[],this._familyEffectMap=[]),this._sdkType=C3.New(d.Type,this),this._iObjectClass=null,this._instanceUserScriptClass=null;const e=this._sdkType.GetScriptInterfaceClass();if(!e)this._iObjectClass=new IObjectClass(this);else if(this._iObjectClass=new e(this),!(this._iObjectClass instanceof IObjectClass))throw new TypeError("script interface class must derive from IObjectClass");c[13]&&c[13].length&&this._sdkType.LoadTilePolyData(c[13]),(!this._runtime.UsesLoaderLayout()||this._isFamily||this._isOnLoaderLayout||!this._isWorldType)&&this.OnCreate(),this._plugin.IsSingleGlobal()&&(this._plugin._SetSingleGlobalObjectClass(this),this._CreateSingleGlobalInstance(c))}static Create(a,b,c){return C3.New(C3.ObjectClass,a,b,c)}Release(){if(this._imageInfo&&(this._imageInfo.Release(),this._imageInfo=null),this._animations){for(const b of this._animations)b.Release();C3.clearArray(this._animations),this._animationsByName.clear(),this._animationsBySid.clear()}this._solStack.Release(),this._solStack=null,this._savedData.clear(),this._unsavedData.clear(),this._container=null,this._runtime=null}_LoadFamily(a){for(let b=1,c=a.length;bthis._textureRefCount)throw new Error("released textures too many times");0===this._textureRefCount&&this._sdkType.ReleaseTextures()}}OnDynamicTextureLoadComplete(){if(this._isFamily)throw new Error("not applicable to family");this._sdkType.OnDynamicTextureLoadComplete()}PreloadTexturesWithInstances(a){return this._isFamily?Promise.resolve():this._sdkType.PreloadTexturesWithInstances(a)}GetRuntime(){return this._runtime}GetPlugin(){return this._plugin}GetInstanceSdkCtor(){return this._instSdkCtor}GetName(){return this._name}GetJsPropName(){return this._jsPropName}GetIndex(){return this._index}GetSID(){return this._sid}IsFamily(){return this._isFamily}IsGlobal(){return this._isGlobal}IsWorldType(){return this._isWorldType}GetFamilyIndex(){return this._familyIndex}GetBehaviorTypes(){return this._behaviorTypes}GetBehaviorTypesCount(){return this._behaviorsCount}UsesBehaviorByCtor(a){return a&&this._usedBehaviorCtors.has(a)}GetInstanceVariablesCount(){return this._instVars.length}GetInstanceVariableSIDs(){return this._instVars.map((a)=>a.sid)}GetInstanceVariableIndexBySID(a){return this._instVars.findIndex((b)=>b.sid===a)}GetInstanceVariableIndexByName(a){return this._instVars.findIndex((b)=>b.name===a)}_GetAllInstanceVariableNames(){return this._instVars.map((a)=>a.name)}_GetAllInstanceVariableJsPropNames(){return this._instVars.map((a)=>a.jsPropName)}GetInstanceVariableType(a){if(a=Math.floor(a),0>a||a>=this._instVars.length)throw new RangeError("invalid instance variable index");return this._instVars[a].type}GetInstanceVariableName(a){if(a=Math.floor(a),0>a||a>=this._instVars.length)throw new RangeError("invalid instance variable index");return this._instVars[a].name}GetEffectTypesCount(){return this._effectsCount}GetBehaviorTypesIncludingInherited(){return this._behaviorTypesIncludingInherited}GetBehaviorTypeByName(a){return this._behaviorsByName.get(a.toLowerCase())||null}GetBehaviorIndexByName(a){const b=this._behaviorNameToIndex.get(a.toLowerCase());return"undefined"==typeof b?-1:b}GetEffectList(){return this._effectList}HasEffects(){return this._plugin.HasEffects()}UsesEffects(){return this._effectList&&this._effectList.HasAnyEffectType()}GetSolStack(){return this._solStack}GetCurrentSol(){return this._solStack.GetCurrentSol()}GetImageInfo(){return this._imageInfo}SetDefaultInstanceData(a){this._defaultInstanceData=a}GetDefaultInstanceData(){return this._defaultInstanceData}_SetDefaultLayerIndex(a){this._defaultLayerIndex=a}GetDefaultLayerIndex(){return this._defaultLayerIndex}GetAnimations(){return this._animations}GetAnimationCount(){return this._animations.length}GetFamilies(){return this._families}BelongsToFamily(a){return this._familiesSet.has(a)}GetFamilyMembers(){return this._familyMembers}FamilyHasMember(a){return this._familyMembersSet.has(a)}GetFamilyBehaviorOffset(a){return this._familyBehaviorMap[a]}GetFamilyInstanceVariableOffset(a){return this._familyInstVarMap[a]}GetAnimationByName(a){if(!this._animations)throw new Error("no animations");return this._animationsByName.get(a.toLowerCase())||null}GetAnimationBySID(a){if(!this._animations)throw new Error("no animations");return this._animationsBySid.get(a)||null}GetFirstAnimationFrame(){if(!this._animations)throw new Error("no animations");return this._animations[0].GetFrameAt(0)}GetDefaultInstanceSize(){if(this._animations){const a=this.GetFirstAnimationFrame().GetImageInfo();return[a.GetWidth(),a.GetHeight()]}return this._imageInfo?[this._imageInfo.GetWidth(),this._imageInfo.GetHeight()]:[100,100]}GetSingleGlobalInstance(){if(!this._plugin.IsSingleGlobal())throw new Error("not a single-global plugin");return this._instances[0]}GetInstances(){return this._instances}*instances(){yield*this._instances}*instancesIncludingPendingCreate(){yield*this._instances;for(const a of this._runtime._GetInstancesPendingCreate())a.GetObjectClass()===this&&(yield a)}GetInstanceCount(){return this._instances.length}_AddInstance(a){this._instances.push(a)}_SetIIDsStale(){this._iidsStale=!0}_UpdateIIDs(){if(this._iidsStale&&!this._isFamily){const a=this._instances;let b=0;for(let c=a.length;ba.SaveToJson())};return this._savedData&&this._savedData.size&&(a["ex"]=C3.ToSuperJSON(this._savedData)),a}_LoadFromJson(a){this._savedData&&(this._savedData.clear(),this._savedData=null);const b=a["ex"];b&&(this._savedData=C3.FromSuperJSON(b));const c=this._instances,d=a["instances"];for(let b=0,e=Math.min(c.length,d.length);ba.IsWorldType())}}; + +// c3/objects/instance.js +"use strict";{const a=[];let b=0;const c=new WeakMap,d=new WeakMap;C3.Instance=class extends C3.DefendedBase{constructor(c){super(),this._runtime=c.runtime,this._objectType=c.objectType,this._worldInfo=null,this._sdkInst=null,this._iScriptInterface=null,this._iid=0,this._uid=c.uid,this._puid=b++,this._flags=0,this._instVarValues=a,this._behaviorInstances=a;const d=this._objectType.GetBehaviorTypesIncludingInherited();0C3.New(C3.BehaviorInstance,{runtime:this._runtime,behaviorType:a,instance:this,index:b}))),this._siblings=this._objectType.IsInContainer()?[]:null,this._timeScale=-1,this._dispatcher=null;const e=this.GetPlugin();if(e.MustPreDraw()&&(this._flags|=4),e.IsWorldType())if(this._worldInfo=C3.New(C3.WorldInfo,this,c.layer),c.worldData)this._worldInfo.Init(c.worldData);else{this._worldInfo.InitNoData();const[a,b]=this._objectType.GetDefaultInstanceSize();this._worldInfo.SetSize(a,b),this.GetObjectClass().UsesEffects()&&this._worldInfo.GetInstanceEffectList().LoadDefaultEffectParameters()}c.instVarData?this._LoadInstanceVariableData(c.instVarData):this._LoadDefaultInstanceVariables()}Release(){if(this._iScriptInterface&&(this._iScriptInterface._Release(),this._iScriptInterface=null),0a||!isFinite(a))&&(a=0),this._timeScale=a}RestoreTimeScale(){this._timeScale=-1}Dispatcher(){return this._dispatcher||(this._dispatcher=C3.New(C3.Event.Dispatcher)),this._dispatcher}Draw(a){this._sdkInst.Draw(a)}OnCreate(a){this._sdkInst.OnCreate(a)}_SetHasTilemap(){this._flags|=2}HasTilemap(){return 0!=(this._flags&2)}_MarkDestroyed(){this._flags|=1}IsDestroyed(){return 0!=(this._flags&1)}MustPreDraw(){return 0!=(this._flags&4)}_IsSolidEnabled(){return 0!=(this._flags&8)}_SetSolidEnabled(a){a?this._flags|=8:this._flags&=-9}_IsJumpthruEnabled(){return 0!=(this._flags&16)}_SetJumpthruEnabled(a){a?this._flags|=16:this._flags&=-17}SetFlag(a,b){a<<=16,b?this._flags|=a:this._flags&=~a}GetFlag(a){return 0!=(this._flags&a<<16)}GetCurrentImageInfo(){return this._sdkInst.GetCurrentImageInfo()}GetImagePoint(a){return this._sdkInst.GetImagePoint(a)}GetObjectClass(){return this._objectType}BelongsToObjectClass(a){return a.IsFamily()?a.FamilyHasMember(this.GetObjectClass()):this.GetObjectClass()===a}IsInContainer(){return null!==this._siblings}_AddSibling(a){this._siblings.push(a)}GetSiblings(){return this._siblings}siblings(){return this._siblings}SetSiblingsSinglePicked(){for(const a of this.siblings())a.GetObjectClass().GetCurrentSol().SetSinglePicked(a)}_PushSiblingsToSolInstances(){for(const a of this.siblings())a.GetObjectClass().GetCurrentSol()._PushInstance(a)}_SetSiblingsToSolInstancesIndex(a){for(const b of this.siblings())b.GetObjectClass().GetCurrentSol()._GetOwnInstances()[a]=b}_PushSiblingsToSolElseInstances(){for(const a of this.siblings())a.GetObjectClass().GetCurrentSol()._PushElseInstance(a)}_SetSiblingsToSolElseInstancesIndex(a){for(const b of this.siblings())b.GetObjectClass().GetCurrentSol()._GetOwnElseInstances()[a]=b}GetPlugin(){return this._objectType.GetPlugin()}_SetIID(a){this._iid=a}GetIID(){return this._objectType._UpdateIIDs(),this._iid}GetUID(){return this._uid}GetPUID(){return this._puid}GetBehaviorInstances(){return this._behaviorInstances}GetBehaviorInstanceFromCtor(a){if(!a)return null;for(const b of this._behaviorInstances)if(b.GetBehavior()instanceof a)return b;return null}GetBehaviorSdkInstanceFromCtor(a){if(!a)return null;const b=this.GetBehaviorInstanceFromCtor(a);return b?b.GetSdkInstance():null}GetBehaviorIndexBySID(a){const b=this._behaviorInstances;for(let c=0,d=b.length;ca||a>=b.length)throw new RangeError("invalid instance variable");return b[a]}_GetInstanceVariableValueUnchecked(a){return this._instVarValues[a]}SetInstanceVariableValue(a,b){a|=0;const c=this._instVarValues;if(0>a||a>=c.length)throw new RangeError("invalid instance variable");const d=c[a];if("number"==typeof d)c[a]="number"==typeof b?b:parseFloat(b);else if("boolean"==typeof d)c[a]="boolean"==typeof b?b:!!b;else if("string"==typeof d)c[a]="string"==typeof b?b:b.toString();else throw new Error("unknown instance variable type")}SetInstanceVariableOffset(a,b){if(0!==b){a|=0;const c=this._instVarValues;if(0>a||a>=c.length)throw new RangeError("invalid instance variable");const d=c[a];if("number"==typeof d)c[a]+="number"==typeof b?b:parseFloat(b);else if("boolean"==typeof d)throw new Error("can not set offset of boolean variable");else if("string"==typeof d)throw new Error("can not set offset of string variable");else throw new Error("unknown instance variable type")}}GetSavedDataMap(){let a=c.get(this);return a?a:(a=new Map,c.set(this,a),a)}GetUnsavedDataMap(){let a=d.get(this);return a?a:(a=new Map,d.set(this,a),a)}_TriggerOnCreated(){this._runtime.Trigger(this.GetPlugin().constructor.Cnds.OnCreated,this,null)}_TriggerOnDestroyed(){this._runtime.Trigger(this.GetPlugin().constructor.Cnds.OnDestroyed,this,null)}_GetDebuggerProperties(){return this._sdkInst.GetDebuggerProperties()}SaveToJson(a="full"){const b={};if("full"===a?b["uid"]=this.GetUID():b["c3"]=!0,"visual-state"!==a){const a=c.get(this);if(a&&a.size&&(b["ex"]=C3.ToSuperJSON(a)),-1!==this.GetTimeScale()&&(b["mts"]=this.GetTimeScale()),0d||d>=this._instVarValues.length)continue;let e=b;null===e&&(e=NaN),this._instVarValues[d]=e}}if(this.GetPlugin().IsWorldType()){const c=a["w"],d=c["l"];if(this._worldInfo.GetLayer().GetSID()!==d){const a=this._worldInfo.GetLayer(),c=a.GetLayout().GetLayerBySID(d);c?(this._worldInfo._SetLayer(c),a._RemoveInstance(this,!0),c._AddInstance(this,!0),c.SetZIndicesChanged(),this._worldInfo.SetBboxChanged()):"full"===b&&this._runtime.DestroyInstance(this)}this._worldInfo._LoadFromJson(c)}if("visual-state"!==b){const b=a["behs"];if(b)for(const[a,c]of Object.entries(b)){const b=parseInt(a,10),d=this.GetBehaviorIndexBySID(b);0>d||d>=this._behaviorInstances.length||this._behaviorInstances[d].LoadFromJson(c)}}const d=a["data"];d&&this._sdkInst.LoadFromJson(d)}GetInterfaceClass(){return this._iScriptInterface||this._InitUserScriptInterface()}_InitUserScriptInterface(){const a=this._worldInfo?IWorldInstance:IInstance,b=this._sdkInst.GetScriptInterfaceClass(),c=this._objectType._GetUserScriptInstanceClass();if(IInstance._Init(this),this._iScriptInterface=new(c||b||a),IInstance._Init(null),b&&!(this._iScriptInterface instanceof a))throw new TypeError(`script interface class '${b.name}' does not extend the right base class '${a.name}'`);if(c){const d=b||a;if(!(this._iScriptInterface instanceof d))throw new TypeError(`setInstanceClass(): class '${c.name}' does not extend the right base class '${d.name}'`)}return this._iScriptInterface}_GetInstVarsScriptDescriptor(a){if(0!==this._instVarValues.length){const b={},c=this._objectType._GetAllInstanceVariableJsPropNames();for(let a=0,d=c.length;a",this.GetSrcBlend(),this.GetDestBlend(),this._colorPremultiplied,this._zElevation)}}GetWebGLStateGroup(){return this._stateGroup}HasDefaultColor(){return this._color===e}SetBlendMode(a){this._blendMode===a||(this._blendMode=a,this._UpdateWebGLStateGroup())}GetBlendMode(){return this._blendMode}GetSrcBlend(){return this._runtime.GetWebGLRenderer().GetSrcBlendByIndex(this._blendMode)}GetDestBlend(){return this._runtime.GetWebGLRenderer().GetDestBlendByIndex(this._blendMode)}_SetLayer(a){this._layer=a,0!==this.GetZElevation()&&this._layer._SetAnyInstanceZElevated()}GetLayer(){return this._layer}GetLayout(){return this.GetLayer().GetLayout()}_SetZIndex(a){this._zIndex=0|a}GetZIndex(){return this._layer._UpdateZIndices(),this._zIndex}_GetLastCachedZIndex(){return this._zIndex}_SetFlag(a,b){b?this._flags|=a:this._flags&=~a}IsVisible(){return 0!=(this._flags&i)}SetVisible(a){this._SetFlag(i,a)}IsCollisionEnabled(){return 0!=(this._flags&8)}SetCollisionEnabled(a){a=!!a;this.IsCollisionEnabled()===a||(this._SetFlag(8,a),a?this.SetBboxChanged():this._RemoveFromCollisionCells())}SetSolidCollisionFilter(a,b){if(this._SetFlag(32,a),this._solidFilterTags&&this._solidFilterTags.clear(),!b.trim())return void(this._solidFilterTags=null);this._solidFilterTags||(this._solidFilterTags=new Set);for(const c of b.split(" "))c&&this._solidFilterTags.add(c.toLowerCase())}IsSolidCollisionAllowed(a){const b=0!=(this._flags&32),c=this._solidFilterTags;if(!a||!c)return!b;for(const d of c)if(a.has(d))return b;return!b}SetBboxChanged(){this._flags|=18,this._objectClass._SetAnyCollisionCellChanged(!0),this._runtime.UpdateRender(),this._layer.UsesRenderCells()&&(this._CalculateBbox(),this._UpdateRenderCell()),0!=(this._flags&4)&&this._inst.Dispatcher().dispatchEvent(c)}_CalculateBbox(){const a=this._boundingBox,b=this._boundingQuad,c=this._x,d=this._y,e=this._w,f=this._h;a.setWH(c-this._ox*e,d-this._oy*f,e,f),0===this._a?b.setFromRect(a):(a.offset(-c,-d),b.setFromRotatedRectPrecalc(a,this._sinA,this._cosA),b.offset(c,d),b.getBoundingBox(a)),a.normalize(),this._flags&=-3}_UpdateBbox(){0!=(this._flags&2)&&this._CalculateBbox()}GetBoundingBox(){return this._UpdateBbox(),this._boundingBox}GetBoundingQuad(){return this._UpdateBbox(),this._boundingQuad}OverwriteBoundingBox(a){this._boundingBox.copy(a),this._boundingQuad.setFromRect(this._boundingBox),this._flags&=-3,this._UpdateCollisionCell(),this._UpdateRenderCell()}SetBboxChangeEventEnabled(a){this._SetFlag(4,a)}IsBboxChangeEventEnabled(){return 0!=(this._flags&4)}IsInViewport(a){return 0===this._zElevation?a.intersectsRect(this.GetBoundingBox()):this._IsInViewport_ZElevated()}_IsInViewport_ZElevated(){const a=this.GetLayer(),c=this.GetTotalZElevation();return!(c>=a.GetCameraZ())&&(a.GetViewportForZ(c,b),b.intersectsRect(this.GetBoundingBox()))}SetSourceCollisionPoly(a){this._sourceCollisionPoly=a;const b=this._transformedPolyInfo;b&&(b.width=-1,b.height=-1,b.angle=0)}GetSourceCollisionPoly(){return this._sourceCollisionPoly}HasOwnCollisionPoly(){return!!this._sourceCollisionPoly}GetTransformedCollisionPoly(){return this._GetCustomTransformedCollisionPolyPrecalc(this.GetWidth(),this.GetHeight(),this.GetAngle(),this.GetSinAngle(),this.GetCosAngle())}GetCustomTransformedCollisionPoly(b,c,d){let a=0,e=1;return 0!==d&&(a=Math.sin(d),e=Math.cos(d)),this._GetCustomTransformedCollisionPolyPrecalc(b,c,d,a,e)}_GetCustomTransformedCollisionPolyPrecalc(b,c,d,a,e){let f=this._transformedPolyInfo;return(null===f&&(f={poly:C3.New(C3.CollisionPoly),width:-1,height:-1,angle:0},this._transformedPolyInfo=f),f.width===b&&f.height===c&&f.angle===d)?f.poly:(this._sourceCollisionPoly?(f.poly.copy(this._sourceCollisionPoly),f.poly.transformPrecalc(b,c,a,e)):f.poly.setFromQuad(this.GetBoundingQuad(),-this.GetX(),-this.GetY()),f.width=b,f.height=c,f.angle=d,f.poly)}HasTilemap(){return this._inst.HasTilemap()}ContainsPoint(a,b){return!!this.GetBoundingBox().containsPoint(a,b)&&!!this.GetBoundingQuad().containsPoint(a,b)&&(this.HasTilemap()?this._inst.GetSdkInstance().TestPointOverlapTile(a,b):!this.HasOwnCollisionPoly()||this.GetTransformedCollisionPoly().containsPoint(a-this.GetX(),b-this.GetY()))}_IsCollisionCellChanged(){return 0!=(this._flags&16)}_UpdateCollisionCell(){if(this._IsCollisionCellChanged()&&this.IsCollisionEnabled()){const b=this.GetBoundingBox(),c=this._objectClass._GetCollisionCellGrid(),d=this._collisionCells;if(a.set(c.XToCell(b.getLeft()),c.YToCell(b.getTop()),c.XToCell(b.getRight()),c.YToCell(b.getBottom())),!d.equals(a)){const b=this._inst;d===g?(c.Update(b,null,a),this._collisionCells=C3.New(C3.Rect,a)):(c.Update(b,d,a),d.copy(a)),this._flags&=-17}}}_RemoveFromCollisionCells(){const a=this._collisionCells;a===g||(this._objectClass._GetCollisionCellGrid().Update(this._inst,a,null),this._collisionCells=g)}_UpdateRenderCell(){const b=this.GetLayer();if(b.UsesRenderCells()){const c=b.GetRenderGrid(),d=this.GetBoundingBox(),e=this._renderCells;if(a.set(c.XToCell(d.getLeft()),c.YToCell(d.getTop()),c.XToCell(d.getRight()),c.YToCell(d.getBottom())),!e.equals(a)){const d=this._inst;e===f?(c.Update(d,null,a),this._renderCells=C3.New(C3.Rect,a)):(c.Update(d,e,a),e.copy(a)),b.SetRenderListStale()}}}_RemoveFromRenderCells(){const a=this._renderCells;a===f||(this.GetLayer().GetRenderGrid().Update(this._inst,a,null),this._renderCells=f)}GetRenderCellRange(){return this._renderCells}ZOrderMoveToTop(){const a=this._inst,b=this._layer,c=b._GetInstances();c.length&&c[c.length-1]===a||(b._RemoveInstance(a,!1),b._AddInstance(a,!1),this._runtime.UpdateRender())}ZOrderMoveToBottom(){const a=this._inst,b=this._layer,c=b._GetInstances();c.length&&c[0]===a||(b._RemoveInstance(a,!1),b._PrependInstance(a,!1),this._runtime.UpdateRender())}ZOrderMoveToLayer(a){const b=this._inst,c=this._layer;if(c.GetLayout()!==a.GetLayout())throw new Error("layer from different layout");a===c||(c._RemoveInstance(b,!0),this._SetLayer(a),a._AddInstance(b,!0),this._runtime.UpdateRender())}ZOrderMoveAdjacentToInstance(a,b){const c=this._inst,d=this._layer;if(a.GetUID()!==c.GetUID()){const e=a.GetWorldInfo();if(!e)throw new Error("expected world instance");const f=e.GetLayer();d.GetIndex()!==f.GetIndex()&&(d._RemoveInstance(c,!0),this._SetLayer(f),f._AddInstance(c,!0)),f.MoveInstanceAdjacent(c,a,!!b),this._runtime.UpdateRender()}}GetInstanceEffectList(){return this._instanceEffectList}_SetHasAnyActiveEffect(a){this._SetFlag(64,a)}HasAnyActiveEffect(){return 0!=(this._flags&64)}_SaveToJson(){const a={"x":this.GetX(),"y":this.GetY(),"w":this.GetWidth(),"h":this.GetHeight(),"l":this.GetLayer().GetSID(),"zi":this.GetZIndex()};0!==this.GetZElevation()&&(a["ze"]=this.GetZElevation()),0!==this.GetAngle()&&(a["a"]=this.GetAngle()),this.HasDefaultColor()||(a["c"]=this._color.toJSON()),.5!==this.GetOriginX()&&(a["oX"]=this.GetOriginX()),.5!==this.GetOriginY()&&(a["oY"]=this.GetOriginY()),0!==this.GetBlendMode()&&(a["bm"]=this.GetBlendMode()),this.IsVisible()||(a["v"]=this.IsVisible()),this.IsCollisionEnabled()||(a["ce"]=this.IsCollisionEnabled()),this.IsBboxChangeEventEnabled()&&(a["be"]=this.IsBboxChangeEventEnabled()),this._instanceEffectList&&(a["fx"]=this._instanceEffectList._SaveToJson());const b=0!=(32&this._flags);return b&&(a["sfi"]=b),this._solidFilterTags&&(a["sft"]=[...this._solidFilterTags].join(" ")),a}_LoadFromJson(a){h=!1,this.SetX(a["x"]),this.SetY(a["y"]),this.SetWidth(a["w"]),this.SetHeight(a["h"]),this._SetZIndex(a["zi"]),this.SetZElevation(a.hasOwnProperty("ze")?a["ze"]:0),this.SetAngle(a.hasOwnProperty("a")?a["a"]:0),a.hasOwnProperty("c")?d.setFromJSON(a["c"]):a.hasOwnProperty("o")?(d.copyRgb(this._color),d.a=a["o"]):d.setRgba(1,1,1,1),this._SetColor(d),this.SetOriginX(a.hasOwnProperty("oX")?a["oX"]:.5),this.SetOriginY(a.hasOwnProperty("oY")?a["oY"]:.5),this.SetBlendMode(a.hasOwnProperty("bm")?a["bm"]:0),this.SetVisible(!a.hasOwnProperty("v")||a["v"]),this.SetCollisionEnabled(!a.hasOwnProperty("ce")||a["ce"]),this.SetBboxChangeEventEnabled(!!a.hasOwnProperty("be")&&a["be"]),this.SetSolidCollisionFilter(!!a.hasOwnProperty("sfi")&&a["sfi"],a.hasOwnProperty("sft")?a["sft"]:""),this._instanceEffectList&&a.hasOwnProperty("fx")&&this._instanceEffectList._LoadFromJson(a["fx"]),this.SetBboxChanged(),h=!0,this._UpdateWebGLStateGroup()}}} + +// c3/objects/behaviorType.js +"use strict";C3.BehaviorType=class extends C3.DefendedBase{constructor(a,b){super();const c=a.GetRuntime(),d=c.GetPluginManager(),e=c.GetObjectReference(b[1]);d.HasBehaviorByConstructorFunction(e)||d.CreateBehavior(b),this._runtime=c,this._objectClass=a,this._behavior=d.GetBehaviorByConstructorFunction(e),this._sdkType=null,this._instSdkCtor=e.Instance,this._sid=b[2],this._name=b[0],this._jsPropName=this._runtime.GetJsPropName(b[3]),this._sdkType=C3.New(e.Type,this);this.OnCreate()}static Create(a,b){return C3.New(C3.BehaviorType,a,b)}Release(){this._runtime=null,this._behavior=null,this._sdkType.Release(),this._sdkType=null,this._instSdkCtor=null}GetSdkType(){return this._sdkType}OnCreate(){this._sdkType.OnCreate()}GetRuntime(){return this._runtime}GetObjectClass(){return this._objectClass}GetBehavior(){return this._behavior}GetInstanceSdkCtor(){return this._instSdkCtor}GetName(){return this._name}GetSID(){return this._sid}GetJsPropName(){return this._jsPropName}}; + +// c3/objects/behaviorInstance.js +"use strict";C3.BehaviorInstance=class extends C3.DefendedBase{constructor(a){super(),this._runtime=a.runtime,this._behaviorType=a.behaviorType,this._behavior=this._behaviorType.GetBehavior(),this._inst=a.instance,this._index=a.index,this._sdkInst=null,this._iScriptInterface=null,this._behavior._AddInstance(this._inst)}Release(){this._behavior._RemoveInstance(this._inst),this._sdkInst.Release(),this._sdkInst=null,this._iScriptInterface=null,this._runtime=null,this._behaviorType=null,this._behavior=null,this._inst=null}_CreateSdkInstance(a){if(this._sdkInst)throw new Error("already got sdk instance");this._sdkInst=C3.New(this._behaviorType.GetInstanceSdkCtor(),this,a);this._InitScriptInterface()}GetSdkInstance(){return this._sdkInst}GetObjectInstance(){return this._inst}GetRuntime(){return this._runtime}GetBehaviorType(){return this._behaviorType}GetBehavior(){return this._behavior}_GetIndex(){return this._index}PostCreate(){this._sdkInst.PostCreate()}OnSpriteFrameChanged(a,b){this._sdkInst.OnSpriteFrameChanged(a,b)}_GetDebuggerProperties(){return this._sdkInst.GetDebuggerProperties()}SaveToJson(){return this._sdkInst.SaveToJson()}LoadFromJson(a){return this._sdkInst.LoadFromJson(a)}static SortByTickSequence(c,a){const b=c.GetObjectInstance(),d=a.GetObjectInstance(),e=b.GetObjectClass().GetIndex(),f=d.GetObjectClass().GetIndex();if(e!==f)return e-f;const g=b.GetPUID(),h=d.GetPUID();return g===h?c.GetBehaviorInstance()._GetIndex()-a.GetBehaviorInstance()._GetIndex():g-h}_InitScriptInterface(){const a=IBehaviorInstance,b=this._sdkInst.GetScriptInterfaceClass();if(IBehaviorInstance._Init(this),this._iScriptInterface=new(b||a),IBehaviorInstance._Init(null),b&&!(this._iScriptInterface instanceof a))throw new TypeError(`script interface class '${b.name}' does not extend the right base class '${a.name}'`)}GetScriptInterface(){return this._iScriptInterface}}; + +// c3/objects/effectList.js +"use strict";C3.EffectList=class extends C3.DefendedBase{constructor(a,b){super(),this._owner=a,this._allEffectTypes=[],this._activeEffectTypes=[],this._effectTypesByName=new Map,this._effectParams=[],this._preservesOpaqueness=!0;for(const c of b){const a=C3.New(C3.EffectType,this,c,this._allEffectTypes.length);this._allEffectTypes.push(a),this._effectTypesByName.set(a.GetName().toLowerCase(),a),3<=c.length&&this._effectParams.push(this._LoadSingleEffectParameters(c[2]))}this.GetRuntime()._AddEffectList(this)}Release(){C3.clearArray(this._allEffectTypes),C3.clearArray(this._activeEffectTypes),this._effectTypesByName.clear(),C3.clearArray(this._effectParams),this._owner=null}PrependEffectTypes(a){if(a.length){this._allEffectTypes=a.concat(this._allEffectTypes);for(const b of a)this._effectTypesByName.set(b.GetName().toLowerCase(),b);for(let a=0,b=this._allEffectTypes.length;a({"name":a.GetName(),"active":a.IsActive(),"params":C3.EffectList.SaveFxParamsToJson(this._effectParams[a.GetIndex()])}))}LoadFromJson(a){for(const b of a){const a=this.GetEffectTypeByName(b["name"]);a&&(a.SetActive(b["active"]),this._effectParams[a.GetIndex()]=C3.EffectList.LoadFxParamsFromJson(b["params"]))}this.UpdateActiveEffects()}}; + +// c3/objects/effectType.js +"use strict";C3.EffectType=class extends C3.DefendedBase{constructor(a,b,c){super(),this._effectList=a,this._id=b[0],this._name=b[1],this._index=c,this._shaderProgram=null,this._isActive=!0}Release(){this._effectList=null,this._shaderProgram=null}Clone(a){const b=C3.New(C3.EffectType,a,[this._id,this._name],-1);return b._shaderProgram=this._shaderProgram,b._isActive=this._isActive,b}_InitRenderer(a){const b=a.GetShaderProgramByName(this._id);if(!b)throw new Error("failed to find shader program '"+this._id+"'");this._shaderProgram=b}GetEffectList(){return this._effectList}GetName(){return this._name}_SetIndex(a){this._index=a}GetIndex(){return this._index}GetOwner(){return this._effectList.GetOwner()}GetRuntime(){return this._effectList.GetRuntime()}SetActive(b){this._isActive=!!b}IsActive(){return this._isActive}GetShaderProgram(){return this._shaderProgram}GetDefaultParameterValues(){const a=[];for(let b=0,c=this._shaderProgram.GetParameterCount();ba.GetShaderProgram().UsesDest())}IsEffectIndexActive(a){return this._activeEffectFlags[a]}SetEffectIndexActive(a,b){this._activeEffectFlags[a]=!!b}_SaveToJson(){return this._effectList.GetAllEffectTypes().map((a)=>({"name":a.GetName(),"active":this._activeEffectFlags[a.GetIndex()],"params":C3.EffectList.SaveFxParamsToJson(this._effectParams[a.GetIndex()])}))}_LoadFromJson(a){for(const b of a){const a=this._effectList.GetEffectTypeByName(b["name"]);a&&(this._activeEffectFlags[a.GetIndex()]=b["active"],this._effectParams[a.GetIndex()]=C3.EffectList.LoadFxParamsFromJson(b["params"]))}this.UpdateActiveEffects()}}; + +// c3/collisions/collisionEngine.js +"use strict";{const a=[],b=[],c=[],d=C3.New(C3.CollisionPoly),e=C3.New(C3.CollisionPoly),f=C3.New(C3.Quad),g=C3.New(C3.Rect),h=C3.New(C3.Rect);C3.CollisionEngine=class extends C3.DefendedBase{constructor(a){super(),this._runtime=a,this._registeredCollisions=[],this._collisionCheckCount=0,this._collisionCheckSec=0,this._polyCheckCount=0,this._polyCheckSec=0}Release(){this._runtime=null}_Update1sStats(){this._collisionCheckSec=this._collisionCheckCount,this._collisionCheckCount=0,this._polyCheckSec=this._polyCheckCount,this._polyCheckCount=0}Get1secCollisionChecks(){return this._collisionCheckSec}Get1secPolyChecks(){return this._polyCheckSec}RegisterCollision(c,a){const b=c.GetWorldInfo(),d=a.GetWorldInfo();b&&d&&b.IsCollisionEnabled()&&d.IsCollisionEnabled()&&this._registeredCollisions.push([c,a])}AddRegisteredCollisionCandidates(c,d,e){for(const[f,a]of this._registeredCollisions){let b=null;if(c===f)b=a;else if(c===a)b=f;else continue;b.BelongsToObjectClass(d)&&!e.includes(b)&&e.push(b)}}CheckRegisteredCollision(e,a){if(!this._registeredCollisions.length)return!1;for(const[b,c]of this._registeredCollisions)if(e===b&&a===c||e===c&&a===b)return!0;return!1}ClearRegisteredCollisions(){C3.clearArray(this._registeredCollisions)}TestOverlap(c,d){if(!c||!d||c===d)return!1;const e=c.GetWorldInfo(),f=d.GetWorldInfo();if(!e.IsCollisionEnabled()||!f.IsCollisionEnabled())return!1;this._collisionCheckCount++;const g=e.GetLayer(),h=f.GetLayer(),i=g!==h&&!g._IsCollisionCompatibleWith(h);return i?this._TestOverlap_DifferentLayers(e,f):this._TestOverlap_SameLayers(e,f)}_TestOverlap_SameLayers(a,b){if(!a.GetBoundingBox().intersectsRect(b.GetBoundingBox()))return!1;if(this._polyCheckCount++,!a.GetBoundingQuad().intersectsQuad(b.GetBoundingQuad()))return!1;if(a.HasTilemap()&&b.HasTilemap())return!1;if(a.HasTilemap())return this.TestTilemapOverlap(a,b);if(b.HasTilemap())return this.TestTilemapOverlap(b,a);if(!a.HasOwnCollisionPoly()&&!b.HasOwnCollisionPoly())return!0;const c=a.GetTransformedCollisionPoly(),d=b.GetTransformedCollisionPoly();return c.intersectsPoly(d,b.GetX()-a.GetX(),b.GetY()-a.GetY())}_TestOverlap_DifferentLayers(a,b){const c=a.GetLayer(),f=b.GetLayer();d.copy(a.GetTransformedCollisionPoly()),e.copy(b.GetTransformedCollisionPoly());const g=d.pointsArr();for(let d=0,e=g.length;dd;++d){const i=2*d-1;if(e.SetXY(f+b*k*i,g+c*k*i),e.SetBboxChanged(),!this.TestOverlap(a,h))if(h=this.TestOverlapSolid(a),h)j=h;else return j&&this.PushInFractional(a,b*i,c*i,j,16,!0),!0}return e.SetXY(f,g),e.SetBboxChanged(),!1}PushInFractional(a,b,c,d,e,f){let g=2,h=!1,i=!1;const j=a.GetWorldInfo();let k=j.GetX(),l=j.GetY();for(;g<=e;){const e=1/g;g*=2,j.OffsetXY(b*e*(h?1:-1),c*e*(h?1:-1)),j.SetBboxChanged(),this.TestOverlap(a,d)||f&&this.TestOverlapSolid(a)?(h=!0,i=!0):(h=!1,i=!1,k=j.GetX(),l=j.GetY())}i&&(j.SetXY(k,l),j.SetBboxChanged())}PushOutSolidNearest(a,b=100){var c=Math.floor;let d=0;const e=a.GetWorldInfo(),f=e.GetX(),g=e.GetY();let h=0,i=this.TestOverlapSolid(a);if(!i)return!0;for(;d<=b;){let b=0,j=0;if(0==h?(b=0,j=-1,d++):1==h?(b=1,j=-1):2==h?(b=1,j=0):3==h?(b=1,j=1):4==h?(b=0,j=1):5==h?(b=-1,j=1):6==h?(b=-1,j=0):7==h?(b=-1,j=-1):void 0,h=(h+1)%8,e.SetXY(c(f+b*d),c(g+j*d)),e.SetBboxChanged(),!this.TestOverlap(a,i)&&(i=this.TestOverlapSolid(a),!i))return!0}return e.SetXY(f,g),e.SetBboxChanged(),!1}CalculateBounceAngle(a,b,c,d){var e=Math.sin,f=Math.cos,g=Math.PI;const h=a.GetWorldInfo(),j=h.GetX(),k=h.GetY(),l=Math.max(10,C3.distanceTo(b,c,j,k)),m=C3.angleTo(b,c,j,k),n=d||this.TestOverlapSolid(a);if(!n)return C3.clampAngle(m+g);let o=n,p=0,q=0;const r=C3.toRadians(5);let s;for(s=1;36>s;++s){const g=m-s*r;if(h.SetXY(b+f(g)*l,c+e(g)*l),h.SetBboxChanged(),!this.TestOverlap(a,o)&&(o=d?null:this.TestOverlapSolid(a),!o)){p=g;break}}for(36===s&&(p=C3.clampAngle(m+g)),o=n,s=1;36>s;++s){const g=m+s*r;if(h.SetXY(b+f(g)*l,c+e(g)*l),h.SetBboxChanged(),!this.TestOverlap(a,o)&&(o=d?null:this.TestOverlapSolid(a),!o)){q=g;break}}if(36===s&&(q=C3.clampAngle(m+g)),h.SetXY(j,k),h.SetBboxChanged(),q===p)return q;const i=C3.angleDiff(q,p)/2;let t=C3.angleClockwise(q,p)?C3.clampAngle(p+i+g):C3.clampAngle(q+i);const u=f(m),v=e(m),w=f(t),x=e(t),y=u*w+v*x;return C3.angleTo(0,0,u-2*y*w,v-2*y*x)}TestSegmentOverlap(a,b,c,d,e){var f=Math.min,h=Math.max;if(!e)return!1;const i=e.GetWorldInfo();if(!i.IsCollisionEnabled())return!1;if(this._collisionCheckCount++,g.set(f(a,c),f(b,d),h(a,c),h(b,d)),!i.GetBoundingBox().intersectsRect(g))return!1;if(e.HasTilemap())return this._TestSegmentOverlapTilemap(a,b,c,d,e,i);if(this._polyCheckCount++,!i.GetBoundingQuad().intersectsSegment(a,b,c,d))return!1;if(!i.HasOwnCollisionPoly())return!0;const j=i.GetTransformedCollisionPoly();return j.intersectsSegment(i.GetX(),i.GetY(),a,b,c,d)}_TestSegmentOverlapTilemap(a,d,e,j,c,i){const k=i.GetX(),l=i.GetY(),m=c.GetSdkInstance(),n=b;h.set(a,d,e,j),h.normalize(),m.GetCollisionRectCandidates(h,n);for(let b=0,h=n.length;bthis._loadingProgress=a.progress,this._webglPercentText=null,this._loadingLogoAsset=null,this._splashTextures={logo:null,powered:null,website:null},this._splashFrameNumber=0,this._splashFadeInFinishTime=0,this._splashFadeOutStartTime=0,this._splashState="fade-in",this._splashDoneResolve=null,this._splashDonePromise=new Promise((a)=>this._splashDoneResolve=a)}_SetGPUPowerPreference(a){this._gpuPreference=a}async CreateCanvas(a){this._canvas=a["canvas"],this._canvas.addEventListener("webglcontextlost",(a)=>this._OnWebGLContextLost(a)),this._canvas.addEventListener("webglcontextrestored",(a)=>this._OnWebGLContextRestored(a));const b={powerPreference:this._gpuPreference,enableGpuProfiling:!0};"Android"===C3.Platform.OS&&"Chromium"===C3.Platform.BrowserEngine&&75>C3.Platform.BrowserVersionNumber&&(console.warn("[Construct 3] Disabling WebGL 2 because this device appears to be affected by crbug.com/934823. Install software updates to avoid this."),b.maxWebGLVersion=1),"standard"===this._runtime.GetCompositingMode()?b.alpha=!0:(b.alpha=!1,b.lowLatency=!0),this._webglRenderer=C3.New(C3.Gfx.WebGLRenderer,this._canvas,b),await this._webglRenderer.InitState(),this._webglRenderer.SupportsGPUProfiling()||(this._gpuLastUtilisation=NaN),this._runtime.AddDOMComponentMessageHandler("runtime","window-resize",(a)=>this._OnWindowResize(a)),this._runtime.AddDOMComponentMessageHandler("runtime","fullscreenchange",(a)=>this._OnFullscreenChange(a)),this._runtime.AddDOMComponentMessageHandler("runtime","fullscreenerror",(a)=>this._OnFullscreenError(a)),this._isDocumentFullscreen=!!a["isFullscreen"],this.SetSize(a["windowInnerWidth"],a["windowInnerHeight"],!0),this._shaderData=self["C3_Shaders"],await this._LoadShaderPrograms();let c=!1;for(const b of this._runtime._GetAllEffectLists()){for(const a of b.GetAllEffectTypes())a._InitRenderer(this._webglRenderer),a.GetShaderProgram().UsesDest()&&(c=!0);b.UpdateActiveEffects()}this._runtime._SetUsesAnyBackgroundBlending(c),this._webglRenderer.SupportsGPUProfiling()&&(this._gpuFrameTimingsBuffer=C3.New(C3.Gfx.WebGLQueryResultBuffer,this._webglRenderer))}async _LoadShaderPrograms(){if(this._shaderData){const a=[];for(const[b,c]of Object.entries(this._shaderData)){const d=C3.Gfx.WebGLShaderProgram.GetDefaultVertexShaderSource(this._webglRenderer.Is3D());a.push(this._webglRenderer.CreateShaderProgram(c,d,b))}await Promise.all(a),this._webglRenderer.ResetLastProgram(),this._webglRenderer.SetTextureFillMode()}}Release(){this._runtime=null,this._webglRenderer=null,this._canvas=null}_OnWindowResize(a){const b=a["devicePixelRatio"];this._runtime.IsInWorker()&&(self.devicePixelRatio=b),this._runtime._SetDevicePixelRatio(b),this.SetSize(a["innerWidth"],a["innerHeight"]),this._runtime.UpdateRender()}_OnFullscreenChange(a){this._isDocumentFullscreen=!!a["isFullscreen"],this.SetSize(a["innerWidth"],a["innerHeight"],!0),this._runtime.UpdateRender()}_OnFullscreenError(a){this._isDocumentFullscreen=!!a["isFullscreen"],this.SetSize(a["innerWidth"],a["innerHeight"],!0),this._runtime.UpdateRender()}SetSize(a,b,c=!1){var d=Math.floor;if(a=d(a),b=d(b),0>=a||0>=b)throw new Error("invalid size");if(this._windowInnerWidth!==a||this._windowInnerHeight!==b||c){this._windowInnerWidth=a,this._windowInnerHeight=b;const c=this.GetCurrentFullscreenMode();"letterbox-scale"===c?this._CalculateLetterboxScale(a,b):"letterbox-integer-scale"===c?this._CalculateLetterboxIntegerScale(a,b):"off"===c?this._CalculateFixedSizeCanvas(a,b):this._CalculateFullsizeCanvas(a,b),this._UpdateFullscreenScalingQuality(c),this._canvas.width=this._canvasDeviceWidth,this._canvas.height=this._canvasDeviceHeight,this._runtime.PostComponentMessageToDOM("canvas","update-size",{"marginLeft":this._canvasCssOffsetX,"marginTop":this._canvasCssOffsetY,"styleWidth":this._canvasCssWidth,"styleHeight":this._canvasCssHeight}),this._webglRenderer.SetSize(this._canvasDeviceWidth,this._canvasDeviceHeight,!0)}}_CalculateLetterboxScale(a,b){var c=Math.round,d=Math.floor;const e=this._runtime.GetDevicePixelRatio(),f=this._runtime.GetOriginalViewportWidth(),g=this._runtime.GetOriginalViewportHeight(),h=f/g;if(a/b>h){this._canvasCssWidth=c(b*h),this._canvasCssHeight=b,this._canvasCssOffsetX=d((a-this._canvasCssWidth)/2),this._canvasCssOffsetY=0}else{this._canvasCssWidth=a,this._canvasCssHeight=c(a/h),this._canvasCssOffsetX=0,this._canvasCssOffsetY=d((b-this._canvasCssHeight)/2)}this._canvasDeviceWidth=c(this._canvasCssWidth*e),this._canvasDeviceHeight=c(this._canvasCssHeight*e),this._runtime.SetViewportSize(f,g)}_CalculateLetterboxIntegerScale(a,b){var c=Math.max,d=Math.round,e=Math.floor;const f=this._runtime.GetDevicePixelRatio();1!==f&&(a+=1,b+=1);const g=this._runtime.GetOriginalViewportWidth(),h=this._runtime.GetOriginalViewportHeight(),i=g/h,j=a/b;let k;if(j>i){const a=b*i;k=a*f/g}else{const b=a/i;k=b*f/h}1k&&(k=1/Math.ceil(1/k)),this._canvasDeviceWidth=d(g*k),this._canvasDeviceHeight=d(h*k),this._canvasCssWidth=this._canvasDeviceWidth/f,this._canvasCssHeight=this._canvasDeviceHeight/f,this._canvasCssOffsetX=c(e((a-this._canvasCssWidth)/2),0),this._canvasCssOffsetY=c(e((b-this._canvasCssHeight)/2),0),this._runtime.SetViewportSize(g,h)}_CalculateFullsizeCanvas(a,b){var c=Math.round;const d=this._runtime.GetDevicePixelRatio();this._canvasCssWidth=a,this._canvasCssHeight=b,this._canvasDeviceWidth=c(this._canvasCssWidth*d),this._canvasDeviceHeight=c(this._canvasCssHeight*d),this._canvasCssOffsetX=0,this._canvasCssOffsetY=0;const e=this.GetDisplayScale();this._runtime.SetViewportSize(this._canvasCssWidth/e,this._canvasCssHeight/e)}_CalculateFixedSizeCanvas(a,b){var c=Math.round,d=Math.floor;const e=this._runtime.GetDevicePixelRatio();this._canvasCssWidth=this._runtime.GetViewportWidth(),this._canvasCssHeight=this._runtime.GetViewportHeight(),this._canvasDeviceWidth=c(this._canvasCssWidth*e),this._canvasDeviceHeight=c(this._canvasCssHeight*e),this.IsDocumentFullscreen()?(this._canvasCssOffsetX=d((a-this._canvasCssWidth)/2),this._canvasCssOffsetY=d((b-this._canvasCssHeight)/2)):(this._canvasCssOffsetX=0,this._canvasCssOffsetY=0),this._runtime.SetViewportSize(this._runtime.GetViewportWidth(),this._runtime.GetViewportHeight())}_UpdateFullscreenScalingQuality(a){if("high"===this._wantFullscreenScalingQuality)this._drawWidth=this._canvasDeviceWidth,this._drawHeight=this._canvasDeviceHeight,this._fullscreenScalingQuality="high";else{let b,c;if("off"===this.GetCurrentFullscreenMode()?(b=this._runtime.GetViewportWidth(),c=this._runtime.GetViewportHeight()):(b=this._runtime.GetOriginalViewportWidth(),c=this._runtime.GetOriginalViewportHeight()),this._canvasDeviceWidtha&&(this._drawHeight=this._drawWidth/d)}else if("scale-outer"===a){const a=b/c,d=this._windowInnerWidth/this._windowInnerHeight;d>a?this._drawWidth=this._drawHeight*d:dd||"scale-inner"===a&&eb.IsCompatibleWithOptions(a));let d;return-1===c?d=this._webglRenderer.CreateRenderTarget(a):(d=b[c],b.splice(c,1)),this._usedAdditionalRenderTargets.add(d),d}ReleaseAdditionalRenderTarget(a){if(!this._usedAdditionalRenderTargets.has(a))throw new Error("render target not in use");this._usedAdditionalRenderTargets.delete(a),this._availableAdditionalRenderTargets.push(a)}*activeLayersGpuProfiles(){for(const a of this._runtime.GetLayoutManager().runningLayouts())for(const b of a.GetLayers()){const a=this._layersGpuProfile.get(b);a&&(yield a)}}GetLayerTimingsBuffer(a){if(!this._webglRenderer.SupportsGPUProfiling())return null;let b=this._layersGpuProfile.get(a);return b||(b={name:a.GetName(),timingsBuffer:C3.New(C3.Gfx.WebGLQueryResultBuffer,this._webglRenderer),curUtilisation:0,lastUtilisation:0},this._layersGpuProfile.set(a,b)),b.timingsBuffer}_Update1sFrameRange(){if(this._webglRenderer.SupportsGPUProfiling()&&0===this._gpuTimeEndFrame){this._gpuTimeEndFrame=this._webglRenderer.GetFrameNumber(),this._gpuCurUtilisation=NaN;for(const a of this.activeLayersGpuProfiles())a.curUtilisation=NaN}}_UpdateTick(){var a=Math.min;if(this._webglRenderer.SupportsGPUProfiling()&&isNaN(this._gpuCurUtilisation)&&(this._gpuCurUtilisation=this._gpuFrameTimingsBuffer.GetFrameRangeResultSum(this._gpuTimeStartFrame,this._gpuTimeEndFrame),!isNaN(this._gpuCurUtilisation))){if(this._runtime.IsDebug())for(const a of this.activeLayersGpuProfiles())if(a.curUtilisation=a.timingsBuffer.GetFrameRangeResultSum(this._gpuTimeStartFrame,this._gpuTimeEndFrame),isNaN(a.curUtilisation))return;if(this._gpuFrameTimingsBuffer.DeleteAllBeforeFrameNumber(this._gpuTimeEndFrame),this._gpuLastUtilisation=a(this._gpuCurUtilisation,1),this._runtime.IsDebug()){for(const b of this.activeLayersGpuProfiles())b.timingsBuffer.DeleteAllBeforeFrameNumber(this._gpuTimeEndFrame),b.lastUtilisation=a(b.curUtilisation,1);C3Debugger.UpdateGPUProfile(this._gpuLastUtilisation,[...this.activeLayersGpuProfiles()])}this._gpuTimeStartFrame=this._gpuTimeEndFrame,this._gpuTimeEndFrame=0}}GetGPUFrameTimingsBuffer(){return this._gpuFrameTimingsBuffer}GetGPUUtilisation(){return this._gpuLastUtilisation}SnapshotCanvas(a,b){return(this._snapshotFormat=a,this._snapshotQuality=b,this._snapshotPromise)?this._snapshotPromise:(this._snapshotPromise=new Promise((a)=>{this._snapshotResolve=a}),this._snapshotPromise)}_MaybeTakeSnapshot(){this._snapshotFormat&&(C3.CanvasToBlob(this._canvas,this._snapshotFormat,this._snapshotQuality).then((a)=>{this._snapshotUrl=URL.createObjectURL(a),this._snapshotPromise=null,this._snapshotResolve(this._snapshotUrl)}),this._snapshotFormat="",this._snapshotQuality=1)}GetCanvasSnapshotUrl(){return this._snapshotUrl}InitLoadingScreen(a){if(2===a)this._webglPercentText=C3.New(C3.Gfx.WebGLText,this._webglRenderer),this._webglPercentText.SetIsAsync(!1),this._webglPercentText.SetFontName("Arial"),this._webglPercentText.SetFontSize(16),this._webglPercentText.SetHorizontalAlignment("center"),this._webglPercentText.SetVerticalAlignment("center"),this._webglPercentText.SetSize(300,200);else if(0===a){const a=this._runtime.GetAssetManager();let b;if(this._runtime.IsPreview()){if(!a._HasLocalUrlBlob("loading-logo.png"))return;b=a.GetLocalUrlAsBlobUrl("loading-logo.png")}else b=a.GetIconsSubfolder()+"loading-logo.png";this._loadingLogoAsset=a.LoadImage({url:b}),this._loadingLogoAsset.LoadStaticTexture(this._webglRenderer).catch(()=>console.warn(`[C3 runtime] Failed to load 'loading-logo.png' for loading screen. Check the project has an icon with that name.`))}else 4===a&&(this._LoadSvgSplashImage("splash-images/splash-logo.svg").then((a)=>{"done"===this._splashState?this._webglRenderer.DeleteTexture(a):this._splashTextures.logo=a}).catch((a)=>console.warn("Failed to load splash image: ",a)),this._LoadBitmapSplashImage("splash-images/splash-poweredby-512.png").then((a)=>{"done"===this._splashState?this._webglRenderer.DeleteTexture(a):this._splashTextures.powered=a}).catch((a)=>console.warn("Failed to load splash image: ",a)),this._LoadBitmapSplashImage("splash-images/splash-website-512.png").then((a)=>{"done"===this._splashState?this._webglRenderer.DeleteTexture(a):this._splashTextures.website=a}).catch((a)=>console.warn("Failed to load splash image: ",a)))}async _LoadSvgSplashImage(a){a=new URL(a,this._runtime.GetBaseURL()).toString();const b=await C3.FetchBlob(a),c=await this._runtime.RasterSvgImage(b,2048,2048);return await this._webglRenderer.CreateStaticTextureAsync(c,{mipMapQuality:"high"})}async _LoadBitmapSplashImage(a){a=new URL(a,this._runtime.GetBaseURL()).toString();const b=await C3.FetchBlob(a);return await this._webglRenderer.CreateStaticTextureAsync(b,{mipMapQuality:"high"})}StartLoadingScreen(){this._loaderStartTime=Date.now(),this._runtime.Dispatcher().addEventListener("loadingprogress",this._loadingprogress_handler),this._rafId=requestAnimationFrame(()=>this._DrawLoadingScreen())}async EndLoadingScreen(){this._loadingProgress=1,4===this._runtime.GetLoaderStyle()&&(await this._splashDonePromise),this._splashDoneResolve=null,this._splashDonePromise=null,-1!==this._rafId&&(cancelAnimationFrame(this._rafId),this._rafId=-1),this._runtime.Dispatcher().removeEventListener("loadingprogress",this._loadingprogress_handler),this._loadingprogress_handler=null,this._webglPercentText&&(this._webglPercentText.Release(),this._webglPercentText=null),this._loadingLogoAsset&&(this._loadingLogoAsset.Release(),this._loadingLogoAsset=null),this._webglRenderer.Start(),this._splashTextures.logo&&(this._webglRenderer.DeleteTexture(this._splashTextures.logo),this._splashTextures.logo=null),this._splashTextures.powered&&(this._webglRenderer.DeleteTexture(this._splashTextures.powered),this._splashTextures.powered=null),this._splashTextures.website&&(this._webglRenderer.DeleteTexture(this._splashTextures.website),this._splashTextures.website=null),this._webglRenderer.ClearRgba(0,0,0,0),this._webglRenderer.Finish(),this._splashState="done",this._gpuTimeStartFrame=this._webglRenderer.GetFrameNumber()}_DrawLoadingScreen(){if(-1!==this._rafId){const a=this._webglRenderer;a.Start(),this._rafId=-1;const b=this._runtime.GetAssetManager().HasHadErrorLoading(),c=this._runtime.GetLoaderStyle();if(3!==c&&(this.SetCssTransform(a),a.ClearRgba(0,0,0,0),a.ResetColor(),a.SetTextureFillMode(),a.SetTexture(null)),0===c)this._DrawProgressBarAndLogoLoadingScreen(b);else if(1===c)this._DrawProgressBarLoadingScreen(b,120,0);else if(2===c)this._DrawPercentTextLoadingScreen(b);else if(3===c)C3.noop();else if(4===c)this._DrawSplashLoadingScreen(b);else throw new Error("invalid loader style");a.Finish(),this._rafId=requestAnimationFrame(()=>this._DrawLoadingScreen())}}_DrawPercentTextLoadingScreen(a){a?this._webglPercentText.SetColorRgb(1,0,0):this._webglPercentText.SetColorRgb(.6,.6,.6),this._webglPercentText.SetText(Math.round(100*this._loadingProgress)+"%");const b=this._canvasCssWidth/2,d=this._canvasCssHeight/2;c.setRect(b-150,d-100,b+150,d+100),this._webglRenderer.SetTexture(this._webglPercentText.GetTexture()),this._webglRenderer.Quad3(c,this._webglPercentText.GetTexRect())}_DrawProgressBarLoadingScreen(a,b,c){const e=this._webglRenderer;e.SetColorFillMode(),a?e.SetColorRgba(1,0,0,1):e.SetColorRgba(.118,.565,1,1);const f=this._canvasCssWidth/2,g=this._canvasCssHeight/2,h=b/2;d.setWH(f-h,g-4+c,Math.floor(b*this._loadingProgress),8),e.Rect(d),d.setWH(f-h,g-4+c,b,8),d.offset(-.5,-.5),d.inflate(.5,.5),e.SetColorRgba(0,0,0,1),e.LineRect2(d),d.inflate(1,1),e.SetColorRgba(1,1,1,1),e.LineRect2(d)}_DrawProgressBarAndLogoLoadingScreen(a){if(!this._loadingLogoAsset)return void this._DrawProgressBarLoadingScreen(a,120,0);const b=this._loadingLogoAsset.GetTexture();if(!b)return void this._DrawProgressBarLoadingScreen(a,120,0);const d=b.GetWidth(),e=b.GetHeight(),f=this._canvasCssWidth/2,g=this._canvasCssHeight/2,h=d/2,i=e/2;c.setRect(f-h,g-i,f+h,g+i),this._webglRenderer.SetTexture(b),this._webglRenderer.Quad(c),this._DrawProgressBarLoadingScreen(a,d,i+16)}_DrawSplashLoadingScreen(b){var c=Math.min,e=Math.max,f=Math.ceil;const g=this._webglRenderer,i=this._splashTextures.logo,j=this._splashTextures.powered,k=this._splashTextures.website,l=Date.now();0===this._splashFrameNumber&&(this._loaderStartTime=l);const m=this._runtime.IsPreview()||this._runtime.IsFBInstantAvailable()&&!this._runtime.IsCordova(),n=m?0:200,o=m?0:3000;let p=1;"fade-in"===this._splashState?p=c((l-this._loaderStartTime)/300,1):"fade-out"===this._splashState&&(p=e(1-(l-this._splashFadeOutStartTime)/300,0)),g.SetColorFillMode(),g.SetColorRgba(.231*p,.251*p,.271*p,p),d.set(0,0,this._canvasCssWidth,this._canvasCssHeight),g.Rect(d);const a=f(this._canvasCssWidth),q=f(this._canvasCssHeight);let h,r;256=300&&2<=this._splashFrameNumber&&(this._splashState="wait",this._splashFadeInFinishTime=l),"wait"===this._splashState&&l-this._splashFadeInFinishTime>=o&&1<=this._loadingProgress&&(this._splashState="fade-out",this._splashFadeOutStartTime=l),("fade-out"===this._splashState&&l-this._splashFadeOutStartTime>=300+n||m&&1<=this._loadingProgress&&500>l-this._loaderStartTime)&&this._splashDoneResolve()}}} + +// c3/runtime.js +"use strict";{const e={"messagePort":null,"baseUrl":"","headless":!1,"hasDom":!0,"isInWorker":!1,"useAudio":!0,"projectData":"","exportType":""};let a=!0;C3.Runtime=class extends C3.DefendedBase{constructor(n){n=Object.assign({},e,n);super(),this._messagePort=n["messagePort"],this._baseUrl=n["baseUrl"],this._isHeadless=!!n["headless"],this._hasDom=!!n["hasDom"],this._isInWorker=!!n["isInWorker"],a=n["ife"],this._useAudio=!!n["useAudio"],this._exportType=n["exportType"],this._isiOSCordova=!!n["isiOSCordova"],this._isiOSWebView=!!n["isiOSWebView"],this._isFBInstantAvailable=!!n["isFBInstantAvailable"],this._opusWasmScriptUrl=n["opusWasmScriptUrl"],this._opusWasmBinaryUrl=n["opusWasmBinaryUrl"],this._dataJsonFilename="data.json",this._isDebug=!!("preview"===this._exportType&&n["isDebug"]),this._breakpointsEnabled=this._isDebug,this._isDebugging=this._isDebug,this._debuggingDisabled=0;const t=n["previewImageBlobs"],s=n["previewProjectFileBlobs"];s&&Object.assign(t,s);const i=n["projectData"];i&&(t[this._dataJsonFilename]=i),this._additionalLoadPromises=[],this._projectName="",this._projectVersion="",this._projectUniqueId="",this._appId="",this._originalViewportWidth=0,this._originalViewportHeight=0,this._devicePixelRatio=self.devicePixelRatio,this._parallaxXorigin=0,this._parallaxYorigin=0,this._viewportWidth=0,this._viewportHeight=0,this._loaderStyle=0,this._usesLoaderLayout=!1,this._isLoading=!0,this._usesAnyBackgroundBlending=!1;const r="html5"===this._exportType||"scirra-arcade"===this._exportType||"instant-games"===this._exportType;this._assetManager=C3.New(C3.AssetManager,this,{defaultLoadPolicy:r?"remote":"local",localUrlBlobs:t,isCordova:"cordova"===this._exportType,isiOSCordova:this._isiOSCordova,supportedAudioFormats:n["supportedAudioFormats"]}),this._layoutManager=C3.New(C3.LayoutManager,this),this._eventSheetManager=C3.New(C3.EventSheetManager,this),this._pluginManager=C3.New(C3.PluginManager,this),this._collisionEngine=C3.New(C3.CollisionEngine,this),this._timelineManager=C3.New(C3.TimelineManager,this),this._transitionManager=C3.New(C3.TransitionManager,this),this._allObjectClasses=[],this._objectClassesByName=new Map,this._objectClassesBySid=new Map,this._familyCount=0,this._allContainers=[],this._allEffectLists=[],this._currentLayoutStack=[],this._instancesPendingCreate=[],this._instancesPendingDestroy=new Map,this._hasPendingInstances=!1,this._isFlushingPendingInstances=!1,this._objectCount=0,this._nextUid=0,this._instancesByUid=new Map,this._instancesToReleaseAtEndOfTick=new Set,this._instancesToReleaseAffectedObjectClasses=new Set,this._objectReferenceTable=[],this._jsPropNameTable=[],this._canvasManager=null,this._framerateMode="vsync",this._compositingMode="standard",this._sampling="trilinear",this._isPixelRoundingEnabled=!1,this._needRender=!0,this._pauseOnBlur=!1,this._isPausedOnBlur=!1,this._tickCallbacks={normal:(e)=>{this._rafId=-1,this._ruafId=-1,this.Tick(e)},tickOnly:(e)=>{this._ruafId=-1,this.Tick(e,!1,"skip-render")},renderOnly:()=>{this._rafId=-1,this.Render()}},this._rafId=-1,this._ruafId=-1,this._tickCount=0,this._tickCountNoSave=0,this._execCount=0,this._hasStarted=!1,this._isInTick=!1,this._hasStartedTicking=!1,this._isLayoutFirstTick=!0,this._suspendCount=0,this._scheduleTriggersThrottle=new C3.PromiseThrottle(1),this._randomNumberCallback=()=>Math.random(),this._startTime=0,this._lastTickTime=0,this._dt1=0,this._dt=0,this._timeScale=1,this._minimumFramerate=30,this._gameTime=C3.New(C3.KahanSum),this._wallTime=C3.New(C3.KahanSum),this._fpsFrameCount=-1,this._fpsLastTime=0,this._fps=0,this._mainThreadTimeCounter=0,this._mainThreadTime=0,this._isLoadingState=!1,this._saveToSlotName="",this._loadFromSlotName="",this._loadFromJson=null,this._lastSaveJson="",this._triggerOnCreateAfterLoad=[],this._projectStorage=null,this._savegamesStorage=null,this._dispatcher=C3.New(C3.Event.Dispatcher),this._domEventHandlers=new Map,this._pendingResponsePromises=new Map,this._nextDomResponseId=0,this._didRequestDeviceOrientationEvent=!1,this._didRequestDeviceMotionEvent=!1,this._isReadyToHandleEvents=!1,this._waitingToHandleEvents=[],this._eventObjects={"pretick":C3.New(C3.Event,"pretick",!1),"tick":C3.New(C3.Event,"tick",!1),"tick2":C3.New(C3.Event,"tick2",!1),"instancedestroy":C3.New(C3.Event,"instancedestroy",!1),"beforelayoutchange":C3.New(C3.Event,"beforelayoutchange",!1),"layoutchange":C3.New(C3.Event,"layoutchange",!1)},this._eventObjects["instancedestroy"].instance=null,this._userScriptDispatcher=C3.New(C3.Event.Dispatcher),this._userScriptEventObjects=null,this._behInstsToTick=C3.New(C3.RedBlackSet,C3.BehaviorInstance.SortByTickSequence),this._behInstsToPostTick=C3.New(C3.RedBlackSet,C3.BehaviorInstance.SortByTickSequence),this._behInstsToTick2=C3.New(C3.RedBlackSet,C3.BehaviorInstance.SortByTickSequence),this._jobScheduler=C3.New(C3.JobSchedulerRuntime,this,n["jobScheduler"]),n["canvas"]&&(this._canvasManager=C3.New(C3.CanvasManager,this)),this._messagePort.onmessage=(a)=>this["_OnMessageFromDOM"](a.data),this.AddDOMComponentMessageHandler("runtime","visibilitychange",(a)=>this._OnVisibilityChange(a)),this.AddDOMComponentMessageHandler("runtime","opus-decode",(a)=>this._WasmDecodeWebMOpus(a["arrayBuffer"])),this.AddDOMComponentMessageHandler("runtime","get-remote-preview-status-info",()=>this._GetRemotePreviewStatusInfo()),this.AddDOMComponentMessageHandler("runtime","js-invoke-function",(a)=>this._InvokeFunctionFromJS(a)),this.AddDOMComponentMessageHandler("runtime","go-to-last-error-script",self["goToLastErrorScript"]),this._dispatcher.addEventListener("window-blur",(a)=>this._OnWindowBlur(a)),this._dispatcher.addEventListener("window-focus",()=>this._OnWindowFocus()),this._timelineManager.AddRuntimeListeners(),this._iRuntime=null,this._interfaceMap=new WeakMap,this._commonScriptInterfaces={keyboard:null,mouse:null,touch:null}}static Create(e){return C3.New(C3.Runtime,e)}Release(){C3.clearArray(this._allObjectClasses),this._objectClassesByName.clear(),this._objectClassesBySid.clear(),this._layoutManager.Release(),this._layoutManager=null,this._eventSheetManager.Release(),this._eventSheetManager=null,this._pluginManager.Release(),this._pluginManager=null,this._assetManager.Release(),this._assetManager=null,this._collisionEngine.Release(),this._collisionEngine=null,this._timelineManager.Release(),this._timelineManager=null,this._transitionManager.Release(),this._transitionManager=null,this._canvasManager&&(this._canvasManager.Release(),this._canvasManager=null),this._dispatcher.Release(),this._dispatcher=null,this._tickEvent=null}["_OnMessageFromDOM"](e){const a=e["type"];if("event"===a)this._OnEventFromDOM(e);else if("result"===a)this._OnResultFromDOM(e);else throw new Error(`unknown message '${a}'`)}_OnEventFromDOM(a){if(!this._isReadyToHandleEvents)return void this._waitingToHandleEvents.push(a);const e=a["component"],n=a["handler"],t=a["data"],s=a["dispatchOpts"],i=!!(s&&s["dispatchRuntimeEvent"]),r=!!(s&&s["dispatchUserScriptEvent"]),o=a["responseId"];if("runtime"===e){if(i){const e=new C3.Event(n);e.data=t,this._dispatcher.dispatchEventAndWaitAsyncSequential(e)}if(r){const e=new C3.Event(n,!0);for(const[a,n]of Object.entries(t))e[a]=n;this.DispatchUserScriptEvent(e)}}const d=this._domEventHandlers.get(e);if(!d)return void(i||r||console.warn(`[Runtime] No DOM event handlers for component '${e}'`));const _=d.get(n);if(!_)return void(i||r||console.warn(`[Runtime] No DOM handler '${n}' for component '${e}'`));let l=null;try{l=_(t)}catch(a){return console.error(`Exception in '${e}' handler '${n}':`,a),void(null!==o&&this._PostResultToDOM(o,!1,""+a))}null!==o&&(l&&l.then?l.then((e)=>this._PostResultToDOM(o,!0,e)).catch((a)=>{console.error(`Rejection from '${e}' handler '${n}':`,a),this._PostResultToDOM(o,!1,""+a)}):this._PostResultToDOM(o,!0,l))}_PostResultToDOM(e,a,n){this._messagePort.postMessage({"type":"result","responseId":e,"isOk":a,"result":n})}_OnResultFromDOM(e){const a=e["responseId"],n=e["isOk"],t=e["result"],s=this._pendingResponsePromises.get(a);n?s.resolve(t):s.reject(t),this._pendingResponsePromises.delete(a)}AddDOMComponentMessageHandler(e,a,n){let t=this._domEventHandlers.get(e);if(t||(t=new Map,this._domEventHandlers.set(e,t)),t.has(a))throw new Error(`[Runtime] Component '${e}' already has handler '${a}'`);t.set(a,n)}PostComponentMessageToDOM(e,a,n){this._messagePort.postMessage({"type":"event","component":e,"handler":a,"data":n,"responseId":null})}PostComponentMessageToDOMAsync(e,a,n){const t=this._nextDomResponseId++,s=new Promise((e,a)=>{this._pendingResponsePromises.set(t,{resolve:e,reject:a})});return this._messagePort.postMessage({"type":"event","component":e,"handler":a,"data":n,"responseId":t}),s}PostToDebugger(e){if(!this.IsDebug())throw new Error("not in debug mode");this.PostComponentMessageToDOM("runtime","post-to-debugger",e)}async Init(e){this.IsDebug()?await C3Debugger.Init(this):self.C3Debugger&&self.C3Debugger.InitPreview(this);const[a]=await Promise.all([this._assetManager.FetchJson(this._dataJsonFilename),this._MaybeLoadOpusDecoder(),this._jobScheduler.Init()]);this._LoadDataJson(a),await this._InitialiseCanvas(e),this.IsPreview()||console.info("Made with Construct 3, the game and app creator :: https://www.construct.net");const n=this.GetWebGLRenderer();n?(console.info(`[C3 runtime] Hosted in ${this.IsInWorker()?"worker":"DOM"}, rendering with WebGL ${n.GetWebGLVersionNumber()} [${n.GetUnmaskedRenderer()}] (${n.IsDesynchronized()?"desynchronized":"standard"} compositing)`),n.HasMajorPerformanceCaveat()&&console.warn("[C3 runtime] WebGL indicates a major performance caveat. Software rendering may be in use. This can result in significantly degraded performance.")):console.info(`[C3 runtime] Hosted in ${this.IsInWorker()?"worker":"DOM"}, headless`),this._isReadyToHandleEvents=!0;for(const a of this._waitingToHandleEvents)this._OnEventFromDOM(a);C3.clearArray(this._waitingToHandleEvents),this._canvasManager&&this._canvasManager.StartLoadingScreen();for(const a of e["runOnStartupFunctions"])this._additionalLoadPromises.push(this._RunOnStartupFunction(a));if(await Promise.all([this._assetManager.WaitForAllToLoad(),...this._additionalLoadPromises]),C3.clearArray(this._additionalLoadPromises),!this._assetManager.HasHadErrorLoading())return this._canvasManager&&(await this._canvasManager.EndLoadingScreen()),await this._dispatcher.dispatchEventAndWaitAsync(new C3.Event("beforeruntimestart")),await this.Start(),this._messagePort.postMessage({"type":"runtime-ready"}),this}async _RunOnStartupFunction(e){try{await e(this._iRuntime)}catch(e){console.error("[C3 runtime] Error in runOnStartup function: ",e)}}_LoadDataJson(e){const a=e["project"];this._projectName=a[0],this._projectVersion=a[16],this._projectUniqueId=a[31],this._appId=a[38],this._isPixelRoundingEnabled=!!a[9],this._originalViewportWidth=this._viewportWidth=a[10],this._originalViewportHeight=this._viewportHeight=a[11],this._parallaxXorigin=this._originalViewportWidth/2,this._parallaxYorigin=this._originalViewportHeight/2,this._compositingMode=a[36],this._framerateMode=a[37],"low-latency"===this._compositingMode&&this.IsAndroidWebView()&&77>=C3.Platform.BrowserVersionNumber&&(console.warn("[C3 runtime] Desynchronized (low-latency) compositing is enabled, but is disabled in the Android WebView <=77 due to crbug.com/1008842. Reverting to synchronized (standard) compositing."),this._compositingMode="standard"),this._sampling=a[14],this._usesLoaderLayout=!!a[18],this._loaderStyle=a[19],this._nextUid=a[21],this._pauseOnBlur=a[22],this._assetManager._SetAudioFiles(a[7],a[25]),this._assetManager._SetMediaSubfolder(a[8]),this._assetManager._SetFontsSubfolder(a[32]),this._assetManager._SetIconsSubfolder(a[28]),this._assetManager._SetWebFonts(a[29]),this._canvasManager&&(this._canvasManager.SetFullscreenMode(C3.CanvasManager._FullscreenModeNumberToString(a[12])),this._canvasManager.SetFullscreenScalingQuality(a[23]?"high":"low"),this._canvasManager._SetGPUPowerPreference(a[34])),this._pluginManager.CreateSystemPlugin(),this._objectReferenceTable=self.C3_GetObjectRefTable();for(const n of a[2])this._pluginManager.CreatePlugin(n);this._objectReferenceTable=self.C3_GetObjectRefTable(),this._LoadJsPropNameTable();for(const n of a[3]){const e=C3.ObjectClass.Create(this,this._allObjectClasses.length,n);this._allObjectClasses.push(e),this._objectClassesByName.set(e.GetName().toLowerCase(),e),this._objectClassesBySid.set(e.GetSID(),e)}for(const n of a[4]){const e=this._allObjectClasses[n[0]];e._LoadFamily(n)}for(const n of a[27]){const e=n.map((e)=>this._allObjectClasses[e]);this._allContainers.push(C3.New(C3.Container,this,e))}for(const a of this._allObjectClasses)a._OnAfterCreate();for(const n of a[5])this._layoutManager.Create(n);const n=a[1];if(n){const e=this._layoutManager.GetLayoutByName(n);e&&this._layoutManager.SetFirstLayout(e)}for(const n of a[33])this._timelineManager.Create(n);for(const n of a[35])this._transitionManager.Create(n);this._InitScriptInterfaces();for(const n of a[6])this._eventSheetManager.Create(n);this._eventSheetManager._PostInit(),this._InitGlobalVariableScriptInterface(),C3.clearArray(this._objectReferenceTable),this.FlushPendingInstances();let t="any";const s=a[20];1===s?t="portrait":2===s&&(t="landscape"),this.PostComponentMessageToDOM("runtime","set-target-orientation",{"targetOrientation":t})}GetLoaderStyle(){return this._loaderStyle}IsFBInstantAvailable(){return this._isFBInstantAvailable}IsLoading(){return this._isLoading}AddLoadPromise(e){this._additionalLoadPromises.push(e)}_GetNextFamilyIndex(){return this._familyCount++}GetFamilyCount(){return this._familyCount}_AddEffectList(e){this._allEffectLists.push(e)}_GetAllEffectLists(){return this._allEffectLists}async _InitialiseCanvas(e){this._canvasManager&&(await this._canvasManager.CreateCanvas(e),this._canvasManager.InitLoadingScreen(this._loaderStyle))}async _MaybeLoadOpusDecoder(){if(this._assetManager.IsAudioFormatSupported("audio/webm; codecs=opus"))return;let e=null,a=null;try{this.IsiOSCordova()?a=await this._assetManager.CordovaFetchLocalFileAsArrayBuffer(this._opusWasmBinaryUrl):e=await this._assetManager.FetchBlob(this._opusWasmBinaryUrl)}catch(e){return void console.info("Failed to fetch Opus decoder WASM; assuming project has no Opus audio.",e)}a?this.AddJobWorkerBuffer(a,"opus-decoder-wasm"):this.AddJobWorkerBlob(e,"opus-decoder-wasm"),await this.AddJobWorkerScripts([this._opusWasmScriptUrl])}async _WasmDecodeWebMOpus(e){const a=await this.AddJob("OpusDecode",{"arrayBuffer":e},[e]);return a}async Start(){if(this._hasStarted=!0,this._startTime=Date.now(),this._usesLoaderLayout){for(const e of this._allObjectClasses)e.IsFamily()||e.IsOnLoaderLayout()||!e.IsWorldType()||e.OnCreate();this._assetManager.WaitForAllToLoad().then(()=>{this._isLoading=!1,this._OnLoadFinished()})}else this._isLoading=!1;this._assetManager.SetInitialLoadFinished(),this.IsDebug()&&C3Debugger.RuntimeInit(a);for(const e of this._layoutManager.GetAllLayouts())e._CreateGlobalNonWorlds();const e=this._layoutManager.GetFirstLayout();await e._Load(null,this.GetWebGLRenderer()),await e._StartRunning(!0),this._fpsLastTime=performance.now(),this._usesLoaderLayout||this._OnLoadFinished();const n=await this.PostComponentMessageToDOMAsync("runtime","before-start-ticking");n["isSuspended"]?this._suspendCount++:this.Tick()}_OnLoadFinished(){this.Trigger(C3.Plugins.System.Cnds.OnLoadFinished,null,null),this.PostComponentMessageToDOM("runtime","register-sw")}GetObjectReference(e){e=Math.floor(e);const a=this._objectReferenceTable;if(0>e||e>=a.length)throw new Error("invalid object reference");return a[e]}_LoadJsPropNameTable(){for(const e of self.C3_JsPropNameTable){const a=C3.first(Object.keys(e));this._jsPropNameTable.push(a)}}GetJsPropName(e){e=Math.floor(e);const a=this._jsPropNameTable;if(0>e||e>=a.length)throw new Error("invalid prop reference");return a[e]}HasDOM(){return this._hasDom}IsHeadless(){return this._isHeadless}IsInWorker(){return this._isInWorker}GetBaseURL(){return this._baseUrl}GetEventSheetManager(){return this._eventSheetManager}GetEventStack(){return this._eventSheetManager.GetEventStack()}GetCurrentEventStackFrame(){return this._eventSheetManager.GetCurrentEventStackFrame()}GetCurrentEvent(){return this._eventSheetManager.GetCurrentEvent()}GetCurrentCondition(){return this._eventSheetManager.GetCurrentCondition()}IsCurrentConditionFirst(){return 0===this.GetCurrentEventStackFrame().GetConditionIndex()}GetCurrentAction(){return this._eventSheetManager.GetCurrentAction()}GetPluginManager(){return this._pluginManager}GetSystemPlugin(){return this._pluginManager.GetSystemPlugin()}GetObjectClassByIndex(e){if(e=Math.floor(e),0>e||e>=this._allObjectClasses.length)throw new RangeError("invalid index");return this._allObjectClasses[e]}GetObjectClassByName(e){return this._objectClassesByName.get(e.toLowerCase())||null}GetObjectClassBySID(e){return this._objectClassesBySid.get(e)||null}GetSingleGlobalObjectClassByCtor(e){const a=this._pluginManager.GetPluginByConstructorFunction(e);return a?a.GetSingleGlobalObjectClass():null}GetAllObjectClasses(){return this._allObjectClasses}Dispatcher(){return this._dispatcher}UserScriptDispatcher(){return this._userScriptDispatcher}DispatchUserScriptEvent(a){const e=this.IsDebug()&&!this._eventSheetManager.IsInEventEngine();e&&C3Debugger.StartMeasuringScriptTime(),this._userScriptDispatcher.dispatchEvent(a),e&&C3Debugger.AddScriptTime()}DispatchUserScriptEventAsyncWait(a){return this._userScriptDispatcher.dispatchEventAndWaitAsync(a)}GetOriginalViewportWidth(){return this._originalViewportWidth}GetOriginalViewportHeight(){return this._originalViewportHeight}SetOriginalViewportSize(e,a){this._originalViewportWidth=e,this._originalViewportHeight=a}GetViewportWidth(){return this._viewportWidth}GetViewportHeight(){return this._viewportHeight}SetViewportSize(e,a){this._viewportWidth=e,this._viewportHeight=a}_SetDevicePixelRatio(e){this._devicePixelRatio=e}GetDevicePixelRatio(){return this._devicePixelRatio}GetParallaxXOrigin(){return this._parallaxXorigin}GetParallaxYOrigin(){return this._parallaxYorigin}GetCanvasManager(){return this._canvasManager}GetDrawWidth(){return this._canvasManager?this._canvasManager.GetDrawWidth():this._viewportWidth}GetDrawHeight(){return this._canvasManager?this._canvasManager.GetDrawHeight():this._viewportHeight}GetRenderScale(){return this._canvasManager?this._canvasManager.GetRenderScale():1}GetDisplayScale(){return this._canvasManager?this._canvasManager.GetDisplayScale():1}GetCanvasClientX(){return this._canvasManager?this._canvasManager.GetCanvasClientX():0}GetCanvasClientY(){return this._canvasManager?this._canvasManager.GetCanvasClientY():0}GetCanvasCssWidth(){return this._canvasManager?this._canvasManager.GetCssWidth():0}GetCanvasCssHeight(){return this._canvasManager?this._canvasManager.GetCssHeight():0}GetFullscreenMode(){return this._canvasManager?this._canvasManager.GetFullscreenMode():"off"}GetAdditionalRenderTarget(e){return this._canvasManager?this._canvasManager.GetAdditionalRenderTarget(e):null}ReleaseAdditionalRenderTarget(e){this._canvasManager&&this._canvasManager.ReleaseAdditionalRenderTarget(e)}_SetUsesAnyBackgroundBlending(e){this._usesAnyBackgroundBlending=!!e}UsesAnyBackgroundBlending(){return this._usesAnyBackgroundBlending}GetGPUUtilisation(){return this._canvasManager?this._canvasManager.GetGPUUtilisation():NaN}IsLinearSampling(){return"nearest"!==this.GetSampling()}GetFramerateMode(){return this._framerateMode}GetCompositingMode(){return this._compositingMode}GetSampling(){return this._sampling}UsesLoaderLayout(){return this._usesLoaderLayout}GetLayoutManager(){return this._layoutManager}GetMainRunningLayout(){return this._layoutManager.GetMainRunningLayout()}GetTimelineManager(){return this._timelineManager}GetTransitionManager(){return this._transitionManager}GetAssetManager(){return this._assetManager}LoadImage(e){return this._assetManager.LoadImage(e)}CreateInstance(e,a,n,t){return this.CreateInstanceFromData(e,a,!1,n,t)}CreateInstanceFromData(e,a,n,t,s,i){let r=null,o=null;if(e instanceof C3.ObjectClass){if(o=e,o.IsFamily()){const e=o.GetFamilyMembers(),a=Math.floor(this.Random()*e.length);o=e[a]}r=o.GetDefaultInstanceData()}else r=e,o=this.GetObjectClassByIndex(r[1]);const d=o.GetPlugin().IsWorldType();if(this._isLoading&&d&&!o.IsOnLoaderLayout())return null;const _=a;d||(a=null);let l=n&&!i&&r&&!this._instancesByUid.has(r[2])?r[2]:this._nextUid++;const g=r?r[0]:null,c=C3.New(C3.Instance,{runtime:this,objectType:o,layer:a,worldData:g,instVarData:r?r[3]:null,uid:l});this._instancesByUid.set(l,c);let u=null;if(d&&(u=c.GetWorldInfo(),"undefined"!=typeof t&&"undefined"!=typeof s&&(u.SetX(t),u.SetY(s)),o._SetAnyCollisionCellChanged(!0)),a&&(a._AddInstance(c,!0),(1!==a.GetParallaxX()||1!==a.GetParallaxY())&&o._SetAnyInstanceParallaxed(!0),a.GetLayout().MaybeLoadTexturesFor(o)),(this._objectCount++,o.IsInContainer()&&!n&&!i)){for(const e of o.GetContainer().objectTypes()){if(e===o)continue;const a=this.CreateInstanceFromData(e,_,!1,u?u.GetX():t,u?u.GetY():s,!0);c._AddSibling(a)}for(const e of c.siblings()){e._AddSibling(c);for(const a of c.siblings())e!==a&&e._AddSibling(a)}}o._SetIIDsStale();const m=r?C3.cloneArray(r[5]):null,p=r?r[4].map((e)=>C3.cloneArray(e)):null;if(c._CreateSdkInstance(m,p),d&&g&&14===g.length){const e=g[13];c._SetHasTilemap(),c.GetSdkInstance().LoadTilemapData(e[2],e[0],e[1])}return this._instancesPendingCreate.push(c),this._hasPendingInstances=!0,this.IsDebug()&&C3Debugger.InstanceCreated(c),c}DestroyInstance(e){if(this._instancesToReleaseAtEndOfTick.has(e))return;const a=e.GetObjectClass();let n=this._instancesPendingDestroy.get(a);if(n){if(n.has(e))return;n.add(e)}else n=new Set,n.add(e),this._instancesPendingDestroy.set(a,n);if(this.IsDebug()&&C3Debugger.InstanceDestroyed(e),e._MarkDestroyed(),this._hasPendingInstances=!0,e.IsInContainer())for(const a of e.siblings())this.DestroyInstance(a);if(this._isFlushingPendingInstances&&C3.NotYetImplemented(),!this._layoutManager.IsEndingLayout()){const a=this.GetEventSheetManager();a.BlockFlushingInstances(!0),e._TriggerOnDestroyed(),a.BlockFlushingInstances(!1)}}FlushPendingInstances(){this._hasPendingInstances&&(this._isFlushingPendingInstances=!0,this._FlushInstancesPendingCreate(),this._FlushInstancesPendingDestroy(),this._isFlushingPendingInstances=!1,this._hasPendingInstances=!1,this.UpdateRender())}_FlushInstancesPendingCreate(){for(const e of this._instancesPendingCreate){const a=e.GetObjectClass();a._AddInstance(e);for(const n of a.GetFamilies())n._AddInstance(e),n._SetIIDsStale()}C3.clearArray(this._instancesPendingCreate)}_FlushInstancesPendingDestroy(){this._dispatcher.SetDelayRemoveEventsEnabled(!0);for(const[e,a]of this._instancesPendingDestroy.entries())this._FlushInstancesPendingDestroyForObjectClass(e,a),a.clear();this._instancesPendingDestroy.clear(),this._dispatcher.SetDelayRemoveEventsEnabled(!1)}_FlushInstancesPendingDestroyForObjectClass(e,a){C3.arrayRemoveAllInSet(e.GetInstances(),a),e._SetIIDsStale(),this._instancesToReleaseAffectedObjectClasses.add(e),0===e.GetInstances().length&&e._SetAnyInstanceParallaxed(!1);for(const n of e.GetFamilies())C3.arrayRemoveAllInSet(n.GetInstances(),a),n._SetIIDsStale(),this._instancesToReleaseAffectedObjectClasses.add(n);if(e.GetPlugin().IsWorldType()){const e=new Set([...a].map((e)=>e.GetWorldInfo().GetLayer()));for(const n of e)n._RemoveAllInstancesInSet(a)}for(const n of a){const e=this._eventObjects["instancedestroy"];e.instance=n,this._dispatcher.dispatchEvent(e),this._instancesByUid.delete(n.GetUID());const a=n.GetWorldInfo();a&&(a._RemoveFromCollisionCells(),a._RemoveFromRenderCells()),this._instancesToReleaseAtEndOfTick.add(n),this._objectCount--}}_GetInstancesPendingCreate(){return this._instancesPendingCreate}_GetNewUID(){return this._nextUid++}_MapInstanceByUID(e,a){this._instancesByUid.set(e,a)}_OnWebGLContextLost(){this._dispatcher.dispatchEvent(C3.New(C3.Event,"webglcontextlost")),this.SetSuspended(!0);for(const e of this._allObjectClasses)!e.IsFamily()&&e.HasLoadedTextures()&&e.ReleaseTextures();this.GetMainRunningLayout()._OnWebGLContextLost(),C3.ImageInfo.OnWebGLContextLost(),C3.ImageAsset.OnWebGLContextLost()}async _OnWebGLContextRestored(){await this.GetMainRunningLayout()._Load(null,this.GetWebGLRenderer()),this._dispatcher.dispatchEvent(C3.New(C3.Event,"webglcontextrestored")),this.SetSuspended(!1),this.UpdateRender()}_OnVisibilityChange(a){this.SetSuspended(a["hidden"])}_OnWindowBlur(a){this.IsPreview()&&this._pauseOnBlur&&!C3.Platform.IsMobile&&(a.data["parentHasFocus"]||(this.SetSuspended(!0),this._isPausedOnBlur=!0))}_OnWindowFocus(){this._isPausedOnBlur&&(this.SetSuspended(!1),this._isPausedOnBlur=!1)}_RequestAnimationFrame(){const e=this._tickCallbacks;"vsync"===this._framerateMode?-1===this._rafId&&(this._rafId=self.requestAnimationFrame(e.normal)):"unlimited-tick"===this._framerateMode?(-1===this._ruafId&&(this._ruafId=C3.RequestUnlimitedAnimationFrame(e.tickOnly)),-1===this._rafId&&(this._rafId=self.requestAnimationFrame(e.renderOnly))):-1===this._ruafId&&(this._ruafId=C3.RequestUnlimitedAnimationFrame(e.normal))}_CancelAnimationFrame(){-1!==this._rafId&&(self.cancelAnimationFrame(this._rafId),this._rafId=-1),-1!==this._ruafId&&(C3.CancelUnlimitedAnimationFrame(this._ruafId),this._ruafId=-1)}IsSuspended(){return 0this._suspendCount&&(this._suspendCount=0);const n=this.IsSuspended();if(!a&&n)console.log("[Construct 3] Suspending"),this._CancelAnimationFrame(),this._dispatcher.dispatchEvent(C3.New(C3.Event,"suspend")),this.Trigger(C3.Plugins.System.Cnds.OnSuspend,null,null);else if(a&&!n){console.log("[Construct 3] Resuming");const e=performance.now();this._lastTickTime=e,this._fpsLastTime=e,this._fpsFrameCount=0,this._fps=0,this._mainThreadTime=0,this._mainThreadTimeCounter=0,this._dispatcher.dispatchEvent(C3.New(C3.Event,"resume")),this.Trigger(C3.Plugins.System.Cnds.OnResume,null,null),this.HitBreakpoint()||this.Tick(e)}}_AddBehInstToTick(e){this._behInstsToTick.Add(e)}_AddBehInstToPostTick(e){this._behInstsToPostTick.Add(e)}_AddBehInstToTick2(e){this._behInstsToTick2.Add(e)}_RemoveBehInstToTick(e){this._behInstsToTick.Remove(e)}_RemoveBehInstToPostTick(e){this._behInstsToPostTick.Remove(e)}_RemoveBehInstToTick2(e){this._behInstsToTick2.Remove(e)}_BehaviorTick(){this._behInstsToTick.SetQueueingEnabled(!0);for(const e of this._behInstsToTick)e.Tick();this._behInstsToTick.SetQueueingEnabled(!1)}_BehaviorPostTick(){this._behInstsToPostTick.SetQueueingEnabled(!0);for(const e of this._behInstsToPostTick)e.PostTick();this._behInstsToPostTick.SetQueueingEnabled(!1)}_BehaviorTick2(){this._behInstsToTick2.SetQueueingEnabled(!0);for(const e of this._behInstsToTick2)e.Tick2();this._behInstsToTick2.SetQueueingEnabled(!1)}*_DebugBehaviorTick(){this._behInstsToTick.SetQueueingEnabled(!0);for(const e of this._behInstsToTick){const a=e.Tick();C3.IsIterator(a)&&(yield*a)}this._behInstsToTick.SetQueueingEnabled(!1)}*_DebugBehaviorPostTick(){this._behInstsToPostTick.SetQueueingEnabled(!0);for(const e of this._behInstsToPostTick){const a=e.PostTick();C3.IsIterator(a)&&(yield*a)}this._behInstsToPostTick.SetQueueingEnabled(!1)}*_DebugBehaviorTick2(){this._behInstsToTick2.SetQueueingEnabled(!0);for(const e of this._behInstsToTick2){const a=e.Tick2();C3.IsIterator(a)&&(yield*a)}this._behInstsToTick2.SetQueueingEnabled(!1)}async Tick(e,a,n){this._hasStartedTicking=!0;const t="background-wake"===n;if(this._hasStarted&&(!this.IsSuspended()||a||t)){const a=performance.now();this._isInTick=!0,e||(e=a),this._MeasureDt(e);const s=this.Step_BeforePreTick();this.IsDebugging()&&(await s);const i=this._dispatcher.dispatchEventAndWait_AsyncOptional(this._eventObjects["pretick"]);i instanceof Promise&&(await i);const r=this.Step_AfterPreTick();this.IsDebugging()&&(await r),this._NeedsHandleSaveOrLoad()&&(await this._HandleSaveOrLoad()),this.GetLayoutManager().IsPendingChangeMainLayout()&&(await this._MaybeChangeLayout());const o=this.Step_RunEventsEtc();this.IsDebugging()&&(await o),"background-wake"!==n&&"skip-render"!==n&&this.Render(),this.IsSuspended()||t||this._RequestAnimationFrame(),this._tickCount++,this._tickCountNoSave++,this._execCount++,this._isInTick=!1,this._mainThreadTimeCounter+=performance.now()-a}}async Step_BeforePreTick(){const e=this._eventSheetManager,a=this.IsDebug();this.FlushPendingInstances(),e.BlockFlushingInstances(!0),this.PushCurrentLayout(this.GetMainRunningLayout()),a&&C3Debugger.StartMeasuringTime(),this.IsDebugging()?await e.DebugRunScheduledWaits():e.RunScheduledWaits(),a&&C3Debugger.AddEventsTime(),this.PopCurrentLayout(),e.BlockFlushingInstances(!1),this.FlushPendingInstances(),e.BlockFlushingInstances(!0)}async Step_AfterPreTick(){const e=this.IsDebug(),a=this.IsDebugging(),n=this._dispatcher,t=this._eventObjects,s=this._userScriptEventObjects;e&&C3Debugger.StartMeasuringTime(),a?await this.DebugIterateAndBreak(this._DebugBehaviorTick()):this._BehaviorTick(),a?await this.DebugIterateAndBreak(this._DebugBehaviorPostTick()):this._BehaviorPostTick(),e&&C3Debugger.AddBehaviorTickTime(),e&&C3Debugger.StartMeasuringTime(),a?await this.DebugFireGeneratorEventAndBreak(t["tick"]):n.dispatchEvent(t["tick"]),e&&C3Debugger.AddPluginTickTime(),this._eventSheetManager.BlockFlushingInstances(!1),this.DispatchUserScriptEvent(s["tick"])}async Step_RunEventsEtc(){const e=this._eventSheetManager,a=this._dispatcher,n=this._eventObjects,t=this.IsDebug(),s=this.IsDebugging();if(t&&C3Debugger.StartMeasuringTime(),s?await e.DebugRunEvents(this._layoutManager):e.RunEvents(this._layoutManager),t&&C3Debugger.AddEventsTime(),this._collisionEngine.ClearRegisteredCollisions(),0a++;)await this._DoChangeLayout(e.GetPendingChangeMainLayout())}_MeasureDt(e){if(0!==this._lastTickTime){const a=Math.max(e-this._lastTickTime,0);this._dt1=a/1e3;const n=1/this._minimumFramerate;.5n&&(this._dt1=n)}this._lastTickTime=e,this._dt=this._dt1*this._timeScale,this._gameTime.Add(this._dt),this._wallTime.Add(this._dt1),this._canvasManager&&this._canvasManager._UpdateTick(),1e3<=e-this._fpsLastTime&&(this._fpsLastTime+=1e3,1e3<=e-this._fpsLastTime&&(this._fpsLastTime=e),this._fps=this._fpsFrameCount,this._fpsFrameCount=0,this._mainThreadTime=Math.min(this._mainThreadTimeCounter/1e3,1),this._mainThreadTimeCounter=0,this._canvasManager&&this._canvasManager._Update1sFrameRange(),this._collisionEngine._Update1sStats(),this.IsDebug()&&C3Debugger.Update1sPerfStats()),this._fpsFrameCount++}async _DoChangeLayout(e){const a=this._dispatcher,n=this.GetLayoutManager(),t=n.GetMainRunningLayout();await t._StopRunning(),t._Unload(e,this.GetWebGLRenderer()),t===e&&this._eventSheetManager.ClearAllScheduledWaits(),this._collisionEngine.ClearRegisteredCollisions(),a.dispatchEvent(this._eventObjects["beforelayoutchange"]),C3.Asyncify.SetHighThroughputMode(!0),await e._Load(t,this.GetWebGLRenderer()),C3.Asyncify.SetHighThroughputMode(!1),await e._StartRunning(!1),a.dispatchEvent(this._eventObjects["layoutchange"]),this.UpdateRender(),this._isLayoutFirstTick=!0,this.FlushPendingInstances()}UpdateRender(){this._needRender=!0}GetWebGLRenderer(){return this._canvasManager?this._canvasManager.GetWebGLRenderer():null}Render(){if(!this._canvasManager||this._canvasManager.IsWebGLContextLost())return;const e=this.GetWebGLRenderer();if(e.Start(),e.CheckForQueryResults(),!this._needRender)return void e.IncrementFrameNumber();const a=this.IsDebug();a&&C3Debugger.StartMeasuringTime(),this._needRender=!1;let n=null;e.SupportsGPUProfiling()&&(n=this._canvasManager.GetGPUFrameTimingsBuffer().AddTimeElapsedQuery(),e.StartQuery(n)),e.SetTextureFillMode(),e.SetAlphaBlend(),e.SetColorRgba(1,1,1,1),e.SetRenderTarget(null),e.SetTexture(null);const t=this._layoutManager.GetMainRunningLayout();t.Draw(e),n&&e.EndQuery(n),e.Finish(),a&&(C3Debugger.AddDrawCallsTime(),C3Debugger.UpdateInspectHighlight()),this._canvasManager&&this._canvasManager._MaybeTakeSnapshot()}Trigger(e,a,n){if(!this._hasStarted)return!1;const t=!this._isInTick&&!this._eventSheetManager.IsInTrigger();let s=0;t&&(s=performance.now());const i=this.IsDebug();i&&this.SetDebuggingEnabled(!1);const r=this._eventSheetManager._Trigger(this._layoutManager,e,a,n);if(t){const e=performance.now()-s;this._mainThreadTimeCounter+=e,i&&C3Debugger.AddTriggersTime(e)}return i&&this.SetDebuggingEnabled(!0),r}DebugTrigger(e,a,n){if(!this.IsDebug())return this.Trigger(e,a,n);if(this.HitBreakpoint())throw new Error("called DebugTrigger() while stopped on breakpoint");if(!this._isInTick&&!this._eventSheetManager.IsInTrigger())throw new Error("called DebugTrigger() outside of event code - use TriggerAsync() instead");return this._eventSheetManager._DebugTrigger(this._layoutManager,e,a,n)}async TriggerAsync(e,a,n){if(!this.IsDebugging())return this.Trigger(e,a,n);if(!this._hasStarted)return!1;if(this.HitBreakpoint())return this._eventSheetManager.QueueDebugTrigger(e,a,n);if(!this.GetMainRunningLayout())return this._eventSheetManager.QueueTrigger(e,a,n);const t=performance.now(),s=this._eventSheetManager._DebugTrigger(this._layoutManager,e,a,n);let i=s.next();for(;!i.done;)await this.DebugBreak(i.value),i=s.next();return this.IsSuspended()||this._eventSheetManager.IsInTrigger()||(await this._eventSheetManager.RunQueuedDebugTriggersAsync(),this._hasStartedTicking&&!this._isInTick&&this._RequestAnimationFrame()),this._mainThreadTimeCounter+=performance.now()-t,i.value}FastTrigger(e,a,n){const t=this.IsDebug();t&&this.SetDebuggingEnabled(!1);const s=this._eventSheetManager._FastTrigger(this._layoutManager,e,a,n);return t&&this.SetDebuggingEnabled(!0),s}DebugFastTrigger(e,a,n){return this._eventSheetManager._DebugFastTrigger(this._layoutManager,e,a,n)}ScheduleTriggers(e){return this._scheduleTriggersThrottle.Add(e)}PushCurrentLayout(e){this._currentLayoutStack.push(e)}PopCurrentLayout(){if(!this._currentLayoutStack.length)throw new Error("layout stack empty");this._currentLayoutStack.pop()}GetCurrentLayout(){return this._currentLayoutStack.length?this._currentLayoutStack[this._currentLayoutStack.length-1]:this.GetMainRunningLayout()}GetDt(e){return e&&-1!==e.GetTimeScale()?this._dt1*e.GetTimeScale():this._dt}_GetDtFast(){return this._dt}GetDt1(){return this._dt1}GetTimeScale(){return this._timeScale}SetTimeScale(e){(isNaN(e)||0>e)&&(e=0),this._timeScale=e}SetMinimumFramerate(e){this._minimumFramerate=C3.clamp(e,1,120)}GetMinimumFramerate(){return this._minimumFramerate}GetFPS(){return this._fps}GetMainThreadTime(){return this._mainThreadTime}GetStartTime(){return this._startTime}GetGameTime(){return this._gameTime.Get()}GetWallTime(){return this._wallTime.Get()}GetTickCount(){return this._tickCount}GetTickCountNoSave(){return this._tickCountNoSave}IncrementExecCount(){++this._execCount}GetExecCount(){return this._execCount}GetObjectCount(){return this._objectCount}GetProjectName(){return this._projectName}GetProjectVersion(){return this._projectVersion}GetProjectUniqueId(){return this._projectUniqueId}GetAppId(){return this._appId}GetInstanceByUID(e){if(this._isLoadingState)throw new Error("cannot call while loading state - wait until afterload event");return this._instancesByUid.get(e)||null}_RefreshUidMap(){this._instancesByUid.clear();for(const e of this._allObjectClasses)if(!e.IsFamily())for(const a of e.GetInstances())this._instancesByUid.set(a.GetUID(),a)}IsPreview(){return"preview"===this._exportType}IsDebug(){return this._isDebug}GetExportType(){return this._exportType}IsCordova(){return"cordova"===this._exportType}IsAndroidWebView(){return"Android"===C3.Platform.OS&&("cordova"===this._exportType||"playable-ad"===this._exportType||"instant-games"===this._exportType)}IsiOSCordova(){return this._isiOSCordova}IsiOSWebView(){return this._isiOSWebView}GetCollisionEngine(){return this._collisionEngine}GetSolidBehavior(){return this._pluginManager.GetSolidBehavior()}GetJumpthruBehavior(){return this._pluginManager.GetJumpthruBehavior()}IsLayoutFirstTick(){return this._isLayoutFirstTick}SetPixelRoundingEnabled(a){a=!!a;this._isPixelRoundingEnabled===a||(this._isPixelRoundingEnabled=a,this.UpdateRender())}IsPixelRoundingEnabled(){return this._isPixelRoundingEnabled}SaveToSlot(e){this._saveToSlotName=e}LoadFromSlot(e){this._loadFromSlotName=e}LoadFromJsonString(e){this._loadFromJson=e}GetLastSaveJsonString(){return this._lastSaveJson}_NeedsHandleSaveOrLoad(){return!!(this._saveToSlotName||this._loadFromSlotName||null!==this._loadFromJson)}async _HandleSaveOrLoad(){if(this._saveToSlotName&&(this.FlushPendingInstances(),await this._DoSaveToSlot(this._saveToSlotName),this._ClearSaveOrLoad()),this._loadFromSlotName&&(await this._DoLoadFromSlot(this._loadFromSlotName),this._ClearSaveOrLoad(),this.IsDebug()&&C3Debugger.StepIfPausedInDebugger()),null!==this._loadFromJson){this.FlushPendingInstances();try{await this._DoLoadFromJsonString(this._loadFromJson),this._lastSaveJson=this._loadFromJson,await this.TriggerAsync(C3.Plugins.System.Cnds.OnLoadComplete,null),this._lastSaveJson=""}catch(e){console.error("[Construct 3] Failed to load state from JSON string: ",e),await this.TriggerAsync(C3.Plugins.System.Cnds.OnLoadFailed,null)}this._ClearSaveOrLoad()}}_ClearSaveOrLoad(){this._saveToSlotName="",this._loadFromSlotName="",this._loadFromJson=null}_GetProjectStorage(){return this._projectStorage||(this._projectStorage=localforage.createInstance({name:"c3-localstorage-"+this.GetProjectUniqueId(),description:this.GetProjectName()})),this._projectStorage}_GetSavegamesStorage(){return this._savegamesStorage||(this._savegamesStorage=localforage.createInstance({name:"c3-savegames-"+this.GetProjectUniqueId(),description:this.GetProjectName()})),this._savegamesStorage}async _DoSaveToSlot(e){const a=await this._SaveToJsonString();try{await this._GetSavegamesStorage().setItem(e,a),console.log("[Construct 3] Saved state to storage ("+a.length+" chars)"),this._lastSaveJson=a,await this.TriggerAsync(C3.Plugins.System.Cnds.OnSaveComplete,null),this._lastSaveJson=""}catch(e){console.error("[Construct 3] Failed to save state to storage: ",e),await this.TriggerAsync(C3.Plugins.System.Cnds.OnSaveFailed,null)}}async _DoLoadFromSlot(e){try{const a=await this._GetSavegamesStorage().getItem(e);if(!a)throw new Error("empty slot");console.log("[Construct 3] Loaded state from storage ("+a.length+" chars)"),await this._DoLoadFromJsonString(a),this._lastSaveJson=a,await this.TriggerAsync(C3.Plugins.System.Cnds.OnLoadComplete,null),this._lastSaveJson=""}catch(e){console.error("[Construct 3] Failed to load state from storage: ",e),await this.TriggerAsync(C3.Plugins.System.Cnds.OnLoadFailed,null)}}async _SaveToJsonString(){const e={"c3save":!0,"version":1,"rt":{"time":this.GetGameTime(),"walltime":this.GetWallTime(),"timescale":this.GetTimeScale(),"tickcount":this.GetTickCount(),"execcount":this.GetExecCount(),"next_uid":this._nextUid,"running_layout":this.GetMainRunningLayout().GetSID(),"start_time_offset":Date.now()-this._startTime},"types":{},"layouts":{},"events":this._eventSheetManager._SaveToJson(),"timelines":this._timelineManager._SaveToJson(),"user_script_data":null};for(const a of this._allObjectClasses)a.IsFamily()||a.HasNoSaveBehavior()||(e["types"][a.GetSID().toString()]=a._SaveToJson());for(const a of this._layoutManager.GetAllLayouts())e["layouts"][a.GetSID().toString()]=a._SaveToJson();const a=this._CreateUserScriptEvent("save");return a.saveData=null,await this.DispatchUserScriptEventAsyncWait(a),e["user_script_data"]=a.saveData,JSON.stringify(e)}IsLoadingState(){return this._isLoadingState}_TriggerOnCreateAfterLoad(e){C3.shallowAssignArray(this._triggerOnCreateAfterLoad,e)}async _DoLoadFromJsonString(e){const a=JSON.parse(e);if(a["c2save"])throw new Error("C2 saves are incompatible with C3 runtime");if(!a["c3save"])throw new Error("not valid C3 save data");if(1n||n>=s.length)throw new Error("missing sibling instance");e._AddSibling(s[n])}}this._timelineManager._LoadFromJson(a["timelines"]),this._dispatcher.dispatchEvent(C3.New(C3.Event,"afterload"));const s=this._CreateUserScriptEvent("load");s.saveData=a["user_script_data"],await this.DispatchUserScriptEventAsyncWait(s),this.UpdateRender()}async AddJobWorkerScripts(e){const a=await Promise.all(e.map((e)=>this._assetManager.FetchBlob(e))),n=a.map((e)=>URL.createObjectURL(e));this._jobScheduler.ImportScriptsToJobWorkers(n)}AddJobWorkerBlob(e,a){this._jobScheduler.SendBlobToJobWorkers(e,a)}AddJobWorkerBuffer(e,a){this._jobScheduler.SendBufferToJobWorkers(e,a)}AddJob(e,a,n){return this._jobScheduler.AddJob(e,a,n)}BroadcastJob(e,a,n){return this._jobScheduler.BroadcastJob(e,a,n)}InvokeDownload(e,a){this.PostComponentMessageToDOM("runtime","invoke-download",{"url":e,"filename":a})}async RasterSvgImage(e,a,n,t,s,i){if(t=t||a,s=s||n,this.IsInWorker()){const r=await this.PostComponentMessageToDOMAsync("runtime","raster-svg-image",{"blob":e,"imageWidth":a,"imageHeight":n,"surfaceWidth":t,"surfaceHeight":s,"imageBitmapOpts":i});return r["imageBitmap"]}else{const r=await self["C3_RasterSvgImageBlob"](e,a,n,t,s);return i?await self.createImageBitmap(r,i):r}}async GetSvgImageSize(e){return this.IsInWorker()?await this.PostComponentMessageToDOMAsync("runtime","get-svg-image-size",{"blob":e}):await self["C3_GetSvgImageSize"](e)}RequestDeviceOrientationEvent(){this._didRequestDeviceOrientationEvent||(this._didRequestDeviceOrientationEvent=!0,this.PostComponentMessageToDOM("runtime","enable-device-orientation"))}RequestDeviceMotionEvent(){this._didRequestDeviceMotionEvent||(this._didRequestDeviceMotionEvent=!0,this.PostComponentMessageToDOM("runtime","enable-device-motion"))}Random(){return this._randomNumberCallback()}SetRandomNumberGeneratorCallback(e){this._randomNumberCallback=e}_GetRemotePreviewStatusInfo(){return{"fps":this.GetFPS(),"cpu":this.GetMainThreadTime(),"gpu":this.GetGPUUtilisation(),"layout":this.GetMainRunningLayout()?this.GetMainRunningLayout().GetName():"","renderer":this.GetWebGLRenderer().GetUnmaskedRenderer()}}HitBreakpoint(){return!!this.IsDebug()&&C3Debugger.HitBreakpoint()}DebugBreak(e){return this.IsDebugging()?C3Debugger.DebugBreak(e):Promise.resolve()}DebugBreakNext(){return!!this.IsDebugging()&&C3Debugger.BreakNext()}SetDebugBreakpointsEnabled(a){this._breakpointsEnabled=!!a,this._UpdateDebuggingFlag()}AreDebugBreakpointsEnabled(){return this._breakpointsEnabled}IsDebugging(){return this._isDebugging}SetDebuggingEnabled(e){e?this._debuggingDisabled--:this._debuggingDisabled++,this._UpdateDebuggingFlag()}_UpdateDebuggingFlag(){this._isDebugging=this.IsDebug()&&this._breakpointsEnabled&&0===this._debuggingDisabled}IsCPUProfiling(){return this.IsDebug()&&C3Debugger.IsCPUProfiling()}IsGPUProfiling(){return this.IsDebug()&&this.GetWebGLRenderer().SupportsGPUProfiling()&&C3Debugger.IsGPUProfiling()}async DebugIterateAndBreak(e){if(e)for(const a of e)await this.DebugBreak(a)}DebugFireGeneratorEventAndBreak(e){return this.DebugIterateAndBreak(this._dispatcher.dispatchGeneratorEvent(e))}_InvokeFunctionFromJS(a){return this._eventSheetManager._InvokeFunctionFromJS(a["name"],a["params"])}GetIRuntime(){return this._iRuntime}_CreateUserScriptEvent(a){const n=C3.New(C3.Event,a,!1);return n.runtime=this._iRuntime,n}_InitScriptInterfaces(){const e={};for(const a of this._allObjectClasses)e[a.GetJsPropName()]={value:a.GetIObjectClass(),enumerable:!0,writable:!1};const a=Object.create(Object.prototype,e);this._iRuntime=new IRuntime(this,a),this._userScriptEventObjects={"tick":this._CreateUserScriptEvent("tick")}}_InitGlobalVariableScriptInterface(){const e={};for(const a of this.GetEventSheetManager().GetAllGlobalVariables())e[a.GetJsPropName()]=a._GetScriptInterfaceDescriptor();this._iRuntime._InitGlobalVars(e)}_GetCommonScriptInterfaces(){return this._commonScriptInterfaces}_MapScriptInterface(e,a){this._interfaceMap.set(e,a)}_UnwrapScriptInterface(e){return this._interfaceMap.get(e)}},self["C3_CreateRuntime"]=C3.Runtime.Create,self["C3_InitRuntime"]=(e,a)=>e.Init(a)} + +// c3/workers/jobSchedulerRuntime.js +"use strict";C3.JobSchedulerRuntime=class extends C3.DefendedBase{constructor(a,b){super(),this._runtime=a,this._jobPromises=new Map,this._nextJobId=0,this._inputPort=b["inputPort"],b["outputPort"].onmessage=(a)=>this._OnJobWorkerMessage(a),this._maxNumWorkers=b["maxNumWorkers"],this._jobWorkerCount=1,this._isCreatingWorker=!1,this._hadErrorCreatingWorker=!1,this._isBroken=!1,this._testOkResolve=null}async Init(){await this._TestMessageChannelWorks()}ImportScriptsToJobWorkers(a){this._isBroken||this._inputPort.postMessage({"type":"_import_scripts","scripts":a})}SendBlobToJobWorkers(a,b){this._isBroken||this._inputPort.postMessage({"type":"_send_blob","blob":a,"id":b})}SendBufferToJobWorkers(a,b){this._isBroken||this._inputPort.postMessage({"type":"_send_buffer","buffer":a,"id":b},[a])}AddJob(a,b,c,d,e){if(this._isBroken)return Promise.reject("messagechannels broken");c||(c=[]);const f=this._nextJobId++,g={"type":a,"isBroadcast":!1,"jobId":f,"params":b,"transferables":c},h=new Promise((a,b)=>{this._jobPromises.set(f,{resolve:a,progress:d,reject:b,cancelled:!1})});return e&&e.SetAction(()=>this._CancelJob(f)),this._inputPort.postMessage(g,c),this._MaybeCreateExtraWorker(),h}BroadcastJob(a,b,c){if(!this._isBroken){c||(c=[]);const d=this._nextJobId++,e={"type":a,"isBroadcast":!0,"jobId":d,"params":b,"transferables":c};this._inputPort.postMessage(e,c)}}_CancelJob(a){const b=this._jobPromises.get(a);b&&(b.cancelled=!0,b.resolve=null,b.progress=null,b.reject=null,this._inputPort.postMessage({"type":"_cancel","jobId":a}))}_OnJobWorkerMessage(a){const b=a.data,c=b["type"],d=b["jobId"];switch(c){case"result":this._OnJobResult(d,b["result"]);break;case"progress":this._OnJobProgress(d,b["progress"]);break;case"error":this._OnJobError(d,b["error"]);break;case"ready":this._OnJobWorkerReady();break;case"_testMessageChannelOk":this._OnTestMessageChannelOk();break;default:throw new Error(`unknown message from worker '${c}'`);}}_OnJobResult(a,b){const c=this._jobPromises.get(a);if(!c)throw new Error("invalid job ID");c.cancelled||c.resolve(b),this._jobPromises.delete(a)}_OnJobProgress(a,b){const c=this._jobPromises.get(a);if(!c)throw new Error("invalid job ID");!c.cancelled&&c.progress&&c.progress(b)}_OnJobError(a,b){const c=this._jobPromises.get(a);if(!c)throw new Error("invalid job ID");c.cancelled||c.reject(b),this._jobPromises.delete(a)}_OnJobWorkerReady(){this._isCreatingWorker&&(this._isCreatingWorker=!1,this._jobWorkerCount++,this._jobWorkerCount=this._maxNumWorkers||this._isCreatingWorker||this._hadErrorCreatingWorker||this._jobPromises.size<=this._jobWorkerCount))try{this._isCreatingWorker=!0;const a=await this._runtime.PostComponentMessageToDOMAsync("runtime","create-job-worker");a["outputPort"].onmessage=(a)=>this._OnJobWorkerMessage(a)}catch(a){this._hadErrorCreatingWorker=!0,this._isCreatingWorker=!1,console.error(`[Construct 3] Failed to create job worker; stopping creating any more (created ${this._jobWorkerCount} so far)`,a)}}_TestMessageChannelWorks(){return this._inputPort.postMessage({"type":"_testMessageChannel"}),self.setTimeout(()=>this._CheckMessageChannelTestTimedOut(),2e3),new Promise((a)=>this._testOkResolve=a)}_OnTestMessageChannelOk(){this._testOkResolve(),this._testOkResolve=null}_CheckMessageChannelTestTimedOut(){this._testOkResolve&&(console.warn("MessageChannel determined to be broken. Job scheduler disabled."),this._isBroken=!0,this._testOkResolve(),this._testOkResolve=null)}}; + +self["C3_Shaders"] = {}; +self["C3_Shaders"]["subtract"] = { + src: "varying mediump vec2 vTex;\nuniform lowp sampler2D samplerFront;\nuniform mediump vec2 srcStart;\nuniform mediump vec2 srcEnd;\nuniform lowp sampler2D samplerBack;\nuniform mediump vec2 destStart;\nuniform mediump vec2 destEnd;\nvoid main(void)\n{\nlowp vec4 front = texture2D(samplerFront, vTex);\nfront.rgb /= front.a;\nmediump vec2 tex = (vTex - srcStart) / (srcEnd - srcStart);\nlowp vec4 back = texture2D(samplerBack, mix(destStart, destEnd, tex));\nback.rgb /= back.a;\nfront.rgb = max(back.rgb - front.rgb, vec3(0.0, 0.0, 0.0));\nfront.rgb *= front.a;\ngl_FragColor = front * back.a;\n}", + extendBoxHorizontal: 0, + extendBoxVertical: 0, + crossSampling: false, + mustPreDraw: false, + preservesOpaqueness: false, + animated: false, + parameters: [] +}; + + +"use strict";{function a(c,a){const b=c[1],d=a[1];if("number"==typeof b&&"number"==typeof d)return b-d;else{const a=""+b,c=""+d;return ac?1:0}}let b=null,c="",d="",e=[],f="",g="",h="";const i=C3.New(C3.ArrayStack);C3.Plugins.System=class extends C3.SDKPluginBase{constructor(a){super(a),this._loopStack=this._runtime.GetEventSheetManager().GetLoopStack(),this._eventStack=this._runtime.GetEventSheetManager().GetEventStack(),this._imagesLoadingTotal=0,this._imagesLoadingComplete=0,this._functionMaps=new Map}Release(){super.Release()}UpdateRender(){this._runtime.UpdateRender()}Trigger(a){this._runtime.Trigger(a,null,null)}GetRegex(a,e){return b&&a===c&&e===d||(b=new RegExp(a,e),c=a,d=e),b.lastIndex=0,b}GetRegexMatches(a,b,c){if(a===f&&b===g&&c===h)return e;const d=this.GetRegex(b,c);return e=a.match(d),f=a,g=b,h=c,e}async _LoadTexturesForObjectClasses(a,b){if(b.length){this._imagesLoadingTotal+=b.length;const c=[];for(const d of b)c.push(a.MaybeLoadTexturesFor(d));await C3.PromiseAllWithProgress(c,()=>{this._imagesLoadingComplete++}),this._imagesLoadingComplete++,this._imagesLoadingComplete===this._imagesLoadingTotal&&(this._runtime.Trigger(C3.Plugins.System.Cnds.OnImageLoadingComplete,null,null),this._imagesLoadingComplete=0,this._imagesLoadingTotal=0)}}_UnloadTexturesForObjectClasses(a,b){for(const c of b)0===c.GetInstanceCount()&&a.MaybeUnloadTexturesFor(c)}_GetForEachStack(){return i}_Repeat(a){const b=this._runtime.GetEventSheetManager(),c=b.GetEventStack(),d=c.GetCurrentStackFrame(),e=d.GetCurrentEvent(),f=e.GetSolModifiers(),g=d.IsSolModifierAfterCnds(),h=c.Push(e),i=b.GetLoopStack(),j=i.Push();if(j.SetEnd(a),g)for(let c=0;c=c&&!l.IsStopped();--a)d.PushCopySol(h),l.SetIndex(a),g.Retrigger(f,j),d.PopSol(h);else for(let a=b;a>=c&&!l.IsStopped();--a)l.SetIndex(a),g.Retrigger(f,j);}else if(i)for(let a=b;a<=c&&!l.IsStopped();++a)d.PushCopySol(h),l.SetIndex(a),g.Retrigger(f,j),d.PopSol(h);else for(let a=b;a<=c&&!l.IsStopped();++a)l.SetIndex(a),g.Retrigger(f,j);return e.Pop(),k.Pop(),!1}*_DebugFor(a,b,c){const d=this._runtime.GetEventSheetManager(),e=d.GetEventStack(),f=e.GetCurrentStackFrame(),g=f.GetCurrentEvent(),h=g.GetSolModifiers(),i=f.IsSolModifierAfterCnds(),j=e.Push(g),k=d.GetLoopStack(),l=k.Push();if(l.SetName(a),l.SetEnd(c),c=c&&!l.IsStopped();--a)d.PushCopySol(h),l.SetIndex(a),yield*g.DebugRetrigger(f,j),d.PopSol(h);else for(let a=b;a>=c&&!l.IsStopped();--a)l.SetIndex(a),yield*g.DebugRetrigger(f,j);}else if(i)for(let a=b;a<=c&&!l.IsStopped();++a)d.PushCopySol(h),l.SetIndex(a),yield*g.DebugRetrigger(f,j),d.PopSol(h);else for(let a=b;a<=c&&!l.IsStopped();++a)l.SetIndex(a),yield*g.DebugRetrigger(f,j);return e.Pop(),k.Pop(),!1}_ForEach(a){const b=this._runtime.GetEventSheetManager(),c=b.GetEventStack(),d=c.GetCurrentStackFrame(),e=d.GetCurrentEvent(),f=e.GetSolModifiers(),g=d.IsSolModifierAfterCnds(),h=c.Push(e),j=b.GetLoopStack(),k=j.Push(),l=a.IsInContainer(),m=a.GetCurrentSol(),n=i.Push();if(C3.shallowAssignArray(n,m.GetInstances()),k.SetEnd(n.length),g)for(let c=0,g=n.length;c=d+f?(c.set("Every_lastTime",d+f),e>=c.get("Every_lastTime")+.04&&c.set("Every_lastTime",e),c.set("Every_seconds",a),!0):(e=d&&c<=a},CompareVar(a,b,c){return C3.compare(a.GetValue(),b,c)},CompareBoolVar(a){return!!a.GetValue()},CompareTime(a,b){const c=this._runtime.GetGameTime();if(0===a){const a=this._runtime.GetCurrentCondition(),d=a.GetSavedDataMap();return!(d.get("CompareTime_executed")||!(c>=b))&&(d.set("CompareTime_executed",!0),!0)}return C3.compare(c,a,b)},IsNaN(a){return isNaN(a)},AngleWithin(a,b,c){return C3.angleDiff(C3.toRadians(a),C3.toRadians(c))<=C3.toRadians(b)},IsClockwiseFrom(a,b){return C3.angleClockwise(C3.toRadians(a),C3.toRadians(b))},IsBetweenAngles(b,a,c){let d=C3.toRadians(b),e=C3.toRadians(a),f=C3.toRadians(c),g=!C3.angleClockwise(f,e);return g?C3.angleClockwise(d,e)||!C3.angleClockwise(d,f):C3.angleClockwise(d,e)&&!C3.angleClockwise(d,f)},IsValueType(a,b){return"number"==typeof a?0===b:1===b},PickByComparison(a,b,c,d){if(!a)return!1;const e=this._GetForEachStack(),f=e.Push(),g=a.GetCurrentSol();C3.shallowAssignArray(f,g.GetInstances()),g.IsSelectAll()&&C3.clearArray(g._GetOwnElseInstances());const h=this._runtime.GetCurrentCondition();let j=0;for(let e=0,i=f.length;e=d.length)return!1;const e=d[b];return c.PickOne(e),a.ApplySolToContainer(),!0},PickRandom(a){if(!a)return!1;const b=a.GetCurrentSol(),c=b.GetInstances(),d=Math.floor(this._runtime.Random()*c.length);if(d>=c.length)return!1;const e=c[d];return b.PickOne(e),a.ApplySolToContainer(),!0},PickAll(a){if(!a)return!1;if(!a.GetInstanceCount())return!1;const b=a.GetCurrentSol();return b._SetSelectAll(!0),a.ApplySolToContainer(),!0},PickOverlappingPoint(b,c,d){if(!b)return!1;const e=b.GetCurrentSol(),f=e.GetInstances(),g=this._runtime.GetCurrentEvent(),h=g.IsOrBlock(),j=this._runtime.GetCurrentCondition().IsInverted();e.IsSelectAll()?(C3.shallowAssignArray(a,f),e.ClearArrays(),e._SetSelectAll(!1)):h?(C3.shallowAssignArray(a,e._GetOwnElseInstances()),C3.clearArray(e._GetOwnElseInstances())):(C3.shallowAssignArray(a,e._GetOwnInstances()),C3.clearArray(e._GetOwnInstances()));for(let f=0,g=a.length;fb&&(b=0),!!a){const c=a.GetCurrentSol(),d=c.GetInstances();for(const a of d)a.SetTimeScale(b)}},RestoreObjectTimescale(a){if(a){const b=a.GetCurrentSol(),c=b.GetInstances();for(const a of c)a.RestoreTimeScale()}},Wait(a){if(!(0>a))return this._runtime.GetEventSheetManager().AddScheduledWait().InitTimer(a),!0},WaitForSignal(a){return this._runtime.GetEventSheetManager().AddScheduledWait().InitSignal(a),!0},WaitForPreviousActions(){const a=this._runtime.GetEventSheetManager();return a.AddScheduledWait().InitPromise(a.GetPromiseForAllAsyncActions()),!0},Signal(a){const b=a.toLowerCase();for(const c of this._runtime.GetEventSheetManager().scheduledWaits())c.IsSignal()&&c.GetSignalTag()===b&&c.SetSignalled()},async SnapshotCanvas(a,b){const c=this._runtime.GetCanvasManager();c&&(this.UpdateRender(),await c.SnapshotCanvas(0===a?"image/png":"image/jpeg",b/100),await this._runtime.TriggerAsync(C3.Plugins.System.Cnds.OnCanvasSnapshot,null))},SetCanvasSize(a,b){if(!(0>=a||0>=b)){this._runtime.SetViewportSize(a,b);const c=this._runtime.GetCurrentLayout();c.BoundScrolling();for(const a of c.GetLayers())a.UpdateViewport();const d=this._runtime.GetCanvasManager();d&&("off"===d.GetCurrentFullscreenMode()?d.SetSize(d.GetLastWidth(),d.GetLastHeight(),!0):(this._runtime.SetOriginalViewportSize(a,b),d.SetSize(d.GetLastWidth(),d.GetLastHeight(),!0)),this._runtime.UpdateRender())}},SetFullscreenQuality(a){const b=this._runtime.GetCanvasManager();b&&"off"!==b.GetCurrentFullscreenMode()&&(b.SetFullscreenScalingQuality(0===a?"low":"high"),b.SetSize(b.GetLastWidth(),b.GetLastHeight(),!0))},SaveState(a){this._runtime.SaveToSlot(a)},LoadState(a){this._runtime.LoadFromSlot(a)},LoadStateJSON(a){this._runtime.LoadFromJsonString(a)},SetHalfFramerateMode(){},ResetPersisted(){for(const a of this._runtime.GetLayoutManager().GetAllLayouts())a.ResetPersistData()},SetPixelRounding(a){this._runtime.SetPixelRoundingEnabled(0!==a)},SetMinimumFramerate(a){this._runtime.SetMinimumFramerate(a)},SortZOrderByInstVar(e,f){if(!e)return;const g=e.GetCurrentSol(),h=g.GetInstances(),j=c,k=d,l=this._runtime.GetCurrentLayout(),m=e.IsFamily(),n=e.GetFamilyIndex();for(let a=0,b=h.length;ac||c>=b.length)){const a=g.GetShaderProgram().GetParameterType(c);if("color"===a){e.setFromRgbValue(d);const a=b[c];if(e.equalsIgnoringAlpha(a))return;a.copyRgb(e)}else{if("percent"===a&&(d/=100),b[c]===d)return;b[c]=d}g.IsActive()&&this._runtime.UpdateRender()}}}},SetLayerForceOwnTexture(a,b){a&&(b=!!b,a.IsForceOwnTexture()===b||(a.SetForceOwnTexture(b),this.UpdateRender()))},SetLayoutScale(a){const b=this._runtime.GetCurrentLayout();b.GetScale()===a||(b.SetScale(a),this.UpdateRender())},SetLayoutAngle(b){b=C3.clampAngle(C3.toRadians(+b));const c=this._runtime.GetCurrentLayout();c.GetAngle()===b||(c.SetAngle(b),this.UpdateRender())},SetLayoutEffectEnabled(a,b){const c=this._runtime.GetCurrentLayout(),d=c.GetEffectList(),f=d.GetEffectTypeByName(b);if(f){const b=1===a;f.IsActive()===b||(f.SetActive(b),d.UpdateActiveEffects(),this._runtime.UpdateRender())}},SetLayoutEffectParam(a,b,c){const d=this._runtime.GetCurrentLayout(),f=d.GetEffectList(),g=f.GetEffectTypeByName(a);if(g){const a=g.GetIndex(),d=f.GetEffectParametersForIndex(a);if(b=Math.floor(b),!(0>b||b>=d.length)){const a=g.GetShaderProgram().GetParameterType(b);if("color"===a){e.setFromRgbValue(c);const a=d[b];if(e.equalsIgnoringAlpha(a))return;a.copyRgb(e)}else{if("percent"===a&&(c/=100),d[b]===c)return;d[b]=c}g.IsActive()&&this._runtime.UpdateRender()}}},ScrollX(a){const b=this._runtime.GetCurrentLayout();b.SetScrollX(a)},ScrollY(a){const b=this._runtime.GetCurrentLayout();b.SetScrollY(a)},Scroll(a,b){const c=this._runtime.GetCurrentLayout();c.SetScrollX(a),c.SetScrollY(b)},ScrollToObject(a){if(a){const b=a.GetFirstPicked();if(b){const a=b.GetWorldInfo();if(a){const b=this._runtime.GetCurrentLayout();b.SetScrollX(a.GetX()),b.SetScrollY(a.GetY())}}}},async LoadObjectTextures(a){const b=this._runtime.GetMainRunningLayout();if(b&&a&&!this._runtime.IsLoading()){const c=a.IsFamily()?a.GetFamilyMembers():[a];await this._LoadTexturesForObjectClasses(b,c)}},async LoadObjectTexturesByName(a){await C3.Plugins.System.Acts.LoadObjectTextures.call(this,this._runtime.GetObjectClassByName(a))},UnloadObjectTextures(a){const b=this._runtime.GetMainRunningLayout();if(b&&a){const c=a.IsFamily()?a.GetFamilyMembers():[a];this._UnloadTexturesForObjectClasses(b,c)}},UnloadObjectTexturesByName(a){C3.Plugins.System.Acts.UnloadObjectTexturesByName.call(this,this._runtime.GetObjectClassByName(a))},UnloadUnusedTextures(){const a=this._runtime.GetMainRunningLayout();if(a){const b=a._GetTextureLoadedObjectTypes();this._UnloadTexturesForObjectClasses(a,b)}},async LoadLayoutTextures(a){const b=this._runtime.GetMainRunningLayout();a&&b&&!this._runtime.IsLoading()&&(await this._LoadTexturesForObjectClasses(b,a._GetInitialObjectClasses()))},async LoadLayoutTexturesByName(a){const b=this._runtime.GetMainRunningLayout(),c=this._runtime.GetLayoutManager().GetLayoutByName(a);c&&b&&!this._runtime.IsLoading()&&(await this._LoadTexturesForObjectClasses(b,c._GetInitialObjectClasses()))},SetFunctionReturnValue(a){const b=this._eventStack.GetCurrentExpFuncStackFrame();if(b)switch(b.GetFunctionReturnType()){case 1:"number"==typeof a&&b.SetFunctionReturnValue(a);break;case 2:"string"==typeof a&&b.SetFunctionReturnValue(a);break;case 3:b.SetFunctionReturnValue(a);}},MapFunction(a,b,c){const d=this._GetFunctionMap(a.toLowerCase(),!0),e=d.strMap,f=b.toLowerCase();e.has(f)&&console.warn(`[Construct 3] Function map '${a}' string '${b}' already in map; overwriting entry`);const g=C3.first(e.values())||d.defaultFunc;if(g){const d=0!==g.GetReturnType(),e=0!==c.GetReturnType();if(d!=e)return void console.error(`[Construct 3] Function map '${a}' string '${b}' function return type not compatible with other functions in the map; entry ignored`)}e.set(f,c)},MapFunctionDefault(a,b){const c=this._GetFunctionMap(a.toLowerCase(),!0);c.defaultFunc&&console.warn(`[Construct 3] Function map '${a}' already has a default; overwriting entry`);const d=C3.first(c.strMap.values())||c.defaultFunc;if(d){const c=0!==d.GetReturnType(),e=0!==b.GetReturnType();if(c!=e)return void console.error(`[Construct 3] Function map '${a}' default: function return type not compatible with other functions in the map; entry ignored`)}c.defaultFunc=b},CallMappedFunction(a,b,c){c=Math.floor(c);const d=this._GetFunctionMap(a.toLowerCase(),!1);if(!d)return void console.warn(`[Construct 3] Call mapped function: map name '${a}' not found; call ignored`);let e=d.strMap.get(b.toLowerCase());if(!e)if(d.defaultFunc)e=d.defaultFunc,c=0;else return void console.warn(`[Construct 3] Call mapped function: no function associated with map '${a}' string '${b}'; call ignored (consider setting a default)`);if(e.IsEnabled()){if(0!==e.GetReturnType())return void console.warn(`[Construct 3] Call mapped function: map '${a}' string '${b}' has a return type so cannot be called`);const d=this._runtime,f=d.GetEventSheetManager(),g=f.GetCurrentEvent(),h=g.GetSolModifiersIncludingParents(),i=0c&&(b=c);return b},clamp(a,b,c){return C3.clamp(a,b,c)},distance(a,b,c,d){return C3.distanceTo(a,b,c,d)},angle(a,b,c,d){return C3.toDegrees(C3.angleTo(a,b,c,d))},lerp(c,a,b){return C3.lerp(c,a,b)},unlerp(c,a,b){return C3.unlerp(c,a,b)},qarp(d,a,b,c){return C3.qarp(d,a,b,c)},cubic(e,a,b,c,d){return C3.cubic(e,a,b,c,d)},cosp(c,a,b){return C3.cosp(c,a,b)},anglediff(c,a){return C3.toDegrees(C3.angleDiff(C3.toRadians(c),C3.toRadians(a)))},anglelerp(c,a,b){return C3.toDegrees(C3.angleLerp(C3.toRadians(c),C3.toRadians(a),b))},anglerotate(d,a,b){return C3.toDegrees(C3.angleRotate(C3.toRadians(d),C3.toRadians(a),C3.toRadians(b)))},setbit(a,c,b){return a|=0,c|=0,b=0===b?0:1,a&~(1<c?a.substr(b):a.substr(b,c):""},right(a,b){return"string"==typeof a?a.substr(a.length-b):""},trim(a){return"string"==typeof a?a.trim():""},tokenat(a,b,c){if("string"!=typeof a||"string"!=typeof c)return"";let d=a.split(c);return b=Math.floor(b),0>b||b>=d.length?"":d[b]},tokencount(a,b){return"string"==typeof a&&"string"==typeof b&&a.length?a.split(b).length:0},find(a,b){return"string"==typeof a&&"string"==typeof b?a.search(new RegExp(C3.EscapeRegex(b),"i")):-1},findcase(a,b){return"string"==typeof a&&"string"==typeof b?a.search(new RegExp(C3.EscapeRegex(b),"")):-1},replace(a,b,c){return"string"==typeof a&&"string"==typeof b&&"string"==typeof c?a.replace(new RegExp(C3.EscapeRegex(b),"gi"),c):"string"==typeof a?a:""},regexsearch(a,b,c){const d=this.GetRegex(b,c);return a?a.search(d):-1},regexreplace(a,b,c,d){const e=this.GetRegex(b,c);return a?a.replace(e,d):""},regexmatchcount(a,b,c){const d=this.GetRegexMatches(a.toString(),b,c);return d?d.length:0},regexmatchat(a,b,c,d){d=Math.floor(d);const e=this.GetRegexMatches(a.toString(),b,c);return!e||0>d||d>=e.length?"":e[d]},zeropad(a,b){let c=0>a?"-":"";0>a&&(a=-a);const d=b-a.toString().length;return c+="0".repeat(Math.max(d,0)),c+a.toString()},urlencode(a){return encodeURIComponent(a)},urldecode(a){return decodeURIComponent(a)},dt(){return this._runtime._GetDtFast()},timescale(){return this._runtime.GetTimeScale()},wallclocktime(){return(Date.now()-this._runtime.GetStartTime())/1e3},unixtime(){return Date.now()},time(){return this._runtime.GetGameTime()},tickcount(){return this._runtime.GetTickCount()},objectcount(){return this._runtime.GetObjectCount()},fps(){return this._runtime.GetFPS()},cpuutilisation(){return this._runtime.GetMainThreadTime()},gpuutilisation(){return this._runtime.GetGPUUtilisation()},windowwidth(){return this._runtime.GetCanvasManager().GetDeviceWidth()},windowheight(){return this._runtime.GetCanvasManager().GetDeviceHeight()},originalwindowwidth(){return this._runtime.GetOriginalViewportWidth()},originalwindowheight(){return this._runtime.GetOriginalViewportHeight()},originalviewportwidth(){return this._runtime.GetOriginalViewportWidth()},originalviewportheight(){return this._runtime.GetOriginalViewportHeight()},scrollx(){return this._runtime.GetCurrentLayout().GetScrollX()},scrolly(){return this._runtime.GetCurrentLayout().GetScrollY()},layoutname(){return this._runtime.GetCurrentLayout().GetName()},layoutscale(){return this._runtime.GetCurrentLayout().GetScale()},layoutangle(){return C3.toDegrees(this._runtime.GetCurrentLayout().GetAngle())},layoutwidth(){return this._runtime.GetCurrentLayout().GetWidth()},layoutheight(){return this._runtime.GetCurrentLayout().GetHeight()},viewportleft(a){const b=this._runtime.GetCurrentLayout().GetLayer(a);return b?b.GetViewport().getLeft():0},viewporttop(a){const b=this._runtime.GetCurrentLayout().GetLayer(a);return b?b.GetViewport().getTop():0},viewportright(a){const b=this._runtime.GetCurrentLayout().GetLayer(a);return b?b.GetViewport().getRight():0},viewportbottom(a){const b=this._runtime.GetCurrentLayout().GetLayer(a);return b?b.GetViewport().getBottom():0},viewportwidth(a){const b=this._runtime.GetCurrentLayout().GetLayer(a);return b?b.GetViewport().width():0},viewportheight(a){const b=this._runtime.GetCurrentLayout().GetLayer(a);return b?b.GetViewport().height():0},canvastolayerx(a,b,c){const d=this._runtime.GetCurrentLayout().GetLayer(a);return d?d.CanvasCssToLayer(b,c)[0]:0},canvastolayery(a,b,c){const d=this._runtime.GetCurrentLayout().GetLayer(a);return d?d.CanvasCssToLayer(b,c)[1]:0},layertocanvasx(a,b,c){const d=this._runtime.GetCurrentLayout().GetLayer(a);return d?d.LayerToCanvasCss(b,c)[0]:0},layertocanvasy(a,b,c){const d=this._runtime.GetCurrentLayout().GetLayer(a);return d?d.LayerToCanvasCss(b,c)[1]:0},layerscale(a){const b=this._runtime.GetCurrentLayout().GetLayer(a);return b?b.GetOwnScale():0},layerangle(a){const b=this._runtime.GetCurrentLayout().GetLayer(a);return b?C3.toDegrees(b.GetOwnAngle()):0},layeropacity(a){const b=this._runtime.GetCurrentLayout().GetLayer(a);return b?100*b.GetOpacity():0},layerscalerate(a){const b=this._runtime.GetCurrentLayout().GetLayer(a);return b?b.GetScaleRate():0},layerparallaxx(a){const b=this._runtime.GetCurrentLayout().GetLayer(a);return b?100*b.GetParallaxX():0},layerparallaxy(a){const b=this._runtime.GetCurrentLayout().GetLayer(a);return b?100*b.GetParallaxY():0},layerzelevation(a){const b=this._runtime.GetCurrentLayout().GetLayer(a);return b?b.GetZElevation():0},layerindex(a){const b=this._runtime.GetCurrentLayout().GetLayer(a);return b?b.GetIndex():-1},canvassnapshot(){const a=this._runtime.GetCanvasManager();return a?a.GetCanvasSnapshotUrl():""},loopindex(a){const b=this._loopStack;if(!b.IsInLoop())return 0;if(a){const c=b.FindByName(a);return c?c.GetIndex():0}return b.GetCurrent().GetIndex()},savestatejson(){return this._runtime.GetLastSaveJsonString()},callmapped(a,b,...c){const d=this._GetFunctionMap(a.toLowerCase(),!1);if(!d)return console.warn(`[Construct 3] Call mapped function: map name '${a}' not found; returning 0`),0;let e=d.strMap.get(b.toLowerCase());if(!e)if(d.defaultFunc)e=d.defaultFunc;else return console.warn(`[Construct 3] Call mapped function: no function associated with map '${a}' string '${b}'; returning 0 (consider setting a default)`),0;const f=e.GetReturnType(),g=e.GetDefaultReturnValue();if(0===f)return console.warn(`[Construct 3] Call mapped function: map '${a}' string '${b}' has no return type so cannot be called from an expression; returning 0`),0;if(!e.IsEnabled())return g;const h=this._runtime,i=h.GetEventSheetManager(),j=i.GetCurrentEvent(),k=j.GetSolModifiersIncludingParents(),l=0this._OnKeyDown(a.data)),C3.Disposable.From(b,"keyup",(a)=>this._OnKeyUp(a.data)),C3.Disposable.From(b,"window-blur",()=>this._OnWindowBlur()))}Release(){super.Release()}_OnKeyDown(a){const b=a["which"],c=a["code"]||b.toString(),d=a["key"];this._keysDownByString.has(c)||(this._keysDownByString.add(c),this._keysDownByWhich.add(b),this._triggerString=c,this._triggerWhich=b,this._triggerTypedKey=d,this.Trigger(C3.Plugins.Keyboard.Cnds.OnAnyKey),this.Trigger(C3.Plugins.Keyboard.Cnds.OnKey),this.Trigger(C3.Plugins.Keyboard.Cnds.OnLeftRightKeyPressed),this.Trigger(C3.Plugins.Keyboard.Cnds.OnKeyCode))}_OnKeyUp(a){const b=a["which"],c=a["code"]||b.toString(),d=a["key"];this._keysDownByString.delete(c),this._keysDownByWhich.delete(b),this._triggerString=c,this._triggerWhich=b,this._triggerTypedKey=d,this.Trigger(C3.Plugins.Keyboard.Cnds.OnAnyKeyReleased),this.Trigger(C3.Plugins.Keyboard.Cnds.OnKeyReleased),this.Trigger(C3.Plugins.Keyboard.Cnds.OnLeftRightKeyReleased),this.Trigger(C3.Plugins.Keyboard.Cnds.OnKeyCodeReleased)}_OnWindowBlur(){for(const a of this._keysDownByWhich)this._keysDownByWhich.delete(a),this._triggerWhich=a,this.Trigger(C3.Plugins.Keyboard.Cnds.OnAnyKeyReleased),this.Trigger(C3.Plugins.Keyboard.Cnds.OnKeyReleased),this.Trigger(C3.Plugins.Keyboard.Cnds.OnKeyCodeReleased);this._keysDownByString.clear()}IsKeyDown(a){return this._keysDownByString.has(a)}IsKeyCodeDown(a){return this._keysDownByWhich.has(a)}SaveToJson(){return{"tk":this._triggerWhich,"tkk":this._triggerTypedKey}}LoadFromJson(a){this._triggerWhich=a["tk"],a.hasOwnProperty("tkk")&&(this._triggerTypedKey=a["tkk"])}GetDebuggerProperties(){return[{title:"plugins.keyboard.name",properties:[{name:"plugins.keyboard.debugger.last-key-code",value:this._triggerWhich},{name:"plugins.keyboard.debugger.last-key-string",value:C3.Plugins.Keyboard.Exps.StringFromKeyCode(this._triggerWhich)},{name:"plugins.keyboard.debugger.last-typed-key",value:this._triggerTypedKey}]}]}}; + +"use strict";{const a=["ShiftLeft","ShiftRight","ControlLeft","ControlRight","AltLeft","AltRight","MetaLeft","MetaRight"];C3.Plugins.Keyboard.Cnds={IsKeyDown(a){return this._keysDownByWhich.has(a)},OnKey(a){return this._triggerWhich===a},OnAnyKey(){return!0},OnAnyKeyReleased(){return!0},OnKeyReleased(a){return this._triggerWhich===a},IsKeyCodeDown(a){return a=Math.floor(a),this._keysDownByWhich.has(a)},OnKeyCode(a){return this._triggerWhich===a},OnKeyCodeReleased(a){return this._triggerWhich===a},OnLeftRightKeyPressed(b){const c=a[b];return this._triggerString===c},OnLeftRightKeyReleased(b){const c=a[b];return this._triggerString===c},IsLeftRightKeyDown(b){const c=a[b];return this._keysDownByString.has(c)}}} + +"use strict";C3.Plugins.Keyboard.Acts={}; + +"use strict";{function a(a){return a=Math.floor(a),8===a?"backspace":9===a?"tab":13===a?"enter":16===a?"shift":17===a?"control":18===a?"alt":19===a?"pause":20===a?"capslock":27===a?"esc":33===a?"pageup":34===a?"pagedown":35===a?"end":36===a?"home":37===a?"\u2190":38===a?"\u2191":39===a?"\u2192":40===a?"\u2193":45===a?"insert":46===a?"del":91===a?"left window key":92===a?"right window key":93===a?"select":96===a?"numpad 0":97===a?"numpad 1":98===a?"numpad 2":99===a?"numpad 3":100===a?"numpad 4":101===a?"numpad 5":102===a?"numpad 6":103===a?"numpad 7":104===a?"numpad 8":105===a?"numpad 9":106===a?"numpad *":107===a?"numpad +":109===a?"numpad -":110===a?"numpad .":111===a?"numpad /":112===a?"F1":113===a?"F2":114===a?"F3":115===a?"F4":116===a?"F5":117===a?"F6":118===a?"F7":119===a?"F8":120===a?"F9":121===a?"F10":122===a?"F11":123===a?"F12":144===a?"numlock":145===a?"scroll lock":186===a?";":187===a?"=":188===a?",":189===a?"-":190===a?".":191===a?"/":192===a?"'":219===a?"[":220===a?"\\":221===a?"]":222===a?"#":223===a?"`":String.fromCharCode(a)}C3.Plugins.Keyboard.Exps={LastKeyCode(){return this._triggerWhich},StringFromKeyCode(b){return a(b)},TypedKey(){return this._triggerTypedKey}}} + +"use strict";C3.Plugins.Arr=class extends C3.SDKPluginBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Plugins.Arr.Type=class extends C3.SDKTypeBase{constructor(a){super(a)}Release(){super.Release()}OnCreate(){}}; + +"use strict";{function a(a,b){const c=[];if("function"==typeof b)for(let d=0;da.length)if("function"==typeof c)for(let d=a.length;da(this._cy,()=>a(this._cz,0)))}Release(){this._arr=null,super.Release()}At(a,b,c){var d=Math.floor;return a=d(a),b=d(b),c=d(c),0<=a&&ac&&(c=0),0>e&&(e=0),0>f&&(f=0),this._cx!==c||this._cy!==e||this._cz!==f){this._cx=c,this._cy=e,this._cz=f;const d=this._arr;b(d,c,()=>a(e,()=>a(f,0)));for(let g=0;ga(f,0));for(let a=0;athis.SetSize(a,this._cy,this._cz)},{name:"plugins.arr.properties.height.name",value:this._cy,onedit:(a)=>this.SetSize(this._cx,a,this._cz)},{name:"plugins.arr.properties.depth.name",value:this._cz,onedit:(a)=>this.SetSize(this._cx,this._cy,a)},{name:"plugins.arr.properties.elements.name",value:this._cx*this._cy*this._cz}]}],b=[];if(1===this._cy&&1===this._cz)for(let a=0;athis._arr[a][0][0]=b});else for(let a=0;ad?1:0}}C3.Plugins.Arr.Acts={Clear(a){const b=this._cx,c=this._cy,d=this._cz,e=this._arr;for(let f=0;fa(g,c));0===b?h.push(d):h.unshift(d),this._cx++}else if(1===d){for(let d=0;dc(d[0][0],a[0][0]));else if(1===a)for(let a=0;ac(d[0],a[0]));else for(let a=0;aa)){const c=this._cx,d=this._cy,e=this._cz,f=this._arr;if(0===b){if(a>=c)return;f.splice(a,1),this._cx--}else if(1===b){if(a>=d)return;for(let b=0;b=e)return;for(let b=0;bc)return;const e=this._cx,f=this._cy,g=this._cz,h=this._arr;if(0===d){if(c>e)return;h.splice(c,0,a(f,()=>a(g,b))),this._cx++}else if(1===d){if(c>f)return;for(let d=0;dg)return;for(let a=0;athis._OnPointerMove(a.data)),C3.Disposable.From(b,"pointerdown",(a)=>this._OnPointerDown(a.data)),C3.Disposable.From(b,"pointerup",(a)=>this._OnPointerUp(a.data)),C3.Disposable.From(b,"dblclick",(a)=>this._OnDoubleClick(a.data)),C3.Disposable.From(b,"wheel",(a)=>this._OnMouseWheel(a.data)),C3.Disposable.From(b,"window-blur",()=>this._OnWindowBlur()))}Release(){super.Release()}_OnPointerDown(a){"mouse"!==a["pointerType"]||(this._mouseXcanvas=a["clientX"]-this._runtime.GetCanvasClientX(),this._mouseYcanvas=a["clientY"]-this._runtime.GetCanvasClientY(),this._CheckButtonChanges(a["lastButtons"],a["buttons"]))}_OnPointerMove(a){"mouse"!==a["pointerType"]||(this._mouseXcanvas=a["clientX"]-this._runtime.GetCanvasClientX(),this._mouseYcanvas=a["clientY"]-this._runtime.GetCanvasClientY(),this._CheckButtonChanges(a["lastButtons"],a["buttons"]))}_OnPointerUp(a){"mouse"!==a["pointerType"]||this._CheckButtonChanges(a["lastButtons"],a["buttons"])}_CheckButtonChanges(a,b){this._CheckButtonChange(a,b,1,0),this._CheckButtonChange(a,b,4,1),this._CheckButtonChange(a,b,2,2)}_CheckButtonChange(a,b,c,d){!(a&c)&&b&c?this._OnMouseDown(d):a&c&&!(b&c)&&this._OnMouseUp(d)}_OnMouseDown(a){this._buttonMap[a]=!0,this.Trigger(C3.Plugins.Mouse.Cnds.OnAnyClick),this._triggerButton=a,this._triggerType=0,this.Trigger(C3.Plugins.Mouse.Cnds.OnClick),this.Trigger(C3.Plugins.Mouse.Cnds.OnObjectClicked)}_OnMouseUp(a){this._buttonMap[a]&&(this._buttonMap[a]=!1,this._triggerButton=a,this.Trigger(C3.Plugins.Mouse.Cnds.OnRelease))}_OnDoubleClick(a){this._triggerButton=a["button"],this._triggerType=1,this.Trigger(C3.Plugins.Mouse.Cnds.OnClick),this.Trigger(C3.Plugins.Mouse.Cnds.OnObjectClicked)}_OnMouseWheel(a){this._triggerDir=0>a["deltaY"]?1:0,this.Trigger(C3.Plugins.Mouse.Cnds.OnWheel)}_OnWindowBlur(){for(let a=0,b=this._buttonMap.length;a({name:"$"+a.GetName(),value:a.CanvasCssToLayer(this._mouseXcanvas,this._mouseYcanvas).join(", ")}))}]}}} + +"use strict";C3.Plugins.Mouse.Cnds={OnClick(a,b){return this._triggerButton===a&&this._triggerType===b},OnAnyClick(){return!0},IsButtonDown(a){return this._buttonMap[a]},OnRelease(a){return this._triggerButton===a},IsOverObject(a){if(!this._IsMouseOverCanvas())return!1;const b=this._runtime.GetCurrentCondition(),c=b.IsInverted(),d=this._mouseXcanvas,e=this._mouseYcanvas;return C3.xor(this._runtime.GetCollisionEngine().TestAndSelectCanvasPointOverlap(a,d,e,c),c)},OnObjectClicked(a,b,c){if(a!==this._triggerButton||b!==this._triggerType)return!1;if(!this._IsMouseOverCanvas())return!1;const d=this._mouseXcanvas,e=this._mouseYcanvas;return this._runtime.GetCollisionEngine().TestAndSelectCanvasPointOverlap(c,d,e,!1)},OnWheel(a){return this._triggerDir===a}}; + +"use strict";{let a=null;const b=["auto","pointer","text","crosshair","move","help","wait","none"];C3.Plugins.Mouse.Acts={SetCursor(d){const c=b[d];a===c||(a=c,this.PostToDOM("cursor",c))},SetCursorSprite(b){if(C3.Platform.IsMobile||!b)return;const c=b.GetFirstPicked();if(!c)return;const d=c.GetWorldInfo(),e=c.GetCurrentImageInfo();d&&e&&a!==e&&(a=e,e.ExtractImageToCanvas().then((a)=>C3.CanvasToBlob(a)).then((a)=>{var b=Math.round;const c=URL.createObjectURL(a),f=`url(${c}) ${b(d.GetOriginX()*e.GetWidth())} ${b(d.GetOriginY()*e.GetHeight())}, auto`;this.PostToDOM("cursor",""),this.PostToDOM("cursor",f)}))}}} + +"use strict";C3.Plugins.Mouse.Exps={X(a){return this.GetMousePositionForLayer(a)[0]},Y(a){return this.GetMousePositionForLayer(a)[1]},AbsoluteX(){return this._mouseXcanvas},AbsoluteY(){return this._mouseYcanvas}}; + +"use strict";C3.Plugins.Browser=class extends C3.SDKPluginBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Plugins.Browser.Type=class extends C3.SDKTypeBase{constructor(a){super(a)}Release(){super.Release()}OnCreate(){}}; + +"use strict";{C3.Plugins.Browser.Instance=class extends C3.SDKInstanceBase{constructor(a){super(a,"browser"),this._initLocationStr="",this._isOnline=!1,this._referrer="",this._docTitle="",this._isCookieEnabled=!1,this._screenWidth=0,this._screenHeight=0,this._windowOuterWidth=0,this._windowOuterHeight=0,this._isScirraArcade=!1,this.AddDOMMessageHandler("online-state",(a)=>this._OnOnlineStateChanged(a)),this.AddDOMMessageHandler("backbutton",()=>this._OnBackButton()),this.AddDOMMessageHandler("sw-message",(a)=>this._OnSWMessage(a));const b=this.GetRuntime().Dispatcher();this._disposables=new C3.CompositeDisposable(C3.Disposable.From(b,"afterfirstlayoutstart",()=>this._OnAfterFirstLayoutStart()),C3.Disposable.From(b,"window-resize",()=>this._OnWindowResize()),C3.Disposable.From(b,"suspend",()=>this._OnSuspend()),C3.Disposable.From(b,"resume",()=>this._OnResume())),this._runtime.AddLoadPromise(this.PostToDOMAsync("get-initial-state",{"exportType":this._runtime.GetExportType()}).then((a)=>{this._initLocationStr=a["location"],this._isOnline=a["isOnline"],this._referrer=a["referrer"],this._docTitle=a["title"],this._isCookieEnabled=a["isCookieEnabled"],this._screenWidth=a["screenWidth"],this._screenHeight=a["screenHeight"],this._windowOuterWidth=a["windowOuterWidth"],this._windowOuterHeight=a["windowOuterHeight"],this._isScirraArcade=a["isScirraArcade"]}))}Release(){super.Release()}_OnAfterFirstLayoutStart(){this.PostToDOM("ready-for-sw-messages")}async _OnOnlineStateChanged(a){const b=!!a["isOnline"];this._isOnline===b||(this._isOnline=b,this._isOnline?await this.TriggerAsync(C3.Plugins.Browser.Cnds.OnOnline):await this.TriggerAsync(C3.Plugins.Browser.Cnds.OnOffline))}async _OnWindowResize(){await this.TriggerAsync(C3.Plugins.Browser.Cnds.OnResize)}_OnSuspend(){this.Trigger(C3.Plugins.Browser.Cnds.OnPageHidden)}_OnResume(){this.Trigger(C3.Plugins.Browser.Cnds.OnPageVisible)}async _OnBackButton(){await this.TriggerAsync(C3.Plugins.Browser.Cnds.OnBackButton)}_OnSWMessage(a){const b=a["type"];"downloading-update"===b?this.Trigger(C3.Plugins.Browser.Cnds.OnUpdateFound):"update-ready"===b||"update-pending"===b?this.Trigger(C3.Plugins.Browser.Cnds.OnUpdateReady):"offline-ready"===b&&this.Trigger(C3.Plugins.Browser.Cnds.OnOfflineReady)}GetDebuggerProperties(){return[{title:"plugins.browser.name",properties:[{name:"plugins.browser.debugger.user-agent",value:navigator.userAgent},{name:"plugins.browser.debugger.is-online",value:this._isOnline},{name:"plugins.browser.debugger.is-fullscreen",value:this._runtime.GetCanvasManager().IsDocumentFullscreen()}]}]}}} + +"use strict";C3.Plugins.Browser.Cnds={IsOnline(){return this._isOnline},OnOnline(){return!0},OnOffline(){return!0},OnResize(){return!0},CookiesEnabled(){return this._isCookieEnabled},IsFullscreen(){return this._runtime.GetCanvasManager().IsDocumentFullscreen()},OnBackButton(){return!0},IsPortraitLandscape(a){const b=this._runtime.GetCanvasManager().GetLastWidth(),c=this._runtime.GetCanvasManager().GetLastHeight(),d=b<=c?0:1;return d===a},OnUpdateFound(){return!0},OnUpdateReady(){return!0},OnOfflineReady(){return!0},PageVisible(){return!this._runtime.IsSuspended()},OnPageHidden(){return!0},OnPageVisible(){return!0},HasJava(){return!1},IsDownloadingUpdate(){return!1},OnMenuButton(){return!1},OnSearchButton(){return!1},IsMetered(){return!1},IsCharging(){return!0},SupportsFullscreen(){return!0}}; + +"use strict";{const ORIENTATIONS=["portrait","landscape","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];C3.Plugins.Browser.Acts={Alert(a){this.PostToDOM("alert",{"message":a.toString()})},Close(){this._isScirraArcade||(this._runtime.IsDebug()?C3Debugger.CloseWindow():this.PostToDOM("close"))},Focus(){this.PostToDOM("set-focus",{"isFocus":!0})},Blur(){this.PostToDOM("set-focus",{"isFocus":!1})},GoBack(){this._isScirraArcade||this.PostToDOM("navigate",{"type":"back"})},GoForward(){this._isScirraArcade||this.PostToDOM("navigate",{"type":"forward"})},GoHome(){this._isScirraArcade||this.PostToDOM("navigate",{"type":"home"})},Reload(){this._isScirraArcade||this.PostToDOM("navigate",{"type":"reload"})},GoToURL(a,b){this._PostToDOMMaybeSync("navigate",{"type":"url","url":a,"target":b,"exportType":this._runtime.GetExportType()})},GoToURLWindow(a,b){this._PostToDOMMaybeSync("navigate",{"type":"new-window","url":a,"tag":b,"exportType":this._runtime.GetExportType()})},RequestFullScreen(a,b){2<=a&&(a+=1),6===a&&(a=2),1===a&&(a=0);const c=C3.CanvasManager._FullscreenModeNumberToString(a);this._runtime.GetCanvasManager().SetDocumentFullscreenMode(c),this._PostToDOMMaybeSync("request-fullscreen",{"navUI":b})},CancelFullScreen(){this._PostToDOMMaybeSync("exit-fullscreen")},Vibrate(a){const b=a.split(",");for(let c=0,d=b.length;ca||a>=ORIENTATIONS.length)){const b=ORIENTATIONS[a];this._PostToDOMMaybeSync("lock-orientation",{"orientation":b})}},UnlockOrientation(){this._PostToDOMMaybeSync("unlock-orientation")},LoadStyleSheet(a){this._runtime.GetAssetManager().LoadStyleSheet(a)}}} + +'use strict';C3.Plugins.Browser.Exps={URL(){return this._runtime.IsInWorker()?this._initLocationStr:location.toString()},Protocol(){return this._runtime.IsInWorker()?new URL(this._initLocationStr).protocol:location.protocol},Domain(){return this._runtime.IsInWorker()?new URL(this._initLocationStr).hostname:location.hostname},PathName(){return this._runtime.IsInWorker()?new URL(this._initLocationStr).pathname:location.pathname},Hash(){return this._runtime.IsInWorker()?new URL(this._initLocationStr).hash:location.hash},QueryString(){return this._runtime.IsInWorker()?new URL(this._initLocationStr).search:location.search},QueryParam(a){const b=this._runtime.IsInWorker()?new URL(this._initLocationStr).search:location.search,c=RegExp('[?&]'+a+'=([^&]*)').exec(b);return c?decodeURIComponent(c[1].replace(/\+/g,' ')):''},Referrer(){return this._referrer},Title(){return this._docTitle},Language(){return navigator.language},Platform(){return navigator.platform},UserAgent(){return navigator.userAgent},ExecJS(jsStr){let result=0;try{result=eval(jsStr)}catch(a){console.error('Error executing JavaScript: ',a)}return'number'==typeof result||'string'==typeof result?result:'boolean'==typeof result?result?1:0:0},Name(){return navigator.appName},Version(){return navigator.appVersion},Product(){return navigator.product},Vendor(){return navigator.vendor},BatteryLevel(){return 1},BatteryTimeLeft(){return 1/0},Bandwidth(){const a=navigator['connection'];return a?a['downlink']||a['downlinkMax']||a['bandwidth']||1/0:1/0},ConnectionType(){const a=navigator['connection'];return a?a['type']||'unknown':'unknown'},DevicePixelRatio(){return self.devicePixelRatio},ScreenWidth(){return this._screenWidth},ScreenHeight(){return this._screenHeight},WindowInnerWidth(){return this._runtime.GetCanvasManager().GetLastWidth()},WindowInnerHeight(){return this._runtime.GetCanvasManager().GetLastHeight()},WindowOuterWidth(){return this._windowOuterWidth},WindowOuterHeight(){return this._windowOuterWidth}}; + +"use strict";C3.Plugins.Audio=class extends C3.SDKPluginBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";{function a(){if(self["C3Audio_DOMInterface"])return self["C3Audio_DOMInterface"];throw new Error("audio scripting API cannot be used here - make sure the project is using DOM mode, not worker mode")}C3.Plugins.Audio.Type=class extends C3.SDKTypeBase{constructor(a){super(a)}Release(){super.Release()}OnCreate(){}GetScriptInterfaceClass(){return IAudioObjectType}},self.IAudioObjectType=class extends IObjectClass{constructor(a){super(a)}get audioContext(){return a().GetAudioContext()}get destinationNode(){return a().GetDestinationNode()}}} + +"use strict";{const a=["interactive","balanced","playback"];C3.Plugins.Audio.Instance=class extends C3.SDKInstanceBase{constructor(b,c){super(b,"audio"),this._nextPlayTime=0,this._triggerTag="",this._timeScaleMode=0,this._saveLoadMode=0,this._playInBackground=!1,this._panningModel=1,this._distanceModel=1,this._listenerX=this._runtime.GetViewportWidth()/2,this._listenerY=this._runtime.GetViewportHeight()/2,this._listenerZ=-600,this._referenceDistance=600,this._maxDistance=1e4,this._rolloffFactor=1,this._listenerInst=null,this._loadListenerUid=-1,this._masterVolume=1,this._isSilent=!1,this._sampleRate=0,this._effectCount=new Map,this._preloadTotal=0,this._preloadCount=0;let d="interactive";c&&(this._timeScaleMode=c[0],this._saveLoadMode=c[1],this._playInBackground=c[2],d=a[c[3]],this._panningModel=c[4],this._distanceModel=c[5],this._listenerZ=-c[6],this._referenceDistance=c[7],this._maxDistance=c[8],this._rolloffFactor=c[9]),this._lastAIState=[],this._lastFxState=[],this._lastAnalysersData=[],this.AddDOMMessageHandlers([["state",(a)=>this._OnUpdateState(a)],["fxstate",(a)=>this._OnUpdateFxState(a)],["trigger",(a)=>this._OnTrigger(a)]]);const e=this.GetRuntime().Dispatcher();this._disposables=new C3.CompositeDisposable(C3.Disposable.From(e,"instancedestroy",(a)=>this._OnInstanceDestroyed(a.instance)),C3.Disposable.From(e,"afterload",()=>this._OnAfterLoad()),C3.Disposable.From(e,"suspend",()=>this._OnSuspend()),C3.Disposable.From(e,"resume",()=>this._OnResume())),this._runtime.AddLoadPromise(this.PostToDOMAsync("create-audio-context",{"preloadList":this._runtime.GetAssetManager().GetAudioToPreload().map((a)=>({"originalUrl":a.originalUrl,"url":a.url,"type":a.type,"fileSize":a.fileSize})),"isiOSCordova":this._runtime.IsiOSCordova(),"timeScaleMode":this._timeScaleMode,"latencyHint":d,"panningModel":this._panningModel,"distanceModel":this._distanceModel,"refDistance":this._referenceDistance,"maxDistance":this._maxDistance,"rolloffFactor":this._rolloffFactor,"listenerPos":[this._listenerX,this._listenerY,this._listenerZ]}).then((a)=>{this._sampleRate=a["sampleRate"]})),this._StartTicking()}Release(){this._listenerInst=null,super.Release()}_OnInstanceDestroyed(a){this._listenerInst===a&&(this._listenerInst=null)}DbToLinearNoCap(a){return Math.pow(10,a/20)}DbToLinear(a){const b=this.DbToLinearNoCap(a);return isFinite(b)?Math.max(Math.min(b,1),0):0}LinearToDbNoCap(a){return 20*(Math.log(a)/2.302585092994046)}LinearToDb(a){return this.LinearToDbNoCap(Math.max(Math.min(a,1),0))}_OnSuspend(){this._playInBackground||this.PostToDOM("set-suspended",{"isSuspended":!0})}_OnResume(){this._playInBackground||this.PostToDOM("set-suspended",{"isSuspended":!1})}_OnUpdateState(a){const b=a["tickCount"],c=this._lastAIState.filter((a)=>a.hasOwnProperty("placeholder")&&(a["placeholder"]>b||-1===a["placeholder"]));this._lastAIState=a["audioInstances"],this._lastAnalysersData=a["analysers"],0C3.equalsNoCase(a,b["tag"])&&b["isPlaying"])}_MaybeMarkAsPlaying(a,b,c,d){if(this._IsTagPlaying(a))return null;const e={"tag":a,"duration":0,"volume":d,"isPlaying":!0,"playbackTime":0,"playbackRate":1,"uid":-1,"bufferOriginalUrl":"","bufferUrl":"","bufferType":"","isMusic":b,"isLooping":c,"isMuted":!1,"resumePosition":0,"pan":null,"placeholder":-1};return this._lastAIState.push(e),e}async _OnTrigger(a){const b=a["type"];this._triggerTag=a["tag"];const c=a["aiid"];if("ended"===b){for(const a of this._lastAIState)if(a["aiid"]===c){a["isPlaying"]=!1;break}await this.TriggerAsync(C3.Plugins.Audio.Cnds.OnEnded)}else"fade-ended"===b&&(await this.TriggerAsync(C3.Plugins.Audio.Cnds.OnFadeEnded))}Tick(){const a={"timeScale":this._runtime.GetTimeScale(),"gameTime":this._runtime.GetGameTime(),"instPans":this.GetInstancePans(),"tickCount":this._runtime.GetTickCountNoSave()};if(this._listenerInst){const b=this._listenerInst.GetWorldInfo();this._listenerX=b.GetX(),this._listenerY=b.GetY(),a["listenerPos"]=[this._listenerX,this._listenerY,this._listenerZ]}this.PostToDOM("tick",a)}rotatePtAround(b,c,d,a,e){if(0===d)return[b,c];const f=Math.sin(d),g=Math.cos(d);b-=a,c-=e;const h=b*f,i=c*f,j=b*g,k=c*g;return b=j-i,c=k+h,b+=a,c+=e,[b,c]}GetInstancePans(){return this._lastAIState.filter((a)=>-1!==a["uid"]).map((a)=>this._runtime.GetInstanceByUID(a["uid"])).filter((a)=>a).map((a)=>{const b=a.GetWorldInfo(),c=b.GetLayer().GetAngle(),[d,e]=this.rotatePtAround(b.GetX(),b.GetY(),-c,this._listenerX,this._listenerY);return{"uid":a.GetUID(),"x":d,"y":e,"angle":b.GetAngle()-c}})}GetAnalyserData(a,b){for(const c of this._lastAnalysersData)if(c.index===b&&C3.equalsNoCase(c.tag,a))return c;return null}_IncrementEffectCount(a){this._effectCount.set(a,(this._effectCount.get(a)||0)+1)}_ShouldSave(a){return!a.hasOwnProperty("placeholder")&&3!==this._saveLoadMode&&!(a["isMusic"]&&1===this._saveLoadMode)&&!!(a["isMusic"]||2!==this._saveLoadMode)}SaveToJson(){return{"isSilent":this._isSilent,"masterVolume":this._masterVolume,"listenerZ":this._listenerZ,"listenerUid":this._listenerInst?this._listenerInst.GetUID():-1,"playing":this._lastAIState.filter((a)=>this._ShouldSave(a)),"effects":this._lastFxState,"analysers":this._lastAnalysersData}}LoadFromJson(a){this._isSilent=a["isSilent"],this._masterVolume=a["masterVolume"],this._listenerZ=a["listenerZ"],this._listenerInst=null,this._loadListenerUid=a["listenerUid"],this._lastAIState=a["playing"],this._lastFxState=a["effects"],this._lastAnalysersData=a["analysers"]}_OnAfterLoad(){if(-1!==this._loadListenerUid&&(this._listenerInst=this._runtime.GetInstanceByUID(this._loadListenerUid),this._loadListenerUid=-1,this._listenerInst)){const a=this._listenerInst.GetWorldInfo();this._listenerX=a.GetX(),this._listenerY=a.GetY()}for(const a of this._lastAIState){const b=this._runtime.GetAssetManager().GetProjectAudioFileUrl(a["bufferOriginalUrl"]);b?(a["bufferUrl"]=b.url,a["bufferType"]=b.type):a["bufferUrl"]=null}for(const a of Object.values(this._lastFxState))for(const b of a)if(b.hasOwnProperty("bufferOriginalUrl")){const a=this._runtime.GetAssetManager().GetProjectAudioFileUrl(b["bufferOriginalUrl"]);a&&(b["bufferUrl"]=a.url,b["bufferType"]=a.type)}this.PostToDOM("load-state",{"saveLoadMode":this._saveLoadMode,"timeScale":this._runtime.GetTimeScale(),"gameTime":this._runtime.GetGameTime(),"listenerPos":[this._listenerX,this._listenerY,this._listenerZ],"isSilent":this._isSilent,"masterVolume":this._masterVolume,"playing":this._lastAIState.filter((a)=>null!==a["bufferUrl"]),"effects":this._lastFxState})}GetDebuggerProperties(){var a=Math.round;const b=[];for(const[a,c]of Object.entries(this._lastFxState))b.push({name:"$"+a,value:c.map((a)=>a["type"]).join(", ")});return[{title:"plugins.audio.debugger.tag-effects",properties:b},{title:"plugins.audio.debugger.currently-playing",properties:[{name:"plugins.audio.debugger.currently-playing-count",value:this._lastAIState.length},...this._lastAIState.map((b,c)=>({name:"$#"+c,value:`${b["bufferOriginalUrl"]} ("${b["tag"]}") ${a(10*b["playbackTime"])/10} / ${a(10*b["duration"])/10}`}))]}]}}} + +"use strict";C3.Plugins.Audio.Cnds={OnEnded(a){return C3.equalsNoCase(this._triggerTag,a)},OnFadeEnded(a){return C3.equalsNoCase(this._triggerTag,a)},PreloadsComplete(){return this._preloadCount===this._preloadTotal},AdvancedAudioSupported(){return!0},IsSilent(){return this._isSilent},IsAnyPlaying(){for(const a of this._lastAIState)if(a["isPlaying"])return!0;return!1},IsTagPlaying(a){return this._IsTagPlaying(a)}}; + +"use strict";{const a=["lowpass","highpass","bandpass","lowshelf","highshelf","peaking","notch","allpass"];C3.Plugins.Audio.Acts={async Play(a,b,c,d){if(!this._isSilent){const e=a[1],f=this._runtime.GetAssetManager().GetProjectAudioFileUrl(a[0]);if(f){const g=this._nextPlayTime;this._nextPlayTime=0;const h=this._MaybeMarkAsPlaying(d.toLowerCase(),e,0!==b,this.DbToLinear(c));try{await this.PostToDOMAsync("play",{"originalUrl":a[0],"url":f.url,"type":f.type,"isMusic":e,"tag":d.toLowerCase(),"isLooping":0!==b,"vol":this.DbToLinear(c),"pos":0,"off":g,"trueClock":!!self["C3_GetAudioContextCurrentTime"]})}finally{h&&(h["placeholder"]=this._runtime.GetTickCountNoSave())}}}},async PlayAtPosition(a,b,c,d,e,f,g,h,i,j){if(!this._isSilent){const k=a[1],l=this._runtime.GetAssetManager().GetProjectAudioFileUrl(a[0]);if(l){const m=this._nextPlayTime;this._nextPlayTime=0;const n=this._MaybeMarkAsPlaying(j.toLowerCase(),k,0!==b,this.DbToLinear(c));try{await this.PostToDOMAsync("play",{"originalUrl":a[0],"url":l.url,"type":l.type,"isMusic":k,"tag":j.toLowerCase(),"isLooping":0!==b,"vol":this.DbToLinear(c),"pos":0,"off":m,"trueClock":!!self["C3_GetAudioContextCurrentTime"],"panning":{"x":d,"y":e,"angle":C3.toRadians(f),"innerAngle":C3.toRadians(g),"outerAngle":C3.toRadians(h),"outerGain":this.DbToLinear(i)}})}finally{n&&(n["placeholder"]=this._runtime.GetTickCountNoSave())}}}},async PlayAtObject(a,b,c,d,e,f,g,h){if(!this._isSilent&&d){const i=d.GetFirstPicked();if(i&&i.GetWorldInfo()){const d=i.GetWorldInfo(),j=d.GetLayer().GetAngle(),[k,l]=this.rotatePtAround(d.GetX(),d.GetY(),-j,this._listenerX,this._listenerY),m=a[1],n=this._runtime.GetAssetManager().GetProjectAudioFileUrl(a[0]);if(n){const o=this._nextPlayTime;this._nextPlayTime=0;const p=this._MaybeMarkAsPlaying(h.toLowerCase(),m,0!==b,this.DbToLinear(c));try{await this.PostToDOMAsync("play",{"originalUrl":a[0],"url":n.url,"type":n.type,"isMusic":m,"tag":h.toLowerCase(),"isLooping":0!==b,"vol":this.DbToLinear(c),"pos":0,"off":o,"trueClock":!!self["C3_GetAudioContextCurrentTime"],"panning":{"x":k,"y":l,"angle":d.GetAngle()-j,"innerAngle":C3.toRadians(e),"outerAngle":C3.toRadians(f),"outerGain":this.DbToLinear(g),"uid":i.GetUID()}})}finally{p&&(p["placeholder"]=this._runtime.GetTickCountNoSave())}}}}},async PlayByName(a,b,c,d,e){if(!this._isSilent){const f=1===a,g=this._runtime.GetAssetManager().GetProjectAudioFileUrl(b);if(g){const a=this._nextPlayTime;this._nextPlayTime=0;const h=this._MaybeMarkAsPlaying(e.toLowerCase(),f,0!==c,this.DbToLinear(d));try{await this.PostToDOMAsync("play",{"originalUrl":b,"url":g.url,"type":g.type,"isMusic":f,"tag":e.toLowerCase(),"isLooping":0!==c,"vol":this.DbToLinear(d),"pos":0,"off":a,"trueClock":!!self["C3_GetAudioContextCurrentTime"]})}finally{h&&(h["placeholder"]=this._runtime.GetTickCountNoSave())}}}},async PlayAtPositionByName(a,b,c,d,e,f,g,h,i,j,k){if(!this._isSilent){const l=1===a,m=this._runtime.GetAssetManager().GetProjectAudioFileUrl(b);if(m){const a=this._nextPlayTime;this._nextPlayTime=0;const n=this._MaybeMarkAsPlaying(k.toLowerCase(),l,0!==c,this.DbToLinear(d));try{await this.PostToDOMAsync("play",{"originalUrl":b,"url":m.url,"type":m.type,"isMusic":l,"tag":k.toLowerCase(),"isLooping":0!==c,"vol":this.DbToLinear(d),"pos":0,"off":a,"trueClock":!!self["C3_GetAudioContextCurrentTime"],"panning":{"x":e,"y":f,"angle":C3.toRadians(g),"innerAngle":C3.toRadians(h),"outerAngle":C3.toRadians(i),"outerGain":this.DbToLinear(j)}})}finally{n&&(n["placeholder"]=this._runtime.GetTickCountNoSave())}}}},async PlayAtObjectByName(a,b,c,d,e,f,g,h,i){if(!this._isSilent&&!this._isSilent&&e){const j=e.GetFirstPicked();if(j&&j.GetWorldInfo()){const e=j.GetWorldInfo(),k=e.GetLayer().GetAngle(),[l,m]=this.rotatePtAround(e.GetX(),e.GetY(),-k,this._listenerX,this._listenerY),n=1===a,o=this._runtime.GetAssetManager().GetProjectAudioFileUrl(b);if(o){const a=this._nextPlayTime;this._nextPlayTime=0;const p=this._MaybeMarkAsPlaying(i.toLowerCase(),n,0!==c,this.DbToLinear(d));try{await this.PostToDOMAsync("play",{"originalUrl":b,"url":o.url,"type":o.type,"isMusic":n,"tag":i.toLowerCase(),"isLooping":0!==c,"vol":this.DbToLinear(d),"pos":0,"off":a,"trueClock":!!self["C3_GetAudioContextCurrentTime"],"panning":{"x":l,"y":m,"angle":e.GetAngle()-k,"innerAngle":C3.toRadians(f),"outerAngle":C3.toRadians(g),"outerGain":this.DbToLinear(h),"uid":j.GetUID()}})}finally{p&&(p["placeholder"]=this._runtime.GetTickCountNoSave())}}}}},SetLooping(a,b){this.PostToDOM("set-looping",{"tag":a.toLowerCase(),"isLooping":0===b})},SetMuted(a,b){this.PostToDOM("set-muted",{"tag":a.toLowerCase(),"isMuted":0===b})},SetVolume(a,b){this.PostToDOM("set-volume",{"tag":a.toLowerCase(),"vol":this.DbToLinear(b)})},FadeVolume(a,b,c,d){this.PostToDOM("fade-volume",{"tag":a.toLowerCase(),"vol":this.DbToLinear(b),"duration":c,"stopOnEnd":0===d})},async Preload(a){const b=a[1],c=this._runtime.GetAssetManager().GetProjectAudioFileUrl(a[0]);c&&(this._preloadTotal++,await this.PostToDOMAsync("preload",{"originalUrl":a[0],"url":c.url,"type":c.type,"isMusic":b}),this._preloadCount++)},async PreloadByName(a,b){const c=this._runtime.GetAssetManager().GetProjectAudioFileUrl(b);c&&(this._preloadTotal++,await this.PostToDOMAsync("preload",{"originalUrl":b,"url":c.url,"type":c.type,"isMusic":1===a}),this._preloadCount++)},SetPlaybackRate(a,b){this.PostToDOM("set-playback-rate",{"tag":a.toLowerCase(),"rate":Math.max(b,0)})},Stop(a){this.PostToDOM("stop",{"tag":a.toLowerCase()})},StopAll(){this.PostToDOM("stop-all")},SetPaused(a,b){this.PostToDOM("set-paused",{"tag":a.toLowerCase(),"paused":0===b})},Seek(a,b){this.PostToDOM("seek",{"tag":a.toLowerCase(),"pos":b})},SetSilent(a){2===a&&(a=this._isSilent?1:0),a=0===a;this._isSilent===a||(this._isSilent=a,this.PostToDOM("set-silent",{"isSilent":a}))},SetMasterVolume(a){const b=this.DbToLinear(a);this._masterVolume===b||(this._masterVolume=b,this.PostToDOM("set-master-volume",{"vol":b}))},AddFilterEffect(b,c,d,e,f,g,h){b=b.toLowerCase();const i=a[c];this._IncrementEffectCount(b),this.PostToDOM("add-effect",{"type":"filter","tag":b,"params":[i,d,e,f,g,C3.clamp(h/100,0,1)]})},AddDelayEffect(a,b,c,d){a=a.toLowerCase(),this._IncrementEffectCount(a),this.PostToDOM("add-effect",{"type":"delay","tag":a,"params":[b,this.DbToLinear(c),C3.clamp(d/100,0,1)]})},AddFlangerEffect(a,b,c,d,e,f){a=a.toLowerCase(),this._IncrementEffectCount(a),this.PostToDOM("add-effect",{"type":"flanger","tag":a,"params":[b/1e3,c/1e3,d,e/100,C3.clamp(f/100,0,1)]})},AddPhaserEffect(a,b,c,d,e,f,g){a=a.toLowerCase(),this._IncrementEffectCount(a),this.PostToDOM("add-effect",{"type":"phaser","tag":a,"params":[b,c,d,e,f,C3.clamp(g/100,0,1)]})},AddConvolutionEffect(a,b,c,d){a=a.toLowerCase();const e=this._runtime.GetAssetManager().GetProjectAudioFileUrl(b[0]);e&&(this._IncrementEffectCount(a),this.PostToDOM("add-effect",{"type":"convolution","tag":a,"bufferOriginalUrl":b[0],"bufferUrl":e.url,"bufferType":e.type,"params":[0===c,C3.clamp(d/100,0,1)]}))},AddGainEffect(a,b){a=a.toLowerCase(),this._IncrementEffectCount(a),this.PostToDOM("add-effect",{"type":"gain","tag":a,"params":[this.DbToLinear(b)]})},AddMuteEffect(a){a=a.toLowerCase(),this._IncrementEffectCount(a),this.PostToDOM("add-effect",{"type":"gain","tag":a,"params":[0]})},AddTremoloEffect(a,b,c){a=a.toLowerCase(),this._IncrementEffectCount(a),this.PostToDOM("add-effect",{"type":"tremolo","tag":a,"params":[b,C3.clamp(c/100,0,1)]})},AddRingModEffect(a,b,c){a=a.toLowerCase(),this._IncrementEffectCount(a),this.PostToDOM("add-effect",{"type":"ringmod","tag":a,"params":[b,C3.clamp(c/100,0,1)]})},AddDistortionEffect(a,b,c,d,e,f){a=a.toLowerCase(),this._IncrementEffectCount(a),this.PostToDOM("add-effect",{"type":"distortion","tag":a,"params":[this.DbToLinearNoCap(b),this.DbToLinearNoCap(c),d,this.DbToLinearNoCap(e),C3.clamp(f/100,0,1)]})},AddCompressorEffect(a,b,c,d,e,f){a=a.toLowerCase(),this._IncrementEffectCount(a),this.PostToDOM("add-effect",{"type":"compressor","tag":a,"params":[b,c,d,e/1e3,f/1e3]})},AddAnalyserEffect(a,b,c){a=a.toLowerCase(),this._IncrementEffectCount(a),this.PostToDOM("add-effect",{"type":"analyser","tag":a,"params":[b,c]})},RemoveEffects(a){a=a.toLowerCase(),this._effectCount.set(a,0),this.PostToDOM("remove-effects",{"tag":a}),this._lastFxState={}},SetEffectParameter(a,b,c,d,e,f){this.PostToDOM("set-effect-param",{"tag":a.toLowerCase(),"index":Math.floor(b),"param":c,"value":d,"ramp":e,"time":f})},SetListenerObject(a){if(a){const b=a.GetFirstPicked();b&&b.GetWorldInfo()&&(this._listenerInst=b)}},SetListenerZ(a){this._listenerZ=a},ScheduleNextPlay(a){this._nextPlayTime=Math.max(a,0)},UnloadAudio(a){const b=a[1],c=this._runtime.GetAssetManager().GetProjectAudioFileUrl(a[0]);c&&this.PostToDOM("unload",{"url":c.url,"type":c.type,"isMusic":b})},UnloadAudioByName(a,b){const c=this._runtime.GetAssetManager().GetProjectAudioFileUrl(b);c&&this.PostToDOM("unload",{"url":c.url,"type":c.type,"isMusic":1===a})},UnloadAll(){this.PostToDOM("unload-all")}}} + +"use strict";C3.Plugins.Audio.Exps={Duration(b){const c=this._GetFirstAudioStateByTag(b);return c?c["duration"]:0},PlaybackTime(b){const c=this._GetFirstAudioStateByTag(b);return c?c["playbackTime"]:0},PlaybackRate(b){const c=this._GetFirstAudioStateByTag(b);return c?c["playbackRate"]:0},Volume(b){const c=this._GetFirstAudioStateByTag(b);return c?this.LinearToDb(c["volume"]):0},MasterVolume(){return this.LinearToDb(this._masterVolume)},EffectCount(a){return this._effectCount.get(a.toLowerCase())||0},AnalyserFreqBinCount(a,b){const c=this.GetAnalyserData(a,Math.floor(b));return c?c["binCount"]:0},AnalyserFreqBinAt(a,b,c){var d=Math.floor;const e=this.GetAnalyserData(a,d(b));return e?(c=d(c),0>c||c>=e["binCount"]?0:e["freqBins"][c]):0},AnalyserPeakLevel(a,b){const c=this.GetAnalyserData(a,Math.floor(b));return c?c["peak"]:0},AnalyserRMSLevel(a,b){const c=this.GetAnalyserData(a,Math.floor(b));return c?c["rms"]:0},SampleRate(){return this._sampleRate},CurrentTime(){return self["C3_GetAudioContextCurrentTime"]?self["C3_GetAudioContextCurrentTime"]():performance.now()/1e3}}; + +"use strict"; +var CMath = {}; +// Lerp function +CMath.lerp = function(a, b, x) +{ + return a + (b - a) * x; +}; + +// Cubic function +CMath.cubic = function(a, b, c, d, x) +{ + return this.lerp(this.lerp(this.lerp(a, b, x), this.lerp(b, c, x), x), this.lerp(this.lerp(b, c, x), this.lerp(c, d, x), x), x); +} + +// Clamp function +CMath.clamp = function(x, min, max) +{ + if (x < min) + { + return min; + } + else if (x > max) + { + return max; + } + + return x; +}; + +// Transition class + +function Transition(Type, Duration, Param1, Param2, Param3, Param4) +{ + // Standard properties + this.type = Type; + this.duration = Duration; + this.param1 = Param1; + this.param2 = Param2; + this.param3 = Param3; + this.param4 = Param4; + + // Working values + this.progress = 0; +} + +// Camera class or something + +function Camera(Name, X, Y, Scale, Global) +{ + // Standard properties + this.global = Global; + this.name = Name; + this.x = X; + this.y = Y; + this.scale = Scale; + + // Following + this.following = false; + this.followedObjects = []; + this.followedObjectUIDs = []; + this.objectWeights = []; + this.followedObjectIPs = []; + this.followLag = 1; + + // Zoom to contain + this.zoomToContain = false; + this.zoomMarginH = 0; + this.zoomMarginV = 0; + this.zoomBoundU = -1; + this.zoomBoundL = -1; + // Camera transitions + this.transitions = []; + this.moveTransFinished = false; + this.zoomTransFinished = false; + + // Camera shake + this.isShaking = false; + this.shakeX = 0; + this.shakeY = 0; + this.shakeZoom = 0; + this.shakeTimer = 0; + this.shakeStrength = 0; + this.shakeMaxDeviation = 0; + this.shakeMaxZoomDeviation = 0; + this.shakeLength = 0; + this.shakeBuildTime = 0; + this.shakeDropTime = 0; +} + +Camera.prototype.GetName = function() +{ + return this.name; +}; + +Camera.prototype.GetX = function() +{ + + return this.x; +}; + +Camera.prototype.SetX = function(value) +{ + this.x = value; +}; + +Camera.prototype.GetY = function() +{ + return this.y; +}; + +Camera.prototype.SetY = function(value) +{ + this.y = value; +}; + +Camera.prototype.GetShakeX = function() +{ + return this.shakeX; +}; + +Camera.prototype.GetShakeY = function() +{ + return this.shakeY; +}; + +Camera.prototype.SetFollowedObject = function(fObject) +{ + this.followedObject = fObject; +}; + +Camera.prototype.ShakeCamera = function(dt) +{ + // Check if the camera should be shaking + if (this.isShaking) + { + this.shakeTimer += dt; + + if (this.shakeTimer < this.shakeLength) + { + var shakeStrength = 0; + + if (this.shakeTimer < this.shakeBuildTime) + { + shakeStrength = CMath.lerp(0, this.shakeStrength, this.shakeTimer / this.shakeBuildTime); + } + else + { + shakeStrength = this.shakeStrength; + } + + if (this.shakeTimer > this.shakeDropTime) + { + shakeStrength = CMath.lerp(this.shakeStrength, 0, (this.shakeTimer - this.shakeDropTime) / (this.shakeLength - this.shakeDropTime)); + } + + var shakeAngle = Math.floor(Math.random() * 361) / 57.2958; + var shakeX = CMath.lerp(0, Math.cos(shakeAngle) * this.shakeMaxDeviation, shakeStrength); + var shakeY = CMath.lerp(0, Math.sin(shakeAngle) * this.shakeMaxDeviation, shakeStrength); + var shakeZoom = CMath.lerp(0, (Math.floor(Math.random() * 201 - 100) / 100) * this.shakeMaxZoomDeviation, shakeStrength); + + this.shakeX = CMath.lerp(this.shakeX, shakeX, shakeStrength); + this.shakeY = CMath.lerp(this.shakeY, shakeY, shakeStrength); + this.shakeZoom = CMath.lerp(this.shakeZoom, shakeZoom, shakeStrength); + } + else + { + this.isShaking = false; + this.shakeX = 0; + this.shakeY = 0; + this.shakeZoom = 0; + } + } +} + +Camera.prototype.ProcessTransitions = function(dt) +{ + // Reset the transition finished values + this.moveTransFinished = false; + this.zoomTransFinished = false; + + // Temporary value + var transition; + + // Camera transitions + for (var i = 0; i < this.transitions.length;) + { + transition = this.transitions[i]; + + transition.progress = CMath.clamp(transition.progress + (1.0 / transition.duration * dt), 0.0, 1.0); + + if (transition.type == "MOVE") + { + this.x = CMath.cubic(transition.param3, transition.param3, transition.param1, transition.param1, transition.progress); + this.y = CMath.cubic(transition.param4, transition.param4, transition.param2, transition.param2, transition.progress); + } + else if (transition.type == "SCALE") + { + this.scale = CMath.cubic(transition.param2, transition.param2, transition.param1, transition.param1, transition.progress); + } + + if (transition.progress == 1) + { + // Check the transition type and mark it as finished + if (transition.type == "MOVE") + { + this.moveTransFinished = true; + } + else if (transition.type == "SCALE") + { + this.zoomTransFinished = true; + } + + this.transitions.splice(i, 1); + } + else + { + i++; + } + } +}; + +Camera.prototype.UpdateCameraTarget = function(dt, targetCamera) +{ + // Update the transition stuff + for (var i = 0; i < this.transitions.length; i++) + { + var transition = this.transitions[i]; + if (transition.type == "MOVE") + { + transition.param1 = targetCamera.GetX(); + transition.param2 = targetCamera.GetY(); + } + else if (transition.type == "SCALE") + { + transition.param1 = targetCamera.scale; + } + } +}; + +Camera.prototype.ProcessFollowing = function(dt, screenWidth, screenHeight, layout) +{ + // Followed objects + var followed = this.followedObjects; + var followedObjectIPs = this.followedObjectIPs; + + // Object following + if (this.following && followed.length > 0) + { + // Temporary position + var tempX = 0, + tempY = 0, + tempScale = 0; + + // Perform a weighted follow if the camera is not set to zoom to contain + if (!this.zoomToContain) + { + var sumX = 0, + sumY = 0, + sumW = 0; + for (var i = 0; i < followed.length; i++) + { + + sumX += followed[i].GetImagePoint(followedObjectIPs[i], true)[0] * this.objectWeights[i]; + sumY += followed[i].GetImagePoint(followedObjectIPs[i], false)[1] * this.objectWeights[i]; + sumW += this.objectWeights[i]; + } + + // Set the temporary position + tempX = sumX / sumW; + tempY = sumY / sumW; + + } + else + { + var minX = 0, + maxX = 0, + minY = 0, + maxY = 0; + var minXChanged = false, + maxXChanged = false, + minYChanged = false, + maxYChanged = false; + + for (var i = 0; i < followed.length; i++) + { + var fObject = followed[i]; + fObject.GetWorldInfo()._UpdateBbox(); + if (minXChanged) + { + minX = Math.min(minX, fObject.GetWorldInfo().GetBoundingBox().getLeft()); + } + else + { + minX = fObject.GetWorldInfo().GetBoundingBox().getRight(); + minXChanged = true; + } + if (maxXChanged) + { + maxX = Math.max(maxX, fObject.GetWorldInfo().GetBoundingBox().getRight()); + } + else + { + maxX = fObject.GetWorldInfo().GetBoundingBox().getRight(); + maxXChanged = true; + } + if (minYChanged) + { + minY = Math.min(minY, fObject.GetWorldInfo().GetBoundingBox().getTop()); + } + else + { + minY = fObject.GetWorldInfo().GetBoundingBox().getTop(); + minYChanged = true; + } + if (maxYChanged) + { + maxY = Math.max(maxY, fObject.GetWorldInfo().GetBoundingBox().getBottom()); + } + else + { + maxY = fObject.GetWorldInfo().GetBoundingBox().getBottom(); + maxYChanged = true; + } + } + + // Zoom + var tempXScale = (screenWidth - this.zoomMarginH * 2) / (maxX - minX); + var tempYScale = (screenHeight - this.zoomMarginV * 2) / (maxY - minY); + + // Scroll to the middle + tempX = CMath.lerp(minX, maxX, 0.5); + tempY = CMath.lerp(minY, maxY, 0.5); + + // Check if the view is going over the layout bound + if (this.x < ((screenWidth / 2) / tempXScale)) + { + tempXScale = (screenWidth - this.zoomMarginH) / maxX; + tempX = (screenWidth / tempXScale) / 2; + } + + if (this.x > (layout.GetWidth() - (screenWidth / 2) / tempXScale)) + { + tempXScale = (screenWidth - this.zoomMarginH) / (layout.GetWidth() - minX); + tempX = layout.GetWidth() - (screenWidth / tempXScale) / 2; + } + + // Check if the view is going over the layout bound + if (this.y < ((screenHeight / 2) / tempYScale)) + { + tempYScale = (screenHeight - this.zoomMarginV) / maxY; + tempY = (screenHeight / tempYScale) / 2; + } + + if (this.y > (layout.GetHeight() - (screenHeight / 2) / tempYScale)) + { + tempYScale = (screenHeight - this.zoomMarginV) / (layout.GetHeight() - minY); + tempY = layout.GetHeight() - (screenHeight / tempYScale) / 2; + } + + // Set the calculated temp scale + tempScale = Math.min(tempXScale, tempYScale); + + // Ensure that tempScale is bounded properly + if (this.zoomBoundL != -1) + { + if (tempScale < this.zoomBoundL) + { + tempScale = this.zoomBoundL; + } + } + if (this.zoomBoundU != -1) + { + if (tempScale > this.zoomBoundU) + { + tempScale = this.zoomBoundU; + } + } + } + + // Scroll + if (this.followLag == 1) + { + this.x = tempX; + this.y = tempY; + + // Scale if zoom to contain is enabled + if (this.zoomToContain) + { + this.scale = tempScale; + } + } + else + { + var lag = (this.followLag * 4.0 * dt) * Math.sqrt(1.0 / dt); + this.x = CMath.lerp(this.x, tempX, lag); + this.y = CMath.lerp(this.y, tempY, lag); + + // Scale if zoom to contain is enabled + if (this.zoomToContain) + { + this.scale = CMath.lerp(this.scale, tempScale, lag); + } + } + } +}; +{ + C3.Plugins.MagiCam = class MagiCamPlugin extends C3.SDKPluginBase + { + constructor(opts) + { + super(opts); + } + + Release() + { + super.Release(); + } + + }; +} + +"use strict"; + +{ + C3.Plugins.MagiCam.Type = class MagiCamType extends C3.SDKTypeBase + { + constructor(objectClass) + { + super(objectClass); + } + + Release() + { + super.Release(); + } + + OnCreate() + {} + }; +} + +"use strict"; +{ + C3.Plugins.MagiCam.Instance = class MagiCamInstance extends C3.SDKWorldInstanceBase //SDKInstanceBase + { + constructor(inst, properties) + { + super(inst); + const b = this._runtime.Dispatcher(); + this._disposables = new C3.CompositeDisposable(C3.Disposable.From(b, "layoutchange", () => this._OnLayoutChange()), C3.Disposable.From(b, "afterload", () => this._OnAfterLoad())) + // Initialise object properties + // Local cameras + this.localCameras = []; + this.localCameraCount = 0; + this.localCameraCountOld = 0; + + // Transition cameras + this.transCamera = null; + this.transTarget = null; + this.isSwitchingCameras = false; + + // Global cameras + this.globalCameras = []; + + // Active camera + this.activeCamera = null; + //this._runtime.tickMe(this); + if (properties) // note properties may be null in some cases + { + + } + this._inst.GetTimeScale(); + this._StartTicking(); + } + + Release() + { + super.Release(); + } + + SaveToJson() + { + // Throw the trans camera on top of local cameras list + if (null != this.transCamera) + { + this.localCameras.push(this.transCamera); + } + + var o = { + "lcc": this.localCameraCount, + "olcc": this.localCameraCountOld, + "alcc": this.localCameras.length, + "agcc": this.globalCameras.length, + "tcnn": (this.transCamera == null ? false : true) + }; + + for (var i = 0; i < this.localCameras.length; i++) + { + o["lc" + i + "g"] = this.localCameras[i].global; + o["lc" + i + "n"] = this.localCameras[i].name; + o["lc" + i + "x"] = this.localCameras[i].x; + o["lc" + i + "y"] = this.localCameras[i].y; + o["lc" + i + "s"] = this.localCameras[i].scale; + o["lc" + i + "f"] = this.localCameras[i].following; + o["lc" + i + "foc"] = this.localCameras[i].followedObjects.length; + for (var f = 0; f < this.localCameras[i].followedObjects.length; f++) + { + o["lc" + i + "fo" + f] = this.localCameras[i].followedObjects[f].GetUID(); + } + for (var w = 0; w < this.localCameras[i].objectWeights.length; w++) + { + o["lc" + i + "fow" + w] = this.localCameras[i].objectWeights[w]; + } + for (var ip = 0; ip < this.localCameras[i].followedObjectIPs.length; ip++) + { + o["lc" + i + "foip" + ip] = this.localCameras[i].followedObjectIPs[ip]; + } + o["lc" + i + "fl"] = this.localCameras[i].followLag; + o["lc" + i + "ztc"] = this.localCameras[i].zoomToContain; + o["lc" + i + "zmh"] = this.localCameras[i].zoomMarginH; + o["lc" + i + "zmv"] = this.localCameras[i].zoomMarginV; + o["lc" + i + "zbu"] = this.localCameras[i].zoomBoundU; + o["lc" + i + "zbl"] = this.localCameras[i].zoomBoundL; + o["lc" + i + "tc"] = this.localCameras[i].transitions.length; + for (var t = 0; t < this.localCameras[i].transitions.length; t++) + { + o["lc" + i + "t" + t + "tp"] = this.localCameras[i].transitions[t].type; + o["lc" + i + "t" + t + "d"] = this.localCameras[i].transitions[t].duration; + o["lc" + i + "t" + t + "p1"] = this.localCameras[i].transitions[t].param1; + o["lc" + i + "t" + t + "p2"] = this.localCameras[i].transitions[t].param2; + o["lc" + i + "t" + t + "p3"] = this.localCameras[i].transitions[t].param3; + o["lc" + i + "t" + t + "p4"] = this.localCameras[i].transitions[t].param4; + o["lc" + i + "t" + t + "pr"] = this.localCameras[i].transitions[t].progress; + } + o["lc" + i + "mtf"] = this.localCameras[i].moveTransFinished; + o["lc" + i + "ztf"] = this.localCameras[i].zoomTransFinished; + o["lc" + i + "csis"] = this.localCameras[i].isShaking; + o["lc" + i + "cssx"] = this.localCameras[i].shakeX; + o["lc" + i + "cssy"] = this.localCameras[i].shakeY; + o["lc" + i + "cssz"] = this.localCameras[i].shakeZoom; + o["lc" + i + "csst"] = this.localCameras[i].shakeTimer; + o["lc" + i + "csss"] = this.localCameras[i].shakeStrength; + o["lc" + i + "cssmd"] = this.localCameras[i].shakeMaxDeviation; + o["lc" + i + "cssmzd"] = this.localCameras[i].shakeMaxZoomDeviation; + o["lc" + i + "cssl"] = this.localCameras[i].shakeLength; + o["lc" + i + "cssbt"] = this.localCameras[i].shakeBuildTime; + o["lc" + i + "cssdt"] = this.localCameras[i].shakeDropTime; + } + + for (var i = 0; i < this.globalCameras.length; i++) + { + o["gc" + i + "g"] = this.globalCameras[i].global; + o["gc" + i + "n"] = this.globalCameras[i].name; + o["gc" + i + "x"] = this.globalCameras[i].x; + o["gc" + i + "y"] = this.globalCameras[i].y; + o["gc" + i + "s"] = this.globalCameras[i].scale; + o["gc" + i + "f"] = this.globalCameras[i].following; + o["gc" + i + "foc"] = this.globalCameras[i].followedObjects.length; + for (var f = 0; f < this.globalCameras[i].followedObjects.length; f++) + { + o["gc" + i + "fo" + f] = this.globalCameras[i].followedObjects[f].GetUID(); + } + for (var w = 0; w < this.globalCameras[i].objectWeights.length; w++) + { + o["gc" + i + "fow" + w] = this.globalCameras[i].objectWeights[w]; + } + for (var ip = 0; ip < this.globalCameras[i].followedObjectIPs.length; ip++) + { + o["gc" + i + "foip" + ip] = this.globalCameras[i].followedObjectIPs[ip]; + } + o["gc" + i + "fl"] = this.globalCameras[i].followLag; + o["gc" + i + "ztc"] = this.globalCameras[i].zoomToContain; + o["gc" + i + "zmh"] = this.globalCameras[i].zoomMarginH; + o["gc" + i + "zmv"] = this.globalCameras[i].zoomMarginV; + o["gc" + i + "zbu"] = this.globalCameras[i].zoomBoundU; + o["gc" + i + "zbl"] = this.globalCameras[i].zoomBoundL; + o["gc" + i + "tc"] = this.globalCameras[i].transitions.length; + for (var t = 0; t < this.globalCameras[i].transitions.length; t++) + { + o["gc" + i + "t" + t + "tp"] = this.globalCameras[i].transitions[t].type; + o["gc" + i + "t" + t + "d"] = this.globalCameras[i].transitions[t].duration; + o["gc" + i + "t" + t + "p1"] = this.globalCameras[i].transitions[t].param1; + o["gc" + i + "t" + t + "p2"] = this.globalCameras[i].transitions[t].param2; + o["gc" + i + "t" + t + "p3"] = this.globalCameras[i].transitions[t].param3; + o["gc" + i + "t" + t + "p4"] = this.globalCameras[i].transitions[t].param4; + } + o["gc" + i + "mtf"] = this.globalCameras[i].moveTransFinished; + o["gc" + i + "ztf"] = this.globalCameras[i].zoomTransFinished; + o["gc" + i + "csis"] = this.globalCameras[i].isShaking; + o["gc" + i + "cssx"] = this.globalCameras[i].shakeX; + o["gc" + i + "cssy"] = this.globalCameras[i].shakeY; + o["gc" + i + "cssz"] = this.globalCameras[i].shakeZoom; + o["gc" + i + "csst"] = this.globalCameras[i].shakeTimer; + o["gc" + i + "csss"] = this.globalCameras[i].shakeStrength; + o["gc" + i + "cssmd"] = this.globalCameras[i].shakeMaxDeviation; + o["gc" + i + "cssmzd"] = this.globalCameras[i].shakeMaxZoomDeviation; + o["gc" + i + "cssl"] = this.globalCameras[i].shakeLength; + o["gc" + i + "cssbt"] = this.globalCameras[i].shakeBuildTime; + o["gc" + i + "cssdt"] = this.globalCameras[i].shakeDropTime; + } + + if (null != this.activeCamera) + { + o["ac"] = this.activeCamera.name; + } + else + { + o["ac"] = "null"; + } + + if (null != this.transTarget) + { + o["tt"] = this.transTarget.name; + } + + return o; + } + + LoadFromJson(o) + { + this.localCameras = []; + this.globalCameras = []; + this.localCameraCount = o["lcc"]; + this.localCameraCountOld = o["olcc"]; + + var localCamCount = o["alcc"]; + for (var i = 0; i < localCamCount; i++) + { + var tempCam = new Camera("", 0, 0, 0, false); + + tempCam.global = o["lc" + i + "g"]; + tempCam.name = o["lc" + i + "n"]; + tempCam.x = o["lc" + i + "x"]; + tempCam.y = o["lc" + i + "y"]; + tempCam.scale = o["lc" + i + "s"]; + tempCam.following = o["lc" + i + "f"]; + + var foCount = o["lc" + i + "foc"]; + for (var f = 0; f < foCount; f++) + { + tempCam.followedObjectUIDs.push(o["lc" + i + "fo" + f]); + } + for (var w = 0; w < foCount; w++) + { + tempCam.objectWeights.push(o["lc" + i + "fow" + w]); + } + for (var ip = 0; ip < foCount; ip++) + { + tempCam.followedObjectIPs.push(o["lc" + i + "foip" + ip]); + } + + tempCam.followLag = o["lc" + i + "fl"]; + tempCam.zoomToContain = o["lc" + i + "ztc"]; + tempCam.zoomMarginH = o["lc" + i + "zmh"]; + tempCam.zoomMarginV = o["lc" + i + "zmv"]; + tempCam.zoomBoundU = o["lc" + i + "zbu"]; + tempCam.zoomBoundL = o["lc" + i + "zbl"]; + var transCount = o["lc" + i + "tc"]; + for (var t = 0; t < transCount; t++) + { + var tempTrans = new Transition("", 0, 0, 0, 0); + tempTrans.type = o["lc" + i + "t" + t + "tp"]; + tempTrans.duration = o["lc" + i + "t" + t + "d"]; + tempTrans.param1 = o["lc" + i + "t" + t + "p1"]; + tempTrans.param2 = o["lc" + i + "t" + t + "p2"]; + tempTrans.param3 = o["lc" + i + "t" + t + "p3"]; + tempTrans.param4 = o["lc" + i + "t" + t + "p4"]; + tempTrans.progress = o["lc" + i + "t" + t + "pr"]; + tempCam.transitions.push(tempTrans); + } + tempCam.moveTransFinished = o["lc" + i + "mtf"]; + tempCam.zoomTransFinished = o["lc" + i + "ztf"]; + tempCam.isShaking = o["lc" + i + "csis"]; + tempCam.shakeX = o["lc" + i + "cssx"]; + tempCam.shakeY = o["lc" + i + "cssy"]; + tempCam.shakeZoom = o["lc" + i + "cssz"]; + tempCam.shakeTimer = o["lc" + i + "csst"]; + tempCam.shakeStrength = o["lc" + i + "csss"]; + tempCam.shakeMaxDeviation = o["lc" + i + "cssmd"]; + tempCam.shakeMaxZoomDeviation = o["lc" + i + "cssmzd"]; + tempCam.shakeLength = o["lc" + i + "cssl"]; + tempCam.shakeBuildTime = o["lc" + i + "cssbt"]; + tempCam.shakeDropTime = o["lc" + i + "cssdt"]; + + this.localCameras.push(tempCam); + + var activeCam = o["ac"]; + if (activeCam == "null") + { + this.activeCamera = null; + } + else + { + this.activeCamera = this.GetCamera(activeCam); + } + + var hasTransCam = o["tcnn"]; + + if (hasTransCam) + { + this.transCamera = this.localCameras.pop(); + this.transTarget = this.GetCamera(o["tt"]); + } + } + } + _OnLayoutChange() + { + // Get rid of the old local cameras + for (var i = 0; i < this.localCameraCountOld; i++) + { + this.localCameras.shift(); + } + + this.localCameraCount -= this.localCameraCountOld; + } + _OnAfterLoad() + { + for (var i = 0; i < this.localCameras.length; i++) + { + for (var o = 0; o < this.localCameras[i].followedObjectUIDs.length; o++) + { + this.localCameras[i].followedObjects.push(this._runtime.GetInstanceByUID(this.localCameras[i].followedObjectUIDs[o])); + } + } + + for (var i = 0; i < this.globalCameras.length; i++) + { + for (var o = 0; o < this.globalCameras[i].followedObjectUIDs.length; o++) + { + this.globalCameras[i].followedObjects.push(this._runtime.GetInstanceByUID(this.globalCameras[i].followedObjectUIDs[o])); + } + } + } + GetCamera(Name) + { + // Return the active camera if Name is blank + if (Name == "") + { + return this.activeCamera; + } + + // Search through the global cameras first + for (var i = (this.globalCameras.length - 1); i >= 0; i--) + { + if (this.globalCameras[i].GetName() == Name) + { + return this.globalCameras[i]; + } + } + + // Search through the local cameras second + for (var i = (this.localCameras.length - 1); i >= 0; i--) + { + if (this.localCameras[i].GetName() == Name) + { + return this.localCameras[i]; + } + } + + return null; + } + + Tick() + { + // Update the old camera count + this.localCameraCountOld = this.localCameraCount; + //var dt = this.runtime.getDt(this); + var dt = this._runtime.GetDt(this._inst); + if (dt == 0) + { + dt = 0.1; + } + + // Update all of the global cameras + for (var i = 0; i < this.globalCameras.length; i++) + { + this.globalCameras[i].ProcessTransitions(dt); + this.globalCameras[i].ProcessFollowing(dt, this._runtime.GetOriginalViewportWidth(), this._runtime.GetOriginalViewportHeight(), this._runtime.GetMainRunningLayout()); + this.globalCameras[i].ShakeCamera(dt); + } + + // Update all of the local cameras + for (var i = 0; i < this.localCameras.length; i++) + { + this.localCameras[i].ProcessTransitions(dt); + this.localCameras[i].ProcessFollowing(dt, this._runtime.GetOriginalViewportWidth(), this._runtime.GetOriginalViewportHeight(), this._runtime.GetMainRunningLayout()); + this.localCameras[i].ShakeCamera(dt); + } + + // Update the transition camera + if (null != this.transCamera) + { + this.transCamera.UpdateCameraTarget(dt, this.transTarget); + this.transCamera.ProcessTransitions(dt); + + if (this.transCamera.moveTransFinished) + { + this.activeCamera = this.transTarget; + this.transCamera = null; + } + } + // If there is an active camera, set the scroll and scale values of the layout to match + if (this.activeCamera != null) + { + // Scroll + this._runtime.GetMainRunningLayout().SetScrollX(this.activeCamera.GetX() + this.activeCamera.GetShakeX()); + this._runtime.GetMainRunningLayout().SetScrollY(this.activeCamera.GetY() + this.activeCamera.GetShakeY()); + // Set the scale + this._runtime.GetMainRunningLayout().SetScale(this.activeCamera.scale + this.activeCamera.shakeZoom); + + // Have the layout redrawn + this.GetRuntime().UpdateRender(); + } + } + }; +} + +"use strict"; +{ + C3.Plugins.MagiCam.Cnds = { + TransitionFinished(CameraName, Transition) + { + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (camera != null) + { + // Check the type of transition specified + if (Transition == 0) + { + return camera.moveTransFinished; + } + else if (Transition == 1) + { + return camera.zoomTransFinished; + } + } + // Return false by default + return false; + }, + + TransitionIsInProgress(CameraName, Transition) + { + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (camera != null) + { + // Check if there is a transition of the type specified in progress + for (var i = 0; i < camera.transitions.length; i++) + { + if (camera.transitions[i].type == "MOVE" && Transition == 0) + { + return true; + } + else if (camera.transitions[i].type == "SCALE" && Transition == 1) + { + return true; + } + } + } + // Return false by default + return false; + } + }; +} + +"use strict"; +{ + C3.Plugins.MagiCam.Acts = { + FollowObject(CameraName, FollowedObject, ObjectWeight, ImagePoint) + { + // Make sure an object was picked + if (!FollowedObject) + { + return; + } + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (camera != null) + { + // Get the first picked instance of the specified object type + var followedObject = FollowedObject.GetFirstPicked(); + // Check to ensure that if the camera is global and the object isn't that the object isn't followed + if (camera.global && !FollowedObject.global) // todo fix it + { + alert("MagiCam:\n\nObject not global - global cameras must follow global objects."); + return; + } + // Follow the specified object + camera.followedObjects.push(followedObject); + camera.objectWeights.push(ObjectWeight); + camera.followedObjectIPs.push(ImagePoint); + } + }, + + SetFollowLag(CameraName, FollowLag) + { + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (camera != null) + { + // Set the follow lag for this object + camera.followLag = 1 - FollowLag / 100; + } + }, + + ZoomToContain(CameraName, Zoom, ZoomMarginH, ZoomMarginV, ZoomBoundU, ZoomBoundL) + { + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (camera != null) + { + // Set the zoom value of the camera + if (Zoom == 0) + { + camera.zoomToContain = true; + camera.zoomMarginH = ZoomMarginH; + camera.zoomMarginV = ZoomMarginV; + camera.zoomBoundU = ZoomBoundU; + camera.zoomBoundL = ZoomBoundL; + } + else + { + camera.zoomToContain = false; + } + } + }, + + EnableFollowing(CameraName, Following) + { + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (camera != null) + { + // Set the following state + if (Following == 0) + { + camera.following = true; + } + else + { + camera.following = false; + } + } + }, + + UnfollowObject(CameraName, FollowedObject) + { + // Make sure an object was picked + if (!FollowedObject) + { + return; + } + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (camera != null) + { + // Get the first picked instance of the specified object type + var followedObject = FollowedObject.GetFirstPicked(); + // Check if this object is being followed + for (var i = 0; i < camera.followedObjects.length; i++) + { + if (camera.followedObjects[i] == followedObject) + { + // Un-follow + camera.followedObjects.splice(i, 1); + break; + } + } + } + }, + + CreateLocalCamera(cameraName, cameraX, cameraY, cameraScale, Active) + { + // Make sure that the name isn't blank + if (cameraName == "") + { + alert("Camera name must not be blank."); + return; + } + // Add a new camera to the list + this.localCameras.push(new Camera(cameraName, cameraX, cameraY, cameraScale, false)); + this.localCameraCount++; + // Check if the camera should be made active + if (Active == 1) + { + this.activeCamera = this.localCameras[this.localCameras.length - 1]; + this._runtime.GetMainRunningLayout().SetScale(this.activeCamera.scale); + } + else + { + var x = this.localCameras[this.localCameras.length - 1]; + } + }, + + CreateGlobalCamera(cameraName, cameraX, cameraY, cameraScale, Active) + { + // Make sure that the name isn't blank + if (cameraName == "") + { + alert("Camera name must not be blank."); + return; + } + else if (this.GetCamera(cameraName) != null) + { + return; + } + // Add a new camera to the list + this.globalCameras.push(new Camera(cameraName, cameraX, cameraY, cameraScale, true)); + // Check if the camera should be made active + if (Active == 1) + { + this.activeCamera = this.globalCameras[this.globalCameras.length - 1]; + this._runtime.GetMainRunningLayout().SetScrollX(this.activeCamera.GetX()); + this._runtime.GetMainRunningLayout().SetScrollY(this.activeCamera.GetY()); + this._runtime.GetMainRunningLayout().SetScale(this.activeCamera.scale); + } + }, + + SetActiveCamera(CameraName) + { + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (camera != null) + { + // Set the new active camera + this.activeCamera = camera; + // Setup the layout to match + this._runtime.GetMainRunningLayout().SetScrollX(camera.GetX()); + this._runtime.GetMainRunningLayout().SetScrollY(camera.GetY()); + this._runtime.GetMainRunningLayout().SetScale(camera.scale); + } + }, + + SetScrollSmoothing(CameraName) + {}, + + SetXPosition(CameraName, X) + { + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (camera != null) + { + // Set the camera position + camera.SetX(X); + } + }, + + SetYPosition(CameraName, Y) + { + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (camera != null) + { + // Set the camera position + camera.SetY(Y); + } + }, + + SetPosition(CameraName, X, Y) + { + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (camera != null) + { + // Set the camera position + camera.SetX(X); + camera.SetY(Y); + } + }, + + SetZoom(CameraName, Zoom) + { + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (camera != null) + { + // Set the camera position + camera.scale = Zoom; + } + }, + + TransitionToPoint(CameraName, X, Y, Duration) + { + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (camera != null) + { + // Check if there is already a movement transition in progress + for (var i = 0; i < camera.transitions.length; i++) + { + if (camera.transitions[i].type == "MOVE") + { + camera.transitions.splice(i, 1); + break; + } + } + // Add the new transition + camera.transitions.push(new Transition("MOVE", Duration, X, Y, camera.GetX(), camera.GetY())); + // Disable following and zoom to contain + camera.following = false; + camera.zoomToContain = false; + } + }, + + TransitionToZoom(CameraName, Zoom, Duration) + { + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (camera != null) + { + // Check if there is already a scale transition in progress + for (var i = 0; i < camera.transitions.length; i++) + { + if (camera.transitions[i].type == "SCALE") + { + camera.transitions.splice(i, 1); + break; + } + } + // Add the new transition + camera.transitions.push(new Transition("SCALE", Duration, Zoom, camera.scale, null, null)); + // Disable zoom to contain + camera.zoomToContain = false; + } + }, + + TransitionToCamera(CameraName, Duration) + { + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (camera != null) + { + // Setup the transition + this.transTarget = camera; + this.transCamera = new Camera("transCamera", this.activeCamera.GetX(), this.activeCamera.GetY(), this.activeCamera.scale, false); + this.transCamera.transitions.push(new Transition("MOVE", Duration, this.transTarget.GetX(), this.transTarget.GetY(), this.transCamera.GetX(), this.transCamera.GetY())); + this.transCamera.transitions.push(new Transition("SCALE", Duration, this.transTarget.scale, this.transCamera.scale, null, null)); + // Switch the active camera to the transition camera + this.activeCamera = this.transCamera; + this.isSwitchingCameras = true; + } + }, + + ShakeCamera(CameraName, Strength, MaxDeviation, MaxZoomDeviation, BuildLength, DropTime, Duration) + { + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (camera != null) + { + // Setup the shake + camera.isShaking = true; + camera.shakeStrength = Strength / 100; + camera.shakeMaxDeviation = MaxDeviation; + camera.shakeMaxZoomDeviation = MaxZoomDeviation; + camera.shakeBuildTime = BuildLength; + camera.shakeDropTime = DropTime; + camera.shakeLength = Duration; + camera.shakeTimer = 0; + } + } + }; +} + +"use strict"; +{ + C3.Plugins.MagiCam.Exps = { + GetActiveCamera(ret) + { + // Check that a camera was found + if (null != this.activeCamera) + { + return this.activeCamera.name; + } + // Return 0 by default + return "null"; + }, + + GetX(CameraName) + { + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (null != camera) + { + return camera.x; + } + // Return 0 by default + return 0; + }, + + GetY(CameraName) + { + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (null != camera) + { + return camera.y; + } + // Return 0 by default + return 0; + }, + + GetZoom(CameraName) + { + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (null != camera) + { + return camera.scale; + } + // Return 0 by default + return 0; + }, + + MovementTransitionProgress(CameraName) + { + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (null != camera) + { + // Check if there is already a movement transition in progress + for (var i = 0; i < camera.transitions.length; i++) + { + if (camera.transitions[i].type == "MOVE") + { + return camera.transitions[i].progress; + } + } + } + // Return 0 by default + return 0; + }, + + ZoomTransitionProgress(CameraName) + { + // Retrieve the specified camera + var camera = this.GetCamera(CameraName); + // Check that a camera was found + if (null != camera) + { + // Check if there is already a movement transition in progress + for (var i = 0; i < camera.transitions.length; i++) + { + if (camera.transitions[i].type == "SCALE") + { + return camera.transitions[i].progress; + } + } + } + // Return 0 by default + return 0; + } + }; +} + +{ + C3.Plugins.skymen_skinsCore = class skymen_skinsCorePlugin extends C3.SDKPluginBase + { + constructor(opts) + { + super(opts); + } + + Release() + { + super.Release(); + } + + }; +} + +"use strict"; + +{ + C3.Plugins.skymen_skinsCore.Type = class skymen_skinsCoreType extends C3.SDKTypeBase + { + constructor(objectClass) + { + super(objectClass); + } + + Release() + { + super.Release(); + } + + OnCreate() + { + } + }; +} + +"use strict"; +{ + C3.Plugins.skymen_skinsCore.Instance = class skymen_skinsCoreInstance extends C3.SDKInstanceBase //SDKInstanceBase + { + constructor(inst, properties) + { + super(inst); + this.skins = {}; + this.lastSkin; + this.lastSubSkin; + this.curSkin; + this.curSubSkin; + this.tag = properties[0]; + this.instances = []; + this.init = false; + if (C3.SkymenSkinCore == undefined) { + C3.SkymenSkinCore = {} + } + C3.SkymenSkinCore[this.tag] = this; + } + + Release() + { + super.Release(); + } + + addInstance(inst) { + this.instances.push(inst); + } + + trigger (subskin = false) { + if (subskin) { + this.Trigger(C3.Plugins.skymen_skinsCore.Cnds.OnSubSkin) + this.Trigger(C3.Plugins.skymen_skinsCore.Cnds.OnAnySubSkin) + this.Trigger(C3.Plugins.skymen_skinsCore.Cnds.OnAnySubAnySkin) + } else { + this.Trigger(C3.Plugins.skymen_skinsCore.Cnds.OnSkin) + this.Trigger(C3.Plugins.skymen_skinsCore.Cnds.OnAnySkin) + } + } + }; +} + +"use strict"; + +{ + C3.Plugins.skymen_skinsCore.Cnds = { + IsEmpty(){ + return Object.keys(this.skins).length === 0 && this.skins.constructor === Object; + }, + HasSkin(){ + return this.skins[skin] != undefined; + }, + HasSubSkin(){ + return this.skins[skin] != undefined && this.skins[skin][subskin] != undefined; + }, + OnSkin(){ + return skin == this.lastSkin; + }, + OnSubSkin(){ + return skin == this.lastSkin && subskin == this.lastSubskin; + }, + OnAnySkin(){ + return true; + }, + OnAnySubSkin(){ + return skin == this.lastSkin; + }, + OnAnySubAnySkin(){ + return true; + }, + ForEachSkin(){ + const runtime = this._runtime; + const eventSheetManager = runtime.GetEventSheetManager(); + const currentEvent = runtime.GetCurrentEvent(); + const solModifiers = currentEvent.GetSolModifiers(); + const eventStack = runtime.GetEventStack(); + const oldFrame = eventStack.GetCurrentStackFrame(); + const newFrame = eventStack.Push(currentEvent); + + + Object.keys(this.skins).forEach(k => { + // ... optionally update state here ... + this.curSkin = k; + // Push a copy of the current SOL + eventSheetManager.PushCopySol(solModifiers); + + // Retrigger the current event, running a single loop iteration + currentEvent.Retrigger(oldFrame, newFrame); + + // Pop the current SOL + eventSheetManager.PopSol(solModifiers); + }) + + // Pop the event stack frame + eventStack.Pop(); + + // Return false since event already executed + return false; + }, + ForEachSubSkin(){ + const runtime = this._runtime; + const eventSheetManager = runtime.GetEventSheetManager(); + const currentEvent = runtime.GetCurrentEvent(); + const solModifiers = currentEvent.GetSolModifiers(); + const eventStack = runtime.GetEventStack(); + const oldFrame = eventStack.GetCurrentStackFrame(); + const newFrame = eventStack.Push(currentEvent); + + if (this.skins[skin] == undefined) return false; + + Object.keys(this.skins[skin]).forEach(k => { + // ... optionally update state here ... + this.curSubSkin = k; + // Push a copy of the current SOL + eventSheetManager.PushCopySol(solModifiers); + + // Retrigger the current event, running a single loop iteration + currentEvent.Retrigger(oldFrame, newFrame); + + // Pop the current SOL + eventSheetManager.PopSol(solModifiers); + }) + + // Pop the event stack frame + eventStack.Pop(); + + // Return false since event already executed + return false; + }, + }; +} + +"use strict"; + +{ + C3.Plugins.skymen_skinsCore.Acts = { + AddSkin(obj, skin, mode, anim, subskin){ + if (this.skins[skin] == undefined) { + this.skins[skin] = {}; + } + this.lastSkin = skin + this.trigger() + if (mode == 0) { + for (var i = 0; i < obj._animations.length; i++) { + var anim = obj._animations[i].GetName(); + + this.skins[skin][anim] = { + "type": obj, + "anim": anim + } + this.lastSubSkin = anim; + this.trigger(true); + } + } else { + this.skins[skin][subskin] = { + "type": obj, + "anim": anim + } + this.lastSubSkin = anim; + this.trigger(true); + } + }, + AddSubSkin(obj, skin, subskin, anim){ + if (this.skins[skin] == undefined) { + this.skins[skin] = {}; + } + + this.skins[skin][subskin] = { + "type": obj, + "anim": anim + } + this.lastSubSkin = anim; + this.trigger(true); + }, + RemoveSkin(skin){ + if (this.skins[skin] != undefined) { + delete this.skins[skin]; + } + }, + RemoveSubSkin(skin, subskin){ + if (this.skins[skin] != undefined && this.skins[skin][subskin] != undefined) { + delete this.skins[skin][subskin]; + } + }, + Init(){ + if (this.init) return; + + for (var i = 0; i < this.instances.length; i++) { + this.instances[i].updateSkin(); + } + this.init = true; + }, + }; +} + +"use strict"; + +{ + C3.Plugins.skymen_skinsCore.Exps = { + CurSkin(){ + return this.curSkin; + }, + CurSubSkin(){ + return this.curSubSkin; + }, + LastSkin(){ + return this.lastSkin; + }, + LastSubSkin(){ + return this.lastSubSkin; + }, + RandomSkin(){ + var keys = Object.keys(this.skins) + var res = keys[keys.length * Math.random() << 0]; + if (typeof res == "string") + return res; + else + return ""; + }, + RandomSubSkin(skin){ + if (this.skins[skin]) { + var keys = Object.keys(this.skins[skin]) + var res = keys[keys.length * Math.random() << 0]; + if (typeof res == "string") + return res; + else + return ""; + } else { + console.warn("The skin " + skin + " doesn't exist") + return ""; + } + }, + }; +} + +"use strict"; +{ + C3.Plugins.skymen_GlobalRuntime = class GlobalRuntimePlugin extends C3.SDKPluginBase + { + constructor(opts) + { + super(opts); + } + + Release() + { + super.Release(); + } + }; +} + +"use strict"; +{ + C3.Plugins.skymen_GlobalRuntime.Type = class GlobalRuntimeType extends C3.SDKTypeBase + { + constructor(objectClass) + { + super(objectClass); + } + + Release() + { + super.Release(); + } + + OnCreate() + { + } + }; +} + +"use strict"; +{ + C3.Plugins.skymen_GlobalRuntime.Instance = class GlobalRuntimeInstance extends C3.SDKInstanceBase + { + constructor(inst, properties) + { + super(inst); + + this.name = "sdk_runtime" + if (properties) + { + this.name = properties[0]; + } + + globalThis[this.name] = this._runtime; + } + + Release() + { + super.Release(); + } + + SaveToJson() + { + return { + name: this.name + }; + } + + LoadFromJson(o) + { + this.name = o.name; + globalThis[this.name] = this._runtime; + // load state for savegames + } + + GetDebuggerProperties() + { + return [{ + title: "GlobalRuntime", + properties: [ + //{name: ".current-animation", value: this._currentAnimation.GetName(), onedit: v => this.CallAction(Acts.SetAnim, v, 0) }, + ] + }]; + } + }; +} + +"use strict"; +{ + C3.Plugins.skymen_GlobalRuntime.Cnds = { + + }; +} + +"use strict"; +{ + C3.Plugins.skymen_GlobalRuntime.Acts = { + + }; +} + +"use strict"; +{ + C3.Plugins.skymen_GlobalRuntime.Exps = { + + }; +} + +"use strict";C3.Plugins.Sprite=class extends C3.SDKPluginBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Plugins.Sprite.Type=class extends C3.SDKTypeBase{constructor(a){super(a),this._animations=a.GetAnimations()}Release(){C3.clearArray(this._animations),super.Release()}OnCreate(){for(const b of this._animations)b.LoadAllAssets(this._runtime)}LoadTextures(b){const c={sampling:this._runtime.GetSampling()};return Promise.all(this._animations.map((d)=>d.LoadAllTextures(b,c)))}ReleaseTextures(){for(const b of this._animations)b.ReleaseAllTextures()}OnDynamicTextureLoadComplete(){this._UpdateAllCurrentTexture()}_UpdateAllCurrentTexture(){for(const a of this._objectClass.instancesIncludingPendingCreate())a.GetSdkInstance()._UpdateCurrentTexture()}FinishCondition(a){C3.Plugins.Sprite._FinishCondition(this,a)}}; + +"use strict";{const a=C3.New(C3.Quad),b=C3.New(C3.Vector2);C3.Plugins.Sprite.Instance=class extends C3.SDKWorldInstanceBase{constructor(a,b){super(a);let c=!0,d="",e=0,f=!0;b&&(c=!!b[0],d=b[1],e=b[2],f=b[3]),this._currentAnimation=this._objectClass.GetAnimationByName(d)||this._objectClass.GetAnimations()[0],this._currentFrameIndex=C3.clamp(e,0,this._currentAnimation.GetFrameCount()-1),this._currentAnimationFrame=this._currentAnimation.GetFrameAt(this._currentFrameIndex);const g=this._currentAnimationFrame.GetImageInfo();this._currentTexture=g.GetTexture(),this._currentRcTex=g.GetTexRect(),this.HandleWebGLContextLoss(),a.SetFlag(2,!0),a.SetFlag(1,0<=this._currentAnimation.GetSpeed()),this._currentAnimationSpeed=Math.abs(this._currentAnimation.GetSpeed()),this._currentAnimationRepeatTo=this._currentAnimation.GetRepeatTo(),this._animationTimer=C3.New(C3.KahanSum),this._frameStartTime=0,this._animationRepeats=0,this._animTriggerName="",this._changeAnimFrameIndex=-1,this._changeAnimationName="",this._changeAnimationFrom=0;const h=this.GetWorldInfo();this._bquadRef=h.GetBoundingQuad(),h.SetVisible(c),h.SetCollisionEnabled(f),h.SetOriginX(this._currentAnimationFrame.GetOriginX()),h.SetOriginY(this._currentAnimationFrame.GetOriginY()),h.SetSourceCollisionPoly(this._currentAnimationFrame.GetCollisionPoly()),h.SetBboxChanged(),(1!==this._objectClass.GetAnimationCount()||1!==this._objectClass.GetAnimations()[0].GetFrameCount())&&0!==this._currentAnimationSpeed&&this._StartTicking()}Release(){this._currentAnimation=null,this._currentAnimationFrame=null,this._currentTexture=null,this._animationTimer=null,super.Release()}GetCurrentImageInfo(){return this._currentAnimationFrame.GetImageInfo()}OnWebGLContextLost(){this._currentTexture=null}OnWebGLContextRestored(){this._UpdateCurrentTexture()}Draw(b){var c=Math.round;const d=this._currentTexture;if(null!==d){const e=this._bquadRef,f=this._currentRcTex;if(b.SetTexture(d),this._runtime.IsPixelRoundingEnabled()){const d=this.GetWorldInfo(),g=c(d.GetX())-d.GetX(),h=c(d.GetY())-d.GetY();a.copy(e),a.offset(g,h),b.Quad3(a,f)}else b.Quad3(e,f)}}_DrawCollisionPoly(a){const b=this.GetWorldInfo(),c=b.GetTransformedCollisionPoly();a.SetColorFillMode(),a.SetColorRgba(1,0,0,1);const d=c.pointsArr(),e=b.GetX(),f=b.GetY();for(let b=0,c=d.length;b=g&&(j?(this.SetPlayingForwards(!1),this._currentFrameIndex=g-2):i?this._currentFrameIndex=f:(this._animationRepeats++,this._animationRepeats>=h?this._FinishAnimation(!1):this._currentFrameIndex=f)),0>this._currentFrameIndex&&(j?(this._currentFrameIndex=1,this.SetPlayingForwards(!0),!i&&(this._animationRepeats++,this._animationRepeats>=h&&this._FinishAnimation(!0))):i?this._currentFrameIndex=f:(this._animationRepeats++,this._animationRepeats>=h?this._FinishAnimation(!0):this._currentFrameIndex=f)),this._currentFrameIndex=C3.clamp(this._currentFrameIndex,0,g-1);const k=b.GetFrameAt(this._currentFrameIndex);c>this._frameStartTime+k.GetDuration()/a&&(this._frameStartTime=c),this._OnFrameChanged(d,k)}}_FinishAnimation(a){this._currentFrameIndex=a?0:this._currentAnimation.GetFrameCount()-1,this.SetAnimationPlaying(!1),this._animTriggerName=this._currentAnimation.GetName(),this.SetInAnimationTrigger(!0),this.Trigger(C3.Plugins.Sprite.Cnds.OnAnyAnimFinished),this.Trigger(C3.Plugins.Sprite.Cnds.OnAnimFinished),this.SetInAnimationTrigger(!1),this._animationRepeats=0}_OnFrameChanged(a,b){const c=this.GetWorldInfo(),d=a.GetImageInfo(),e=b.GetImageInfo(),f=d.GetWidth(),g=d.GetHeight(),h=e.GetWidth(),i=e.GetHeight();f!==h&&c.SetWidth(c.GetWidth()*(h/f)),g!==i&&c.SetHeight(c.GetHeight()*(i/g)),c.SetOriginX(b.GetOriginX()),c.SetOriginY(b.GetOriginY()),c.SetSourceCollisionPoly(b.GetCollisionPoly()),c.SetBboxChanged(),this._currentAnimationFrame=b,this._currentTexture=e.GetTexture(),this._currentRcTex=e.GetTexRect();const j=this.GetInstance().GetBehaviorInstances();for(let c=0,d=j.length;cthis.CallAction(a.SetAnim,b,0)},{name:"plugins.sprite.debugger.animation-properties.current-frame",value:this._currentFrameIndex,onedit:(b)=>this.CallAction(a.SetAnimFrame,b)},{name:"plugins.sprite.debugger.animation-properties.is-playing",value:this.IsAnimationPlaying(),onedit:(b)=>b?this.CallAction(a.StartAnim,0):this.CallAction(a.StopAnim)},{name:"plugins.sprite.debugger.animation-properties.speed",value:this._currentAnimationSpeed,onedit:(b)=>this.CallAction(a.SetAnimSpeed,b)},{name:"plugins.sprite.debugger.animation-properties.repeats",value:this._animationRepeats,onedit:(a)=>this._animationRepeats=a}]}]}SaveToJson(){const a={"a":this._currentAnimation.GetSID()};0!==this._frameStartTime&&(a["fs"]=this._frameStartTime);const b=this.GetAnimationTime();0!==b&&(a["at"]=b),0!==this._currentFrameIndex&&(a["f"]=this._currentFrameIndex),0!==this._currentAnimationSpeed&&(a["cas"]=this._currentAnimationSpeed),1!==this._animationRepeats&&(a["ar"]=this._animationRepeats),0!==this._currentAnimationRepeatTo&&(a["rt"]=this._currentAnimationRepeatTo),this.IsAnimationPlaying()||(a["ap"]=this.IsAnimationPlaying()),this.IsPlayingForwards()||(a["af"]=this.IsPlayingForwards());const c=this.GetWorldInfo();return c.IsCollisionEnabled()&&(a["ce"]=c.IsCollisionEnabled()),a}LoadFromJson(a){const b=this.GetObjectClass().GetAnimationBySID(a["a"]);b&&(this._currentAnimation=b),this._frameStartTime=a.hasOwnProperty("fs")?a["fs"]:0,this._animationTimer.Set(a.hasOwnProperty("at")?a["at"]:0);const c=a.hasOwnProperty("f")?a["f"]:0;this._currentFrameIndex=C3.clamp(c,0,this._currentAnimation.GetFrameCount()-1),this._currentAnimationSpeed=a.hasOwnProperty("cas")?a["cas"]:0,this._animationRepeats=a.hasOwnProperty("ar")?a["ar"]:1;const d=a.hasOwnProperty("rt")?a["rt"]:0;this._currentAnimationRepeatTo=C3.clamp(d,0,this._currentAnimation.GetFrameCount()-1),this.SetAnimationPlaying(!a.hasOwnProperty("ap")||!!a["ap"]),this.SetPlayingForwards(!a.hasOwnProperty("af")||!!a["af"]);const e=this._currentAnimation.GetFrameAt(this._currentFrameIndex),f=e.GetImageInfo();this._currentAnimationFrame=e,this._currentTexture=f.GetTexture(),this._currentRcTex=f.GetTexRect();const g=this.GetWorldInfo();g.SetOriginX(e.GetOriginX()),g.SetOriginY(e.GetOriginY()),g.SetSourceCollisionPoly(e.GetCollisionPoly()),g.SetCollisionEnabled(!!a["ce"])}GetPropertyValueByIndex(a){const b=this.GetWorldInfo();return 3===a?b.IsCollisionEnabled():void 0}SetPropertyValueByIndex(a,b){const c=this.GetWorldInfo();3===a?c.SetCollisionEnabled(!!b):void 0}GetScriptInterfaceClass(){return ISpriteInstance}};const c=new WeakMap,d=new Map([["current-frame",0],["beginning",1]]);self.ISpriteInstance=class extends IWorldInstance{constructor(){super(),c.set(this,IInstance._GetInitInst().GetSdkInstance())}getImagePointX(a){if("string"!=typeof a&&"number"!=typeof a)throw new TypeError("expected string or number");return c.get(this).GetImagePoint(a)[0]}getImagePointY(a){if("string"!=typeof a&&"number"!=typeof a)throw new TypeError("expected string or number");return c.get(this).GetImagePoint(a)[1]}stopAnimation(){c.get(this).SetAnimationPlaying(!1)}startAnimation(a="current-frame"){const b=d.get(a);if("undefined"==typeof b)throw new Error("invalid mode");c.get(this)._StartAnim(b)}setAnimation(a,b="beginning"){const e=d.get(b);if("undefined"==typeof e)throw new Error("invalid mode");c.get(this)._SetAnim(a,e)}get animationName(){return c.get(this)._GetCurrentAnimationName()}set animationFrame(a){c.get(this)._SetAnimFrame(a)}get animationFrame(){return c.get(this)._GetAnimFrame()}set animationSpeed(a){c.get(this)._SetAnimSpeed(a)}get animationSpeed(){return c.get(this)._GetAnimSpeed()}set animationRepeatToFrame(a){c.get(this)._SetAnimRepeatToFrame(a)}get animationRepeatToFrame(){return c.get(this)._GetAnimRepeatToFrame()}get imageWidth(){return c.get(this).GetCurrentImageInfo().GetWidth()}get imageHeight(){return c.get(this).GetCurrentImageInfo().GetHeight()}}} + +"use strict";{function a(c,d,a,b){const e=d.GetUID(),f=a.GetUID();ec(s,a.instance)));const t=l.GetCurrentSol(),u=e.GetCurrentSol(),v=t.GetInstances();let w=null;for(let c=0;cc(s,a.instance)));const t=p.GetCurrentSol(),u=e.GetCurrentSol(),v=t.GetInstances();let w=null;for(let c=0;cthis.GetWorldInfo().GetWidth()},IsFlipped(){return 0>this.GetWorldInfo().GetHeight()},OnURLLoaded(){return!0},OnURLFailed(){return!0},IsCollisionEnabled(){return this.GetWorldInfo().IsCollisionEnabled()}}} + +"use strict";C3.Plugins.Sprite.Acts={Spawn(a,b,c){if(!a||!b)return;const[d,e]=this.GetImagePoint(c),f=this._runtime.CreateInstance(a,b,d,e);if(!f)return;if(a.GetPlugin().IsRotatable()){const a=f.GetWorldInfo();a.SetAngle(this.GetWorldInfo().GetAngle()),a.SetBboxChanged()}const g=this._runtime.GetEventSheetManager();if(g.BlockFlushingInstances(!0),f._TriggerOnCreated(),f.IsInContainer())for(const a of f.siblings())a._TriggerOnCreated();g.BlockFlushingInstances(!1);const h=this._runtime.GetCurrentAction(),i=h.GetSavedDataMap();let j=!1;if((!i.has("Spawn_LastExec")||i.get("Spawn_LastExec")d.GetWidth()?-1:1,f=0>d.GetHeight()?-1:1,g=c.GetWidth()*a*e,h=c.GetHeight()*a*f;(d.GetWidth()!==g||d.GetHeight()!==h)&&(d.SetSize(g,h),d.SetBboxChanged())},async LoadURL(a,b){const c=this._currentAnimationFrame,d=c.GetImageInfo(),e=this.GetWorldInfo(),f=this._runtime;if(d.GetURL()===a)return 0===b&&(e.SetSize(d.GetWidth(),d.GetHeight()),e.SetBboxChanged()),void this.Trigger(C3.Plugins.Sprite.Cnds.OnURLLoaded);const g=C3.New(C3.ImageInfo);return await g.LoadDynamicAsset(f,a),g.IsLoaded()?void(await g.LoadStaticTexture(f.GetWebGLRenderer(),{sampling:this._runtime.GetSampling()}),d.ReplaceWith(g),this._sdkType._UpdateAllCurrentTexture(),!this.WasReleased()&&0===b&&(e.SetSize(d.GetWidth(),d.GetHeight()),e.SetBboxChanged()),f.UpdateRender(),!this.WasReleased()&&(await this.TriggerAsync(C3.Plugins.Sprite.Cnds.OnURLLoaded))):void this.Trigger(C3.Plugins.Sprite.Cnds.OnURLFailed)},SetCollisions(a){this.GetWorldInfo().SetCollisionEnabled(a)},SetSolidCollisionFilter(a,b){this.GetWorldInfo().SetSolidCollisionFilter(0===a,b)},SetEffect(a){this.GetWorldInfo().SetBlendMode(a),this._runtime.UpdateRender()}}; + +"use strict";C3.Plugins.Sprite.Exps={AnimationFrame(){return this._currentFrameIndex},AnimationFrameCount(){return this._currentAnimation.GetFrameCount()},AnimationName(){return this._currentAnimation.GetName()},AnimationSpeed(){return this._GetAnimSpeed()},OriginalAnimationSpeed(){return this._currentAnimation.GetSpeed()},ImagePointX(a){return this.GetImagePoint(a)[0]},ImagePointY(a){return this.GetImagePoint(a)[1]},ImagePointCount(){return this._currentAnimationFrame.GetImagePointCount()},ImageWidth(){return this.GetCurrentImageInfo().GetWidth()},ImageHeight(){return this.GetCurrentImageInfo().GetHeight()}}; + +"use strict";C3.Plugins.TiledBg=class extends C3.SDKPluginBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Plugins.TiledBg.Type=class extends C3.SDKTypeBase{constructor(a){super(a)}Release(){super.Release()}OnCreate(){this.GetImageInfo().LoadAsset(this._runtime)}LoadTextures(a){return this.GetImageInfo().LoadStaticTexture(a,{sampling:this._runtime.GetSampling(),isTiled:!0})}ReleaseTextures(){this.GetImageInfo().ReleaseTexture()}}; + +"use strict";{const a=C3.New(C3.Quad),b=C3.New(C3.Rect),c=C3.New(C3.Quad);C3.Plugins.TiledBg.Instance=class extends C3.SDKWorldInstanceBase{constructor(a,b){super(a),this._imageOffsetX=0,this._imageOffsetY=0,this._imageScaleX=1,this._imageScaleY=1,this._imageAngle=0,this._ownImageInfo=null,b&&(this.GetWorldInfo().SetVisible(!!b[0]),this._imageOffsetX=b[2],this._imageOffsetY=b[3],this._imageScaleX=b[4],this._imageScaleY=b[5],this._imageAngle=C3.toRadians(b[6]))}Release(){this._ReleaseOwnImage(),super.Release()}_ReleaseOwnImage(){this._ownImageInfo&&(this._ownImageInfo.Release(),this._ownImageInfo=null)}Draw(d){var e=Math.round;const f=this.GetCurrentImageInfo(),g=f.GetTexture();if(!g)return;const h=this.GetWorldInfo();let i=h.GetBoundingQuad();d.SetTexture(g);const j=f.GetWidth(),k=f.GetHeight(),l=this._imageOffsetX/j,m=this._imageOffsetY/k;if(b.set(0,0,h.GetWidth()/(j*this._imageScaleX),h.GetHeight()/(k*this._imageScaleY)),b.offset(-l,-m),this._runtime.IsPixelRoundingEnabled()){const b=e(h.GetX())-h.GetX(),c=e(h.GetY())-h.GetY();a.copy(i),a.offset(b,c),i=a}0===this._imageAngle?d.Quad3(i,b):(c.setFromRotatedRect(b,-this._imageAngle),d.Quad4(i,c))}GetCurrentImageInfo(){return this._ownImageInfo||this._objectClass.GetImageInfo()}_SetImageOffsetX(a){this._imageOffsetX===a||(this._imageOffsetX=a,this._runtime.UpdateRender())}_GetImageOffsetX(){return this._imageOffsetX}_SetImageOffsetY(a){this._imageOffsetY===a||(this._imageOffsetY=a,this._runtime.UpdateRender())}_GetImageOffsetY(){return this._imageOffsetY}_SetImageScaleX(a){this._imageScaleX===a||(this._imageScaleX=a,this._runtime.UpdateRender())}_GetImageScaleX(){return this._imageScaleX}_SetImageScaleY(a){this._imageScaleY===a||(this._imageScaleY=a,this._runtime.UpdateRender())}_GetImageScaleY(){return this._imageScaleY}_SetImageAngle(b){this._imageAngle===b||(this._imageAngle=b,this._runtime.UpdateRender())}_GetImageAngle(){return this._imageAngle}GetPropertyValueByIndex(a){return 2===a?this._GetImageOffsetX():3===a?this._GetImageOffsetY():4===a?this._GetImageScaleX():5===a?this._GetImageScaleY():6===a?this._GetImageAngle():void 0}SetPropertyValueByIndex(a,b){2===a?this._SetImageOffsetX(b):3===a?this._SetImageOffsetY(b):4===a?this._SetImageScaleX(b):5===a?this._SetImageScaleY(b):6===a?this._SetImageAngle(b):void 0}GetScriptInterfaceClass(){return ITiledBackgroundInstance}};const d=new WeakMap;self.ITiledBackgroundInstance=class extends IWorldInstance{constructor(){super(),d.set(this,IInstance._GetInitInst().GetSdkInstance())}set imageOffsetX(a){d.get(this)._SetImageOffsetX(a)}get imageOffsetX(){return d.get(this)._GetImageOffsetX()}set imageOffsetY(a){d.get(this)._SetImageOffsetY(a)}get imageOffsetY(){return d.get(this)._GetImageOffsetY()}set imageScaleX(a){d.get(this)._SetImageScaleX(a)}get imageScaleX(){return d.get(this)._GetImageScaleX()}set imageScaleY(a){d.get(this)._SetImageScaleY(a)}get imageScaleY(){return d.get(this)._GetImageScaleY()}set imageAngle(b){d.get(this)._SetImageAngle(b)}get imageAngle(){return d.get(this)._GetImageAngle()}set imageAngleDegrees(b){d.get(this)._SetImageAngle(C3.toRadians(b))}get imageAngleDegrees(){return C3.toDegrees(d.get(this)._GetImageAngle())}}} + +"use strict";C3.Plugins.TiledBg.Cnds={OnURLLoaded(){return!0},OnURLFailed(){return!0}}; + +"use strict";C3.Plugins.TiledBg.Acts={SetImageOffsetX(a){this._SetImageOffsetX(a)},SetImageOffsetY(a){this._SetImageOffsetY(a)},SetImageScaleX(a){this._SetImageScaleX(a/100)},SetImageScaleY(a){this._SetImageScaleY(a/100)},SetImageAngle(b){this._SetImageAngle(C3.toRadians(b))},SetEffect(a){this.GetWorldInfo().SetBlendMode(a),this._runtime.UpdateRender()},async LoadURL(a){if(!(this._ownImageInfo&&this._ownImageInfo.GetURL()===a)){const b=this._runtime,c=C3.New(C3.ImageInfo);if(await c.LoadDynamicAsset(b,a),!c.IsLoaded())return void this.Trigger(C3.Plugins.TiledBg.Cnds.OnURLFailed);if(this.WasReleased())return c.Release(),null;const d=await c.LoadStaticTexture(b.GetWebGLRenderer(),{sampling:this._runtime.GetSampling(),isTiled:!0});return d?this.WasReleased()?void c.Release():void(this._ReleaseOwnImage(),this._ownImageInfo=c,b.UpdateRender(),await this.TriggerAsync(C3.Plugins.TiledBg.Cnds.OnURLLoaded)):void 0}}}; + +"use strict";C3.Plugins.TiledBg.Exps={ImageWidth(){return this.GetCurrentImageInfo().GetWidth()},ImageHeight(){return this.GetCurrentImageInfo().GetHeight()},ImageOffsetX(){return this._imageOffsetX},ImageOffsetY(){return this._imageOffsetY},ImageScaleX(){return 100*this._imageScaleX},ImageScaleY(){return 100*this._imageScaleY},ImageAngle(){return C3.toDegrees(this._imageAngle)}}; + +"use strict";C3.Plugins.Spritefont2=class extends C3.SDKPluginBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Plugins.Spritefont2.Type=class extends C3.SDKTypeBase{constructor(a){super(a),this._spriteFont=C3.New(SpriteFont)}Release(){super.Release()}OnCreate(){this.GetImageInfo().LoadAsset(this._runtime)}LoadTextures(a){return this.GetImageInfo().LoadStaticTexture(a,{sampling:this._runtime.GetSampling(),isTiled:!0})}ReleaseTextures(){this.GetImageInfo().ReleaseTexture()}GetSpriteFont(){return this._spriteFont}UpdateSettings(a,b,c,d){const e=this.GetImageInfo(),f=this._spriteFont;f.SetWidth(e.GetWidth()),f.SetHeight(e.GetHeight()),f.SetCharacterWidth(a),f.SetCharacterHeight(b),f.SetCharacterSet(c),f.SetSpacingData(d),f.UpdateCharacterMap()}}; + +"use strict";{const a=["left","center","right"],b=["top","center","bottom"],c=C3.New(C3.Quad);C3.Plugins.Spritefont2.Instance=class extends C3.SDKWorldInstanceBase{constructor(a,b){super(a),this._text="",this._enableBBcode=!0,this._characterWidth=16,this._characterHeight=16,this._characterSet="";let c=[];if(this._characterScale=1,this._characterSpacing=0,this._lineHeight=0,this._horizontalAlign=0,this._verticalAlign=0,this._wrapByWord=!0,this._spriteFontText=null,this._typewriterStartTime=-1,this._typewriterEndTime=-1,this._typewriterLength=0,b){this._text=b[0],this._enableBBcode=b[1],this._characterWidth=b[2],this._characterHeight=b[3],this._characterSet=b[4],c=b[5],this._characterScale=b[6],this._characterSpacing=b[7],this._lineHeight=b[8],this._horizontalAlign=b[9],this._verticalAlign=b[10],this._wrapByWord=0===b[11];const a=this.GetWorldInfo();a.SetVisible(b[12])}this._sdkType.UpdateSettings(this._characterWidth,this._characterHeight,this._characterSet,c),this._spriteFontText=C3.New(SpriteFontText,this._sdkType.GetSpriteFont());const d=this.GetWorldInfo();this._spriteFontText.SetSize(d.GetWidth(),d.GetHeight()),this._UpdateSettings()}Release(){this._CancelTypewriter(),this._spriteFontText.Release(),this._spriteFontText=null,super.Release()}_UpdateSettings(){const c=this._spriteFontText;c&&(c.SetBBCodeEnabled(this._enableBBcode),c.SetText(this._text),c.SetWordWrapMode(this._wrapByWord?"word":"character"),c.SetHorizontalAlign(a[this._horizontalAlign]),c.SetVerticalAlign(b[this._verticalAlign]),c.SetScale(this._characterScale),c.SetSpacing(this._characterSpacing),c.SetLineHeight(this._lineHeight))}Draw(a){var b=Math.round;const d=this._objectClass.GetImageInfo(),e=d.GetTexture();if(!e)return;a.SetTexture(e);const f=this.GetWorldInfo();let g=f.GetBoundingQuad();const h=this._spriteFontText;if(this._runtime.IsPixelRoundingEnabled()){const a=b(f.GetX())-f.GetX(),d=b(f.GetY())-f.GetY();c.copy(g),c.offset(a,d),g=c}h.SetSize(f.GetWidth(),f.GetHeight()),h.GetSpriteFont().SetTexRect(d.GetTexRect()),h.SetColor(f.GetUnpremultipliedColor()),h.Draw(a,g.getTlx(),g.getTly(),f.GetAngle())}SaveToJson(){const a={"t":this._text,"ebbc":this._enableBBcode,"csc":this._characterScale,"csp":this._characterSpacing,"lh":this._lineHeight,"ha":this._horizontalAlign,"va":this._verticalAlign,"w":this._wrapByWord,"cw":this._sdkType.GetSpriteFont().GetCharacterWidth(),"ch":this._sdkType.GetSpriteFont().GetCharacterHeight(),"cs":this._sdkType.GetSpriteFont().GetCharacterSet(),"sd":this._sdkType.GetSpriteFont().GetSpacingData()};return-1!==this._typewriterEndTime&&(o["tw"]={"st":this._typewriterStartTime,"en":this._typewriterEndTime,"l":this._typewriterLength}),a}LoadFromJson(a){if(this._CancelTypewriter(),this._text=a["t"],this._enableBBcode=a["ebbc"],this._characterScale=a["csc"],this._characterSpacing=a["csp"],this._lineHeight=a["lh"],this._horizontalAlign=a["ha"],this._verticalAlign=a["va"],this._wrapByWord=a["w"],a.hasOwnProperty("tw")){const b=a["tw"];this._typewriterStartTime=b["st"],this._typewriterEndTime=b["en"],this._typewriterLength=a["l"]}const b=this._sdkType.GetSpriteFont();b.SetCharacterWidth(a["cw"]),b.SetCharacterHeight(a["ch"]),b.SetCharacterSet(a["cs"]),b.SetSpacingData(a["sd"]),this._UpdateSettings(),-1!==this._typewriterEndTime&&this._StartTicking()}GetPropertyValueByIndex(a){return a===0?this._text:1===a?this._enableBBcode:2===a?this._sdkType.GetSpriteFont().GetCharacterWidth():3===a?this._sdkType.GetSpriteFont().GetCharacterHeight():4===a?this._sdkType.GetSpriteFont().GetCharacterSet():5===a?this._sdkType.GetSpriteFont().GetSpacingData():6===a?this._characterScale:7===a?this._characterSpacing:8===a?this._lineHeight:9===a?this._horizontalAlign:10===a?this._verticalAlign:11===a?this._wrapByWord?1:0:void 0}SetPropertyValueByIndex(a,b){switch(a){case 0:if(this._text===b)return;this._text=b,this._UpdateSettings();break;case 1:if(this._enableBBcode===!!b)return;this._enableBBcode=!!b,this._UpdateSettings();break;case 2:this._sdkType.GetSpriteFont().SetCharacterWidth(b);break;case 3:this._sdkType.GetSpriteFont().SetCharacterHeight(b);break;case 4:this._sdkType.GetSpriteFont().SetCharacterSet(b);break;case 5:this._sdkType.GetSpriteFont().SetSpacingData(b);break;case 6:if(this._characterScale===b)return;this._characterScale=b,this._UpdateSettings();break;case 7:if(this._characterSpacing===b)return;this._characterSpacing=b,this._UpdateSettings();break;case 8:if(this._lineHeight===b)return;this._lineHeight=b,this._UpdateSettings();break;case 9:if(this._horizontalAlign===b)return;this._horizontalAlign=b,this._UpdateSettings();break;case 10:if(this._verticalAlign===b)return;this._verticalAlign=b,this._UpdateSettings();break;case 11:if(this._wrapByWord===(b===0))return;this._wrapByWord=b===0,this._UpdateSettings();}}_SetText(a){this._text===a||(this._text=a,this._spriteFontText.SetText(a),this._runtime.UpdateRender())}GetText(){return this._text}_StartTypewriter(a,b){this._SetText(a),this._typewriterStartTime=this._runtime.GetGameTime(),this._typewriterEndTime=this._typewriterStartTime+b,this._typewriterLength=C3.BBString.StripAnyTags(a).length,this._spriteFontText.SetDrawMaxCharacterCount(0),this._StartTicking()}_CancelTypewriter(){this._typewriterStartTime=-1,this._typewriterEndTime=-1,this._typewriterLength=0,this._spriteFontText.SetDrawMaxCharacterCount(-1),this._StopTicking()}_FinishTypewriter(){-1===this._typewriterEndTime||(this._CancelTypewriter(),this.Trigger(C3.Plugins.Spritefont2.Cnds.OnTypewriterTextFinished),this._runtime.UpdateRender())}_SetScale(a){this._characterScale===a||(this._characterScale=a,this._spriteFontText.SetScale(this._characterScale),this._runtime.UpdateRender())}_GetScale(){return this._characterScale}_SetCharacterSpacing(a){this._characterSpacing===a||(this._characterSpacing=a,this._spriteFontText.SetSpacing(this._characterSpacing),this._runtime.UpdateRender())}_GetCharacterSpacing(){return this._characterSpacing}_SetLineHeight(a){this._lineHeight===a||(this._lineHeight=a,this._spriteFontText.SetLineHeight(this._lineHeight),this._runtime.UpdateRender())}_GetLineHeight(){return this._lineHeight}_SetHAlign(a){this._horizontalAlign===a||(this._horizontalAlign=a,this._UpdateSettings(),this._runtime.UpdateRender())}_GetHAlign(){return this._horizontalAlign}_SetVAlign(a){this._verticalAlign===a||(this._verticalAlign=a,this._UpdateSettings(),this._runtime.UpdateRender())}_GetVAlign(){return this._verticalAlign}_SetWrapByWord(a){a=!!a;this._wrapByWord===a||(this._wrapByWord=a,this._UpdateSettings(),this._runtime.UpdateRender())}_IsWrapByWord(){return this._wrapByWord}Tick(){const a=this._runtime.GetGameTime();if(a>=this._typewriterEndTime)this._CancelTypewriter(),this.Trigger(C3.Plugins.Spritefont2.Cnds.OnTypewriterTextFinished),this._runtime.UpdateRender();else{let b=C3.relerp(this._typewriterStartTime,this._typewriterEndTime,a,0,this._typewriterLength);b=Math.floor(b),b!==this._spriteFontText.GetDrawMaxCharacterCount()&&(this._spriteFontText.SetDrawMaxCharacterCount(b),this._runtime.UpdateRender())}}GetDebuggerProperties(){return[{title:"plugins.spritefont2.name",properties:[{name:"plugins.spritefont2.properties.text.name",value:this._text,onedit:(a)=>this._SetText(a)}]}]}GetScriptInterfaceClass(){return ISpriteFontInstance}};const d=new WeakMap,e=new Map([["left",0],["center",1],["right",2]]),f=new Map([["top",0],["center",1],["bottom",2]]),g=new Map([["word",!0],["character",!1]]);self.ISpriteFontInstance=class extends IWorldInstance{constructor(){super(),d.set(this,IInstance._GetInitInst().GetSdkInstance())}get text(){return d.get(this).GetText()}set text(a){const b=d.get(this);b._CancelTypewriter(),b._SetText(a)}typewriterText(a,b){const c=d.get(this);c._CancelTypewriter(),c._StartTypewriter(a,b)}typewriterFinish(){d.get(this)._FinishTypewriter()}set characterScale(a){d.get(this)._SetScale(a)}get characterScale(){return d.get(this)._GetScale()}set characterSpacing(a){d.get(this)._SetCharacterSpacing(a)}get characterSpacing(){return d.get(this)._GetCharacterSpacing()}set lineHeight(a){d.get(this)._SetLineHeight(a)}get lineHeight(){return d.get(this)._GetLineHeight()}set horizontalAlign(a){const b=e.get(a);if("undefined"==typeof b)throw new Error("invalid mode");d.get(this)._SetHAlign(b)}get horizontalAlign(){return a[d.get(this)._GetHAlign()]}set verticalAlign(a){const b=f.get(a);if("undefined"==typeof b)throw new Error("invalid mode");d.get(this)._SetVAlign(b)}get verticalAlign(){return b[d.get(this)._GetVAlign()]}set wordWrapMode(a){const b=g.get(a);if("undefined"==typeof b)throw new Error("invalid mode");d.get(this)._SetWrapByWord(b)}get wordWrapMode(){return d.get(this)._IsWrapByWord()?"word":"character"}}} + +"use strict";C3.Plugins.Spritefont2.Cnds={CompareText(a,b){return b?this._text===a:C3.equalsNoCase(this._text,a)},IsRunningTypewriterText(){return-1!==this._typewriterEndTime},OnTypewriterTextFinished(){return!0}}; + +"use strict";C3.Plugins.Spritefont2.Acts={SetText(a){this._CancelTypewriter(),"number"==typeof a&&1e9>a&&(a=Math.round(1e10*a)/1e10),this._SetText(a.toString())},AppendText(a){this._CancelTypewriter(),"number"==typeof a&&1e9>a&&(a=Math.round(1e10*a)/1e10),a=a.toString();a&&this._SetText(this._text+a)},TypewriterText(a,b){this._CancelTypewriter(),"number"==typeof a&&1e9>a&&(a=Math.round(1e10*a)/1e10),this._StartTypewriter(a.toString(),b)},TypewriterFinish(){this._FinishTypewriter()},SetScale(a){this._SetScale(a)},SetCharacterSpacing(a){this._SetCharacterSpacing(a)},SetLineHeight(a){this._SetLineHeight(a)},SetCharacterWidth(a,b){let c=!1;const d=this._sdkType.GetSpriteFont();for(const e of a)if(" "===e)d.SetSpaceWidth(b),c=!0;else{const a=d.GetCharacter(e);a&&(a.SetDisplayWidth(b),c=!0)}c&&d.SetCharacterWidthsChanged(),this._runtime.UpdateRender()},SetEffect(a){this.GetWorldInfo().SetBlendMode(a),this._runtime.UpdateRender()},SetHAlign(a){this._SetHAlign(a)},SetVAlign(a){this._SetVAlign(a)},SetWrapping(a){this._SetWrapByWord(0===a)}}; + +"use strict";C3.Plugins.Spritefont2.Exps={CharacterWidth(a){const b=this._sdkType.GetSpriteFont().GetCharacter(a);return b?b.GetDisplayWidth():this._sdkType.GetSpriteFont().GetCharacterWidth()},CharacterHeight(){return this._characterHeight},CharacterScale(){return this._characterScale},CharacterSpacing(){return this._characterSpacing},LineHeight(){return this._lineHeight},Text(){return this._text},PlainText(){return this._enableBBcode?C3.BBString.StripAnyTags(this._text):this._text},TextWidth(){const a=this.GetWorldInfo();return this._spriteFontText.SetSize(a.GetWidth(),a.GetHeight()),this._spriteFontText.GetTextWidth()},TextHeight(){const a=this.GetWorldInfo();return this._spriteFontText.SetSize(a.GetWidth(),a.GetHeight()),this._spriteFontText.GetTextHeight()}}; + +"use strict";{const a={width:256,height:256,characterWidth:16,characterHeight:16,characterSet:""};self.SpriteFont=class{constructor(b){if(b=Object.assign({},a,b),0>=b.width||0>=b.height||0>=b.characterWidth||0>=b.characterHeight)throw new Error("invalid size");this._width=b.width,this._height=b.height,this._characterWidth=b.characterWidth,this._characterHeight=b.characterHeight,this._characterSet=b.characterSet,this._spacingData="",this._spacingParsed=null,this._hasAnyCustomWidths=!1,this._spaceWidth=-1,this._texRect=new C3.Rect(0,0,1,1),this._characterMap=new Map,this._mapChanged=!0,this._allTexts=new Set}Release(){this._texRect=null,this._ReleaseCharacters(),this._characterMap=null,this._allTexts&&this._allTexts.clear(),this._allTexts=null}_ReleaseCharacters(){for(let a of this._characterMap.values())a.Release();this._characterMap.clear()}_AddSpriteFontText(a){this._allTexts.add(a)}_RemoveSpriteFontText(a){this._allTexts.delete(a)}UpdateCharacterMap(){var a=Math.floor;if(this._mapChanged){this._ReleaseCharacters();let b=[...this._characterSet],c=a(this._width/this._characterWidth),d=a(this._height/this._characterHeight);for(let e=0,f=b.length;e=c*d);++e){let d=e%c,f=a(e/c),g=b[e];this._characterMap.set(g,C3.New(SpriteFontCharacter,this,g,d*this._characterWidth,f*this._characterHeight))}if(this._hasAnyCustomWidths=!1,this._spaceWidth=-1,Array.isArray(this._spacingParsed))for(let a of this._spacingParsed){if(!Array.isArray(a))continue;if(2!==a.length)continue;let b=a[0],c=a[1];if("number"==typeof b&&isFinite(b)&&"string"==typeof c&&b!==this._characterWidth)for(let a of c){let c=this._characterMap.get(a);c?(c.SetDisplayWidth(b),this._hasAnyCustomWidths=!0):" "===a&&(this._spaceWidth=b,this._hasAnyCustomWidths=!0)}}this._mapChanged=!1;for(let a of this._allTexts)a._SetWrapChanged()}}SetCharacterWidthsChanged(){this._hasAnyCustomWidths=!0;for(const a of this._allTexts)a._SetWrapChanged()}GetCharacter(a){return this.UpdateCharacterMap(),this._characterMap.get(a)||null}HasAnyCustomWidths(){return this._hasAnyCustomWidths}SetWidth(a){if(a=Math.floor(a),0>=a)throw new Error("invalid size");this._width===a||(this._width=a,this._mapChanged=!0)}GetWidth(){return this._width}SetHeight(a){if(a=Math.floor(a),0>=a)throw new Error("invalid size");this._height===a||(this._height=a,this._mapChanged=!0)}GetHeight(){return this._height}SetTexRect(a){if(!this._texRect.equals(a)){this._texRect.copy(a);for(const a of this._characterMap.values())a._UpdateTexRect()}}GetTexRect(){return this._texRect}SetCharacterWidth(a){if(a=Math.floor(a),0>=a)throw new Error("invalid size");this._characterWidth===a||(this._characterWidth=a,this._mapChanged=!0)}GetCharacterWidth(){return this._characterWidth}SetCharacterHeight(a){if(a=Math.floor(a),0>=a)throw new Error("invalid size");this._characterHeight===a||(this._characterHeight=a,this._mapChanged=!0)}GetCharacterHeight(){return this._characterHeight}SetCharacterSet(a){this._characterSet===a||(this._characterSet=a,this._mapChanged=!0)}GetCharacterSet(){return this._characterSet}SetSpacingData(a){if(this._spacingData!==a&&(this._spacingData=a,this._mapChanged=!0,this._spacingParsed=null,this._spacingData.length))try{this._spacingParsed=JSON.parse(this._spacingData)}catch(a){this._spacingParsed=null}}GetSpacingData(){return this._spacingData}SetSpaceWidth(a){0>a&&(a=-1);this._spaceWidth===a||(this._spaceWidth=a,0<=this._spaceWidth&&(this._hasAnyCustomWidths=!0))}GetSpaceWidth(){return 0>this._spaceWidth?this._characterWidth:this._spaceWidth}}} + +"use strict";self.SpriteFontCharacter=class{constructor(a,b,c,d){let e=a.GetCharacterWidth(),f=a.GetCharacterHeight();this._spriteFont=a,this._char=b,this._pxRect=new C3.Rect(c,d,c+e,d+f),this._texRect=new C3.Rect,this._displayWidth=-1,this._UpdateTexRect()}Release(){this._spriteFont=null,this._pxRect=null,this._texRect=null}_UpdateTexRect(){let a=this._spriteFont.GetWidth(),b=this._spriteFont.GetHeight();this._texRect.copy(this._pxRect),this._texRect.divide(a,b),this._texRect.lerpInto(this._spriteFont.GetTexRect())}GetSpriteFont(){return this._spriteFont}GetChar(){return this._char}GetTexRect(){return this._texRect}SetDisplayWidth(a){this._displayWidth=a}GetDisplayWidth(){return 0>this._displayWidth?this._spriteFont.GetCharacterWidth():this._displayWidth}}; + +"use strict";{const a=new C3.Rect,b=new C3.Quad,c=new C3.Color,d=new Set(["left","center","right"]),e=new Set(["top","center","bottom"]),f=new Set(["word","character"]);self.SpriteFontText=class{constructor(a){this._spriteFont=a,this._cssWidth=0,this._cssHeight=0,this._text="",this._isBBcodeEnabled=!1,this._bbString=null,this._wrappedText=C3.New(C3.WordWrap),this._wrapMode="word",this._wrapChanged=!1,this._horizontalAlign="left",this._verticalAlign="top",this._scale=1,this._spacing=0,this._lineHeight=0,this._color=C3.New(C3.Color),this._drawMaxCharCount=-1,this._drawCharCount=0,this._measureTextCallback=(a,b)=>this._MeasureText(a,b),this._spriteFont._AddSpriteFontText(this)}Release(){this._spriteFont._RemoveSpriteFontText(this),this._color=null,this._measureTextCallback=null,this._wrappedText.Clear(),this._wrappedText=null,this._spriteFont=null,this._bbString=null}_MeasureText(a,b){const c=this._GetStyleTag(b,"scale"),d=c?parseFloat(c.param):this._scale,e=this._GetStyleTag(b,"scalex"),f=(e?parseFloat(e.param):1)*d,g=this._GetStyleTag(b,"scaley"),h=(g?parseFloat(g.param):1)*d,i=this._spriteFont.GetCharacterHeight()*h+this._lineHeight,j=this.GetSpriteFont(),k=j.GetCharacterWidth()*f,l=this.GetSpacing();if(j.HasAnyCustomWidths()){let b=0,c=0;for(const d of a){let a=k;const e=j.GetCharacter(d);e?a=e.GetDisplayWidth()*f:" "===d&&(a=j.GetSpaceWidth()*f),c+=a,++b}return{width:c+b*l,height:i}}else{const b=[...a].length,c=Math.max(b,0);return{width:k*b+c*l,height:i}}}_SetWrapChanged(){this._wrapChanged=!0,this._wrappedText.Clear()}SetSize(a,b){0>=a||0>=b||this._cssWidth===a&&this._cssHeight===b||(this._cssWidth!==a&&this._SetWrapChanged(),this._cssWidth=a,this._cssHeight=b)}SetDrawMaxCharacterCount(a){this._drawMaxCharCount=Math.floor(a)}GetDrawMaxCharacterCount(){return this._drawMaxCharCount}_GetStyleTag(a,b){for(let c=a.length-1;0<=c;--c){const d=a[c];if(d.tag===b)return d}return null}_HasStyleTag(a,b){return!!this._GetStyleTag(a,b)}_MaybeWrapText(){if(this._wrapChanged){this._isBBcodeEnabled&&(!this._bbString||this._bbString.toString()!==this._text)&&(this._bbString=new C3.BBString(this._text,{noEscape:!0}));const a=-this.GetSpacing();this._wrappedText.WordWrap(this._isBBcodeEnabled?this._bbString.toFragmentList():this._text,this._measureTextCallback,this._cssWidth,this._wrapMode,a),this._wrapChanged=!1}}Draw(a,b,c,d){var e=Math.floor;this._MaybeWrapText(),this._drawCharCount=0;let f=0;const g=this._lineHeight,h=C3.cloneArray(this._wrappedText.GetLines()),j=Math.sin(d),k=Math.cos(d),i=h.reduce((b,a)=>b+a.height,0)-g;"center"===this._verticalAlign?f=Math.max(e(this._cssHeight/2-i/2),0):"bottom"===this._verticalAlign&&(f=e(this._cssHeight-i));for(let e=0,i=h.length;ethis._cssHeight-(i-g))break;0<=f&&this._DrawLine(a,d,b,c,f,j,k),f+=i}}_DrawLine(a,b,c,d,e,f,g){var h=Math.floor,i=Math.max;const j=b.height;let k=0;"center"===this._horizontalAlign?k=i(h((this._cssWidth-b.width)/2),0):"right"===this._horizontalAlign&&(k=i(h(this._cssWidth-b.width),0));for(const h of b.fragments)this._DrawFragment(a,h,c,d,k,e,f,g,j),k+=h.width}_DrawFragment(d,e,f,g,h,i,j,k,l){let m=e.text,n=e.width;const o=e.styles;if(-1!==this._drawMaxCharCount){if(this._drawCharCount>=this._drawMaxCharCount)return;this._drawCharCount+m.length>this._drawMaxCharCount&&(m=m.substr(0,this._drawMaxCharCount-this._drawCharCount),n=this._MeasureText(m,o).width),this._drawCharCount+=m.length}const p=this._GetStyleTag(o,"background");if(!(C3.IsStringAllWhitespace(m)&&!p||this._HasStyleTag(o,"hide"))){const e=this._GetStyleTag(o,"scale"),q=e?parseFloat(e.param):this._scale,r=this._GetStyleTag(o,"scalex"),s=(r?parseFloat(r.param):1)*q,t=this._GetStyleTag(o,"scaley"),u=(t?parseFloat(t.param):1)*q,v=this._spriteFont.GetCharacterHeight()*u,w=this._lineHeight;i+=l-w-v;const x=this._GetStyleTag(o,"offsetx");h+=x?parseFloat(x.param):0;const y=this._GetStyleTag(o,"offsety");i+=y?parseFloat(y.param):0,p&&(d.SetColorFillMode(),c.parseString(p.param),c.setA(1),d.SetColor(c),a.set(h,i,h+n,i+v),a.getRight()>this._cssWidth&&a.setRight(this._cssWidth),b.setFromRotatedRectPrecalc(a,j,k),b.offset(f,g),d.Quad(b),d.SetTextureFillMode());const z=this._GetStyleTag(o,"color");z?(c.parseString(z.param),c.setA(this._color.getA())):c.copy(this._color);const A=this._GetStyleTag(o,"opacity");A&&c.setA(c.getA()*parseFloat(A.param)/100),c.premultiply(),d.SetColor(c);const B=this._spriteFont.GetCharacterWidth()*s,C=Math.abs(this.GetSpacing());for(const c of m){const e=this._spriteFont.GetCharacter(c);if(e){const c=e.GetDisplayWidth()*s;if(h+c>this._cssWidth+C+1e-5)return;a.set(h,i,h+B,i+v),b.setFromRotatedRectPrecalc(a,j,k),b.offset(f,g),d.Quad3(b,e.GetTexRect()),h+=c+this._spacing}else h+=this._spriteFont.GetSpaceWidth()*s+this._spacing}}}GetSpriteFont(){return this._spriteFont}SetBBCodeEnabled(a){a=!!a;this._isBBcodeEnabled===a||(this._isBBcodeEnabled=a,this._SetWrapChanged())}IsBBCodeEnabled(){return this._isBBcodeEnabled}SetText(a){this._text===a||(this._text=a,this._SetWrapChanged())}SetWordWrapMode(a){if(!f.has(a))throw new Error("invalid word wrap mode");this._wrapMode===a||(this._wrapMode=a,this._SetWrapChanged())}SetHorizontalAlign(b){if(!d.has(b))throw new Error("invalid alignment");this._horizontalAlign=b}SetVerticalAlign(b){if(!e.has(b))throw new Error("invalid alignment");this._verticalAlign=b}SetScale(a){this._scale===a||(this._scale=a,this._SetWrapChanged())}GetScale(){return this._scale}SetSpacing(a){this._spacing===a||(this._spacing=a,this._SetWrapChanged())}GetSpacing(){return this._spacing}SetLineHeight(a){this._lineHeight=a,this._SetWrapChanged()}GetLineHeight(){return this._lineHeight}SetOpacity(a){a=C3.clamp(a,0,1),this._color.a=a}SetColor(a){this._color.equals(a)||this._color.copy(a)}GetColor(){return this._color}GetTextWidth(){return this._MaybeWrapText(),this._wrappedText.GetMaxLineWidth()}GetTextHeight(){this._MaybeWrapText();const a=this._spriteFont.GetCharacterHeight()*this._scale,b=this._lineHeight;return this._wrappedText.GetLineCount()*(a+b)-b}}} + +"use strict";C3.Plugins.Json=class extends C3.SDKPluginBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Plugins.Json.Type=class extends C3.SDKTypeBase{constructor(a){super(a)}Release(){super.Release()}OnCreate(){}}; + +"use strict";C3.Plugins.Json.Instance=class extends C3.SDKInstanceBase{constructor(a){super(a),this._valueCache=[null,null],this._locationCache=[null,null],this._data={},this._path=[],this._currentKey="",this._currentValue=0}Release(){super.Release()}_InvalidateValueCache(){this._valueCache[0]=null,this._valueCache[1]=null}_HasValueCache(a){return null!==a&&null!==this._valueCache[0]&&(this._valueCache[0]===a||C3.arraysEqual(this._valueCache[0],a))}_GetValueCache(){return this._valueCache[1]}_UpdateValueCache(a,b){this._valueCache[0]=a,this._valueCache[1]=b}_InvalidateLocationCache(){this._locationCache[0]=null,this._locationCache[1]=null}_HasLocationCache(a){return this._locationCache[0]===a}_GetLocationCache(){return this._locationCache[1]}_UpdateLocationCache(a,b){this._locationCache[0]=a,this._locationCache[1]=b}_SetData(a){this._data=a,this._InvalidateValueCache()}_SetPath(a){this._path=this._ParsePathUnsafe(a),this._InvalidateLocationCache()}_ParsePath(a){return C3.cloneArray(this._ParsePathUnsafe(a))}_ParsePathUnsafe(a){const b=[];let d,e=!1;if(this._HasLocationCache(a))return this._GetLocationCache();"."===a[0]?(d=C3.cloneArray(this._path),a=a.slice(1)):d=[];for(const f of a)e?(b.push(f),e=!1):"\\"===f?e=!0:"."===f?(d.push(b.join("")),C3.clearArray(b)):b.push(f);return 0!==b.length&&d.push(b.join("")),this._UpdateLocationCache(a,d),d}_GetValueAtFullPath(a,b){if(this._HasValueCache(a))return this._GetValueCache();let c=this._data;for(const d of a)if(Array.isArray(c)){const a=parseInt(d,10);if(0>a||a>=c.length||!isFinite(a)){c=null;break}c=c[a]}else if("object"!=typeof c||null===c){c=null;break}else if(c.hasOwnProperty(d))c=c[d];else if(b){const a={};c[d]=a,c=a}else{c=null;break}return this._UpdateValueCache(a,c),c}_GetValue(a){const b=this._ParsePath(a);if(!b.length)return this._data;const c=b.pop(),d=this._GetValueAtFullPath(b,!1);if(Array.isArray(d)){const a=parseInt(c,10);return 0<=a&&aa||a>=e.length)&&(e[a]=b,!0)}return"object"==typeof e&&null!==e&&(e[d]=b,!0)}_DeleteKey(a){const b=this._ParsePath(a);if(!b.length)return!1;this._HasValueCache(b)&&this._InvalidateValueCache();const c=b.pop(),d=this._GetValueAtFullPath(b,!1);return!Array.isArray(d)&&"object"==typeof d&&null!==d&&(delete d[c],!0)}SaveToJson(){return{"path":this._path,"data":this._data}}LoadFromJson(a){this._InvalidateValueCache(),this._InvalidateLocationCache(),this._path=a["path"],this._data=a["data"]}_SanitizeValue(a){return"number"==typeof a?isFinite(a)?a:0:"object"==typeof a?JSON.stringify(a):a+""}GetDebuggerProperties(){let a;try{a=this._SanitizeValue(this._data)}catch(b){a="\"invalid\""}return[{title:"plugins.json.debugger.title",properties:[{name:"plugins.json.debugger.data",value:a,onedit:(a)=>{try{const b=JSON.parse(a);this._SetData(b)}catch(a){}}},{name:"plugins.json.debugger.path",value:this._path.map((a)=>a.replace(/\./g,"\\.")).join(".")}]}]}}; + +"use strict";{const a=["null","boolean","number","string","object","array"];C3.Plugins.Json.Cnds={HasKey(a){return this._HasKey(a)},CompareType(b,c){return this._GetTypeOf(b)===a[c]},CompareValue(a,b,c){return C3.compare(this._GetSafeValue(a),b,c)},IsBooleanSet(a){return!0===this._GetValue(a)},ForEach(a){const b=this._GetValue(a);if("object"!=typeof b||null===b)return!1;const c=this._runtime,d=c.GetEventSheetManager(),e=c.GetCurrentEvent(),f=e.GetSolModifiers(),g=c.GetEventStack(),h=g.GetCurrentStackFrame(),i=g.Push(e),j=this._path,k=this._currentKey,l=this._currentValue,m=this._ParsePathUnsafe(a);c.SetDebuggingEnabled(!1);for(const[c,g]of Object.entries(b))this._path=C3.cloneArray(m),this._path.push(c),this._currentKey=c,this._currentValue=g,d.PushCopySol(f),e.Retrigger(h,i),d.PopSol(f);return c.SetDebuggingEnabled(!0),this._path=j,this._currentKey=k,this._currentValue=l,g.Pop(),!1},OnParseError(){return!0}}} + +"use strict";C3.Plugins.Json.Acts={Parse(a){try{this._SetData(JSON.parse(a))}catch(a){console.warn("[JSON plugin] Failed to parse JSON data: ",a),this._SetData({}),this.Trigger(C3.Plugins.Json.Cnds.OnParseError)}},SetPath(a){this._SetPath(a)},SetValue(a,b){this._SetValue(a,b)},SetArray(a,b){let c=this._GetValue(a);Array.isArray(c)?C3.resizeArray(c,b,0):(c=[],C3.extendArray(c,b,0),this._SetValue(a,c))},SetObject(a){this._SetValue(a,{})},SetJSON(a,b){let c=null;try{c=JSON.parse(b)}catch(a){console.warn("[JSON plugin] Failed to parse JSON data: ",a),this.Trigger(C3.Plugins.Json.Cnds.OnParseError)}this._SetValue(a,c)},SetNull(a){this._SetValue(a,null)},SetBoolean(a,b){this._SetValue(a,0!==b)},ToggleBoolean(a){const b=this._GetValue(a);"boolean"==typeof b&&this._SetValue(a,!b)},AddTo(a,b){const c=this._GetValue(a);"number"==typeof c&&this._SetValue(a,c+b)},SubtractFrom(a,b){const c=this._GetValue(a);"number"==typeof c&&this._SetValue(a,c-b)},DeleteKey(a){this._DeleteKey(a)},PushValue(a,b,c){const d=this._GetValue(b);Array.isArray(d)&&(0===a?d.push(c):d.unshift(c))},PopValue(a,b){const c=this._GetValue(b);Array.isArray(c)&&(0===a?c.pop():c.shift())},InsertValue(a,b,c){const d=this._GetValue(b);Array.isArray(d)&&d.splice(c,0,a)},RemoveValues(a,b,c){const d=this._GetValue(b);Array.isArray(d)&&d.splice(c,a)}}; + +"use strict";C3.Plugins.Json.Exps={ToCompactString(){try{return JSON.stringify(this._data)}catch(a){return""}},ToBeautifiedString(){try{return JSON.stringify(this._data,null,4)}catch(a){return""}},Get(a){return this._GetSafeValue(a)},GetAsCompactString(a){const b=this._GetValue(a);return JSON.stringify(b)},GetAsBeautifiedString(a){const b=this._GetValue(a);return JSON.stringify(b,null,4)},Front(a){const b=this._GetValue(a);if(Array.isArray(b)){const a=b[0];return this._ToSafeValue(a)}return-1},Back(a){const b=this._GetValue(a);if(Array.isArray(b)){const a=b[b.length-1];return this._ToSafeValue(a)}return-1},Type(a){return this._GetTypeOf(a)},ArraySize(a){const b=this._GetValue(a);return Array.isArray(b)?b.length:-1},Path(){return this._path.map((a)=>a.replace(/\./g,"\\.")).join(".")},CurrentKey(){return this._currentKey},CurrentValue(){return this._ToSafeValue(this._currentValue)},CurrentType(){return this._JSONTypeOf(this._currentValue)}}; + +"use strict";C3.Plugins.Timeline=class extends C3.SDKPluginBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Plugins.Timeline.Type=class extends C3.SDKTypeBase{constructor(a){super(a)}Release(){super.Release()}OnCreate(){}}; + +"use strict";C3.Plugins.Timeline.Instance=class extends C3.SDKInstanceBase{constructor(a){super(a),this.GetRuntime().GetTimelineManager().SetPluginInstance(a)}Release(){super.Release()}}; + +"use strict";{let a=null,b=null;C3.Plugins.Timeline.Cnds={SetTriggerTimeline(b){a=b},GetTriggerTimeline(){return a},SetTriggerKeyframe(a){b=a},GetTriggerKeyframe(){return b},OnTimelineStarted(b){return a===b},OnTimelineStartedByName(b){const c=this._runtime.GetTimelineManager();for(const d of c.GetTimelinesByName(b))if(C3.equalsNoCase(a.GetName(),d.GetName()))return!0;return!1},OnTimelineStartedByTags(b){const c=this._runtime.GetTimelineManager();for(const d of c.GetTimelinesByTags(b))if(d.HasTags(a.GetTags()))return!0;return!1},OnAnyTimelineStarted(){return!0},OnTimelineFinished(b){return a===b},OnTimelineFinishedByName(b){for(const c of timelineManager.GetTimelinesByName(b))if(C3.equalsNoCase(a.GetName(),c.GetName()))return!0;return!1},OnTimelineFinishedByTags(b){const c=this._runtime.GetTimelineManager();for(const d of c.GetTimelinesByTags(b))if(d.HasTags(a.GetTags()))return!0;return!1},OnAnyTimelineFinished(){return!0},IsPlaying(a){return a.IsPlaying()},IsPlayingByName(a){const b=this._runtime.GetTimelineManager();for(const c of b.GetTimelinesByName(a))if(c.IsPlaying())return!0;return!1},IsPlayingByTags(a){const b=this._runtime.GetTimelineManager();for(const c of b.GetTimelinesByTags(a))if(c.IsPlaying())return!0;return!1},IsAnyPlaying(){const a=[...this._runtime.GetTimelineManager().GetTimelines()];return a?a.some((a)=>a.IsPlaying()):void 0},OnTimeSet(b){return a===b},OnTimeSetByName(b){const c=this._runtime.GetTimelineManager();for(const d of c.GetTimelinesByName(b))if(a===d)return!0;return!1},OnTimeSetByTags(b){const c=this._runtime.GetTimelineManager();for(const d of c.GetTimelinesByTags(b))if(a===d)return!0;return!1},OnAnyKeyframeReached(){return!!b},OnKeyframeReached(a,c){if(!b)return!1;if(0===b.GetTags().length||!a)return!1;const d=a?a.split(" "):[];if(0===c){for(const a of d)if(b.HasTag(a))return!0;return!1}for(const e of d)if(!b.HasTag(e))return!1;return!0}}} + +"use strict";{const a=new Map,b=(a,b)=>{for(const c of a)b.SetTrackInstance(c.trackId,c.instance)},c=()=>{const b=[];for(const[c,d]of a.entries()){const a=c.GetCurrentSol().GetInstances(),e=d.trackIds.length;for(let c=0;c 100) + { + return 100; + } + else + { + return _percentage; + } + } + + StartProgress (_process) + { + var base = this.C3Memory.Processes[_process]; + + for (var o in base) + { + if (this.HasProperty(base, o)) + { + //.... Function Call + var fnc = base[o].FunctionName; + if (fnc !== "") + { + if (window["c3_callFunction"]) + { + window["c3_callFunction"](fnc, []); + } + + this.C3Memory.Current = fnc; + this.Call(this.Conditions.OnTaskFunction); + } + } + } + } + + EvaluateProgress (_process) + { + var base = this.C3Memory.Processes[_process]; + var baseCount = this.CountProperties(base); + var targetTotal = 0; + + for (var o in base) + { + if (this.HasProperty(base, o)) + { + //.... Get Total Progress Data + targetTotal += base[o].Percentage; + } + } + + //////////////////////////// + ///// READY ARRAY DATA + //.... Base Total + var baseTotal = 100 * baseCount; + //.... Set Total Percentage + var totalPercentage = (targetTotal / baseTotal) * 100; + this.DebugLog("Target Total :: "); + this.DebugLog(targetTotal); + this.DebugLog("Base Total :: "); + this.DebugLog(baseTotal); + this.DebugLog("Total Percentage :: "); + this.DebugLog(targetTotal); + + ////////////////////////////////// + ///// RETURN TOTAL PERCENTAGE DATA + return totalPercentage; + } + + HasArrayValue (_value, _array) + { + return _array.indexOf(_value) >= 0; + } + + /////////////////////////////////////// + }; +} + +"use strict"; + +{ + C3.Plugins.CV_Process.Cnds = + { + HasTask (_process, _task) + { + var process = _process.toLowerCase(); + var task = _task.toLowerCase(); + var base = this.C3Memory.Processes; + + if ( !this.HasObject(base[process]) ) { return false; } + + return this.HasObject(base[process][task]); + }, + + OnTaskCompleted (_process) + { + var process = _process.toLowerCase(); + var base = this.C3Memory.CurrentProcess; + + return base === process; + }, + OnAnyTaskCompleted () { return true; }, + + OnProgress (_process) + { + var process = _process.toLowerCase(); + var base = this.C3Memory.CurrentProcess; + + return base === process; + }, + OnAnyProgress () { return true; }, + + OnProcessCompleted (_process) + { + var process = _process.toLowerCase(); + var base = this.C3Memory.CurrentProcess; + + return base === process; + }, + OnAnyProcessCompleted () { return true; }, + + OnStartProcess (_process) + { + var process = _process.toLowerCase(); + var base = this.C3Memory.CurrentProcess; + + return base === process; + }, + OnAnyStartProcess () { return true; }, + + IsProcessing (_process) + { + var process = _process.toLowerCase(); + var base = this.C3Memory.CurrentProcess; + + if ( base !== process ) { return false; } + else if ( !this.HasObject( this.C3Memory.ProcessDictionary[process] ) ) { return false; } + else if ( !this.HasObject( this.C3Memory.ProcessDictionary[process].IsProcessing) ) { return false; } + else + { + var toggle = this.C3Memory.ProcessDictionary[process].IsProcessing; + return toggle; + } + }, + + IsCompleted (_process) + { + var process = _process.toLowerCase(); + var base = this.C3Memory.CompletedProcess; + + return (this.HasArrayValue(process, base) ); + }, + + OnTaskFunction (_func) + { + const func = _func.toLowerCase(); + + return this.C3Memory.Current === func; + } + }; +} + +"use strict"; + +{ + C3.Plugins.CV_Process.Acts = + { + AddTask (_task) + { + var task = _task.toLowerCase(); + + this.C3Memory.TaskStack.push(task); + this.C3Memory.FuncStack.push(""); + }, + + AddSpecialTask (_task, _func) + { + var task = _task.toLowerCase(); + var func = _func.toLowerCase(); + + this.C3Memory.TaskStack.push(task); + this.C3Memory.FuncStack.push(func); + }, + + SetTaskState (_process, _task, _percentage) + { + ////////////////////////// + //// PROCESS ARGUMENT DATA + var percentage = this.ClampPercentage(_percentage); + var process = _process.toLowerCase(); + var task = _task.toLowerCase(); + + ////////////////////////// + //// ERROR CHECKING + if ( !this.HasObject(this.C3Memory.Processes[process]) ) + { + this.DebugLog("SET TASK STATE :: Cancelled due to the process \"" + process + "\" not existing."); + return; + } + if ( !this.HasObject(this.C3Memory.Processes[process][task]) ) + { + this.DebugLog("SET TASK STATE :: Cancelled due to the task \"" + task + "\" of the process \"" + process + "\", not existing."); + return; + } + + ////////////////////////// + //// GET OLD DATA + var oldPercentage = this.C3Memory.Processes[process][task].Percentage; + var oldTotalPercentage = this.C3Memory.ProcessDictionary[process].TotalPercentage; + + ////////////////////////// + //// GET OTHER DATA + var functionName = this.C3Memory.Processes[process][task].FunctionName; + + ////////////////////////// + //// WRITE DATA [TASK PERCENTAGE] + this.C3Memory.Processes[process][task].Percentage = percentage; + + ////////////////////////// + //// RE-EVALUATE PROCESS DATA + var data = this.EvaluateProgress(process); + var totalPercentage = data; + + ///////////////////////////////// + //// LOG DATA TO CONSOLE TO DEBUG + this.DebugLog(this.C3Memory); + + ////////////////////////// + //// ASSESS PROCESS DATA + if (oldTotalPercentage !== totalPercentage) + { + //////////////////////////////////////////// + //// STORE MEMORY [CURRENT PROCESS] + this.C3Memory.CurrentProcess = process; + + //////////////////////////////////////////// + //// STORE PROCESS MEMORY [TOTAL PERCENTAGE] + this.C3Memory.ProcessDictionary[process].TotalPercentage = totalPercentage; + + ///////////////////////////////////////////////// + //// STORE PROCESS TASK MEMORY [TOTAL PERCENTAGE] + this.C3Memory.ProcessDictionary[process].CurrentTask = task; + this.C3Memory.ProcessDictionary[process].CurrentTaskPercentage = percentage; + this.C3Memory.ProcessDictionary[process].CurrentTaskFunction = functionName; + + this.Call(this.Conditions.OnProgress); + this.Call(this.Conditions.OnAnyProgress); + } + ////////////////////////// + //// TRIGGER TASK COMPLETE [If Applicable] + if ( (oldPercentage !== percentage) && percentage === 100) + { + this.Call(this.Conditions.OnTaskCompleted); + this.Call(this.Conditions.OnAnyTaskCompleted); + } + ////////////////////////// + //// TRIGGER PROCESS COMPLETE [If Applicable] + if ( (oldTotalPercentage !== totalPercentage) && totalPercentage === 100) + { + this.C3Memory.ProcessDictionary[process].IsProcessing = false; + + ////////////////////////////////// + //// ADD PROCESS TO COMPLETED LIST + this.C3Memory.CompletedProcess.push(process); + + this.Call(this.Conditions.OnProcessCompleted); + this.Call(this.Conditions.OnAnyProcessCompleted); + } + }, + + StartProcess (_process) + { + ////////////////////////// + //// PROCESS ARGUMENT DATA + var process = _process.toLowerCase(); + + ////////////////////////// + //// REMOVE FROM COMPLETED + //// PROCESS LIST + var base = this.C3Memory.CompletedProcess; + if (this.HasArrayValue(process, base)) + { + var index = base.indexOf(process); + this.C3Memory.CompletedProcess.splice(index); + } + + var tasks = this.C3Memory.TaskStack; + var funcs = this.C3Memory.FuncStack; + + //....... Optional Error Check :: Start + if (!tasks.length === funcs.length) { return; } + if (tasks.length === 0) { return; } + //....... Optional Error Check :: End + + //////////////////////////////////////////// + //// STORE MEMORY [CURRENT PROCESS] + this.C3Memory.CurrentProcess = process; + + /////////////////////////////////////// + //// CREATE OR CLEAR PROCESS DICTIONARY + this.C3Memory.Processes[process] = {}; + this.C3Memory.ProcessDictionary[process] = {}; + this.C3Memory.ProcessDictionary[process].TotalPercentage = 0; + this.C3Memory.ProcessDictionary[process].CurrentTask = ""; + this.C3Memory.ProcessDictionary[process].CurrentTaskPercentage = 0; + this.C3Memory.ProcessDictionary[process].CurrentTaskFunction = ""; + this.C3Memory.ProcessDictionary[process].IsProcessing = false; + + for (var i = 0 ; i < tasks.length ; i++) + { + var curTask = tasks[i]; + var curFunc = funcs[i]; + + this.C3Memory.Processes[process][curTask] = {}; + this.C3Memory.Processes[process][curTask].Percentage = 0; + this.C3Memory.Processes[process][curTask].FunctionName = curFunc; + } + + + //..... Clear + this.C3Memory.TaskStack = []; + this.C3Memory.FuncStack = []; + + ///////////////////////////// + ///// Start Process + //..... Signal Processing toggle + this.C3Memory.ProcessDictionary[process].IsProcessing = true; + //..... Update + this.StartProgress(process); + //..... Trigger Start + this.Call(this.Conditions.OnStartProcess); + this.Call(this.Conditions.OnAnyStartProcess); + } + }; +} + +"use strict"; + +{ + C3.Plugins.CV_Process.Exps = + { + CurrentTask (_process) + { + var fallback = ""; + var process = _process.toLowerCase(); + + if ( !this.HasObject( this.C3Memory.ProcessDictionary[process] ) ) { return (fallback); } + else if ( !this.HasObject( this.C3Memory.ProcessDictionary[process].CurrentTask) ) { return (fallback); } + else + { + var output = this.C3Memory.ProcessDictionary[process].CurrentTask; + return ( output ); + } + }, + CurrentPercentage (_process) + { + var fallback = 0; + var process = _process.toLowerCase(); + + if ( !this.HasObject( this.C3Memory.ProcessDictionary[process] ) ) { return (fallback); } + else if ( !this.HasObject( this.C3Memory.ProcessDictionary[process].CurrentTaskPercentage) ) { return (fallback); } + else + { + var output = this.C3Memory.ProcessDictionary[process].CurrentTaskPercentage; + return ( output ); + } + }, + CurrentFunction (_process) + { + var fallback = ""; + var process = _process.toLowerCase(); + + if ( !this.HasObject( this.C3Memory.ProcessDictionary[process] ) ) { return (fallback); } + else if ( !this.HasObject( this.C3Memory.ProcessDictionary[process].CurrentTaskFunction) ) { return (fallback); } + else + { + var output = this.C3Memory.ProcessDictionary[process].CurrentTaskFunction; + return ( output ); + } + }, + + CurrentProcess () + { + var output = this.C3Memory.CurrentProcess; + return ( output ); + }, + TotalPercentage (_process) + { + var fallback = 0; + var process = _process.toLowerCase(); + + if ( !this.HasObject( this.C3Memory.ProcessDictionary[process] ) ) { return (fallback); } + else if ( !this.HasObject( this.C3Memory.ProcessDictionary[process].TotalPercentage) ) { return (fallback); } + else + { + var output = this.C3Memory.ProcessDictionary[process].TotalPercentage; + return ( output ); + } + } + }; +} + +"use strict"; +{ + C3.Plugins.CV_Tick = class CV_TickPlugin extends C3.SDKPluginBase + { + constructor(opts) + { + super(opts); + } + + Release() + { + super.Release(); + } + }; +} + +"use strict"; +{ + C3.Plugins.CV_Tick.Type = class CV_TickType extends C3.SDKTypeBase + { + constructor(objectClass) + { + super(objectClass); + } + + Release() + { + super.Release(); + } + + OnCreate() + {} + }; +} + +"use strict"; +{ + C3.Plugins.CV_Tick.Instance = class CV_TickInstance extends C3.SDKInstanceBase + { + constructor(inst, properties) + { + super(inst); + + + if (properties) + {} + } + + Release() + { + super.Release(); + } + + SaveToJson() + { + return {}; + } + + LoadFromJson(o) + {} + + GetDebuggerProperties() + { + return []; + } + }; +} + +"use strict"; +{ + C3.Plugins.CV_Tick.Cnds = { + EveryXTicks(tickInterval) + { + const rounded = Math.round(tickInterval); + const ticks = rounded < 1 ? 1 : rounded; + return this.GetRuntime().GetTickCount() % ticks === 0; + } + }; +} + +"use strict"; +{ + C3.Plugins.CV_Tick.Acts = { + + }; +} + +"use strict"; +{ + C3.Plugins.CV_Tick.Exps = { + + }; +} + +"use strict"; +{ + C3.Plugins.CV_Engine = class CV_EnginePlugin extends C3.SDKPluginBase + { + constructor(opts) + { + super(opts); + } + + Release() + { + super.Release(); + } + }; +} + +"use strict"; +{ + C3.Plugins.CV_Engine.Type = class CV_EngineType extends C3.SDKTypeBase + { + constructor(objectClass) + { + super(objectClass); + } + + Release() + { + super.Release(); + } + + OnCreate() + {} + }; +} + +"use strict"; +{ + C3.Plugins.CV_Engine.Instance = class CV_EngineInstance extends C3.SDKInstanceBase + { + constructor(inst, properties) + { + super(inst); + + + if (properties) + {} + } + + Release() + { + super.Release(); + } + + SaveToJson() + { + return { + // data to be saved for savegames + }; + } + + LoadFromJson(o) + { + // load state for savegames + } + + GetDebuggerProperties() + { + return []; + } + }; +} + +"use strict"; +{ + C3.Plugins.CV_Engine.Cnds = { + + }; +} + +"use strict"; +{ + C3.Plugins.CV_Engine.Acts = { + + }; +} + +"use strict"; +{ + C3.Plugins.CV_Engine.Exps = { + Map(value, fromLow, fromHigh, toLow, toHigh) + { + return (value - fromLow) * (toHigh - toLow) / (fromHigh - fromLow) + toLow; + }, + + AngleToRad(degrees) + { + return degrees * (Math.PI / 180); + }, + + RadToAngle(radians) + { + return radians * (180 / Math.PI); + }, + + Trim2(text) + { + return text.replace(/\s/g, ""); + } + }; +} + +"use strict";{C3.Plugins.TextBox=class extends C3.SDKDOMPluginBase{constructor(a){super(a,"text-input"),this.AddElementMessageHandler("click",(a,b)=>a._OnClick(b)),this.AddElementMessageHandler("dblclick",(a,b)=>a._OnDoubleClick(b)),this.AddElementMessageHandler("change",(a,b)=>a._OnChange(b))}Release(){super.Release()}}} + +"use strict";C3.Plugins.TextBox.Type=class extends C3.SDKTypeBase{constructor(a){super(a)}Release(){super.Release()}OnCreate(){}}; + +"use strict";{const a=0,b=["text","password","email","number","tel","url","textarea","search"];C3.Plugins.TextBox.Instance=class extends C3.SDKDOMInstanceBase{constructor(c,d){super(c,"text-input"),this._text="",this._placeholder="",this._title="",this._isEnabled=!0,this._isReadOnly=!1,this._spellCheck=!1,this._type="text",this._autoFontSize=!0,this._id="",d&&(this._text=d[a],this._placeholder=d[1],this._title=d[2],this.GetWorldInfo().SetVisible(d[3]),this._isEnabled=d[4],this._isReadOnly=d[5],this._spellCheck=d[6],this._type=b[d[7]],this._autoFontSize=d[8],this._id=d[9]),this.CreateElement({"type":this._type,"id":this._id})}Release(){super.Release()}GetElementState(){return{"text":this._text,"placeholder":this._placeholder,"title":this._title,"isEnabled":this._isEnabled,"isReadOnly":this._isReadOnly,"spellCheck":this._spellCheck}}async _OnClick(){this.GetScriptInterface().dispatchEvent(C3.New(C3.Event,"click",!0)),await this.TriggerAsync(C3.Plugins.TextBox.Cnds.OnClicked)}async _OnDoubleClick(){this.GetScriptInterface().dispatchEvent(C3.New(C3.Event,"dblclick",!0)),await this.TriggerAsync(C3.Plugins.TextBox.Cnds.OnDoubleClicked)}async _OnChange(a){this._text=a["text"],this.GetScriptInterface().dispatchEvent(C3.New(C3.Event,"change",!0)),await this.TriggerAsync(C3.Plugins.TextBox.Cnds.OnTextChanged)}_SetText(a){this._text===a||(this._text=a,this.UpdateElementState())}_GetText(){return this._text}_SetPlaceholder(a){this._placeholder===a||(this._placeholder=a,this.UpdateElementState())}_GetPlaceholder(){return this._placeholder}_SetTooltip(a){this._title===a||(this._title=a,this.UpdateElementState())}_GetTooltip(){return this._title}_SetEnabled(a){a=!!a;this._isEnabled===a||(this._isEnabled=a,this.UpdateElementState())}_IsEnabled(){return this._isEnabled}_SetReadOnly(a){a=!!a;this._isReadOnly===a||(this._isReadOnly=a,this.UpdateElementState())}_IsReadOnly(){return this._isReadOnly}_ScrollToBottom(){this.PostToDOMElement("scroll-to-bottom")}Draw(){}SaveToJson(){return{"t":this._text,"p":this._placeholder,"ti":this._title,"e":this._isEnabled,"r":this._isReadOnly,"sp":this._spellCheck,"type":this._type,"id":this._id}}LoadFromJson(a){this._text=a["t"],this._placeholder=a["p"],this._title=a["ti"],this._isEnabled=a["e"],this._isReadOnly=a["r"],this._spellCheck=a["sp"],this._type=a["type"],this._id=a["id"],this.UpdateElementState()}GetPropertyValueByIndex(a){return a===0?this._text:1===a?this._placeholder:2===a?this._title:4===a?this._isEnabled:5===a?this._isReadOnly:6===a?this._spellCheck:8===a?this._autoFontSize:9===a?this._id:void 0}SetPropertyValueByIndex(b,c){switch(b){case a:if(this._text===c)return;this._text=c,this.UpdateElementState();break;case 1:if(this._placeholder===c)return;this._placeholder=c,this.UpdateElementState();break;case 2:if(this._title===c)return;this._title=c,this.UpdateElementState();break;case 4:if(this._isEnabled===!!c)return;this._isEnabled=!!c,this.UpdateElementState();break;case 5:if(this._isReadOnly===!!c)return;this._isReadOnly=!!c,this.UpdateElementState();break;case 6:if(this._spellCheck===!!c)return;this._spellCheck=!!c,this.UpdateElementState();break;case 8:this._autoFontSize=!!c;break;case 9:if(this._id===c)return;this._id=c,this.UpdateElementState();}}GetDebuggerProperties(){const a=C3.Plugins.TextBox.Acts;return[{title:"plugins.textbox.name",properties:[{name:"plugins.textbox.properties.text.name",value:this._text,onedit:(b)=>this.CallAction(a.SetText,b)},{name:"plugins.textbox.properties.enabled.name",value:this._isEnabled,onedit:(b)=>this.CallAction(a.SetEnabled,b)},{name:"plugins.textbox.properties.read-only.name",value:this._isReadOnly,onedit:(b)=>this.CallAction(a.SetReadOnly,b)}]}]}GetScriptInterfaceClass(){return ITextInputInstance}};const c=new WeakMap;self.ITextInputInstance=class extends IDOMInstance{constructor(){super(),c.set(this,IInstance._GetInitInst().GetSdkInstance())}set text(a){c.get(this)._SetText(a)}get text(){return c.get(this)._GetText()}set placeholder(a){c.get(this)._SetPlaceholder(a)}get placeholder(){return c.get(this)._GetPlaceholder()}set tooltip(a){c.get(this)._SetTooltip(a)}get tooltip(){return c.get(this)._GetTooltip()}set isEnabled(a){c.get(this)._SetEnabled(a)}get isEnabled(){return c.get(this)._IsEnabled()}set isReadOnly(a){c.get(this)._SetReadOnly(a)}get isReadOnly(){return c.get(this)._IsReadOnly()}scrollToBottom(){c.get(this)._ScrollToBottom()}}} + +"use strict";C3.Plugins.TextBox.Cnds={CompareText(a,b){return 0===b?C3.equalsNoCase(this._text,a):this._text===a},OnTextChanged(){return!0},OnClicked(){return!0},OnDoubleClicked(){return!0}}; + +"use strict";C3.Plugins.TextBox.Acts={SetText(a){this._SetText(a)},SetPlaceholder(a){this._SetPlaceholder(a)},SetTooltip(a){this._SetTooltip(a)},SetVisible(a){const b=this.GetWorldInfo();a=0!==a;b.IsVisible()===a||b.SetVisible(a)},SetEnabled(a){this._SetEnabled(0!==a)},SetReadOnly(a){this._SetReadOnly(0===a)},SetFocus(){this.FocusElement()},SetBlur(){this.BlurElement()},SetCSSStyle(a,b){this.SetElementCSSStyle(a,b)},ScrollToBottom(){this._ScrollToBottom()}}; + +"use strict";C3.Plugins.TextBox.Exps={Text(){return this._text}}; + +"use strict";C3.Plugins.Text=class extends C3.SDKPluginBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Plugins.Text.Type=class extends C3.SDKTypeBase{constructor(a){super(a)}Release(){super.Release()}OnCreate(){}LoadTextures(){}ReleaseTextures(){}}; + +"use strict";{const a=[0,0,0],b=["left","center","right"],c=["top","center","bottom"],d=new C3.Rect,e=new C3.Quad;C3.Plugins.Text.Instance=class extends C3.SDKWorldInstanceBase{constructor(a,b){if(super(a),this._text="",this._enableBBcode=!0,this._faceName="Arial",this._ptSize=12,this._lineHeightOffset=0,this._isBold=!1,this._isItalic=!1,this._color=C3.New(C3.Color),this._horizontalAlign=0,this._verticalAlign=0,this._wrapByWord=!0,this._typewriterStartTime=-1,this._typewriterEndTime=-1,this._typewriterLength=0,this._webglText=C3.New(C3.Gfx.WebGLText,this._runtime.GetWebGLRenderer(),{timeout:5}),this._webglText.ontextureupdate=()=>this._runtime.UpdateRender(),this._webglText.SetIsAsync(!1),b){this._text=b[0],this._enableBBcode=!!b[1],this._faceName=b[2],this._ptSize=b[3],this._lineHeightOffset=b[4],this._isBold=!!b[5],this._isItalic=!!b[6],this._horizontalAlign=b[8],this._verticalAlign=b[9],this._wrapByWord=0===b[10];const a=b[7];this._color.setRgb(a[0],a[1],a[2]),this.GetWorldInfo().SetVisible(b[11])}this._UpdateTextSettings()}Release(){this._CancelTypewriter(),this._webglText.Release(),this._webglText=null,super.Release()}_UpdateTextSettings(){const a=this._webglText;a.SetText(this._text),a.SetBBCodeEnabled(this._enableBBcode),a.SetFontName(this._faceName),a.SetFontSize(this._ptSize),a.SetLineHeight(this._lineHeightOffset),a.SetBold(this._isBold),a.SetItalic(this._isItalic),a.SetColor(this._color),a.SetHorizontalAlignment(b[this._horizontalAlign]),a.SetVerticalAlignment(c[this._verticalAlign]),a.SetWordWrapMode(this._wrapByWord?"word":"character")}_UpdateTextSize(){const a=this.GetWorldInfo(),b=a.GetLayer(),c=b.GetRenderScale()*b.Get2DScaleFactorToZ(a.GetTotalZElevation());this._webglText.SetSize(a.GetWidth(),a.GetHeight(),c)}Draw(a){var b=Math.round;const c=this.GetWorldInfo();this._UpdateTextSize();const f=this._webglText.GetTexture();if(!f)return;const g=c.GetLayer();let h=c.GetBoundingQuad();if(0===c.GetAngle()&&0===c.GetLayer().GetAngle()&&0===c.GetTotalZElevation()){const[c,i]=g.LayerToDrawSurface(h.getTlx(),h.getTly()),[j,k]=g.LayerToDrawSurface(h.getBrx(),h.getBry()),l=c-b(c),m=i-b(i);d.set(c,i,j,k),d.offset(-l,-m),e.setFromRect(d);const[n,o]=a.GetRenderTargetSize(a.GetRenderTarget());this._runtime.GetCanvasManager().SetDeviceTransform(a,n,o),a.SetTexture(f),a.Quad3(e,this._webglText.GetTexRect()),g._SetTransform(a)}else{let c=0,d=0;this._runtime.IsPixelRoundingEnabled()&&(c=h.getTlx()-b(h.getTlx()),d=h.getTly()-b(h.getTly())),(0!=c||0!=d)&&(e.copy(h),e.offset(-c,-d),h=e),a.SetTexture(f),a.Quad3(h,this._webglText.GetTexRect())}}SaveToJson(){const a={"t":this._text,"c":this._color.toJSON(),"fn":this._faceName,"ps":this._ptSize};return this._enableBBcode&&(a["bbc"]=this._enableBBcode),0!==this._horizontalAlign&&(a["ha"]=this._horizontalAlign),0!==this._verticalAlign&&(a["va"]=this._verticalAlign),this._wrapByWord||(a["wr"]=this._wrapByWord),0!==this._lineHeightOffset&&(a["lho"]=this._lineHeightOffset),this._isBold&&(a["b"]=this._isBold),this._isItalic&&(a["i"]=this._isItalic),-1!==this._typewriterEndTime&&(a["tw"]={"st":this._typewriterStartTime,"en":this._typewriterEndTime,"l":this._typewriterLength}),a}LoadFromJson(a){if(this._CancelTypewriter(),this._text=a["t"],this._color.setFromJSON(a["c"]),this._faceName=a["fn"],this._ptSize=a["ps"],this._enableBBcode=!!a.hasOwnProperty("bbc")&&a["bbc"],this._horizontalAlign=a.hasOwnProperty("ha")?a["ha"]:0,this._verticalAlign=a.hasOwnProperty("va")?a["va"]:0,this._wrapByWord=!a.hasOwnProperty("wr")||a["wr"],this._lineHeightOffset=a.hasOwnProperty("lho")?a["lho"]:0,this._isBold=!!a.hasOwnProperty("b")&&a["b"],this._isItalic=!!a.hasOwnProperty("i")&&a["i"],a.hasOwnProperty("tw")){const b=a["tw"];this._typewriterStartTime=b["st"],this._typewriterEndTime=b["en"],this._typewriterLength=b["l"]}this._UpdateTextSettings(),-1!==this._typewriterEndTime&&this._StartTicking()}GetPropertyValueByIndex(b){return 0===b?this._text:1===b?this._enableBBcode:2===b?this._faceName:3===b?this._ptSize:4===b?this._lineHeightOffset:5===b?this._isBold:6===b?this._isItalic:7===b?(a[0]=this._color.getR(),a[1]=this._color.getG(),a[2]=this._color.getB(),a):8===b?this._horizontalAlign:9===b?this._verticalAlign:10===b?this._wrapByWord?1:0:void 0}SetPropertyValueByIndex(a,b){switch(a){case 0:if(this._text===b)return;this._text=b,this._UpdateTextSettings();break;case 1:if(this._enableBBcode===!!b)return;this._enableBBcode=!!b,this._UpdateTextSettings();break;case 2:if(this._faceName===b)return;this._faceName=b,this._UpdateTextSettings();break;case 3:if(this._ptSize===b)return;this._ptSize=b,this._UpdateTextSettings();break;case 4:if(this._lineHeightOffset===b)return;this._lineHeightOffset=b,this._UpdateTextSettings();break;case 5:if(this._isBold===!!b)return;this._isBold=!!b,this._UpdateTextSettings();break;case 6:if(this._isItalic===!!b)return;this._isItalic=!!b,this._UpdateTextSettings();break;case 7:const d=this._color,c=b;if(d.getR()===c[0]&&d.getG()===c[1]&&d.getB()===c[2])return;this._color.setRgb(c[0],c[1],c[2]),this._UpdateTextSettings();break;case 8:if(this._horizontalAlign===b)return;this._horizontalAlign=b,this._UpdateTextSettings();break;case 9:if(this._verticalAlign===b)return;this._verticalAlign=b,this._UpdateTextSettings();break;case 10:if(this._wrapByWord===(b===0))return;this._wrapByWord=b===0,this._UpdateTextSettings();}}SetPropertyColorOffsetValueByIndex(a,c,d,e){(0!==c||0!==d||0!==e)&&(7===a?(this._color.addRgb(c,d,e),this._UpdateTextSettings()):void 0)}_SetText(a){this._text===a||(this._text=a,this._webglText.SetText(a),this._runtime.UpdateRender())}GetText(){return this._text}_StartTypewriter(a,b){this._SetText(a),this._typewriterStartTime=this._runtime.GetGameTime(),this._typewriterEndTime=this._typewriterStartTime+b,this._typewriterLength=C3.BBString.StripAnyTags(a).length,this._webglText.SetDrawMaxCharacterCount(0),this._StartTicking()}_CancelTypewriter(){this._typewriterStartTime=-1,this._typewriterEndTime=-1,this._typewriterLength=0,this._webglText.SetDrawMaxCharacterCount(-1),this._StopTicking()}_FinishTypewriter(){-1===this._typewriterEndTime||(this._CancelTypewriter(),this.Trigger(C3.Plugins.Text.Cnds.OnTypewriterTextFinished),this._runtime.UpdateRender())}_SetFontFace(a){this._faceName===a||(this._faceName=a,this._webglText.SetFontName(a),this._runtime.UpdateRender())}_GetFontFace(){return this._faceName}_SetBold(a){a=!!a;this._isBold===a||(this._isBold=a,this._webglText.SetBold(a),this._runtime.UpdateRender())}_IsBold(){return this._isBold}_SetItalic(a){a=!!a;this._isItalic===a||(this._isItalic=a,this._webglText.SetItalic(a),this._runtime.UpdateRender())}_IsItalic(){return this._isItalic}_SetFontSize(a){this._ptSize===a||(this._ptSize=a,this._webglText.SetFontSize(this._ptSize),this._runtime.UpdateRender())}_GetFontSize(){return this._ptSize}_SetLineHeight(a){this._lineHeightOffset===a||(this._lineHeightOffset=a,this._UpdateTextSettings(),this._runtime.UpdateRender())}_GetLineHeight(){return this._lineHeightOffset}_SetHAlign(a){this._horizontalAlign===a||(this._horizontalAlign=a,this._UpdateTextSettings(),this._runtime.UpdateRender())}_GetHAlign(){return this._horizontalAlign}_SetVAlign(a){this._verticalAlign===a||(this._verticalAlign=a,this._UpdateTextSettings(),this._runtime.UpdateRender())}_GetVAlign(){return this._verticalAlign}_SetWrapByWord(a){a=!!a;this._wrapByWord===a||(this._wrapByWord=a,this._UpdateTextSettings(),this._runtime.UpdateRender())}_IsWrapByWord(){return this._wrapByWord}Tick(){const a=this._runtime.GetGameTime();if(a>=this._typewriterEndTime)this._CancelTypewriter(),this.Trigger(C3.Plugins.Text.Cnds.OnTypewriterTextFinished),this._runtime.UpdateRender();else{let b=C3.relerp(this._typewriterStartTime,this._typewriterEndTime,a,0,this._typewriterLength);b=Math.floor(b),b!==this._webglText.GetDrawMaxCharacterCount()&&(this._webglText.SetDrawMaxCharacterCount(b),this._runtime.UpdateRender())}}GetDebuggerProperties(){return[{title:"plugins.text.name",properties:[{name:"plugins.text.properties.text.name",value:this._text,onedit:(a)=>this._SetText(a)}]}]}GetScriptInterfaceClass(){return ITextInstance}};const f=new WeakMap,g=new Map([["left",0],["center",1],["right",2]]),h=new Map([["top",0],["center",1],["bottom",2]]),i=new Map([["word",!0],["character",!1]]);self.ITextInstance=class extends IWorldInstance{constructor(){super(),f.set(this,IInstance._GetInitInst().GetSdkInstance())}get text(){return f.get(this).GetText()}set text(a){const b=f.get(this);b._CancelTypewriter(),b._SetText(a)}typewriterText(a,b){const c=f.get(this);c._CancelTypewriter(),c._StartTypewriter(a,b)}typewriterFinish(){f.get(this)._FinishTypewriter()}set fontFace(a){f.get(this)._SetFontFace(a)}get fontFace(){return f.get(this)._GetFontFace()}set isBold(a){f.get(this)._SetBold(a)}get isBold(){return f.get(this)._IsBold()}set isItalic(a){f.get(this)._SetItalic(a)}get isItalic(){return f.get(this)._IsItalic()}set sizePt(a){f.get(this)._SetFontSize(a)}get sizePt(){return f.get(this)._GetFontSize()}set lineHeight(a){f.get(this)._SetLineHeight(a)}get lineHeight(){return f.get(this)._GetLineHeight()}set horizontalAlign(a){const b=g.get(a);if("undefined"==typeof b)throw new Error("invalid mode");f.get(this)._SetHAlign(b)}get horizontalAlign(){return b[f.get(this)._GetHAlign()]}set verticalAlign(a){const b=h.get(a);if("undefined"==typeof b)throw new Error("invalid mode");f.get(this)._SetVAlign(b)}get verticalAlign(){return c[f.get(this)._GetVAlign()]}set wordWrapMode(a){const b=i.get(a);if("undefined"==typeof b)throw new Error("invalid mode");f.get(this)._SetWrapByWord(b)}get wordWrapMode(){return f.get(this)._IsWrapByWord()?"word":"character"}}} + +"use strict";C3.Plugins.Text.Cnds={CompareText(a,b){return b?this._text===a:C3.equalsNoCase(this._text,a)},IsRunningTypewriterText(){return-1!==this._typewriterEndTime},OnTypewriterTextFinished(){return!0}}; + +"use strict";{const a=C3.New(C3.Color);C3.Plugins.Text.Acts={SetText(a){this._CancelTypewriter(),"number"==typeof a&&1e9>a&&(a=Math.round(1e10*a)/1e10),this._SetText(a.toString())},AppendText(a){this._CancelTypewriter(),"number"==typeof a&&1e9>a&&(a=Math.round(1e10*a)/1e10),a=a.toString();a&&this._SetText(this._text+a)},TypewriterText(a,b){this._CancelTypewriter(),"number"==typeof a&&1e9>a&&(a=Math.round(1e10*a)/1e10),this._StartTypewriter(a.toString(),b)},SetFontFace(a,b){let c=!1,d=!1;1===b?c=!0:2===b?d=!0:3===b?(c=!0,d=!0):void 0;a===this._faceName&&c===this._isBold&&d===this._isItalic||(this._SetFontFace(a),this._SetBold(c),this._SetItalic(d))},SetFontSize(a){this._SetFontSize(a)},SetFontColor(b){a.setFromRgbValue(b),a.clamp();this._color.equalsIgnoringAlpha(a)||(this._color.copyRgb(a),this._webglText.SetColor(this._color),this._runtime.UpdateRender())},SetWebFont(){console.warn("[Text] 'Set web font' action is deprecated and no longer has any effect")},SetEffect(a){this.GetWorldInfo().SetBlendMode(a),this._runtime.UpdateRender()},TypewriterFinish(){this._FinishTypewriter()},SetLineHeight(a){this._SetLineHeight(a)},SetHAlign(a){this._SetHAlign(a)},SetVAlign(a){this._SetVAlign(a)},SetWrapping(a){this._SetWrapByWord(0===a)}}} + +"use strict";C3.Plugins.Text.Exps={Text(){return this._text},PlainText(){return this._enableBBcode?C3.BBString.StripAnyTags(this._text):this._text},FaceName(){return this._faceName},FaceSize(){return this._ptSize},TextWidth(){return this._UpdateTextSize(),this._webglText.GetTextWidth()},TextHeight(){return this._UpdateTextSize(),this._webglText.GetTextHeight()},LineHeight(){return this._lineHeightOffset}}; + +"use strict";C3.Plugins.NinePatch=class extends C3.SDKPluginBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Plugins.NinePatch.Type=class extends C3.SDKTypeBase{constructor(a){super(a),this._textureSet=null,this._drawable=null}Release(){this.ReleaseTextures(),super.Release()}OnCreate(){this.GetImageInfo().LoadAsset(this._runtime)}async LoadTextures(){const a=this.GetImageInfo();this._drawable=await a.ExtractImageToCanvas()}CreatePatch(a,b,c,d){this._textureSet||!this._drawable||(this._textureSet=new NinePatchTextureSet(this),this._textureSet.CreateTextures(this._drawable,a,b,c,d))}ReleaseTextures(){this._textureSet&&(this._textureSet.Release(),this._textureSet=null)}GetTextureSet(){return this._textureSet}}; + +"use strict";{const a=C3.New(C3.Rect),b=C3.New(C3.Quad);C3.Plugins.NinePatch.Instance=class extends C3.SDKWorldInstanceBase{constructor(a,b){super(a),this._leftMargin=16,this._rightMargin=16,this._topMargin=16,this._bottomMargin=16,this._edges=1,this._fill=1,this._isSeamless=!0,b&&(this._leftMargin=b[0],this._rightMargin=b[1],this._topMargin=b[2],this._bottomMargin=b[3],this._edges=b[4],this._fill=b[5],this._isSeamless=!!b[8],this.GetWorldInfo().SetVisible(!!b[6])),this._sdkType.CreatePatch(this._leftMargin,this._rightMargin,this._topMargin,this._bottomMargin)}Release(){super.Release()}Draw(a){let b=this._sdkType.GetTextureSet();if(b||(this._sdkType.CreatePatch(this._leftMargin,this._rightMargin,this._topMargin,this._bottomMargin),b=this._sdkType.GetTextureSet(),!!b)){const c=this.GetWorldInfo(),d=this._leftMargin,e=this._rightMargin,f=this._topMargin,g=this._bottomMargin,h=b.GetImageWidth(),i=b.GetImageHeight(),j=h-e,k=i-g,l=c.GetBoundingQuad(),m=l.getTlx(),n=l.getTly(),o=c.GetWidth(),p=c.GetHeight(),q=this._isSeamless?1:0,r=this._edges,s=this._fill;if(0f&&this._TilePatch(a,b.GetLeftTexture(),m,n+f,d+c,p-f-g,0,0),0f&&this._TilePatch(a,b.GetRightTexture(),m+o-e-c,n+f,e+c,p-f-g,c,0),0d&&this._TilePatch(a,b.GetTopTexture(),m+d,n,o-d-e,f+c,0,0),0d&&this._TilePatch(a,b.GetBottomTexture(),m+d,n+p-g-c,o-d-e,g+c,0,c)}else 1===r&&(0f&&this._DrawPatch(a,b.GetTexture(),0,f,d,k-f,m,n+f,d,p-f-g),0f&&this._DrawPatch(a,b.GetTexture(),j,f,e,k-f,m+o-e,n+f,e,p-f-g),0d&&this._DrawPatch(a,b.GetTexture(),d,0,j-d,f,m+d,n,o-d-e,f),0d&&this._DrawPatch(a,b.GetTexture(),d,k,j-d,g,m+d,n+p-g,o-d-e,g));k>f&&j>d&&(0===s?this._TilePatch(a,b.GetFillTexture(),m+d,n+f,o-d-e,p-f-g,0,0):1===s&&this._DrawPatch(a,b.GetTexture(),d,f,j-d,k-f,m+d,n+f,o-d-e,p-f-g))}}_DrawPatch(c,d,e,f,g,h,i,j,k,l){const m=d.GetWidth(),n=d.GetHeight();c.SetTexture(d);const o=this.GetWorldInfo(),p=o.GetBoundingQuad(),q=p.getTlx(),r=p.getTly();a.set(i,j,i+k,j+l),a.offset(-q,-r),b.setFromRotatedRect(a,o.GetAngle()),b.offset(q,r),a.set(e/m,f/n,(e+g)/m,(f+h)/n),c.Quad3(b,a)}_TilePatch(c,d,e,f,g,h,i,j){const k=d.GetWidth(),l=d.GetHeight();c.SetTexture(d);const m=this.GetWorldInfo(),n=m.GetBoundingQuad(),o=n.getTlx(),p=n.getTly();a.set(e,f,e+g,f+h),a.offset(-o,-p),b.setFromRotatedRect(a,m.GetAngle()),b.offset(o,p),a.set(-i/k,-j/l,(g-i)/k,(h-j)/l),c.Quad3(b,a)}GetCurrentImageInfo(){this._objectClass.GetImageInfo()}GetPropertyValueByIndex(){}SetPropertyValueByIndex(){}}} + +"use strict";C3.Plugins.NinePatch.Cnds={}; + +"use strict";C3.Plugins.NinePatch.Acts={SetEffect(a){this.GetWorldInfo().SetBlendMode(a),this._runtime.UpdateRender()}}; + +"use strict";C3.Plugins.NinePatch.Exps={}; + +"use strict";{function a(a){const b=C3.CreateCanvas(a.width,a.height),c=b.getContext("2d");return c.drawImage(a,0,0),b}self.NinePatchTextureSet=class{constructor(a){this._sdkType=a,this._runtime=this._sdkType.GetRuntime(),this._texture=null,this._fillTexture=null,this._leftTexture=null,this._rightTexture=null,this._topTexture=null,this._bottomTexture=null,this._imageWidth=0,this._imageHeight=0,this._renderer=this._runtime.GetWebGLRenderer(),this._isLoading=!1,this._wasReleased=!1}Release(){this._renderer.IsContextLost()||(this._renderer.DeleteTexture(this._texture),this._renderer.DeleteTexture(this._fillTexture),this._renderer.DeleteTexture(this._leftTexture),this._renderer.DeleteTexture(this._rightTexture),this._renderer.DeleteTexture(this._topTexture),this._renderer.DeleteTexture(this._bottomTexture)),this._texture=null,this._fillTexture=null,this._leftTexture=null,this._rightTexture=null,this._topTexture=null,this._bottomTexture=null,this._sdkType=null,this._renderer=null,this._wasReleased=!0}WasReleased(){return this._wasReleased}CreateTextures(a,b,c,d,e){this._SliceImage(a,b,c,d,e)}HasCreatedTextures(){return!!this._texture}_SliceImage(b,c,d,e,f){if(!this._wasReleased){const g=b.width,h=b.height;this._imageWidth=g,this._imageHeight=h;const i=g-d,j=h-f,k=this._runtime.GetSampling();this._texture=this._renderer.CreateStaticTexture(a(b),{isTiled:!1,sampling:k}),i>c&&j>e&&(this._fillTexture=this._renderer.CreateStaticTexture(this._SliceSubImage(a(b),c,e,i,j),{isTiled:!0,sampling:k})),0e&&(this._leftTexture=this._renderer.CreateStaticTexture(this._SliceSubImage(a(b),0,e,c,j),{isTiled:!0,tileType:"repeat-y",sampling:k})),0e&&(this._rightTexture=this._renderer.CreateStaticTexture(this._SliceSubImage(a(b),i,e,g,j),{isTiled:!0,tileType:"repeat-y",sampling:k})),0c&&(this._topTexture=this._renderer.CreateStaticTexture(this._SliceSubImage(a(b),c,0,i,e),{isTiled:!0,tileType:"repeat-x",sampling:k})),0c&&(this._bottomTexture=this._renderer.CreateStaticTexture(this._SliceSubImage(a(b),c,j,i,h),{isTiled:!0,tileType:"repeat-x",sampling:k}))}}_SliceSubImage(a,b,c,d,e){const f=d-b,g=e-c,h=C3.CreateCanvas(f,g),i=h.getContext("2d");return i.drawImage(a,b,c,f,g,0,0,f,g),h}GetImageWidth(){return this._imageWidth}GetImageHeight(){return this._imageHeight}GetTexture(){return this._texture}GetFillTexture(){return this._fillTexture}GetLeftTexture(){return this._leftTexture}GetRightTexture(){return this._rightTexture}GetTopTexture(){return this._topTexture}GetBottomTexture(){return this._bottomTexture}}} + +"use strict";C3.Plugins.Particles=class extends C3.SDKPluginBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Plugins.Particles.Type=class extends C3.SDKTypeBase{constructor(a){super(a)}Release(){super.Release()}OnCreate(){this.GetImageInfo().LoadAsset(this._runtime)}LoadTextures(a){return this.GetImageInfo().LoadStaticTexture(a,{sampling:this._runtime.GetSampling(),isTiled:!0})}ReleaseTextures(){this.GetImageInfo().ReleaseTexture()}}; + +"use strict";{const a=C3.New(C3.Rect);C3.Plugins.Particles.Instance=class extends C3.SDKWorldInstanceBase{constructor(a,b){super(a),this._isFirstTick=!0;const c=C3.New(ParticleEngine);this._particleEngine=c,c.ononeshotfinish=()=>this._OnOneShotFinish(),this._spawnObjectClass=null,this._particleUpdateCallback=(a,b,c,d,e,f)=>this._OnParticleUpdate(a,b,c,d,e,f),this._particleDestroyCallback=(a)=>this._OnParticleDestroy(a),this._hasAnyDefaultParticle=!0,b&&(c.SetRate(b[0]),c.SetSprayCone(C3.toRadians(b[1])),c.SetSprayType(b[2]?"one-shot":"continuous-spray"),this._SetParticleObjectClass(this._runtime.GetObjectClassBySID(b[3])),c.SetInitSpeed(b[4]),c.SetInitSize(b[5]),c.SetInitOpacity(b[6]/100),c.SetGrowRate(b[7]),c.SetInitXRandom(b[8]),c.SetInitYRandom(b[9]),c.SetInitSpeedRandom(b[10]),c.SetInitSizeRandom(b[11]),c.SetGrowRandom(b[12]),c.SetAcceleration(b[13]),c.SetGravity(b[14]),c.SetLifeAngleRandom(b[15]),c.SetLifeSpeedRandom(b[16]),c.SetLifeOpacityRandom(b[17]),c.SetDestroyModeIndex(b[18]),c.SetTimeout(b[19])),this._UpdateEngineParameters(),this._spawnObjectClass&&(this._hasAnyDefaultParticle=!1),"one-shot"===c.GetSprayType()?c.CreateOneShotSpray():c.SetSpraying(!0);const d=this.GetWorldInfo();d.SetBboxChangeEventEnabled(!0),this._inst.Dispatcher().addEventListener("bboxchange",()=>{d.OverwriteBoundingBox(this._particleEngine.GetBoundingBox())}),this._StartTicking()}Release(){this._particleEngine.Release(),this._particleEngine=null,this._particleUpdateCallback=null,this._particleDestroyCallback=null,super.Release()}_SetParticleObjectClass(a){a===this.GetObjectClass()&&(a=null),this._spawnObjectClass=a,this._particleEngine.onparticlecreate=a?(a)=>this._OnParticleCreate(a):null,this._spawnObjectClass||(this._hasAnyDefaultParticle=!0)}_UpdateEngineParameters(){const a=this._particleEngine,b=this.GetWorldInfo();a.SetMasterOpacity(b.GetOpacity()),a.SetPixelRounding(this._runtime.IsPixelRoundingEnabled()),a.SetSpawnX(b.GetX()),a.SetSpawnY(b.GetY()),a.SetSpawnAngle(b.GetAngle())}_OnOneShotFinish(){this._runtime.DestroyInstance(this._inst)}Draw(b){if(this._hasAnyDefaultParticle){const c=this._objectClass.GetImageInfo(),d=c.GetTexture();if(d){const e=this.GetWorldInfo(),f=e.GetLayer(),g=a;f.GetViewportForZ(e.GetTotalZElevation(),g),b.SetTexture(d);const h=f.Get2DScaleFactorToZ(e.GetTotalZElevation());this._particleEngine.SetParticleScale(f.GetRenderScale()*h),this._particleEngine.Draw(b,c.GetTexRect(),g)}}}SaveToJson(){const a=this._particleEngine;return{"r":a.GetRate(),"sc":a.GetSprayCone(),"st":a.GetSprayType(),"isp":a.GetInitSpeed(),"isz":a.GetInitSize(),"io":a.GetInitOpacity(),"gr":a.GetGrowRate(),"xr":a.GetInitXRandom(),"yr":a.GetInitYRandom(),"spr":a.GetInitSpeedRandom(),"szr":a.GetInitSizeRandom(),"grnd":a.GetGrowRandom(),"acc":a.GetAcceleration(),"g":a.GetGravity(),"lar":a.GetLifeAngleRandom(),"lsr":a.GetLifeSpeedRandom(),"lor":a.GetLifeOpacityRandom(),"dm":a.GetDestroyModeIndex(),"to":a.GetTimeout(),"s":a.IsSpraying(),"pcc":a._GetCreateCounter(),"ft":this._isFirstTick,"p":a.GetParticles().map((a)=>a.toJSON())}}LoadFromJson(a){const b=this._particleEngine;b.SetRate(a["r"]),b.SetSprayCone(a["sc"]),b.SetSprayType(a["st"]),b.SetInitSpeed(a["isp"]),b.SetInitSize(a["isz"]),b.SetInitOpacity(a["io"]),b.SetGrowRate(a["gr"]),b.SetInitXRandom(a["xr"]),b.SetInitYRandom(a["yr"]),b.SetInitSpeedRandom(a["spr"]),b.SetInitSizeRandom(a["szr"]),b.SetGrowRandom(a["grnd"]),b.SetAcceleration(a["acc"]),b.SetGravity(a["g"]),b.SetLifeAngleRandom(a["lar"]),b.SetLifeSpeedRandom(a["lsr"]),b.SetLifeOpacityRandom(a["lor"]),b.SetDestroyModeIndex(a["dm"]),b.SetTimeout(a["to"]),b.SetSpraying(a["s"]),b._SetCreateCounter(a["pcc"]),this._isFirstTick=a["ft"];const c=a["p"];b.SetParticleCount(c.length);const d=b.GetParticles();for(let b=0,e=d.length;ba.SetSpraying(b)},{name:"plugins.particles.properties.rate.name",value:a.GetRate(),onedit:(b)=>a.SetRate(b)},{name:"plugins.particles.properties.spray-cone.name",value:C3.toDegrees(a.GetSprayCone()),onedit:(b)=>a.SetSprayCone(C3.toRadians(b))},{name:"plugins.particles.properties.speed.name",value:a.GetInitSpeed(),onedit:(b)=>a.SetInitSpeed(b)},{name:"plugins.particles.properties.size.name",value:a.GetInitSize(),onedit:(b)=>a.SetInitSize(b)},{name:"plugins.particles.properties.opacity.name",value:a.GetInitOpacity(),onedit:(b)=>a.SetInitOpacity(b)},{name:"plugins.particles.properties.grow-rate.name",value:a.GetGrowRate(),onedit:(b)=>a.SetGrowRate(b)},{name:"plugins.particles.properties.x-randomiser.name",value:a.GetInitXRandom(),onedit:(b)=>a.SetInitXRandom(b)},{name:"plugins.particles.properties.y-randomiser.name",value:a.GetInitYRandom(),onedit:(b)=>a.SetInitYRandom(b)},{name:"plugins.particles.properties.initial-speed-randomiser.name",value:a.GetInitSpeedRandom(),onedit:(b)=>a.SetInitSpeedRandom(b)},{name:"plugins.particles.properties.size-randomiser.name",value:a.GetInitSizeRandom(),onedit:(b)=>a.SetInitSizeRandom(b)},{name:"plugins.particles.properties.grow-rate-randomiser.name",value:a.GetGrowRandom(),onedit:(b)=>a.SetGrowRandom(b)},{name:"plugins.particles.properties.acceleration.name",value:a.GetAcceleration(),onedit:(b)=>a.SetAcceleration(b)},{name:"plugins.particles.properties.gravity.name",value:a.GetGravity(),onedit:(b)=>a.SetGravity(b)},{name:"plugins.particles.properties.angle-randomiser.name",value:a.GetLifeAngleRandom(),onedit:(b)=>a.SetLifeAngleRandom(b)},{name:"plugins.particles.properties.life-speed-randomiser.name",value:a.GetLifeSpeedRandom(),onedit:(b)=>a.SetLifeSpeedRandom(b)},{name:"plugins.particles.properties.opacity-randomiser.name",value:a.GetLifeOpacityRandom(),onedit:(b)=>a.SetLifeOpacityRandom(b)},{name:"plugins.particles.properties.timeout.name",value:a.GetTimeout(),onedit:(b)=>a.SetTimeout(b)}]}]}}} + +"use strict";C3.Plugins.Particles.Cnds={IsSpraying(){return this._particleEngine.IsSpraying()}}; + +"use strict";C3.Plugins.Particles.Acts={SetSpraying(a){this._particleEngine.SetSpraying(0!==a)},SetRate(a){this._particleEngine.SetRate(a),"one-shot"===this._particleEngine.GetSprayType()&&this._isFirstTick&&this._particleEngine.SetParticleCount(a)},SetParticleObject(a){this._SetParticleObjectClass(a)},UnsetParticleObject(){this._SetParticleObjectClass(null)},SetSprayCone(a){this._particleEngine.SetSprayCone(C3.toRadians(a))},SetInitSpeed(a){this._particleEngine.SetInitSpeed(a)},SetInitSize(a){this._particleEngine.SetInitSize(a)},SetInitOpacity(a){this._particleEngine.SetInitOpacity(a/100)},SetGrowRate(a){this._particleEngine.SetGrowRate(a)},SetXRandomiser(a){this._particleEngine.SetInitXRandom(a)},SetYRandomiser(a){this._particleEngine.SetInitYRandom(a)},SetSpeedRandomiser(a){this._particleEngine.SetInitSpeedRandom(a)},SetSizeRandomiser(a){this._particleEngine.SetInitSizeRandom(a)},SetGrowRateRandomiser(a){this._particleEngine.SetGrowRandom(a)},SetParticleAcc(a){this._particleEngine.SetAcceleration(a)},SetGravity(a){this._particleEngine.SetGravity(a)},SetAngleRandomiser(a){this._particleEngine.SetLifeAngleRandom(a)},SetLifeSpeedRandomiser(a){this._particleEngine.SetLifeSpeedRandom(a)},SetOpacityRandomiser(a){this._particleEngine.SetLifeOpacityRandom(a)},SetTimeout(a){this._particleEngine.SetTimeout(a)},SetEffect(a){this.GetWorldInfo().SetBlendMode(a),this._runtime.UpdateRender()}}; + +"use strict";C3.Plugins.Particles.Exps={ParticleCount(){return this._particleEngine.GetParticleCount()},Rate(){return this._particleEngine.GetRate()},SprayCone(){return C3.toDegrees(this._particleEngine.GetSprayCone())},InitSpeed(){return this._particleEngine.GetInitSpeed()},InitSize(){return this._particleEngine.GetInitSize()},InitOpacity(){return 100*this._particleEngine.GetInitOpacity()},InitGrowRate(){return this._particleEngine.GetGrowRate()},XRandom(){return this._particleEngine.GetInitXRandom()},YRandom(){return this._particleEngine.GetInitYRandom()},InitSpeedRandom(){return this._particleEngine.GetInitSpeedRandom()},InitGrowRandom(){return this._particleEngine.GetGrowRandom()},ParticleAcceleration(){return this._particleEngine.GetAcceleration()},Gravity(){return this._particleEngine.GetGravity()},ParticleAngleRandom(){return this._particleEngine.GetLifeAngleRandom()},ParticleSpeedRandom(){return this._particleEngine.GetLifeSpeedRandom()},ParticleOpacityRandom(){return this._particleEngine.GetLifeOpacityRandom()},Timeout(){return this._particleEngine.GetTimeout()}}; + +"use strict";{function b(a){return Math.random()*a-a/2}const a=new C3.Quad,c=new C3.Color,d=self.devicePixelRatio||1;let e=!1;self.Particle=class{constructor(a){this._engine=a,this._isActive=!1,this._x=0,this._y=0,this._speed=0,this._angle=0,this._opacity=1,this._lastOpacity=0,this._grow=0,this._size=0,this._halfSize=0,this._gs=0,this._age=0,this._bbox=new C3.Rect,this._userData=null,this._updateCallback=null,this._destroyCallback=null}SetEngine(a){this._engine=a}Init(a){this._isActive=!0,this._x=this._engine.GetSpawnX()+b(this._engine.GetInitXRandom()),this._y=this._engine.GetSpawnY()+b(this._engine.GetInitYRandom()),this._speed=this._engine.GetInitSpeed()+b(this._engine.GetInitSpeedRandom()),this._angle=this._engine.GetInitAngle()+b(this._engine.GetSprayCone()),this._opacity=this._engine.GetInitOpacity(),this._lastOpacity=this._opacity,this._size=this._engine.GetInitSize()+b(this._engine.GetInitSizeRandom()),this._halfSize=this._size/2,this._grow=this._engine.GetGrowRate()+b(this._engine.GetGrowRandom()),this._gs=0,this._age=0,this._UpdateBoundingBox(),a?!this._userData&&(this._userData=a(this)):(this._userData=null,this._updateCallback=null,this._destroyCallback=null)}SetUpdateCallback(a){this._updateCallback=a}SetDestroyCallback(a){this._destroyCallback=a}Destroy(){const a=this._destroyCallback;a&&a(this._userData),this._userData=null,this._updateCallback=null,this._destroyCallback=null}toJSON(){return[this._x,this._y,this._speed,this._angle,this._opacity,this._grow,this._size,this._gs,this._age]}setFromJSON(a){this._x=a[0],this._y=a[1],this._speed=a[2],this._angle=a[3],this._opacity=a[4],this._grow=a[5],this._size=a[6],this._gs=a[7],this._age=a[8],this._halfSize=this._size/2,this._UpdateBoundingBox()}Tick(c){const d=this._engine,e=this._speed*c,f=this._angle,a=Math.cos(f)*e,g=Math.sin(f)*e+this._gs*c;this._x+=a,this._y+=g;const h=this._grow*c;this._size+=h,this._halfSize=this._size/2,this._speed+=d.GetAcceleration()*c,this._gs+=d.GetGravity()*c,this._age+=c,this._UpdateBoundingBox();const i=d.GetLifeAngleRandom(),j=d.GetLifeSpeedRandom(),k=d.GetLifeOpacityRandom();let l=0;0!==i&&(l=b(i*c),this._angle+=l);0!==j&&(this._speed+=b(j*c)),0!==k&&(this._opacity=C3.clamp(this._opacity+b(k*c),0,1));const m=1<=this._size&&(2===d.GetDestroyModeIndex()?0=h)return;const i=this._size,j=i*g.GetParticleScale()*d;if(1>j)return;let k=this._x,l=this._y;g.IsPixelRounding()&&(k=0|k+.5,l=0|l+.5),j>b.GetMaxPointSize()||j1000&&C3.truncateArray(a,1000),this._isSpraying=!1}CreateOneShotSpray(){for(let a=0,b=this._rate;a1000&&C3.truncateArray(a,1000)}else if(b>c.length){const a=b-c.length;for(let b=0;b1000&&C3.truncateArray(a,1000)}_MaybeFinishOneShot(){"one-shot"===this._sprayType&&0===this._particles.length&&this._isSpraying&&(this.ononeshotfinish&&this.ononeshotfinish(),this._isSpraying=!1)}Draw(a,b,c){a.SetPointTextureCoords(b),this._color.copy(a.GetColor());const d=this._particles;for(let e=0,f=d.length;ethis._OnInstanceDestroyed(a.instance)),C3.Disposable.From(c,"afterload",()=>this._OnAfterLoad())),this._defaultControls&&this._BindEvents(),this._isEnabled&&this._StartPostTicking(),this._UpdateGravity(),this._inst.GetUnsavedDataMap().set("isPlatformBehavior",!0)}Release(){this._keyboardDisposables&&(this._keyboardDisposables.Release(),this._keyboardDisposables=null),this._lastFloorObject=null,this._wasOverJumpthru=null,super.Release()}_BindEvents(){if(!this._keyboardDisposables){const a=this._runtime.Dispatcher();this._keyboardDisposables=new C3.CompositeDisposable(C3.Disposable.From(a,"keydown",(a)=>this._OnKeyDown(a.data)),C3.Disposable.From(a,"keyup",(a)=>this._OnKeyUp(a.data)),C3.Disposable.From(a,"window-blur",()=>this._OnWindowBlur()))}}_UnBindEvents(){this._keyboardDisposables&&(this._keyboardDisposables.Release(),this._keyboardDisposables=null)}_OnInstanceDestroyed(a){this._lastFloorObject===a&&(this._lastFloorObject=null),this._wasOverJumpthru===a&&(this._wasOverJumpthru=null)}_OnKeyDown(a){switch(a["key"]){case"ArrowLeft":this._leftKey=!0;break;case"ArrowRight":this._rightKey=!0;break;case"ArrowUp":this._jumpKey=!0;}}_OnKeyUp(a){switch(a["key"]){case"ArrowLeft":this._leftKey=!1;break;case"ArrowRight":this._rightKey=!1;break;case"ArrowUp":this._jumpKey=!1,this._jumped=!1;}}_OnWindowBlur(){this._leftKey=!1,this._rightKey=!1,this._jumpKey=!1,this._jumped=!1}SaveToJson(){return{"ii":this._ignoreInput,"lfx":this._lastFloorX,"lfy":this._lastFloorY,"lfo":this._lastFloorObject?this._lastFloorObject.GetUID():-1,"am":this._animMode,"en":this._isEnabled,"fall":this._fallThrough,"ft":this._isFirstTick,"dx":this._dx,"dy":this._dy,"ms":this._maxSpeed,"acc":this._acc,"dec":this._dec,"js":this._jumpStrength,"g":this._g,"g1":this._g1,"mf":this._maxFall,"wof":this._wasOnFloor,"woj":this._wasOverJumpthru?this._wasOverJumpthru.GetUID():-1,"ga":this._ga,"edj":this._enableDoubleJump,"cdj":this._canDoubleJump,"dj":this._doubleJumped,"sus":this._jumpSustain,"dc":this._defaultControls,"cc":this._ceilingCollisionMode}}LoadFromJson(a){this._ignoreInput=a["ii"],this._lastFloorX=a["lfx"],this._lastFloorY=a["lfy"],this._loadFloorUid=a["lfo"],this._animMode=a["am"];const b=a["en"];this._fallThrough=a["fall"],this._isFirstTick=a["ft"],this._dx=a["dx"],this._dy=a["dy"],this._maxSpeed=a["ms"],this._acc=a["acc"],this._dec=a["dec"],this._jumpStrength=a["js"],this._g=a["g"],this._g1=a["g1"],this._maxFall=a["mf"],this._wasOnFloor=a["wof"],this._loadJumpthruUid=a["woj"],this._ga=a["ga"],this._enableDoubleJump=a["edj"],this._canDoubleJump=a["cdj"],this._doubleJumped=a["dj"],this._jumpSustain=a["sus"],this._defaultControls=a["dc"],this._ceilingCollisionMode=a["cc"]||0,this._leftKey=!1,this._rightKey=!1,this._jumpKey=!1,this._jumped=!1,this._simLeft=!1,this._simRight=!1,this._simJump=!1,this._sustainTime=0,this._defaultControls?this._BindEvents():this._UnBindEvents(),this._SetEnabled(b),this._UpdateGravity()}_OnAfterLoad(){this._lastFloorObject=-1===this._loadFloorUid?null:this._runtime.GetInstanceByUID(this._loadFloorUid),this._wasOverJumpthru=-1===this._loadJumpthruUid?null:this._runtime.GetInstanceByUID(this._loadJumpthruUid)}_UpdateGravity(){var a=Math.PI,b=Math.sin,c=Math.cos;this._downX=c(this._ga),this._downY=b(this._ga),this._rightX=c(this._ga-a/2),this._rightY=b(this._ga-a/2),this._downX=C3.round6dp(this._downX),this._downY=C3.round6dp(this._downY),this._rightX=C3.round6dp(this._rightX),this._rightY=C3.round6dp(this._rightY),this._g1=this._g,0>this._g&&(this._downX*=-1,this._downY*=-1,this._g=Math.abs(this._g))}_GetGDir(){return 0>this._g?-1:1}_IsOnFloor(){const a=this._inst.GetWorldInfo(),b=this._runtime.GetCollisionEngine(),c=this._inst,d=this._lastFloorObject,e=a.GetX(),f=a.GetY();if(a.OffsetXY(this._downX,this._downY),a.SetBboxChanged(),d&&b.TestOverlap(c,d)&&(!d.GetObjectClass().HasSolidBehavior()||b.IsSolidCollisionAllowed(d,c)))return a.SetXY(e,f),a.SetBboxChanged(),d;else{let d=b.TestOverlapSolid(c),g=null;if(d||0!==this._fallThrough||(g=b.TestOverlapJumpthru(c,!0)),a.SetXY(e,f),a.SetBboxChanged(),d)return b.TestOverlap(c,d)?null:(this._floorIsJumpthru=!1,d);if(g&&g.length){let a=0;for(let d=0,e=g.length;dthis._dy&&0this._maxFall&&(this._dy=this._maxFall)),a&&(this._jumped=!0)}_ApplyHorizontalAcceleration(a,b,c){const d=this._acc,e=this._dec;a===b&&(0>this._dx?(this._dx+=e*c,0this._dx&&(this._dx=0)));let f=0;return a&&!b&&(0this._dx?f=d+e:f=d),this._dx+=f*c,this._dx=C3.clamp(this._dx,-this._maxSpeed,this._maxSpeed),f}_HandleHorizontalMovement(b,c,d,e){var f=Math.abs;const g=this._inst,h=g.GetWorldInfo(),i=this._runtime.GetCollisionEngine(),j=this._downX,k=this._downY,l=this._rightX,m=this._rightY,n=this._maxSpeed;let o=!1,p=h.GetX(),q=h.GetY();const r=a(this._dx,-n,n,c,b)*l,t=a(this._dx,-n,n,c,b)*m;h.OffsetXY(l*(1this._dx?1:-1),m*(0>this._dx?1:-1),a,!1)?d&&!u&&!this._floorIsJumpthru&&(p=h.GetX(),q=h.GetY(),h.OffsetXY(j,k),i.TestOverlapSolid(g)?!i.PushOutSolid(g,-j,-k,3,!1)&&(h.SetXY(p,q),h.SetBboxChanged()):(h.SetXY(p,q),h.SetBboxChanged())):(h.SetXY(p,q),h.SetBboxChanged()),!u&&(this._dx=0)):!v&&!e&&f(this._dy)this._dy?1:-1),h*(0>this._dy?1:-1),a,p,o))e.SetXY(k,l),e.SetBboxChanged(),this._wasOnFloor=!0,p||(this._dy=0);else{this._lastFloorObject=o;const a=o.GetWorldInfo();this._lastFloorX=a.GetX(),this._lastFloorY=a.GetY(),this._floorIsJumpthru=p,p&&(i=!0),(0this._dy&&1===this._ceilingCollisionMode&&f.PushInFractional(d,g,h,o,32)}}return[i,j]}_HandleAnimationTriggers(a,b,c){"falling"!==this._animMode&&0this._dy}_IsFalling(){return 0this._SetVectorX(a)},{name:"behaviors.platform.debugger.vector-y",value:this._GetVectorY(),onedit:(a)=>this._SetVectorY(a)},{name:"behaviors.platform.properties.max-speed.name",value:this._GetMaxSpeed(),onedit:(a)=>this._SetMaxSpeed(a)},{name:"behaviors.platform.properties.acceleration.name",value:this._GetAcceleration(),onedit:(a)=>this._SetAcceleration(a)},{name:"behaviors.platform.properties.deceleration.name",value:this._GetDeceleration(),onedit:(a)=>this._SetDeceleration(a)},{name:"behaviors.platform.properties.jump-strength.name",value:this._GetJumpStrength(),onedit:(a)=>this._SetJumpStrength(a)},{name:"behaviors.platform.properties.gravity.name",value:this._GetGravity(),onedit:(a)=>this._SetGravity(a)},{name:"behaviors.platform.debugger.gravity-angle",value:C3.toDegrees(this._GetGravityAngle()),onedit:(a)=>this._SetGravityAngle(C3.toRadians(a))},{name:"behaviors.platform.properties.max-fall-speed.name",value:this._GetMaxFallSpeed(),onedit:(a)=>this._SetMaxFallSpeed(a)},{name:"behaviors.platform.debugger.animation-mode",value:["behaviors.platform.debugger.anim-"+this._animMode]},{name:"behaviors.platform.properties.enabled.name",value:this._IsEnabled(),onedit:(a)=>this._SetEnabled(a)}]}]}GetScriptInterfaceClass(){return IPlatformBehaviorInstance}};const b=new WeakMap,c=new Map([["left",0],["right",1],["jump",2]]);self.IPlatformBehaviorInstance=class extends IBehaviorInstance{constructor(){super(),b.set(this,IBehaviorInstance._GetInitInst().GetSdkInstance())}fallThrough(){b.get(this)._FallThroughJumpThru()}resetDoubleJump(a){b.get(this)._ResetDoubleJump(!!a)}simulateControl(a){const d=c.get(a);if("number"!=typeof d)throw new Error("invalid control");b.get(this)._SimulateControl(d)}get speed(){return b.get(this)._GetSpeed()}get maxSpeed(){return b.get(this)._GetMaxSpeed()}set maxSpeed(a){b.get(this)._SetMaxSpeed(a)}get acceleration(){return b.get(this)._GetAcceleration()}set acceleration(c){b.get(this)._SetAcceleration(c)}get deceleration(){return b.get(this)._GetDeceleration()}set deceleration(a){b.get(this)._GetDeceleration(a)}get jumpStrength(){return b.get(this)._GetJumpStrength()}set jumpStrength(a){b.get(this)._SetJumpStrength(s)}get maxFallSpeed(){return b.get(this)._GetMaxFallSpeed()}set maxFallSpeed(a){b.get(this)._SetMaxFallSpeed(a)}get gravity(){return b.get(this)._GetGravity()}set gravity(a){b.get(this)._SetGravity(a)}get gravityAngle(){return b.get(this)._GetGravityAngle()}set gravityAngle(a){b.get(this)._SetGravityAngle(a)}get isDoubleJumpEnabled(){return b.get(this)._IsDoubleJumpEnabled()}set isDoubleJumpEnabled(a){b.get(this)._SetDoubleJumpEnabled(!!a)}get jumpSustain(){return b.get(this)._GetJumpSustain()}set jumpSustain(a){b.get(this)._SetJumpSustain(a)}get ceilingCollisionMode(){const a=b.get(this)._GetCeilingCollisionMode();return 0===a?"stop":"preserve-momentum"}set ceilingCollisionMode(a){const c=b.get(this);if("stop"===a)c._SetCeilingCollisionMode(0);else if("preserve-momentum"===a)c._SetCeilingCollisionMode(1);else throw new Error("invalid mode")}get isOnFloor(){return b.get(this)._CheckIfStandingOnFloor()}isByWall(a){const c=b.get(this);if("left"===a)return c._IsByWall(0);if("right"===a)return c._IsByWall(1);throw new Error("invalid side")}get isJumping(){return b.get(this)._IsJumping()}get isFalling(){return b.get(this)._IsFalling()}get vectorX(){return b.get(this)._GetVectorX()}set vectorX(a){b.get(this)._SetVectorX(a)}get vectorY(){return b.get(this)._GetVectorY()}set vectorY(a){b.get(this)._SetVectorY(a)}get isDefaultControls(){return b.get(this)._IsDefaultControls()}set isDefaultControls(a){b.get(this)._SetDefaultControls(!!a)}get isIgnoringInput(){return b.get(this)._IsIgnoreInput()}set isIgnoringInput(a){b.get(this)._SetIgnoreInput(!!a)}get isEnabled(){return b.get(this)._IsEnabled()}set isEnabled(a){b.get(this)._SetEnabled(!!a)}}} + +"use strict";C3.Behaviors.Platform.Cnds={IsMoving(){return 0!==this._GetVectorX()||0!==this._GetVectorY()},CompareSpeed(a,b){return C3.compare(this._GetSpeed(),a,b)},IsOnFloor(){return this._CheckIfStandingOnFloor()},IsByWall(a){return this._IsByWall(a)},IsJumping(){return this._IsJumping()},IsFalling(){return this._IsFalling()},IsDoubleJumpEnabled(){return this._IsDoubleJumpEnabled()},OnJump(){return!0},OnFall(){return!0},OnStop(){return!0},OnMove(){return!0},OnLand(){return!0},IsEnabled(){return this._IsEnabled()}}; + +"use strict";C3.Behaviors.Platform.Acts={SetMaxSpeed(a){this._SetMaxSpeed(a)},SetAcceleration(a){this._SetAcceleration(a)},SetDeceleration(a){this._SetDeceleration(a)},SetJumpStrength(a){this._SetJumpStrength(a)},SetMaxFallSpeed(a){this._SetMaxFallSpeed(a)},SetGravity(a){this._SetGravity(a)},SimulateControl(a){this._SimulateControl(a)},SetIgnoreInput(a){this._SetIgnoreInput(!!a)},SetVectorX(a){this._SetVectorX(a)},SetVectorY(a){this._SetVectorY(a)},SetGravityAngle(b){this._SetGravityAngle(C3.toRadians(b))},SetEnabled(a){this._SetEnabled(0!==a)},FallThrough(){this._FallThroughJumpThru()},SetDoubleJumpEnabled(a){this._SetDoubleJumpEnabled(0!==a)},SetJumpSustain(a){this._SetJumpSustain(a/1e3)},SetCeilingCollision(a){this._SetCeilingCollisionMode(a)},SetDefaultControls(a){this._SetDefaultControls(a)},ResetDoubleJump(a){this._ResetDoubleJump(a)}}; + +"use strict";C3.Behaviors.Platform.Exps={Speed(){return this._GetSpeed()},MaxSpeed(){return this._GetMaxSpeed()},Acceleration(){return this._GetAcceleration()},Deceleration(){return this._GetDeceleration()},JumpStrength(){return this._GetJumpStrength()},Gravity(){return this._GetGravity()},GravityAngle(){return C3.toDegrees(this._GetGravityAngle())},MaxFallSpeed(){return this._GetMaxFallSpeed()},MovingAngle(){return C3.toDegrees(this._GetMovingAngle())},VectorX(){return this._GetVectorX()},VectorY(){return this._GetVectorY()},JumpSustain(){return 1e3*this._GetJumpSustain()}}; + +"use strict";C3.Behaviors.Timer=class extends C3.SDKBehaviorBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Behaviors.Timer.Type=class extends C3.SDKBehaviorTypeBase{constructor(a){super(a)}Release(){super.Release()}OnCreate(){}}; + +"use strict";C3.Behaviors.Timer.SingleTimer=class{constructor(a,b,c,d){this._current=C3.New(C3.KahanSum),this._current.Set(a||0),this._total=C3.New(C3.KahanSum),this._total.Set(b||0),this._duration=c||0,this._isRegular=!!d,this._isPaused=!1}GetCurrentTime(){return this._current.Get()}GetTotalTime(){return this._total.Get()}GetDuration(){return this._duration}SetPaused(a){this._isPaused=!!a}IsPaused(){return this._isPaused}Add(a){this._current.Add(a),this._total.Add(a)}HasFinished(){return this._current.Get()>=this._duration}Update(){if(this.HasFinished())if(this._isRegular)this._current.Subtract(this._duration);else return!0;return!1}SaveToJson(){return{"c":this._current.Get(),"t":this._total.Get(),"d":this._duration,"r":this._isRegular,"p":this._isPaused}}LoadFromJson(a){this._current.Set(a["c"]),this._total.Set(a["t"]),this._duration=a["d"],this._isRegular=!!a["r"],this._isPaused=!!a["p"]}},C3.Behaviors.Timer.Instance=class extends C3.SDKBehaviorInstanceBase{constructor(a){super(a),this._timers=new Map}Release(){this._timers.clear(),super.Release()}_UpdateTickState(){0({name:"$"+b[0],value:`${a(10*b[1].GetCurrentTime())/10} / ${a(10*b[1].GetDuration())/10}`}))}]}}; + +"use strict";C3.Behaviors.Timer.Cnds={OnTimer(a){const b=this._timers.get(a.toLowerCase());return!!b&&b.HasFinished()},IsTimerRunning(a){return this._timers.has(a.toLowerCase())},IsTimerPaused(a){const b=this._timers.get(a.toLowerCase());return b&&b.IsPaused()}}; + +"use strict";C3.Behaviors.Timer.Acts={StartTimer(a,b,c){const d=new C3.Behaviors.Timer.SingleTimer(0,0,a,1===b);this._timers.set(c.toLowerCase(),d),this._UpdateTickState()},StopTimer(a){this._timers.delete(a.toLowerCase()),this._UpdateTickState()},PauseResumeTimer(a,b){const c=this._timers.get(a.toLowerCase());c&&c.SetPaused(0===b)}}; + +"use strict";C3.Behaviors.Timer.Exps={CurrentTime(a){const b=this._timers.get(a.toLowerCase());return b?b.GetCurrentTime():0},TotalTime(a){const b=this._timers.get(a.toLowerCase());return b?b.GetTotalTime():0},Duration(a){const b=this._timers.get(a.toLowerCase());return b?b.GetDuration():0}}; + +"use strict";C3.Behaviors.LOS=class extends C3.SDKBehaviorBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Behaviors.LOS.Type=class extends C3.SDKBehaviorTypeBase{constructor(a){super(a),this._obstacleTypes=[]}Release(){C3.clearArray(this._obstacleTypes),super.Release()}OnCreate(){}GetObstacleTypes(){return this._obstacleTypes}FindLOSBehavior(a){const b=this.GetBehaviorType();for(const c of a.GetBehaviorInstances())if(c.GetBehaviorType()===b)return c.GetSdkInstance();return null}}; + +"use strict";{const a=[];C3.Behaviors.LOS.Instance=class extends C3.SDKBehaviorInstanceBase{constructor(a,b){super(a),this._obstacleMode=0,this._range=1e4,this._cone=C3.toRadians(360),this._useCollisionCells=!0,this._ray=new C3.Ray,b&&(this._obstacleMode=b[0],this._range=b[1],this._cone=C3.toRadians(b[2]),this._useCollisionCells=b[3])}Release(){super.Release()}SaveToJson(){return{"r":this._range,"c":this._cone,"om":this._obstacleMode,"ucc":this._useCollisionCells,"t":this.GetSdkType().GetObstacleTypes().map((a)=>a.GetSID())}}LoadFromJson(a){this._range=a["r"],this._cone=a["c"],this._obstacleMode=a["om"]||0,this._useCollisionCells=!!a["ucc"];const b=this.GetSdkType().GetObstacleTypes();C3.clearArray(b);for(const c of a["t"]){const a=this._runtime.GetObjectClassBySID(c);a&&b.push(a)}}HasLOSToInstance(a){const b=a.GetUID(),c=a.GetWorldInfo(),d=this.HasLOSTo(c.GetX(),c.GetY());return d||this._ray.hitUid===b}HasLOSTo(a,b){const c=this.GetWorldInfo();let d=c.GetAngle();return 0>c.GetWidth()&&(d+=Math.PI),this.HasLOSBetweenPositions(c.GetX(),c.GetY(),d,a,b)}HasLOSBetweenPositions(b,c,d,e,f){const g=this._range;if(C3.distanceSquared(b,c,e,f)>g*g)return!1;const h=C3.angleTo(b,c,e,f);if(C3.angleDiff(d,h)>this._cone/2)return!1;const a=this.CastRay(b,c,e,f,this._useCollisionCells);return!a.DidCollide()}_GetCollisionCandidates(b,c){if(c){const c=this.GetWorldInfo().GetLayer(),d=this._runtime.GetCollisionEngine();return 0===this._obstacleMode?d.GetSolidCollisionCandidates(c,b.rect,a):d.GetObjectClassesCollisionCandidates(c,this._GetObstacleTypes(),b.rect,a),a}if(0===this._obstacleMode){const b=this._runtime.GetSolidBehavior();return b?b.GetInstances():a}for(const d of this._GetObstacleTypes())C3.appendArray(a,d.GetInstances());return a}_GetObstacleTypes(){return this.GetSdkType().GetObstacleTypes()}CastRay(b,c,d,e,f){const g=this._ray.Set(b,c,d,e),h=this._GetCollisionCandidates(g,f),j=this._runtime.GetCollisionEngine(),k=0===this._obstacleMode,l=this._inst;for(let a=0,i=h.length;athis._range=a},{name:"behaviors.los.properties.cone-of-view.name",value:C3.toDegrees(this._cone),onedit:(a)=>this._cone=C3.toRadians(a)}]}]}}} + +"use strict";{const a=new Set,b=new Set;C3.Behaviors.LOS.Cnds={HasLOSToPosition(a,b){return this.HasLOSTo(a,b)},RayIntersected(){return this._ray.DidCollide()},HasLOSBetweenPositions(a,b,c,d,e){return this.HasLOSBetweenPositions(a,b,C3.toRadians(c),d,e)},HasLOSToObject(c){if(!c)return!1;const d=this._runtime.GetCurrentCondition(),e=d.GetObjectClass().GetCurrentSol(),f=c.GetCurrentSol(),g=e.GetInstances(),h=f.GetInstances();e.IsSelectAll()&&C3.clearArray(e._GetOwnElseInstances()),f.IsSelectAll()&&C3.clearArray(f._GetOwnElseInstances());const i=d.IsInverted(),j=this.GetSdkType();for(const d of g){let c=!1;const e=j.FindLOSBehavior(d);for(const a of h)d!==a&&C3.xor(e.HasLOSToInstance(a),i)&&(c=!0,b.add(a));c&&a.add(d)}return e.SetArrayPicked([...a]),f.SetArrayPicked([...b]),a.clear(),b.clear(),e.HasAnyInstances()}}} + +"use strict";C3.Behaviors.LOS.Acts={SetRange(a){this._range=a},SetCone(a){this._cone=C3.toRadians(a)},CastRay(a,b,c,d,e){this.CastRay(a,b,c,d,e)},AddObstacle(a){const b=this.GetSdkType().GetObstacleTypes();if(!b.includes(a)){for(const c of b)if(c.IsFamily()&&c.FamilyHasMember(a))return;b.push(a)}},ClearObstacles(){C3.clearArray(this.GetSdkType().GetObstacleTypes())}}; + +"use strict";C3.Behaviors.LOS.Exps={Range(){return this._range},ConeOfView(){return C3.toDegrees(this._cone)},HitX(){const a=this._ray;return a.DidCollide()?a.hitX:0},HitY(){const a=this._ray;return a.DidCollide()?a.hitY:0},HitDistance(){const a=this._ray;return a.DidCollide()?a.distance:0},HitUID(){const a=this._ray;return a.DidCollide()?a.hitUid:-1},NormalX(a){const b=this._ray;return b.DidCollide()?b.hitX+a*b.normalX:0},NormalY(a){const b=this._ray;return b.DidCollide()?b.hitY+a*b.normalY:0},NormalAngle(){const a=this._ray;return a.DidCollide()?C3.toDegrees(a.hitNormal):0},ReflectionX(a){const b=this._ray;return b.DidCollide()?b.hitX+a*b.reflectionX:0},ReflectionY(a){const b=this._ray;return b.DidCollide()?b.hitY+a*b.reflectionY:0},ReflectionAngle(){const a=this._ray;return a.DidCollide()?C3.toDegrees(Math.atan2(a.reflectionY,a.reflectionX)):0}}; + +"use strict";C3.Behaviors.solid=class extends C3.SDKBehaviorBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Behaviors.solid.Type=class extends C3.SDKBehaviorTypeBase{constructor(a){super(a)}Release(){super.Release()}OnCreate(){}}; + +"use strict";{const a=new Set;C3.Behaviors.solid.Instance=class extends C3.SDKBehaviorInstanceBase{constructor(a,b){super(a),this.SetEnabled(!0),b&&(this.SetEnabled(b[0]),this.SetTags(b[1]))}Release(){super.Release()}SetEnabled(a){this._inst._SetSolidEnabled(!!a)}IsEnabled(){return this._inst._IsSolidEnabled()}SetTags(a){const b=this._inst.GetSavedDataMap();if(!a.trim())return void b.delete("solidTags");let c=b.get("solidTags");c||(c=new Set,b.set("solidTags",c)),c.clear();for(const b of a.split(" "))b&&c.add(b.toLowerCase())}GetTags(){return this._inst.GetSavedDataMap().get("solidTags")||a}SaveToJson(){return{"e":this.IsEnabled()}}LoadFromJson(a){this.SetEnabled(a["e"])}GetPropertyValueByIndex(a){return a===0?this.IsEnabled():void 0}SetPropertyValueByIndex(a,b){a===0?this.SetEnabled(b):void 0}GetDebuggerProperties(){return[{title:"$"+this.GetBehaviorType().GetName(),properties:[{name:"behaviors.solid.properties.enabled.name",value:this.IsEnabled(),onedit:(a)=>this.SetEnabled(a)}]}]}}} + +"use strict";C3.Behaviors.solid.Cnds={IsEnabled(){return this.IsEnabled()}}; + +"use strict";C3.Behaviors.solid.Acts={SetEnabled(a){this.SetEnabled(a)},SetTags(a){this.SetTags(a)}}; + +"use strict";C3.Behaviors.solid.Exps={}; + +"use strict";C3.Behaviors.Persist=class extends C3.SDKBehaviorBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Behaviors.Persist.Type=class extends C3.SDKBehaviorTypeBase{constructor(a){super(a)}Release(){super.Release()}OnCreate(){}}; + +"use strict";C3.Behaviors.Persist.Instance=class extends C3.SDKBehaviorInstanceBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Behaviors.Persist.Cnds={}; + +"use strict";C3.Behaviors.Persist.Acts={}; + +"use strict";C3.Behaviors.Persist.Exps={}; + +"use strict";C3.Behaviors.Bullet=class extends C3.SDKBehaviorBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Behaviors.Bullet.Type=class extends C3.SDKBehaviorTypeBase{constructor(a){super(a)}Release(){super.Release()}OnCreate(){}}; + +"use strict";{C3.Behaviors.Bullet.Instance=class extends C3.SDKBehaviorInstanceBase{constructor(b,c){var d=Math.abs;super(b);const e=this.GetWorldInfo();this._speed=0,this._acc=0,this._g=0,this._bounceOffSolid=!1,this._setAngle=!1,this._isStepping=!1,this._isEnabled=!0,this._dx=0,this._dy=0,this._lastX=e.GetX(),this._lastY=e.GetY(),this._lastKnownAngle=e.GetAngle(),this._travelled=0,this._stepSize=Math.min(d(e.GetWidth()),d(e.GetHeight())/2),this._stopStepping=!1,c&&(this._speed=c[0],this._acc=c[1],this._g=c[2],this._bounceOffSolid=!!c[3],this._setAngle=!!c[4],this._isStepping=!!c[5],this._isEnabled=!!c[6]);const f=e.GetAngle();this._dx=Math.cos(f)*this._speed,this._dy=Math.sin(f)*this._speed,this._isEnabled&&(this._StartTicking(),this._bounceOffSolid&&this._StartPostTicking())}Release(){super.Release()}SaveToJson(){const a={"dx":this._dx,"dy":this._dy,"lx":this._lastX,"ly":this._lastY,"lka":this._lastKnownAngle,"t":this._travelled};return 0!==this._acc&&(a["acc"]=this._acc),0!==this._g&&(a["g"]=this._g),this._isStepping&&(a["st"]=this._isStepping),this._isEnabled||(a["e"]=this._isEnabled),this._bounceOffSolid&&(a["bos"]=this._bounceOffSolid),this._setAngle&&(a["sa"]=this._setAngle),a}LoadFromJson(a){this._dx=a["dx"],this._dy=a["dy"],this._lastX=a["lx"],this._lastY=a["ly"],this._lastKnownAngle=a["lka"],this._travelled=a["t"],this._acc=a.hasOwnProperty("acc")?a["acc"]:0,this._g=a.hasOwnProperty("g")?a["g"]:0,this._isStepping=!!a.hasOwnProperty("st")&&a["st"],this._bounceOffSolid=!!a.hasOwnProperty("bos")&&a["bos"],this._setAngle=!!a.hasOwnProperty("sa")&&a["sa"],this._SetEnabled(!a.hasOwnProperty("e")||a["e"])}Tick(){var b=Math.sin,c=Math.cos;if(!this._isEnabled)return;const d=this._runtime.GetDt(this._inst),e=this._inst.GetWorldInfo();if(e.GetAngle()!==this._lastKnownAngle){const a=e.GetAngle();if(this._setAngle){const d=C3.distanceTo(0,0,this._dx,this._dy);this._dx=c(a)*d,this._dy=b(a)*d}this._lastKnownAngle=a}let f=0,g=0;if(0!==this._acc){let h=C3.distanceTo(0,0,this._dx,this._dy),i=0;i=0===this._dx&&0===this._dy?e.GetAngle():C3.angleTo(0,0,this._dx,this._dy),h+=this._acc*d,f=c(i)*this._acc,g=b(i)*this._acc,0>h&&(h=0,f=0,g=0),this._dx=c(i)*h,this._dy=b(i)*h}if(0!==this._g&&(this._dy+=this._g*d,g+=this._g),this._lastX=e.GetX(),this._lastY=e.GetY(),0!==this._dx||0!==this._dy){const b=this._dx*d+.5*f*d*d,c=this._dy*d+.5*g*d*d,a=C3.distanceTo(0,0,b,c);if(this._MoveBy(b,c,a),this._travelled+=a,this._setAngle&&(0!=b||0!=c)){const d=C3.angleTo(0,0,b,c);e.SetAngle(d),this._lastKnownAngle=e.GetAngle()}e.SetBboxChanged()}}_MoveBy(b,c,d){const e=this.GetWorldInfo();if(!this._isStepping||d<=this._stepSize)return e.OffsetXY(b,c),e.SetBboxChanged(),void(this._isStepping&&this.Trigger(C3.Behaviors.Bullet.Cnds.OnStep));this._stopStepping=!1;const f=e.GetX(),g=e.GetY(),h=C3.angleTo(0,0,b,c),a=Math.cos(h)*this._stepSize,j=Math.sin(h)*this._stepSize,k=Math.floor(d/this._stepSize);for(let h=1;h<=k;++h)if(e.SetXY(f+a*h,g+j*h),e.SetBboxChanged(),this.Trigger(C3.Behaviors.Bullet.Cnds.OnStep),this._inst.IsDestroyed()||this._stopStepping)return;e.SetXY(f+b,g+c),e.SetBboxChanged(),this.Trigger(C3.Behaviors.Bullet.Cnds.OnStep)}PostTick(){if(this._isEnabled&&this._bounceOffSolid&&(0!==this._dx||0!==this._dy)){const a=this._runtime.GetDt(this._inst),b=this._inst.GetWorldInfo(),c=this._runtime.GetCollisionEngine(),d=c.TestOverlapSolid(this._inst);if(d){c.RegisterCollision(this._inst,d);const e=C3.distanceTo(0,0,this._dx,this._dy),f=c.CalculateBounceAngle(this._inst,this._lastX,this._lastY);this._dx=Math.cos(f)*e,this._dy=Math.sin(f)*e,b.OffsetXY(this._dx*a,this._dy*a),b.SetBboxChanged(),this._setAngle&&(b.SetAngle(f),this._lastKnownAngle=b.GetAngle(),b.SetBboxChanged()),c.PushOutSolid(this._inst,this._dx/e,this._dy/e,Math.max(2.5*e*a,30))||c.PushOutSolidNearest(this._inst,100)}}}GetPropertyValueByIndex(a){return a===0?this._GetSpeed():1===a?this._GetAcceleration():2===a?this._GetGravity():4===a?this._setAngle:5===a?this._isStepping:6===a?this._IsEnabled():void 0}SetPropertyValueByIndex(a,b){a===0?this._SetSpeed(b):1===a?this._acc=b:2===a?this._g=b:4===a?this._setAngle=!!b:5===a?this._isStepping=!!b:6===a?this._SetEnabled(!!b):void 0}_SetSpeed(b){const c=C3.angleTo(0,0,this._dx,this._dy);this._dx=Math.cos(c)*b,this._dy=Math.sin(c)*b}_GetSpeed(){return C3.round6dp(C3.distanceTo(0,0,this._dx,this._dy))}_SetAcceleration(b){this._acc=b}_GetAcceleration(){return this._acc}_SetGravity(a){this._g=a}_GetGravity(){return this._g}_SetAngleOfMotion(b){const a=C3.distanceTo(0,0,this._dx,this._dy);this._dx=Math.cos(b)*a,this._dy=Math.sin(b)*a}_GetAngleOfMotion(){return C3.angleTo(0,0,this._dx,this._dy)}_SetBounceOffSolids(a){a=!!a;this._bounceOffSolid===a||(this._bounceOffSolid=a,this._isEnabled&&(this._bounceOffSolid?this._StartPostTicking():this._StopPostTicking()))}_IsBounceOffSolids(){return this._bounceOffSolid}_SetDistanceTravelled(a){this._travelled=a}_GetDistanceTravelled(){return this._travelled}_SetEnabled(a){this._isEnabled=!!a,this._isEnabled?(this._StartTicking(),this._bounceOffSolid&&this._StartPostTicking()):(this._StopTicking(),this._StopPostTicking())}_IsEnabled(){return this._isEnabled}GetDebuggerProperties(){return[{title:"$"+this.GetBehaviorType().GetName(),properties:[{name:"behaviors.bullet.debugger.vector-x",value:this._dx,onedit:(a)=>this._dx=a},{name:"behaviors.bullet.debugger.vector-y",value:this._dy,onedit:(a)=>this._dy=a},{name:"behaviors.bullet.properties.speed.name",value:this._GetSpeed(),onedit:(a)=>this._SetSpeed(a)},{name:"behaviors.bullet.debugger.angle-of-motion",value:C3.toDegrees(this._GetAngleOfMotion())},{name:"behaviors.bullet.properties.gravity.name",value:this._GetGravity(),onedit:(a)=>this._SetGravity(a)},{name:"behaviors.bullet.properties.acceleration.name",value:this._GetAcceleration(),onedit:(a)=>this._SetAcceleration(a)},{name:"behaviors.bullet.debugger.distance-travelled",value:this._GetDistanceTravelled()},{name:"behaviors.bullet.properties.enabled.name",value:this._IsEnabled(),onedit:(a)=>this._SetEnabled(a)}]}]}GetScriptInterfaceClass(){return IBulletBehaviorInstance}};const c=new WeakMap;self.IBulletBehaviorInstance=class extends IBehaviorInstance{constructor(){super(),c.set(this,IBehaviorInstance._GetInitInst().GetSdkInstance())}get speed(){return c.get(this)._GetSpeed()}set speed(a){c.get(this)._SetSpeed(a)}get acceleration(){return c.get(this)._GetAcceleration()}set acceleration(b){c.get(this)._SetAcceleration(b)}get gravity(){return c.get(this)._GetGravity()}set gravity(a){c.get(this)._SetGravity(a)}get angleOfMotion(){return c.get(this)._GetAngleOfMotion()}set angleOfMotion(b){c.get(this)._SetAngleOfMotion(b)}get bounceOffSolids(){return c.get(this)._IsBounceOffSolids()}set bounceOffSolids(a){c.get(this)._SetBounceOffSolids(!!a)}get distanceTravelled(){return c.get(this)._GetDistanceTravelled()}set distanceTravelled(a){c.get(this)._SetDistanceTravelled(a)}get isEnabled(){return c.get(this)._IsEnabled()}set isEnabled(a){c.get(this)._SetEnabled(a)}}} + +"use strict";C3.Behaviors.Bullet.Cnds={CompareSpeed(a,b){const c=Math.sqrt(this._dx*this._dx+this._dy*this._dy);return C3.compare(c,a,b)},CompareTravelled(a,b){return C3.compare(this._GetDistanceTravelled(),a,b)},OnStep(){return!0},IsEnabled(){return this._IsEnabled()}}; + +"use strict";C3.Behaviors.Bullet.Acts={SetSpeed(a){this._SetSpeed(a)},SetAcceleration(b){this._SetAcceleration(b)},SetGravity(a){this._SetGravity(a)},SetAngleOfMotion(b){this._SetAngleOfMotion(C3.toRadians(b))},Bounce(a){var b=Math.max;if(a){const c=a.GetFirstPicked(this._inst);if(c){const a=this._inst.GetWorldInfo(),d=this._runtime.GetCollisionEngine(),e=this._runtime.GetDt(this._inst),f=C3.distanceTo(0,0,this._dx,this._dy),g=d.CalculateBounceAngle(this._inst,this._lastX,this._lastY,c);this._dx=Math.cos(g)*f,this._dy=Math.sin(g)*f,a.OffsetXY(this._dx*e,this._dy*e),a.SetBboxChanged(),this._setAngle&&(a.SetAngle(g),this._lastKnownAngle=a.GetAngle(),a.SetBboxChanged()),0!==f&&(this._bounceOffSolid?!d.PushOutSolid(this._inst,this._dx/f,this._dy/f,b(2.5*f*e,30))&&d.PushOutSolidNearest(this._inst,100):d.PushOut(this._inst,this._dx/f,this._dy/f,b(2.5*f*e,30),c))}}},SetBounceOffSolids(a){this._SetBounceOffSolids(a)},SetDistanceTravelled(a){this._SetDistanceTravelled(a)},SetEnabled(a){this._SetEnabled(a)},StopStepping(){this._stopStepping=!0}}; + +"use strict";C3.Behaviors.Bullet.Exps={Speed(){return this._GetSpeed()},Acceleration(){return this._GetAcceleration()},AngleOfMotion(){return C3.toDegrees(this._GetAngleOfMotion())},DistanceTravelled(){return this._GetDistanceTravelled()},Gravity(){return this._GetGravity()}}; + +"use strict";C3.Behaviors.Fade=class extends C3.SDKBehaviorBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Behaviors.Fade.Type=class extends C3.SDKBehaviorTypeBase{constructor(a){super(a)}Release(){super.Release()}OnCreate(){}}; + +"use strict";{C3.Behaviors.Fade.Instance=class extends C3.SDKBehaviorInstanceBase{constructor(a,b){super(a),this._fadeInTime=0,this._waitTime=0,this._fadeOutTime=0,this._destroy=!0,this._activeAtStart=!0,this._setMaxOpacity=!1,this._stage=0,this._stageTime=C3.New(C3.KahanSum),this._maxOpacity=this._inst.GetWorldInfo().GetOpacity()||1,b&&(this._fadeInTime=b[0],this._waitTime=b[1],this._fadeOutTime=b[2],this._destroy=!!b[3],this._activeAtStart=!!b[4],this._stage=this._activeAtStart?0:3),this._activeAtStart&&(0===this._fadeInTime?(this._stage=1,0===this._waitTime&&(this._stage=2)):(this._inst.GetWorldInfo().SetOpacity(0),this._runtime.UpdateRender())),this._StartTicking()}Release(){super.Release()}SaveToJson(){return{"fit":this._fadeInTime,"wt":this._waitTime,"fot":this._fadeOutTime,"d":this._destroy,"s":this._stage,"st":this._stageTime.Get(),"mo":this._maxOpacity}}LoadFromJson(a){this._fadeInTime=a["fit"],this._waitTime=a["wt"],this._fadeOutTime=a["fot"],this._destroy=a["d"],this._stage=a["s"],this._stageTime.Set(a["st"]),this._maxOpacity=a["mo"]}Tick(){const a=this._runtime.GetDt(this._inst);this._stageTime.Add(a);const b=this._inst.GetWorldInfo();0===this._stage&&(b.SetOpacity(this._stageTime.Get()/this._fadeInTime)*this._maxOpacity,this._runtime.UpdateRender(),b.GetOpacity()>=this._maxOpacity&&(b.SetOpacity(this._maxOpacity),this._stage=1,this._stageTime.Reset(),this.Trigger(C3.Behaviors.Fade.Cnds.OnFadeInEnd))),1===this._stage&&this._stageTime.Get()>=this._waitTime&&(this._stage=2,this._stageTime.Reset(),this.Trigger(C3.Behaviors.Fade.Cnds.OnWaitEnd)),2===this._stage&&0!==this._fadeOutTime&&(b.SetOpacity(this._maxOpacity-this._stageTime.Get()/this._fadeOutTime*this._maxOpacity),this._runtime.UpdateRender(),0>=b.GetOpacity()&&(this._stage=3,this._stageTime.Reset(),this.Trigger(C3.Behaviors.Fade.Cnds.OnFadeOutEnd),this._destroy&&this._runtime.DestroyInstance(this._inst)))}Start(){this._stage=0,this._stageTime.Reset(),0===this._fadeInTime?(this._stage=1,0===this._waitTime&&(this._stage=2)):(this._inst.GetWorldInfo().SetOpacity(0),this._runtime.UpdateRender())}GetPropertyValueByIndex(a){return a===0?this._fadeInTime:1===a?this._waitTime:2===a?this._fadeOutTime:3===a?this._destroy:void 0}SetPropertyValueByIndex(a,b){a===0?this._fadeInTime=b:1===a?this._waitTime=b:2===a?this._fadeOutTime=b:3===a?this._destroy=!!b:void 0}GetDebuggerProperties(){return[{title:"$"+this.GetBehaviorType().GetName(),properties:[{name:"behaviors.fade.properties.fade-in-time.name",value:this._fadeInTime,onedit:(a)=>this._fadeInTime=a},{name:"behaviors.fade.properties.wait-time.name",value:this._waitTime,onedit:(a)=>this._waitTime=a},{name:"behaviors.fade.properties.fade-out-time.name",value:this._fadeOutTime,onedit:(a)=>this._fadeOutTime=a},{name:"behaviors.fade.debugger.stage",value:["behaviors.fade.debugger."+["fade-in","wait","fade-out","done"][this._stage]]}]}]}}} + +"use strict";C3.Behaviors.Fade.Cnds={OnFadeOutEnd(){return!0},OnFadeInEnd(){return!0},OnWaitEnd(){return!0}}; + +"use strict";C3.Behaviors.Fade.Acts={StartFade(){this._activeAtStart||this._setMaxOpacity||(this._maxOpacity=this._inst.GetWorldInfo().GetOpacity()||1,this._setMaxOpacity=!0),3===this._stage&&this.Start()},RestartFade(){this.Start()},SetFadeInTime(a){0>a&&(a=0),this._fadeInTime=a},SetWaitTime(a){0>a&&(a=0),this._waitTime=a},SetFadeOutTime(a){0>a&&(a=0),this._fadeOutTime=a}}; + +"use strict";C3.Behaviors.Fade.Exps={FadeInTime(){return this._fadeInTime},WaitTime(){return this._waitTime},FadeOutTime(){return this._fadeOutTime}}; + +"use strict"; + +{ + C3.Behaviors.aekiro_gameobject = class MyBehavior extends C3.SDKBehaviorBase + { + constructor(opts) + { + super(opts); + } + + Release() + { + super.Release(); + } + }; +} + + + +function EventManager(inst){ + this.map = {}; + this.inst = inst; +} + +EventManager.prototype.constructor = EventManager; + +EventManager.prototype.on = function (eventName,callback) { + if(!this.map[eventName]){ + this.map[eventName] = []; + } + this.map[eventName].push(callback); +}; + +EventManager.prototype.emit = function (eventName,options) { + var callbacks = this.map[eventName]; + if(callbacks){ + for (var i = 0,l=callbacks.length; i < l; i++) { + callbacks[i](options); + } + } + + //bubble the event up the hierarchy + if(this.inst){ + var go = this.inst.GetUnsavedDataMap().aekiro_gameobject; + if(go.parent){ + go.parent.GetUnsavedDataMap().aekiro_gameobject.eventManager.emit(eventName,options); + } + } +}; + + +var aekiro_goManager = { + gos : {}, + haltNext:false, + isRegistering:false, + eventManager: new EventManager(), + lastLayout:0, + + init : function(runtime,beh){ + if(this.runtime)return; + this.runtime = runtime; + var _self = this; + + //this is used instead of Release(), because Release() comes after beforelayoutstart and clears everything that was setup. + this.runtime.Dispatcher().addEventListener("instancedestroy", function(e){ + //if(!runtime.GetLayoutManager().IsEndingLayout())return; + + var go = e.instance.GetUnsavedDataMap().aekiro_gameobject; + if(go){ + go.Release2(); + } + }); + + var layouts = this.runtime.GetLayoutManager().GetAllLayouts(); + for (var i = 0, l= layouts.length; i < l; i++) { + layouts[i]._iLayout.addEventListener("beforelayoutstart",function(){ + console.log("aekiro_goManager: beforelayoutstart"); + //console.log(_self.gos); + _self.register(); + }); + } + + }, + + clean : function(){ + var key; + for(key in this.gos){ + if(this.gos[key].IsDestroyed()){ + console.log("az"); + this.removeGO(key); + } + } + }, + + clean2 : function(){ + var key; + for(key in this.gos){ + if(!this.gos[key].GetObjectClass().IsGlobal()){ + this.removeGO(key); + //remove from its parent's children list + //this.removeFromParent(); + + /*var runtime = this.GetRuntime(); + for (var i = 0, l= this.children.length; i < l; i++) { + runtime.DestroyInstance(this.children[i]); + } + this.children.length = 0;*/ + } + } + }, + + addGO : function(inst){ + if(this.haltNext)return; + if(!inst)return; + + var aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + + if(!aekiro_gameobject.name){ + aekiro_gameobject.name = "o"+inst.GetUID(); + } + /*if(!name){ + console.error("Aekiro Hierarchy: object of uid=%s has no name !",inst.uid); + return; + }*/ + var name = aekiro_gameobject.name; + if(this.gos.hasOwnProperty(name)){ + console.error("Aekiro Hierarchy: GameObject already exist with name: %s !",name); + return; + } + + this.gos[name] = inst; + }, + + removeGO : function(name){ + delete this.gos[name]; + }, + + createInstance : function (objectClass,layer,x,y){ + var inst = this.runtime.CreateInstance(objectClass,layer,x,y); + const b = this.runtime.GetEventSheetManager(); + b.BlockFlushingInstances(!0); + //inst._TriggerOnCreated(); + b.BlockFlushingInstances(!1), + //if(!doNotChangeCurrentSelection){ + objectClass.GetCurrentSol().SetSinglePicked(inst); + return inst; + }, + + clone : function (template,name,parent,layer, x, y){ + if(this.gos[name]){ + console.error("Aekiro GameObject: GameObject already exist with name: %s !",name); + return; + } + + if (typeof parent === 'string'){ + parent = this.gos[parent]; + } + + //the x,y are global and clone expect locals, so transform xy into locals in parent space + if(parent){ + var wp = parent.GetWorldInfo(); + var res = this.globalToLocal3(x,y,0,wp.GetX("g"),wp.GetY("g"),wp.GetAngle("g")); + x = res.x; + y = res.y; + } + + var inst = this._clone(template,name,parent,layer,x,y); + + inst.GetUnsavedDataMap().aekiro_gameobject.children_update(); + + return inst; + }, + + _clone : function (t_node,name,parent,layer, x, y){ + + //haltNext is used to skip some functions executed on the instance creation + this.haltNext = true; + var inst = this.createInstance(t_node.type, layer); + this.haltNext = false; + + var b; + try { + b = JSON.parse(t_node.json); + } catch (a) { + return void console.error("Failed to load from JSON string: ", a); + } + inst.LoadFromJson(b,!0); + + var aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + inst.GetUnsavedDataMap().zindex = t_node.zindex; + inst.GetSdkInstance().CallAction(aekiro_gameobject.acts.MoveToLayer,layer); + + + aekiro_gameobject.name = ""; + if(name)aekiro_gameobject.name = name; + aekiro_gameobject.onCreateInit(); + + if(parent){ + parent.GetUnsavedDataMap().aekiro_gameobject.children_add(inst); + } + + var wi = inst.GetWorldInfo(); + wi.SetX(x); + wi.SetY(y); + wi.SetBboxChanged(); + + //we put the trigger after the json state is applied, so that any modif happening in the eventsheet onCreated wont be overrided by the LoadFromJsonString + inst._TriggerOnCreated(); + + + var child; + for (var i = 0, l= t_node.children.length; i < l; i++) { + child = t_node.children[i]; + this._clone(child,null,inst, layer, child.x, child.y); + } + + + + + return inst; + }, + + globalToLocal3: function(x,y,a,p_x,p_y,p_angle){ + var res = {}; + res.x = (x-p_x)*Math.cos(p_angle) + (y-p_y)*Math.sin(p_angle); + res.y = -(x-p_x)*Math.sin(p_angle) + (y-p_y)*Math.cos(p_angle); + res.angle = a - p_angle; + return res; + }, + + register:function(){ + /*if(this.isRegistering)return; + this.isRegistering = true;*/ + //console.log(this.gos); + var key, go, aekiro_gameobject; + var parentSameLayer = {}; + for(key in this.gos){ + go = this.gos[key]; + aekiro_gameobject = go.GetUnsavedDataMap().aekiro_gameobject; + if(aekiro_gameobject.parentName && this.gos[aekiro_gameobject.parentName]){ + this.gos[aekiro_gameobject.parentName].GetUnsavedDataMap().aekiro_gameobject.children_add(go); + } + if(aekiro_gameobject.parentSameLayer){ + parentSameLayer[key] = go; + } + } + + for(key in parentSameLayer){ + go = parentSameLayer[key]; + aekiro_gameobject = go.GetUnsavedDataMap().aekiro_gameobject; + aekiro_gameobject.children_addFromLayer(aekiro_gameobject.GetWorldInfo().GetLayer()); + } + + //the onCreated trigger is executed before the children_register; so when a modif is applied to the parent on the trigger, the chidlren dont get updated + for(key in this.gos){ + this.gos[key].GetUnsavedDataMap().aekiro_gameobject.children_update(); + } + + console.log("childrenRegistred"); + this.eventManager.emit("childrenRegistred"); + } + +} + + +"use strict"; + +{ + C3.Behaviors.aekiro_gameobject.Type = class MyBehaviorType extends C3.SDKBehaviorTypeBase + { + constructor(behaviorType) + { + super(behaviorType); + } + + Release() + { + super.Release(); + } + + OnCreate() + { + } + }; +} + + +"use strict"; +{ +C3.Behaviors.aekiro_gameobject.Instance = class MyBehaviorInstance extends C3.SDKBehaviorInstanceBase { + constructor(behInst, properties) + { + super(behInst); + + //properties + if (properties){ + this.name = properties[0]; + this.parentName = properties[1]; + this.parentSameLayer = properties[2]; + } + + //******************** + var self = this; + this.GetObjectInstance().GetUnsavedDataMap().aekiro_gameobject = this; + this.inst = this.GetObjectInstance(); + this.wi = this.GetWorldInfo(); + this.acts = this.GetObjectInstance().GetPlugin().constructor.Acts; + + + this.eventManager = new EventManager(this.inst); + this.goManager = aekiro_goManager; + /*this.eventManager.on("childrenAdded",function(){ + console.log("onChildrenAdded " + self.GetObjectInstance().GetUID()); + });*/ + + this.userName = this.name?this.name:null; + this.areChildrenRegistred = false; + this.children = []; + this.parent = null; + this.local = { + x : this.wi.GetX("g"), + y : this.wi.GetY("g"), + angle: this.wi.GetAngle("g"), + _sinA: Math.sin(this.wi.GetAngle("g")), + _cosA: Math.cos(this.wi.GetAngle("g")) + }; + this.overrideBuiltin = true; + this.updateHierarchy = true; + + + + this.overrideWorldInfo(); + this.goManager.init(this.GetRuntime(),this.GetBehaviorType().GetBehavior()); + //if(this.goManager.haltNext)return; + this.goManager.addGO(this.inst); + + this.prev = { + x : this.wi.GetX("g"), + y : this.wi.GetY("g"), + angle : this.wi.GetAngle("g"), + width: this.wi.GetWidth(), + height: this.wi.GetHeight() + }; + + //console.log(this.GetBehaviorType().GetBehavior().GetInstances()); + //console.log(this); + + this._StartTicking() + console.log("constructor gameobject"); + } + + + PostCreate(){ + //console.log("PostCreate gameobject"); + } + + overrideWorldInfo(){ + if(this.isWorldInfoOverrided)return; + this.isWorldInfoOverrided = true; + + var inst = this.GetObjectInstance(); + var wi = inst.GetWorldInfo(); + + wi.SetX_old = wi.SetX; + wi.SetX = function (x,space){ + var inst = this.GetInstance(); + var aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + if(aekiro_gameobject.parent){ + var y = this.GetY(); + if(space){ //local + aekiro_gameobject.local.x = x; + x = aekiro_gameobject.localToGlobal_x(); + y = aekiro_gameobject.localToGlobal_y(); + } + this.SetXY_old(x,y); + }else{ + this.SetX_old(x); + } + aekiro_gameobject.children_update(); + }; + + wi.SetY_old = wi.SetY; + wi.SetY = function (y,space){ + var inst = this.GetInstance(); + var aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + if(aekiro_gameobject.parent){ + var x = this.GetX(); + if(space){//local + aekiro_gameobject.local.y = y; + x = aekiro_gameobject.localToGlobal_x(); + y = aekiro_gameobject.localToGlobal_y(); + } + this.SetXY_old(x,y); + }else{ + this.SetY_old(y); + } + aekiro_gameobject.children_update(); + }; + + wi.SetXY_old = wi.SetXY; + wi.SetXY = function (x,y,space){ + var inst = this.GetInstance(); + var aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + if(aekiro_gameobject.parent){ + if(space){ //local + aekiro_gameobject.local.x = x; + aekiro_gameobject.local.y = y; + x = aekiro_gameobject.localToGlobal_x(); + y = aekiro_gameobject.localToGlobal_y(); + } + this.SetXY_old(x,y); + }else{ + this.SetXY_old(x,y); + } + + aekiro_gameobject.children_update(); + //console.log("az"); + }; + + wi.OffsetX_old = wi.OffsetX; + wi.OffsetX = function (_x,space){ + var inst = this.GetInstance(); + var aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + if(aekiro_gameobject.parent){ + var x = this.GetX(); + var y = this.GetY(); + if(space){ //local + aekiro_gameobject.local.x += _x; + x = aekiro_gameobject.localToGlobal_x(); + y = aekiro_gameobject.localToGlobal_y(); + }else{ + x += _x; + } + this.SetXY_old(x,y); + }else{ + this.OffsetX_old(_x); + } + + aekiro_gameobject.children_update(); + + }; + + wi.OffsetY_old = wi.OffsetY; + wi.OffsetY = function (_y,space){ + var inst = this.GetInstance(); + var aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + + if(aekiro_gameobject.parent){ + var x = this.GetX(); + var y = this.GetY(); + if(space){ //local + aekiro_gameobject.local.y += _y; + x = aekiro_gameobject.localToGlobal_x(); + y = aekiro_gameobject.localToGlobal_y(); + }else{ + y += _y; + } + this.SetXY_old(x,y); + }else{ + this.OffsetY_old(_y); + } + + aekiro_gameobject.children_update(); + + }; + + wi.OffsetXY_old = wi.OffsetXY; + wi.OffsetXY = function (_x,_y,space){ + var inst = this.GetInstance(); + var aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + + if(aekiro_gameobject.parent){ + var x = this.GetX(); + var y = this.GetY(); + if(space){ //local + aekiro_gameobject.local.x += _x; + aekiro_gameobject.local.y += _y; + x = aekiro_gameobject.localToGlobal_x(); + y = aekiro_gameobject.localToGlobal_y(); + }else{ + x += _x; + y += _y; + } + this.SetXY_old(x,y); + }else{ + this.OffsetXY_old(_x,_y); + } + + aekiro_gameobject.children_update(); + }; + + wi.SetAngle_old = wi.SetAngle; + wi.SetAngle = function (angle,space){ + var inst = this.GetInstance(); + var aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + if(aekiro_gameobject.parent){ + if(space){ //local + aekiro_gameobject.local.angle = angle; + aekiro_gameobject.local._sinA = Math.sin(angle); + aekiro_gameobject.local._cosA = Math.cos(angle); + angle = aekiro_gameobject.localToGlobal_angle(); + } + this.SetAngle_old(angle); + }else{ + this.SetAngle_old(angle); + } + + aekiro_gameobject.children_update(); + //console.log("az"); + }; + + wi.GetX_old = wi.GetX; + wi.GetX = function (space){ + var inst = this.GetInstance(); + var aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + if(aekiro_gameobject.parent && space !== undefined){ + return aekiro_gameobject.local.x; + } + return this.GetX_old(); + }; + + wi.GetY_old = wi.GetY; + wi.GetY = function (space){ + var inst = this.GetInstance(); + var aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + if(aekiro_gameobject.parent && space !== undefined){ + return aekiro_gameobject.local.y; + } + return this.GetY_old(); + }; + + wi.GetAngle_old = wi.GetAngle; + wi.GetAngle = function (space){ + var inst = this.GetInstance(); + var aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + if(aekiro_gameobject.parent && space){ + return aekiro_gameobject.local.angle; + } + return this.GetAngle_old(); + }; + + wi.GetCosAngle_old = wi.GetCosAngle; + wi.GetCosAngle = function (space){ + var inst = this.GetInstance(); + var aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + if(aekiro_gameobject.parent && space){ + return aekiro_gameobject.local._cosA; + } + return this.GetCosAngle_old(); + }; + + wi.GetSinAngle_old = wi.GetSinAngle; + wi.GetSinAngle = function (space){ + //console.log("eee"); + var inst = this.GetInstance(); + var aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + if(aekiro_gameobject.parent && space){ + return aekiro_gameobject.local._sinA; + } + return this.GetSinAngle_old(); + }; + + wi.SetWidth_old = wi.SetWidth; + wi.SetWidth = function (v,onlyNode){ + if(onlyNode)this.SetWidth_old(v); + + var inst = this.GetInstance(); + var aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + + /*if(!aekiro_gameobject.areChildrenRegistred) + aekiro_gameobject.children_register();*/ + + v = v==0?0.1:v; + var f = v/this.GetWidth(); + + this.SetWidth_old(v); + var h = aekiro_gameobject.children; + for (var i = 0, l= h.length; i < l; i++) { + wi = h[i].GetWorldInfo(); + wi.SetWidth(wi.GetWidth()*f); + wi.SetX(wi.GetX("g")*f, "g"); + wi.SetBboxChanged(); + } + }; + + wi.SetHeight_old = wi.SetHeight; + wi.SetHeight = function (v,onlyNode){ + if(onlyNode)this.SetHeight_old(v); + + var inst = this.GetInstance(); + var aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + + /*if(!aekiro_gameobject.areChildrenRegistred) + aekiro_gameobject.children_register();*/ + + v = v==0?0.1:v; + var f = v/this.GetHeight(); + + this.SetHeight_old(v); + var h = aekiro_gameobject.children; + for (var i = 0, l= h.length; i < l; i++) { + wi = h[i].GetWorldInfo(); + wi.SetHeight(wi.GetHeight()*f); + wi.SetY(wi.GetY("g")*f, "g"); + wi.SetBboxChanged(); + } + }; + + wi.SetSize_old = wi.SetSize; + wi.SetSize = function (w,h,onlyNode){ + if(onlyNode)this.SetSize_old(w,h); + + var inst = this.GetInstance(); + var aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + + /*if(!aekiro_gameobject.areChildrenRegistred) + aekiro_gameobject.children_register();*/ + + w = w==0?0.1:w; + h = h==0?0.1:h; + var fw = h/this.GetHeight(); + var fh = w/this.GetWidth(); + + this.SetSize_old(w,h); + var c = aekiro_gameobject.children; + for (var i = 0, l= c.length; i < l; i++) { + wi = c[i].GetWorldInfo(); + wi.SetSize(wi.GetWidth()*fw,wi.GetHeight()*fh); + wi.SetX(wi.GetX("g")*fw, "g"); + wi.SetY(wi.GetY("g")*fh, "g"); + wi.SetBboxChanged(); + } + }; + + } + + //********************************************** + + children_update(){ + if(!this.children.length) + return; + + var inst,wi; + + for (var i = 0, l= this.children.length; i < l; i++) { + inst = this.children[i]; + wi = inst.GetWorldInfo(); + if (!inst.prevFrame) { + inst.prevFrame = { + x: wi.GetX(), + y: wi.GetY(), + angle: wi.GetAngle() + } + } + //updating the child's global coordinates when the parent global coordinates changes. + wi.SetXY(wi.GetX("g") + wi.GetX() - inst.prevFrame.x, wi.GetY("g") + wi.GetY() - inst.prevFrame.y, "g"); + wi.SetAngle(wi.GetAngle("g") + wi.GetAngle() - inst.prevFrame.angle, "g"); + wi.SetBboxChanged(); + inst.prevFrame = { + x: wi.GetX(), + y: wi.GetY(), + angle: wi.GetAngle() + } + } + } + + children_add(inst){ + var name,aekiro_gameobject; + if (typeof inst === 'string'){ //add by child name + name = inst; + inst = null; + }else{ + aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + if(!aekiro_gameobject){ + console.error("Aekiro GameObject: You're adding a child (uid=%s) without a gameobject behavior on it.",inst.GetUID()); + return; + } + name = aekiro_gameobject.name; + } + + //check if gameobject is correctly registred in the gomanager + inst = aekiro_goManager.gos[name]; + + if(inst == this.GetObjectInstance()){ //can't add itself + return; + } + + if(!inst){ + console.error("Aekiro GameObject: Object of name : %s not found !",name); + return; + } + if(name == this.parentName){ + console.error("Aekiro GameObject: Cannot add %s as a child of %s, because %s is its parent !",name,this.name,name); + return; + } + if(this.children.indexOf(inst) > -1){ + console.error("Aekiro GameObject: Object %s already have a child named %s !",this.name,name); + return; + } + + aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + aekiro_gameobject.removeFromParent(); //if inst is already a child of another parent then remove it from its parent. + aekiro_gameobject.parentName = this.name; + aekiro_gameobject.parent = this.GetObjectInstance(); + + var res = this.globalToLocal(inst,this.GetObjectInstance()); + aekiro_gameobject.local.x = res.x; + aekiro_gameobject.local.y = res.y + aekiro_gameobject.local.angle = res.angle; + this.children.push(inst); + + this.eventManager.emit("childrenAdded",inst); + } + + children_addFromLayer (layer){ + var insts = layer._instances; + var myInst = this.GetObjectInstance(); + var inst,aekiro_gameobject; + for (var i = 0, l = insts.length; i < l; i++) { + inst = insts[i]; + aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + if(inst != myInst && aekiro_gameobject && aekiro_gameobject.parentName==""){ + this.children_add(inst); + } + } + } + + children_addFromType (type){ + var insts = type.GetCurrentSol().GetInstances(); + for (var i = 0, l = insts.length; i < l; i++) { + this.children_add(insts[i]); + } + } + + children_remove(inst){ + var index = -1; + if (typeof inst === 'string'){ //remove by child name + for (var i = 0, l= this.children.length; i < l; i++) { + if(this.children[i].GetUnsavedDataMap().aekiro_gameobject.name==inst){ + index = i; + break; + } + } + }else{ + index = this.children.indexOf(inst); + } + + if(index!=-1){ + var aekiro_gameobject = this.children[index].GetUnsavedDataMap().aekiro_gameobject; + aekiro_gameobject.parentName = ""; + aekiro_gameobject.parent = null; + this.children.splice(index, 1); + + } + } + + children_removeFromType (type){ + var insts = type.GetCurrentSol().GetInstances(); + for (var i = 0, l = insts.length; i < l; i++) { + this.children_remove(insts[i]); + } + } + + removeAllChildren(){ + if(!this.children.length) + return; + + var aekiro_gameobject; + for (var i = 0, l= this.children.length; i < l; i++) { + aekiro_gameobject = this.children[i].GetUnsavedDataMap().aekiro_gameobject; + aekiro_gameobject.parentName = ""; + aekiro_gameobject.parent = null; + } + this.children.length = 0; + } + + //********************************************** + + removeFromParent(){ + //var parent = this.parent_get(); + var parent = this.parent; + var inst = this.GetObjectInstance(); + if(parent){ + var aekiro_gameobject = parent.GetUnsavedDataMap().aekiro_gameobject; + if(aekiro_gameobject){ + aekiro_gameobject.children_remove(inst); + } + + } + } + + destroyHierarchy(){ + var runtime = this.GetRuntime(); + + runtime.DestroyInstance(this.GetObjectInstance()); + for (var i = 0, l= this.children.length; i < l; i++) { + this.children[i].GetUnsavedDataMap().aekiro_gameobject.destroyHierarchy() + } + this.children.length = 0; + } + + parent_get(){ + if(!this.parent && this.parentName && this.name){ + this.parent = aekiro_goManager.gos[this.parentName]; + } + return this.parent; + } + + getTemplate(node){ + if(!node){ + node = this._inst; + } + + var template = { + type: node.GetObjectClass(), + x: node.GetWorldInfo().GetX("g"), + y: node.GetWorldInfo().GetY("g"), + zindex:node.GetWorldInfo().GetZIndex()+node.GetWorldInfo().GetLayer().GetIndex()*100, + json:JSON.stringify(node.SaveToJson(!0)), + children:[] + }; + + + var children = node.GetUnsavedDataMap().aekiro_gameobject.children; + for (var i = 0, l= children.length; i < l; i++) { + template.children.push(this.getTemplate(children[i])); + } + + return template; + } + + hierarchyToArray(node,ar){ + if(!node){ + node = this.GetObjectInstance(); + } + + if(!ar){ + ar = []; + } + + ar.push(node); + + var children = node.GetUnsavedDataMap().aekiro_gameobject.children; + for (var i = 0, l= children.length; i < l; i++) { + this.hierarchyToArray(children[i],ar); + } + + return ar; + } + + updateZindex(){ + var children = this.hierarchyToArray(); + + children.sort(function(a, b) { + return a.GetUnsavedDataMap().zindex - b.GetUnsavedDataMap().zindex; + }); + //console.log(children); + + var layer = children[0].GetWorldInfo().GetLayer(); + //layer.moveInstanceAdjacent(children[0], children[children.length-1], true); + for (var i = 1, l= children.length; i < l; i++) { + layer.MoveInstanceAdjacent(children[i], children[i-1], true); + } + this.GetRuntime().UpdateRender(); + } + + + + Tick(){ + this.children_update() + } + + Release2(){ + this.goManager.removeGO(this.name); + this.removeFromParent(); + + //this is necesserary when a parent have global children that still keep a reference to the parent. + //when changing layout this reference need to be deleted + for (var i = 0, l= this.children.length; i < l; i++) { + this.children_remove(this.children[i]); + } + + super.Release(); + } + + SaveToJson(){ + return { + }; + } + + LoadFromJson(o){ + } + + GetDebuggerProperties(){ + var children = []; + for (var i = 0,l=this.children.length; i < l; i++) { + children.push(this.children[i].GetUnsavedDataMap().aekiro_gameobject.name); + } + var children_str = JSON.stringify(children,null,"\t"); + + var objects = []; + Object.keys(aekiro_goManager.gos).forEach(function(key) { + objects.push(key); + }); + var objects_str = JSON.stringify(objects,null,"\t"); + + return [{ + title: "aekiro_gameobject", + properties: [ + {name: "name", value: this.name}, + {name: "parentName", value: this.parentName}, + {name: "children", value: children_str}, + {name: "local_x", value: this.local.x}, + {name: "local_y",value: this.local.y}, + {name: "local_angle",value: this.local.angle}, + {name: "gameobjects", value: objects_str} + ] + }]; + } + + //********************************************** + + applyActionToHierarchy(action,v){ + this.GetObjectInstance().GetSdkInstance().CallAction(action,v); + var h = this.children; + for (var i = 0, l= h.length; i < l; i++) { + h[i].GetUnsavedDataMap().aekiro_gameobject.applyActionToHierarchy(action,v); + } + } + + SetBlendMode(bm){ + this.wi.SetBlendMode(bm); + var h = this.children; + for (var i = 0, l= h.length; i < l; i++) { + h[i].GetWorldInfo().SetBlendMode(bm); + } + + } + //********************************************** + //transform global coordinates of inst to local coordinates in parent space + globalToLocal(inst,parent_inst){ + var wip = parent_inst.GetWorldInfo(); + return this.globalToLocal2(inst,wip.GetX(),wip.GetY(),wip.GetAngle()); + } + + globalToLocal2(inst,p_x,p_y,p_angle){ + var res = {}; + var wi = inst.GetWorldInfo(); + res.x = (wi.GetX()-p_x)*Math.cos(p_angle) + (wi.GetY()-p_y)*Math.sin(p_angle); + res.y = -(wi.GetX()-p_x)*Math.sin(p_angle) + (wi.GetY()-p_y)*Math.cos(p_angle); + res.angle = wi.GetAngle() - p_angle; + return res; + } + + //transform local coordinates of inst in parent space to global coordinates + localToGlobal(inst,p_x,p_y,p_angle){ + var res = {}; + var aekiro_gameobject = inst.GetUnsavedDataMap().aekiro_gameobject; + res.x = p_x + aekiro_gameobject.local.x*Math.cos(p_angle) - aekiro_gameobject.local.y*Math.sin(p_angle); + res.y = p_y + aekiro_gameobject.local.x*Math.sin(p_angle) + aekiro_gameobject.local.y*Math.cos(p_angle); + res.angle = p_angle + aekiro_gameobject.local.angle; + return res; + } + + localToGlobal_x(){ + var parent = this.parent_get(); + if(parent){ + //console.log(this.GetObjectInstance().GetUID()); + var wp = parent.GetWorldInfo(); + var x = wp.GetX() + this.local.x*Math.cos(wp.GetAngle()) - this.local.y*Math.sin(wp.GetAngle()); + return x; + }else{ + return this.local.x; + } + } + + localToGlobal_y(){ + var parent = this.parent_get(); + if(parent){ + var wp = parent.GetWorldInfo(); + var y = wp.GetY() + this.local.x*Math.sin(wp.GetAngle()) + this.local.y*Math.cos(wp.GetAngle()); + return y; + }else{ + return this.local.y; + } + } + + localToGlobal_angle(){ + var parent = this.parent_get(); + if(parent){ + var wp = parent.GetWorldInfo(); + var angle = wp.GetAngle() + this.local.angle; + return angle; + }else{ + return this.local.angle; + } + } + + }; + + + + + +} + + + +"use strict"; + +{ +C3.Behaviors.aekiro_gameobject.Cnds = { + IsName(name){ return name == this.name; }, + IsParentName(name){return name == this.parentName; }, + OnCloned(){ return false; } +}; + +} + + +"use strict"; + +{ +C3.Behaviors.aekiro_gameobject.Acts = { + Clone(layer,x,y,name,parentName){ + var template = this.getTemplate(); + var inst = aekiro_goManager.clone(template,name,parentName,layer,x,y); + inst.GetUnsavedDataMap().aekiro_gameobject.updateZindex(); + //this.cloneUID = inst.uid; + } + , + AddChildrenFromLayer(layer){ + this.children_addFromLayer(layer); + }, + AddChildrenFromType(type){ + this.children_addFromType(type); + } + , + AddChildByName(name){ + this.children_add(name); + }, + RemoveChildByName(name){ + this.children_remove(name); + }, + RemoveChildByType(type){ + this.children_removeFromType(type); + }, + RemoveFromParent(){ + this.removeFromParent(); + }, + RemoveAllchildren(){ + this.removeAllChildren(); + }, + SetGlobalX(x){ + }, + + SetOpacity(v){ + this.applyActionToHierarchy(this.acts.SetOpacity,v); + }, + + SetVisible(v){ + this.applyActionToHierarchy(this.acts.SetVisible,v); + }, + + SetColor(v){ + this.applyActionToHierarchy(this.acts.SetDefaultColor,v); + }, + + SetMirrored(v){ + this.applyActionToHierarchy(this.acts.SetMirrored,v); + }, + + SetFlipped(v){ + this.applyActionToHierarchy(this.acts.SetFlipped,v); + }, + MoveToLayer(v){ + this.applyActionToHierarchy(this.acts.MoveToLayer,v); + }, + SetZElevation(v){ + this.applyActionToHierarchy(this.acts.SetZElevation,v); + }, + SetEffect(v){ + this.SetBlendMode(v); + + }, + SetWidth(v){ + this.wi.SetWidth(v,true); + this.wi.SetBboxChanged(); + }, + SetHeight(v){ + this.wi.SetHeight(v,true); + this.wi.SetBboxChanged(); + }, + Destroy(){ + this.destroyHierarchy(); + } +}; +} + + +"use strict"; + +{ +C3.Behaviors.aekiro_gameobject.Exps = { + name(){ return this.name; }, + parent(){ return this.parentName; }, + globalX(){ return this.GetObjectInstance().GetWorldInfo().GetX_old();}, + globalY(){ return this.GetObjectInstance().GetWorldInfo().GetY_old();}, + globalAngle(){ return this.GetObjectInstance().GetWorldInfo().GetAngle_old();} +}; +} + + +"use strict";C3.Behaviors.jumpthru=class extends C3.SDKBehaviorBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Behaviors.jumpthru.Type=class extends C3.SDKBehaviorTypeBase{constructor(a){super(a)}Release(){super.Release()}OnCreate(){}}; + +"use strict";{C3.Behaviors.jumpthru.Instance=class extends C3.SDKBehaviorInstanceBase{constructor(a,b){super(a),this.SetEnabled(!0),b&&this.SetEnabled(b[0])}Release(){super.Release()}SetEnabled(a){this._inst._SetJumpthruEnabled(!!a)}IsEnabled(){return this._inst._IsJumpthruEnabled()}SaveToJson(){return{"e":this.IsEnabled()}}LoadFromJson(a){this.SetEnabled(a["e"])}GetPropertyValueByIndex(a){return a===0?this.IsEnabled():void 0}SetPropertyValueByIndex(a,b){a===0?this.SetEnabled(b):void 0}GetDebuggerProperties(){return[{title:"$"+this.GetBehaviorType().GetName(),properties:[{name:"behaviors.jumpthru.properties.enabled.name",value:this.IsEnabled(),onedit:(a)=>this.SetEnabled(a)}]}]}}} + +"use strict";C3.Behaviors.jumpthru.Cnds={IsEnabled(){return this.IsEnabled()}}; + +"use strict";C3.Behaviors.jumpthru.Acts={SetEnabled(a){this.SetEnabled(a)}}; + +"use strict";C3.Behaviors.jumpthru.Exps={}; + +"use strict";C3.Behaviors.Tween=class extends C3.SDKBehaviorBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Behaviors.Tween.Type=class extends C3.SDKBehaviorTypeBase{constructor(a){super(a)}Release(){super.Release()}OnCreate(){}}; + +"use strict";{const a=C3.Behaviors.Tween;a.Instance=class extends C3.SDKBehaviorInstanceBase{constructor(a,b){super(a),this._allowMultiple=!1,this._enabled=!0,b&&(this._allowMultiple=!1,this._enabled=!!b[0]),this._activeTweens=new Map,this._disabledTweens=[],this._waitingForReleaseTweens=new Map,this._finishingTween=null,this._activeTweensJson=null,this._disabledTweensJson=null,this._waitingForReleaseTweensJson=null,this._finishingTweenName="",this._enabled&&this._StartTicking2(),this._afterLoad=(a)=>this._OnAfterLoad(a),this.GetRuntime().Dispatcher().addEventListener("afterload",this._afterLoad)}Release(){this.GetRuntime().Dispatcher().removeEventListener("afterload",this._afterLoad),this._afterLoad=null,this._finishingTween&&(this.ReleaseAndCompleteTween(this._finishingTween),this._finishingTween=null),this.ReleaseAndCompleteTweens(),this._tweens=null,this.ClearDisabledList(),this._disabledTweens=null,this._ReleaseWaitingTweens(),this._waitingForReleaseTweens=null,super.Release()}SetEnabled(a){this._enabled=a,this._enabled?this._StartTicking2():this._StopTicking2()}GetEnabled(){return this._enabled}AddToDisabledList(a){this._disabledTweens.push(a)}IsInDisabledList(a){return this._disabledTweens.includes(a)}ClearDisabledList(){C3.clearArray(this._disabledTweens)}GetFinishingTween(){return this._finishingTween}IsInstanceValid(){const a=this.GetObjectInstance();return!!a&&!a.IsDestroyed()}GetTween(a,b,c=!1){const d=b?this.PropertyTweens(b,c):this.AllTweens(c);if(d&&d.length)for(const b of d)if(b.HasTags(a))return b}GetTweenIncludingWaitingForRelease(a,b){return this.GetTween(a,b,!0)}*GetTweens(a,b,c=!1){const d=b?this.PropertyTweens(b,c):this.AllTweens(c);if(d&&d.length)for(const b of d)b.HasTags(a)&&(yield b)}*GetTweensIncludingWaitingForRelease(a,b){yield*this.GetTweens(a,b,!0)}PropertyTweens(a,b){if(b){let b=this._activeTweens.get(a),c=this._waitingForReleaseTweens.get(a);return b||(b=[]),c||(c=[]),b.concat(c).filter((a)=>a)}else{let b=this._activeTweens.get(a);return b||(b=[]),b.filter((a)=>a)}}AllTweens(a){if(a){const a=[...this._activeTweens.values()].flat(),b=[...this._waitingForReleaseTweens.values()].flat();return a.concat(b).filter((a)=>a)}else{const a=[...this._activeTweens.values()].flat();return a.filter((a)=>a)}}AllTweensIncludingWaitingForRelease(){return this.AllTweens(!0)}SaveToJson(){return{"s":!1,"e":!!this._enabled,"at":this._SaveActiveTweensToJson(),"dt":this._SaveDisabledTweensToJson(),"wt":this._SaveWaitingForReleaseTweensToJson(),"ft":this._SaveFinishingTweenToJson()}}LoadFromJson(a){a&&(this._activeTweensJson=a["at"],this._disabledTweensJson=a["dt"],this._waitingForReleaseTweensJson=a["wt"],this._finishingTweenName=a["ft"],this._allowMultiple=!1,this._enabled=!!a["e"])}_OnAfterLoad(){const a=this.GetRuntime().GetTimelineManager();if(this._PopulateTweenMap(this._activeTweensJson,this._activeTweens,a),this._disabledTweensJson){C3.clearArray(this._disabledTweens);for(const b of this._disabledTweensJson)this._PopulateTweenArray(this._disabledTweens,b,a)}this._PopulateTweenMap(this._waitingForReleaseTweensJson,this._waitingForReleaseTweens,a),this._finishingTween=this._GetTween(this._finishingTweenName,a),this._enabled?this._StartTicking2():this._StopTicking2()}_PopulateTweenMap(a,b,c){if(a)for(const d in a){let e=b.get(d);e?C3.clearArray(e):e=[];const f=a[d];for(const a of f){const b=this._PopulateTweenArray(e,a["name"],c);if(!b){const b=C3.Tween.Build({runtime:this.GetRuntime(),json:a});b.AddCompletedCallback((a)=>this._FinishTriggers(a)),c.AddScheduledTimeline(b),this._PopulateTweenArray(e,b,c)}else this._LoadTweenFromJson(a["name"],a,c)}b.set(d,e)}}_GetTween(a,b){return b.GetScheduledOrPlayingTimelineByName(a)}_PopulateTweenArray(a,b,c){if("string"==typeof b){const d=this._GetTween(b,c);if(d)return!!a.push(d)}else return!!a.push(b);return!1}_LoadTweenFromJson(a,b,c){if("string"==typeof a){const d=this._GetTween(a,c);d&&d._LoadFromJson(b)}else a._LoadFromJson(b)}_SaveActiveTweensToJson(){const a={};for(const[b,c]of this._activeTweens)a[b]=c.map((a)=>a._SaveToJson());return a}_SaveDisabledTweensToJson(){return this._disabledTweens.map((a)=>a.GetName())}_SaveWaitingForReleaseTweensToJson(){const a={};for(const[b,c]of this._waitingForReleaseTweens)a[b]=c.map((a)=>a._SaveToJson());return a}_SaveFinishingTweenToJson(){return this._finishingTween?this._finishingTween.GetName():""}Tick2(){this._ReleaseWaitingTweens()}CreateTween(b){const c=a.Config.GetPropertyTracksConfig(b.property,b.startValue,b.endValue,b.ease,b.resultMode,this.GetObjectInstance()),d=a.Maps.GetPropertyFromIndex(b.property);a.Maps.IsValueId(d)||this.ReleaseTweens(b.property);const e=C3.Tween.Build({runtime:this.GetRuntime(),id:d,tags:b.tags,time:b.time,instance:this.GetObjectInstance(),releaseOnComplete:!!b.releaseOnComplete,initialValueMode:b.initialValueMode,propertyTracksConfig:c});return e.AddCompletedCallback((a)=>this._FinishTriggers(a)),this._AddTween(e,b.property),e}ReleaseTween(a,b=!1){const c=a.GetId();if(this._activeTweens.has(c)){const b=this._activeTweens.get(c);if(b){const c=b.indexOf(a);-1!==c&&b.splice(c,1)}}a.IsReleased()||this._IsInWaitingList(a)||(a.Stop(b),this._AddToWaitingList(a))}ReleaseTweens(b,c=!1){if(C3.IsFiniteNumber(b)){const d=a.Maps.GetPropertyFromIndex(b);if(!this._activeTweens.has(d))return;const e=this._activeTweens.get(d),f=this.GetFinishingTween();for(const a of e)a!==f&&(a.IsReleased()||this._IsInWaitingList(a)||(a.Stop(c),a.Release()));C3.clearArray(e)}else{const a=this.GetFinishingTween();for(const b of this.AllTweens())b!==a&&(b.IsReleased()||this._IsInWaitingList(b)||(b.Stop(c),b.Release()));for(const a of this._activeTweens.keys())C3.clearArray(this._activeTweens.get(a)),this._activeTweens.delete(a);this._activeTweens.clear()}}ReleaseAndCompleteTween(a){this.ReleaseTween(a,!0)}ReleaseAndCompleteTweens(){this.ReleaseTweens(NaN,!0)}GetPropertyValueByIndex(a){return 0===a?this._enabled:void 0}SetPropertyValueByIndex(a,b){0===a?this._enabled=!!b:void 0}_FinishTriggers(b){this.GetRuntime()&&(this._finishingTween=b,a.Cnds.SetFinishingTween(b),this.Trigger(a.Cnds.OnTweensFinished),this.Trigger(a.Cnds.OnAnyTweensFinished),a.Cnds.SetFinishingTween(null),this._finishingTween=null,this.ReleaseTween(b),b.GetDestroyInstanceOnComplete()&&this.GetRuntime().DestroyInstance(this.GetObjectInstance()))}_AddTween(b,c){const d=a.Maps.GetPropertyFromIndex(c);this._activeTweens.has(d)||this._activeTweens.set(d,[]);const e=this._activeTweens.get(d);e.push(b)}_AddToWaitingList(a){const b=a.GetId();this._waitingForReleaseTweens.has(b)||this._waitingForReleaseTweens.set(b,[]),this._waitingForReleaseTweens.get(b).push(a)}_IsInWaitingList(a){const b=a.GetId();return!!this._waitingForReleaseTweens.has(b)&&this._waitingForReleaseTweens.get(b).includes(a)}_ReleaseWaitingTweens(){if(this._waitingForReleaseTweens.size){for(const a of this._waitingForReleaseTweens.values()){for(const b of a)b.IsReleased()||b.Release();C3.clearArray(a)}this._waitingForReleaseTweens.clear()}}}} + +"use strict";{let a=null;C3.Behaviors.Tween.Cnds={SetFinishingTween(b){a=b},OnTweensFinished(b){return a.HasTags(b)},OnAnyTweensFinished(){return!0},IsPlaying(a){const b=[...this.GetTweensIncludingWaitingForRelease(a)];return!!b&&!!b.length&&b.some(C3.Tween.IsPlaying)},IsAnyPlaying(){const a=[...this.AllTweensIncludingWaitingForRelease()];return!!a&&!!a.length&&a.some(C3.Tween.IsPlaying)}}} + +"use strict";{const a=C3.Behaviors.Tween;a.Acts={SetEnabled(a){this.SetEnabled(!!a);for(const b of this.AllTweens())!a?((b.IsPlaying()||b.IsScheduled())&&this.AddToDisabledList(b),b.Stop()):this.IsInDisabledList(b)&&b.Resume();a&&this.ClearDisabledList()},async TweenOneProperty(...b){if(this.GetEnabled()&&this.IsInstanceValid()){const c=this.CreateTween(a.TweenArguments.OneProperty(this,...b));c.Play()&&(await c.GetPlayPromise())}},async TweenTwoProperties(...b){if(this.GetEnabled()&&this.IsInstanceValid()){const c=this.CreateTween(a.TweenArguments.TwoProperties(this,...b));c.Play()&&(await c.GetPlayPromise())}},async TweenValue(...b){if(this.GetEnabled()&&this.IsInstanceValid()){const c=this.CreateTween(a.TweenArguments.ValueProperty(this,...b));c.Play()&&(await c.GetPlayPromise())}},PauseTweens(a){if(this.GetEnabled()&&this.IsInstanceValid())for(const b of this.GetTweens(a))b.Stop()},PauseAllTweens(){if(this.GetEnabled()&&this.IsInstanceValid())for(const a of this.AllTweens())a.Stop()},ResumeTweens(a){if(this.GetEnabled()&&this.IsInstanceValid())for(const b of this.GetTweens(a))b.Resume()},ResumeAllTweens(){if(this.GetEnabled()&&this.IsInstanceValid())for(const a of this.AllTweens())a.Resume()},StopTweens(a){if(this.GetEnabled()&&this.IsInstanceValid())for(const b of this.GetTweens(a))this.ReleaseTween(b)},StopAllTweens(){if(this.GetEnabled()&&this.IsInstanceValid())for(const a of this.AllTweens())this.ReleaseTween(a)},SetOnePropertyTweensEndValue(a,b,c){if(this.GetEnabled()&&this.IsInstanceValid())for(const d of this.GetTweens(a))d.BeforeSetEndValues([b],[c]),d.SetEndValue(b,c)},SetTwoPropertiesTweensEndValue(a,b,c,d){if(this.GetEnabled()&&this.IsInstanceValid()){const e=C3.Behaviors.Tween.Maps.GetRealProperties(b);for(const b of this.GetTweens(a))b.BeforeSetEndValues([c,d],e),b.SetEndValue(c,e[0]),b.SetEndValue(d,e[1])}},SetValuePropertyTweensStartValue(a,b){if(this.GetEnabled()&&this.IsInstanceValid())for(const c of this.GetTweens(a,"value"))c.SetStartValue(b,"value")},SetValuePropertyTweensEndValue(a,b){if(this.GetEnabled()&&this.IsInstanceValid())for(const c of this.GetTweens(a,"value"))c.BeforeSetEndValue([b],[value]),c.SetEndValue(b,"value")},SetTweensEase(a,b){if(this.GetEnabled()&&this.IsInstanceValid()){const c=Ease.GetEaseFromIndex(b);for(const b of this.GetTweens(a))b.SetEase(c)}},SetAllTweensEase(a){if(this.GetEnabled()&&this.IsInstanceValid()){const b=Ease.GetEaseFromIndex(a);for(const a of this.AllTweens())a.SetEase(b)}},SetTweensTime(a,b){if(this.GetEnabled()&&this.IsInstanceValid())for(const c of this.GetTweens(a))c.SetTime(b)},SetAllTweensTime(a){if(this.GetEnabled()&&this.IsInstanceValid())for(const b of this.AllTweens())b.SetTime(a)},SetTweensPlaybackRate(a,b){if(this.GetEnabled()&&this.IsInstanceValid())for(const c of this.GetTweens(a))c.SetPlaybackRate(b)},SetAllTweensPlaybackRate(a){if(this.GetEnabled()&&this.IsInstanceValid())for(const b of this.AllTweens())b.SetPlaybackRate(a)},SetTweensDestroyOnComplete(a,b){if(this.GetEnabled()&&this.IsInstanceValid())for(const c of this.GetTweens(a))c.SetDestroyInstanceOnComplete(!!b)},SetAllTweensDestroyOnComplete(a){if(this.GetEnabled()&&this.IsInstanceValid())for(const b of this.AllTweens())b.SetDestroyInstanceOnComplete(!!a)}}} + +"use strict";C3.Behaviors.Tween.Exps={Time(a){const b=this.GetTweenIncludingWaitingForRelease(a);return b?b.GetTime():0},Progress(a){const b=this.GetTweenIncludingWaitingForRelease(a);return b?b.GetTime()/b.GetTotalTime():0},Value(a){const b=this.GetTweenIncludingWaitingForRelease(a,"value");return b?b.GetPropertyTrack("value").GetSourceAdapterValue():0},Tags(){return this.GetFinishingTween()?this.GetFinishingTween().GetStringTags():""}}; + +"use strict";{const a=["position","size"],b=["offsetX","offsetY","offsetWidth","offsetHeight","offsetAngle","offsetOpacity","offsetColor","offsetZElevation"],c=["value"],d=[].concat(a).concat(b).concat(c),e={"position":["offsetX","offsetY"],"size":["offsetWidth","offsetHeight"]},f=Object.assign({},d.reduce((a,b)=>Object.assign({},a,{[b]:[b]}),{}),e);C3.Behaviors.Tween.Maps=class{constructor(){}static GetEases(){return[...Ease.GetEaseNames()]}static GetEaseFromIndex(a){return[...Ease.GetEaseNames()][a]}static GetPropertyFromIndex(a){return d[a]}static GetPropertyIndexFromName(a){return d.indexOf(a)}static GetPairPropertyFromIndex(b){return a[b]}static GetSinglePropertyFromIndex(a){return b[a]}static GetValuePropertyFromIndex(a){return c[a]}static GetPairProperties(a){return e[a]}static GetRealProperties(a){return C3.IsString(a)?f[a]:f[d[a]]}static IsPairId(a){return!!e[a]}static IsColorId(a){return"offsetColor"===a}static IsAngleId(a){return"offsetAngle"===a}static IsOpacityId(a){return"offsetOpacity"===a}static IsValueId(a){return"value"===a}}} + +"use strict";{const a=C3.Behaviors.Tween,b=new Map;a.Config=class{constructor(){}static GetPropertyTracksConfig(c,d,e,f,g,h){0===b.size&&this._CreateConfigObjects();const i=a.PropertyTypes.Pick(c);let j=b.get(i);return C3.IsFiniteNumber(c)&&(c=a.Maps.GetPropertyFromIndex(c)),this._GetConfig(j,c,d,e,f,g,h)}static TransformValue(a,b){const c=C3.Behaviors.Tween.GetPropertyTracksConfig(a);return c.valueGetter(b)}static _CreateConfigObjects(){const b=a.PropertyTypes,c=a.ValueGetters;this._AddConfigObject(b.PAIR,this._GetPairConfig,c._GetPropertyValue),this._AddConfigObject(b.COLOR,this._GetColorConfig,c._GetColorPropertyValue),this._AddConfigObject(b.ANGLE,this._GetAngleConfig,c._GetPropertyAngleValue),this._AddConfigObject(b.VALUE,this._GetValueConfig,c._GetPropertyValue),this._AddConfigObject(b.OTHER,this._GetCommonConfig,c._GetPropertyValue)}static _AddConfigObject(a,c,d){b.set(a,this._CreateConfigObject(a,c,d))}static _CreateConfigObject(a,b,c){return{name:a,configFunc:b,valueGetter:c}}static _GetConfig(a,b,c,d,e,f,g){return a.configFunc(b,a.valueGetter(c),a.valueGetter(d),e,f,g)}static _GetPairConfig(b,c,d,e,f){const g=a.Maps.GetPairProperties(b);return g.map((b,g)=>({sourceId:"world-instance",property:b,type:"float",valueType:"numeric",startValue:c[g],endValue:d[g],ease:a.Maps.GetEaseFromIndex(e),resultMode:f}))}static _GetColorConfig(b,c,d,e,f,g){return C3.Plugins.Text&&g.GetPlugin()instanceof C3.Plugins.Text?{sourceId:"plugin",sourceArgs:[7],property:"color",type:"color",valueType:"color",startValue:c,endValue:d,ease:a.Maps.GetEaseFromIndex(e),resultMode:f}:{sourceId:"world-instance",property:b,type:"color",valueType:"color",startValue:c,endValue:d,ease:a.Maps.GetEaseFromIndex(e),resultMode:f}}static _GetAngleConfig(b,c,d,e,f){return{sourceId:"world-instance",property:b,type:"angle",valueType:"angle",startValue:c,endValue:d,ease:a.Maps.GetEaseFromIndex(e),resultMode:f}}static _GetCommonConfig(b,c,d,e,f){return{sourceId:"world-instance",property:b,type:"float",valueType:"numeric",startValue:c,endValue:d,ease:a.Maps.GetEaseFromIndex(e),resultMode:f}}static _GetValueConfig(b,c,d,e,f){return{sourceId:"value",property:b,type:"float",valueType:"numeric",startValue:c,endValue:d,ease:a.Maps.GetEaseFromIndex(e),resultMode:f}}}} + +"use strict";{const a=C3.Behaviors.Tween,b=Object.assign({},{resultMode:"absolute"},{tags:"",property:"",time:0,ease:0,releaseOnComplete:0}),c=Object.assign({},b,{initialValueMode:"current-state",startValue:0,endValue:0}),d=Object.assign({},b,{initialValueMode:"current-state",startValue:[0,0],endValue:[0,0]}),e=Object.assign({},b,{initialValueMode:"current-state",startValue:[0,0,0],endValue:[0,0,0]}),f=Object.assign({},c,{initialValueMode:"start-value"});a.TweenArguments=class{constructor(){}static _SetCommonProperties(a,b,c,d,e){a.tags=b,a.time=c,a.ease=d,a.releaseOnComplete=e}static OneProperty(b,d,f,g,h,i,j){const k=a.Maps.GetSinglePropertyFromIndex(f),l=a.Maps.IsColorId(k)?e:c;return this._SetCommonProperties(l,d,h,i,j),a.Maps.IsColorId(k)?(e.endValue[0]=C3.GetRValue(g),e.endValue[1]=C3.GetGValue(g),e.endValue[2]=C3.GetBValue(g),e.property=a.Maps.GetPropertyIndexFromName(k)):a.Maps.IsOpacityId(k)?c.endValue=g/100:c.endValue=g,l.property=a.Maps.GetPropertyIndexFromName(k),l}static TwoProperties(b,c,e,f,g,h,i,j){this._SetCommonProperties(d,c,h,i,j);const k=a.Maps.GetPairPropertyFromIndex(e);return d.endValue[0]=f,d.endValue[1]=g,d.property=a.Maps.GetPropertyIndexFromName(k),d}static ValueProperty(b,c,d,e,g,h,i){return this._SetCommonProperties(f,c,g,h,i),f.startValue=d,f.endValue=e,f.property=a.Maps.GetPropertyIndexFromName("value"),f}}} + +"use strict";{const a=C3.Behaviors.Tween,b=[];a.PropertyTypes=class{constructor(){}static Pick(c){if(0===b.length){const c=b;c.push({checkFunc:a.Maps.IsPairId,result:this.PAIR}),c.push({checkFunc:a.Maps.IsColorId,result:this.COLOR}),c.push({checkFunc:a.Maps.IsAngleId,result:this.ANGLE}),c.push({checkFunc:a.Maps.IsValueId,result:this.VALUE}),c.push({checkFunc:()=>!0,result:this.OTHER})}C3.IsFiniteNumber(c)&&(c=C3.Behaviors.Tween.Maps.GetPropertyFromIndex(c));for(const a of b)if(a.checkFunc(c))return a.result}static get PAIR(){return"pair"}static get COLOR(){return"color"}static get ANGLE(){return"angle"}static get VALUE(){return"value"}static get OTHER(){return"other"}}} + +"use strict";{const a=C3.Behaviors.Tween;a.ValueGetters=class{constructor(){}static _GetPropertyAngleValue(a){const b=C3.toRadians(parseFloat(a));return C3.clampAngle(b)}static _GetColorPropertyValue(a){return a.slice(0)}static _GetPropertyValue(a){return a}}} + +"use strict";C3.Behaviors.Turret=class extends C3.SDKBehaviorBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Behaviors.Turret.Type=class extends C3.SDKBehaviorTypeBase{constructor(a){super(a),this._targetTypes=[]}Release(){C3.clearArray(this._targetTypes),super.Release()}OnCreate(){}GetTargetTypes(){return this._targetTypes}}; + +"use strict";{const a=0,b=C3.New(C3.Rect),c=[];C3.Behaviors.Turret.Instance=class extends C3.SDKBehaviorInstanceBase{constructor(b,c){super(b),this._range=300,this._rateOfFire=1,this._isRotateEnabled=!0,this._rotateSpeed=C3.toRadians(180),this._targetMode=0,this._predictiveAim=!1,this._projectileSpeed=500,this._useCollisionCells=!0,this._isEnabled=!0,this._lastCheckTime=0,this._fireTimeCount=0,this._currentTarget=null,this._loadTargetUid=-1,this._oldTargetX=0,this._oldTargetY=0,this._lastSpeeds=[0,0,0,0],this._speedsCount=0,this._firstTickWithTarget=!0,c&&(this._range=c[a],this._rateOfFire=c[1],this._isRotateEnabled=!!c[2],this._rotateSpeed=C3.toRadians(c[3]),this._targetMode=c[4],this._predictiveAim=!!c[5],this._projectileSpeed=c[6],this._useCollisionCells=!!c[7],this._isEnabled=!!c[8]),this._fireTimeCount=this._rateOfFire;const d=this._runtime.Dispatcher();this._disposables=new C3.CompositeDisposable(C3.Disposable.From(d,"instancedestroy",(a)=>this._OnInstanceDestroyed(a.instance)),C3.Disposable.From(d,"afterload",()=>this._OnAfterLoad())),this._isEnabled&&this._StartTicking()}Release(){this._currentTarget=null,super.Release()}_OnAfterLoad(){this._currentTarget=-1===this._loadTargetUid?null:this._runtime.GetInstanceByUID(this._loadTargetUid)}_OnInstanceDestroyed(a){this._currentTarget===a&&(this._currentTarget=null)}SaveToJson(){return{"r":this._range,"rof":this._rateOfFire,"re":this._isRotateEnabled,"rs":this._rotateSpeed,"tm":this._targetMode,"pa":this._predictiveAim,"ps":this._projectileSpeed,"ucc":this._useCollisionCells,"e":this._isEnabled,"lct":this._lastCheckTime,"ftc":this._fireTimeCount,"t":this._currentTarget?this._currentTarget.GetUID():-1,"ox":this._oldTargetX,"oy":this._oldTargetY,"ls":this._lastSpeeds,"sc":this._speedsCount,"targs":this.GetSdkType().GetTargetTypes().map((a)=>a.GetSID())}}LoadFromJson(a){this._range=a["r"],this._rateOfFire=a["rof"],this._isRotateEnabled=a["re"],this._rotateSpeed=a["rs"],this._targetMode=a["tm"],this._predictiveAim=a["pa"],this._projectileSpeed=a["ps"],this._useCollisionCells=a["ucc"],this._SetEnabled(a["e"]),this._lastCheckTime=a["lct"],this._fireTimeCount=a["ftc"],this._loadTargetUid=a["t"],this._oldTargetX=a["ox"],this._oldTargetY=a["oy"],this._lastSpeeds=a["ls"],this._speedsCount=a["sc"];const b=this.GetSdkType().GetTargetTypes();C3.clearArray(b);for(const c of a["targs"]){const a=this._runtime.GetObjectClassBySID(c);a&&b.push(a)}}AddSpeed(a){4>this._speedsCount?(this._lastSpeeds[this._speedsCount]=a,this._speedsCount++):(this._lastSpeeds.shift(),this._lastSpeeds.push(a))}GetSpeed(){let a=0;for(let b=0;b=this._lastCheckTime+.1)if(this._lastCheckTime=a,0===this._targetMode&&!this._currentTarget)this.LookForFirstTarget(),this._currentTarget&&this._OnTargetAcquired();else if(1===this._targetMode){const a=this._currentTarget;this.LookForNearestTarget(),this._currentTarget&&this._currentTarget!==a&&this._OnTargetAcquired()}if(this._fireTimeCount+=b,this._currentTarget){let d=this._currentTarget.GetWorldInfo(),e=C3.angleTo(c.GetX(),c.GetY(),d.GetX(),d.GetY());if(this._predictiveAim){const f=c.GetX(),g=c.GetY(),i=d.GetX(),j=d.GetY(),k=C3.angleTo(i,j,this._oldTargetX,this._oldTargetY);this._firstTickWithTarget||this.AddSpeed(C3.distanceTo(i,j,this._oldTargetX,this._oldTargetY)/b);const h=this.GetSpeed(),l=j-g,m=i-f,n=(h*Math.sin(k)*(f-i)-h*Math.cos(k)*(g-j))/this._projectileSpeed,o=Math.asin(n/Math.sqrt(l*l+m*m))-Math.atan2(l,-m)+Math.PI;isNaN(o)||(e=o)}this._isRotateEnabled&&(c.SetAngle(C3.angleRotate(c.GetAngle(),e,this._rotateSpeed*b)),c.SetBboxChanged()),this._fireTimeCount>=this._rateOfFire&&(!this._isRotateEnabled||.1>=C3.toDegrees(C3.angleDiff(c.GetAngle(),e)))&&(!this._predictiveAim||4<=this._speedsCount)&&(this._fireTimeCount-=this._rateOfFire,this._fireTimeCount>=this._rateOfFire&&(this._fireTimeCount=0),this.Trigger(C3.Behaviors.Turret.Cnds.OnShoot)),this._currentTarget&&(d=this._currentTarget.GetWorldInfo(),this._oldTargetX=d.GetX(),this._oldTargetY=d.GetY()),this._firstTickWithTarget=!1}this._fireTimeCount>this._rateOfFire&&(this._fireTimeCount=this._rateOfFire)}}GetPropertyValueByIndex(a){return a===0?this._range:1===a?this._rateOfFire:2===a?this._isRotateEnabled:3===a?C3.toDegrees(this._rotateSpeed):4===a?this._targetMode:5===a?this._predictiveAim:6===a?this._projectileSpeed:7===a?this._useCollisionCells:8===a?this._isEnabled:void 0}SetPropertyValueByIndex(b,c){switch(b){case a:this._range=c;break;case 1:this._rateOfFire=c;break;case 2:this._isRotateEnabled=!!c;break;case 3:if(!this._isRotateEnabled)return;this._rotateSpeed=C3.toRadians(c);break;case 4:this._targetMode=c;break;case 5:this._predictiveAim=!!c;break;case 6:if(!this._predictiveAim)return;this._projectileSpeed=c;break;case 7:this._useCollisionCells=!!c;break;case 8:this._SetEnabled(c);}}_SetEnabled(a){this._isEnabled=!!a,this._isEnabled?this._StartTicking():this._StopTicking()}GetDebuggerProperties(){return[{title:"$"+this.GetBehaviorType().GetName(),properties:[{name:"behaviors.turret.properties.range.name",value:this._range,onedit:(a)=>this._range=a},{name:"behaviors.turret.properties.rate-of-fire.name",value:this._rateOfFire,onedit:(a)=>this._rateOfFire=a},{name:"behaviors.turret.properties.rotate-speed.name",value:C3.toDegrees(this._rotateSpeed),onedit:(a)=>this._rotateSpeed=C3.toRadians(a)},{name:"behaviors.turret.properties.predictive-aim.name",value:this._predictiveAim,onedit:(a)=>this._predictiveAim=a},{name:"behaviors.turret.properties.projectile-speed.name",value:this._projectileSpeed,onedit:(a)=>this._projectileSpeed=a},{name:"behaviors.turret.debugger.has-target",value:!!this._currentTarget},{name:"behaviors.turret.debugger.target-uid",value:this._currentTarget?this._currentTarget.GetUID():0},{name:"behaviors.turret.properties.enabled.name",value:this._isEnabled,onedit:(a)=>this._SetEnabled(a)}]}]}}} + +"use strict";C3.Behaviors.Turret.Cnds={HasTarget(){return!!this._currentTarget},OnShoot(){return!0},OnTargetAcquired(){return!0},IsEnabled(){return this._isEnabled}}; + +"use strict";C3.Behaviors.Turret.Acts={AcquireTarget(a){if(a){const b=a.GetCurrentSol().GetInstances();for(const a of b)if(this._currentTarget!==a&&this.IsInRange(a)){this._currentTarget=a,this._OnTargetAcquired();break}}},AddTarget(a){const b=this.GetSdkType().GetTargetTypes();if(!b.includes(a)){for(const c of b)if(c.IsFamily()&&c.FamilyHasMember(a))return;b.push(a)}},ClearTargets(){C3.clearArray(this.GetSdkType().GetTargetTypes())},UnacquireTarget(){this._currentTarget=null,this._speedsCount=0,this._firstTickWithTarget=!0},SetEnabled(a){this._SetEnabled(0!==a)},SetRange(a){this._range=a},SetRateOfFire(a){this._rateOfFire=a},SetRotate(a){this._isRotateEnabled=0!==a},SetRotateSpeed(a){this._rotateSpeed=C3.toRadians(a)},SetTargetMode(a){this._targetMode=a},SetPredictiveAim(a){this._predictiveAim=0!==a},SetProjectileSpeed(a){this._projectileSpeed=a}}; + +"use strict";C3.Behaviors.Turret.Exps={TargetUID(){return this._currentTarget?this._currentTarget.GetUID():0},Range(){return this._range},RateOfFire(){return this._rateOfFire},RotateSpeed(){return C3.toDegrees(this._rotateSpeed)}}; + +"use strict"; +{ + C3.Behaviors.skymen_Skymen_SpritefontDX = class Skymen_SpritefontDXBehavior extends C3.SDKBehaviorBase + { + constructor(opts) + { + super(opts); + } + + Release() + { + super.Release(); + } + }; +} + +"use strict"; +{ + C3.Behaviors.skymen_Skymen_SpritefontDX.Type = class Skymen_SpritefontDXType extends C3.SDKBehaviorTypeBase + { + constructor(objectClass) + { + super(objectClass); + } + + Release() + { + super.Release(); + } + + OnCreate() + {} + }; +} + +"use strict"; +const easingNames = ["linear", "easeInQuad", "easeOutQuad", "easeInOutQuad", "easeInCubic", "easeOutCubic", "easeInOutCubic", "easeInQuart", "easeOutQuart", "easeInOutQuart", "easeInQuint", "easeOutQuint", "easeInOutQuint", "easeInSine", "easeOutSine", "easeInOutSine", "easeInExpo", "easeOutExpo", "easeInOutExpo", "easeInCirc", "easeOutCirc", "easeInOutCirc", "easeOutBounce", "easeInBack", "easeOutBack", "easeInOutBack", "elastic", "swingFromTo", "swingFrom", "swingTo", "bounce", "bouncePast", "easeFromTo", "easeFrom", "easeTo"] + +var EasingFunctions = { + // no easing, no acceleration + linear: function(t) + { + return t + }, + // accelerating from zero velocity + easeInQuad: function(t) + { + return t * t + }, + // decelerating to zero velocity + easeOutQuad: function(t) + { + return t * (2 - t) + }, + // acceleration until halfway, then deceleration + easeInOutQuad: function(t) + { + return t < .5 ? 2 * t * t : -1 + (4 - 2 * t) * t + }, + // accelerating from zero velocity + easeInCubic: function(t) + { + return t * t * t + }, + // decelerating to zero velocity + easeOutCubic: function(t) + { + return (--t) * t * t + 1 + }, + // acceleration until halfway, then deceleration + easeInOutCubic: function(t) + { + return t < .5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1 + }, + // accelerating from zero velocity + easeInQuart: function(t) + { + return t * t * t * t + }, + // decelerating to zero velocity + easeOutQuart: function(t) + { + return 1 - (--t) * t * t * t + }, + // acceleration until halfway, then deceleration + easeInOutQuart: function(t) + { + return t < .5 ? 8 * t * t * t * t : 1 - 8 * (--t) * t * t * t + }, + // accelerating from zero velocity + easeInQuint: function(t) + { + return t * t * t * t * t + }, + // decelerating to zero velocity + easeOutQuint: function(t) + { + return 1 + (--t) * t * t * t * t + }, + // acceleration until halfway, then deceleration + easeInOutQuint: function(t) + { + return t < .5 ? 16 * t * t * t * t * t : 1 + 16 * (--t) * t * t * t * t + }, + + easeInSine: function(pos) + { + return -Math.cos(pos * (Math.PI / 2)) + 1; + }, + + easeOutSine: function(pos) + { + return Math.sin(pos * (Math.PI / 2)); + }, + + easeInOutSine: function(pos) + { + return (-0.5 * (Math.cos(Math.PI * pos) - 1)); + }, + + easeInExpo: function(pos) + { + return (pos === 0) ? 0 : Math.pow(2, 10 * (pos - 1)); + }, + + easeOutExpo: function(pos) + { + return (pos === 1) ? 1 : -Math.pow(2, -10 * pos) + 1; + }, + + easeInOutExpo: function(pos) + { + if (pos === 0) return 0; + if (pos === 1) return 1; + if ((pos /= 0.5) < 1) return 0.5 * Math.pow(2, 10 * (pos - 1)); + return 0.5 * (-Math.pow(2, -10 * --pos) + 2); + }, + + easeInCirc: function(pos) + { + return -(Math.sqrt(1 - (pos * pos)) - 1); + }, + + easeOutCirc: function(pos) + { + return Math.sqrt(1 - Math.pow((pos - 1), 2)); + }, + + easeInOutCirc: function(pos) + { + if ((pos /= 0.5) < 1) return -0.5 * (Math.sqrt(1 - pos * pos) - 1); + return 0.5 * (Math.sqrt(1 - (pos -= 2) * pos) + 1); + }, + + easeOutBounce: function(pos) + { + if ((pos) < (1 / 2.75)) + { + return (7.5625 * pos * pos); + } + else if (pos < (2 / 2.75)) + { + return (7.5625 * (pos -= (1.5 / 2.75)) * pos + 0.75); + } + else if (pos < (2.5 / 2.75)) + { + return (7.5625 * (pos -= (2.25 / 2.75)) * pos + 0.9375); + } + else + { + return (7.5625 * (pos -= (2.625 / 2.75)) * pos + 0.984375); + } + }, + + easeInBack: function(pos) + { + var s = 1.70158; + return (pos) * pos * ((s + 1) * pos - s); + }, + + easeOutBack: function(pos) + { + var s = 1.70158; + return (pos = pos - 1) * pos * ((s + 1) * pos + s) + 1; + }, + + easeInOutBack: function(pos) + { + var s = 1.70158; + if ((pos /= 0.5) < 1) return 0.5 * (pos * pos * (((s *= (1.525)) + 1) * pos - s)); + return 0.5 * ((pos -= 2) * pos * (((s *= (1.525)) + 1) * pos + s) + 2); + }, + + elastic: function(pos) + { + return -1 * Math.pow(4, -8 * pos) * Math.sin((pos * 6 - 1) * (2 * Math.PI) / 2) + 1; + }, + + swingFromTo: function(pos) + { + var s = 1.70158; + return ((pos /= 0.5) < 1) ? 0.5 * (pos * pos * (((s *= (1.525)) + 1) * pos - s)) : + 0.5 * ((pos -= 2) * pos * (((s *= (1.525)) + 1) * pos + s) + 2); + }, + + swingFrom: function(pos) + { + var s = 1.70158; + return pos * pos * ((s + 1) * pos - s); + }, + + swingTo: function(pos) + { + var s = 1.70158; + return (pos -= 1) * pos * ((s + 1) * pos + s) + 1; + }, + + bounce: function(pos) + { + if (pos < (1 / 2.75)) + { + return (7.5625 * pos * pos); + } + else if (pos < (2 / 2.75)) + { + return (7.5625 * (pos -= (1.5 / 2.75)) * pos + 0.75); + } + else if (pos < (2.5 / 2.75)) + { + return (7.5625 * (pos -= (2.25 / 2.75)) * pos + 0.9375); + } + else + { + return (7.5625 * (pos -= (2.625 / 2.75)) * pos + 0.984375); + } + }, + + bouncePast: function(pos) + { + if (pos < (1 / 2.75)) + { + return (7.5625 * pos * pos); + } + else if (pos < (2 / 2.75)) + { + return 2 - (7.5625 * (pos -= (1.5 / 2.75)) * pos + 0.75); + } + else if (pos < (2.5 / 2.75)) + { + return 2 - (7.5625 * (pos -= (2.25 / 2.75)) * pos + 0.9375); + } + else + { + return 2 - (7.5625 * (pos -= (2.625 / 2.75)) * pos + 0.984375); + } + }, + + easeFromTo: function(pos) + { + if ((pos /= 0.5) < 1) return 0.5 * Math.pow(pos, 4); + return -0.5 * ((pos -= 2) * Math.pow(pos, 3) - 2); + }, + + easeFrom: function(pos) + { + return Math.pow(pos, 4); + }, + + easeTo: function(pos) + { + return Math.pow(pos, 0.25); + } +} + + function cos(x) + { + return Math.cos(x * Math.PI / 180); + } + + function sin(x) + { + return Math.sin(x * Math.PI / 180); + } + + function random(x) + { + return Math.random() * x; + } + + function hslToRgb(hue, saturation, lightness) + { + // based on algorithm from http://en.wikipedia.org/wiki/HSL_and_HSV#Converting_to_RGB + if (hue == undefined) + { + return [0, 0, 0]; + } + + var chroma = (1 - Math.abs((2 * lightness) - 1)) * saturation; + var huePrime = hue / 60; + var secondComponent = chroma * (1 - Math.abs((huePrime % 2) - 1)); + + huePrime = Math.floor(huePrime); + var red; + var green; + var blue; + + if (huePrime === 0) + { + red = chroma; + green = secondComponent; + blue = 0; + } + else if (huePrime === 1) + { + red = secondComponent; + green = chroma; + blue = 0; + } + else if (huePrime === 2) + { + red = 0; + green = chroma; + blue = secondComponent; + } + else if (huePrime === 3) + { + red = 0; + green = secondComponent; + blue = chroma; + } + else if (huePrime === 4) + { + red = secondComponent; + green = 0; + blue = chroma; + } + else if (huePrime === 5) + { + red = chroma; + green = 0; + blue = secondComponent; + } + + var lightnessAdjustment = lightness - (chroma / 2); + red += lightnessAdjustment; + green += lightnessAdjustment; + blue += lightnessAdjustment; + + return [Math.round(red * 255), Math.round(green * 255), Math.round(blue * 255)]; + + }; +var hsltorgb = hslToRgb; + +function colorToHex(color) +{ + if (color.startsWith("#")) + { + return color + } + if (color.startsWith("hsl")) + { + let[h, s, l] = color.split('(')[1].split(')')[0].split(',').map(x => { + return x.trim() + }) + color = 'rgb(' + hslToRgb(h, s / 100, l / 100).join(',') + ')' + } + if (color.startsWith("rgb")) + { + let[r, g, b] = color.split('(')[1].split(')')[0].split(',').map(x => { + x = parseInt(x.trim()).toString(16); + return (x.length == 1) ? "0" + x : x; + }) + return "#" + r + g + b + } +} +var colortohex = colorToHex; + +function lerpColor(a, b, x) +{ + return lerpHexColor(colorToHex(a), colorToHex(b), x) +} +var lerpcolor = lerpColor; + +function lerpHexColor(a, b, amount) +{ + + var ah = parseInt(a.replace(/#/g, ''), 16), + ar = ah >> 16, + ag = ah >> 8 & 0xff, + ab = ah & 0xff, + bh = parseInt(b.replace(/#/g, ''), 16), + br = bh >> 16, + bg = bh >> 8 & 0xff, + bb = bh & 0xff, + rr = ar + amount * (br - ar), + rg = ag + amount * (bg - ag), + rb = ab + amount * (bb - ab); + + return '#' + ((1 << 24) + (rr << 16) + (rg << 8) + rb | 0).toString(16).slice(1); +} +var lerphexcolor = lerpHexColor; + +function lerpUnlerp(minOutput, maxOutput, minInput, maxInput, x, clamp = false) +{ + if (clamp) + { + if (x > maxInput) x = maxInput + if (x < minInput) x = minInput + } + return minOutput + ((x - minInput) / (maxInput - minInput)) * (maxOutput - minOutput); +} +var lerpunlerp = lerpUnlerp; + +function unlerp(min, max, x, clamp = false) +{ + if (clamp) + { + if (x > max) x = max + if (x < min) x = min + } + if (min === max && x >= max) return 1 + return (x - min) / (max - min); +} + +function lerp(min, max, x) +{ + let a = typeof min + let b = typeof max + if (a === b) + { + if (a === "number") + { + return x * (max - min) + min; + } + else + { + return lerpColor(min, max, x) + } + } + else + { + if (a === "number") + { + max = parseFloat(max) + } + else + { + min = parseFloat(min) + } + return x * (max - min) + min; + } +} + +{ + C3.Behaviors.skymen_Skymen_SpritefontDX.Instance = class Skymen_SpritefontDXInstance extends C3.SDKBehaviorInstanceBase + { + constructor(behInst, properties) + { + super(behInst); + + if (properties) + { + this.TWParams = properties[0]; + this.TWParamsOBJ = this.parseTypewriterParams(this.TWParams); + this.TWEasing = easingNames[properties[1]]; + } + this.curTypedWidth = "" + this.curTypedHeight = "" + this.text = "" + this.typewriterPaused = false; + this.typewriterActive = false; + this.LastLetterID = 0; + this.typePauseTime = 0; + this.typewriterTagData = []; + this.nextLetterTime = 0; + this.typewriterWait = false; + this.firstFrame = true; + this.animated = false; + this.SetTextCall = false; + + this.linkedDictionnaryUID = -1 + + this.AnimFunctions = {} + if (!this._inst._objectType._SFDXAliasFunctions) this._inst._objectType._SFDXAliasFunctions = {} + + this._StartTicking2() + + // Opt-in to getting calls to Tick() + // this._StartTicking(); + } + + Release() + { + super.Release(); + } + + specialJSONstringify(obj) + { + var placeholder = '____PLACEHOLDER____'; + var fns = []; + var json = JSON.stringify(obj, function(key, value) + { + if (typeof value === 'function') + { + fns.push(value); + return placeholder; + } + return value; + }, 2); + json = json.replace(new RegExp('"' + placeholder + '"', 'g'), function(_) + { + return fns.shift(); + }); + return json; + }; + + specialJSONparse(str) + { + let val; + eval('val =' + str + ';'); + return val; + } + + SaveToJson() + { + return { + curTypedWidth: this.curTypedWidth, + curTypedHeight: this.curTypedHeight, + text: this.text, + typewriterPaused: this.typewriterPaused, + typewriterActive: this.typewriterActive, + LastLetterID: this.LastLetterID, + typePauseTime: this.typePauseTime, + nextLetterTime: this.nextLetterTime, + typewriterWait: this.typewriterWait, + firstFrame: this.firstFrame, + animated: this.animated, + SetTextCall: this.SetTextCall, + lastKnown: this.lastKnown, + TWTime: this.TWTime, + TWEasing: this.TWEasing, + + typewriterTagData: JSON.stringify(this.typewriterTagData), + TWData: JSON.stringify(this.TWData), + TWParamsOBJ: JSON.stringify(this.TWParamsOBJ), + + AnimFunctions: this.specialJSONstringify(this.AnimFunctions), + parsedText: this.specialJSONstringify(this.parsedText), + _SFDXAliasFunctions: this.specialJSONstringify(this._inst._objectType._SFDXAliasFunctions), + + linkedDictionnaryUID: this.linkedDictionnaryUID + }; + } + + LoadFromJson(o) + { + this.curTypedHeight = o.curTypedHeight + this.curTypedWidth = o.curTypedWidth + this.text = o.text + this.typewriterPaused = o.typewriterPaused + this.typewriterActive = o.typewriterActive + this.LastLetterID = o.LastLetterID + this.typePauseTime = o.typePauseTime + this.nextLetterTime = o.nextLetterTime + this.typewriterWait = o.typewriterWait + this.firstFrame = o.firstFrame + this.animated = o.animated + this.SetTextCall = o.SetTextCall + this.lastKnown = o.lastKnown + this.TWTime = o.TWTime + this.TWEasing = o.TWEasing + + this.typewriterTagData = JSON.parse(o.typewriterTagData) + this.TWData = JSON.parse(o.TWData) + this.TWParamsOBJ = JSON.parse(o.TWParamsOBJ) + + this.AnimFunctions = this.specialJSONparse(o.AnimFunctions) + this.parsedText = this.specialJSONparse(o.parsedText) + this._SFDXAliasFunctions = this.specialJSONparse(o._SFDXAliasFunctions) + + this.linkedDictionnaryUID = o.linkedDictionnaryUID + } + + parseTypewriterParams(params) + { + var paramsA = params.trim().split(';'); + var defaultParams = { + "value": {}, + "duration": { + "type": 5, + "fade": 10 + } + } + + paramsA.forEach(param => { + var paramA = param.trim().split(' '); + let mode = paramA.shift().toLowerCase(); + let tag = paramA.shift().toLowerCase(); + let value = paramA.join(); + + if (this.isANumber(value)) value = parseFloat(value) + + switch (mode) + { + case "value": + defaultParams["value"][tag] = value + break; + case "duration": + switch (tag) + { + case "type": + defaultParams["duration"]["type"] = value + break; + case "fade": + defaultParams["duration"]["fade"] = value + break; + + default: + console.warn(tag + " is not a recognised typewriter parameter for " + mode + ".") + break; + } + break + default: + console.warn(mode + " is not a recognised typewriter parameter.") + break; + } + }); + + return defaultParams + } + + getDefault(tag) + { + switch (tag) + { + case "offsetx": + case "offsety": + return 0; + case "opacity": + return 100; + case "scale": + case "scalex": + case "scaley": + return 1; + case "color": + return '#FFFFFF'; + default: + return 0; + } + } + + Tick2() + { + //Check if dictionnary is linked after load + if (this.linkedDictionnaryUID != -1 && !this.linkedDictionnary) + { + this.linkedDictionnary = this._runtime.GetInstanceByUID(this.linkedDictionnaryUID) + } + + //If instance action Set Text is called + if (!this.SetTextCall && this.animated && this._inst._sdkInst._text != this.lastKnown) + { + this.animated = false; + } + + if (this.SetTextCall) this.SetTextCall = false + + if (this.animated) + { + const time = this._runtime.GetGameTime(); + var str = "" + var word = false + if (this.typewriterActive) + { + let id = 0 + this.parsedText.forEach(el => { + for (let i = 0; i < el[1].length; i++) + { + let tags = {} + + el[0].forEach(tag => { + if (typeof tag[1] === "function") tags[tag[0]] = tag[1](time, i) + else tags[tag[0]] = tag[1] + }) + + if (this.TWTime >= this.TWData.start[id][0] && this.TWData.data[id].hasOwnProperty("pause")) + { + this.typewriterPaused = true + delete this.TWData.data[id].pause; + this.Trigger(C3.Behaviors.skymen_Skymen_SpritefontDX.Cnds.OnTwPause) + } + if (this.TWTime >= this.TWData.start[id][0] && this.TWData.data[id].hasOwnProperty("fn")) + { + let fnData = this.TWData.data[id].fn.split(' ') + let fnName = fnData.shift() + let fnParams = JSON.parse("[" + fnData.join(' ') + "]") || [] + c3_callFunction(fnName, fnParams) + delete this.TWData.data[id].fn; + } + + Object.keys(this.TWData.data[id]).forEach(tag => { + if (!tags.hasOwnProperty(tag)) + { + tags[tag] = this.getDefault(tag) + } + tags[tag] = lerp(this.TWData.data[id][tag], tags[tag], EasingFunctions[this.TWEasing](unlerp(this.TWData.start[id][0], this.TWData.start[id][1], this.TWTime, true))) + }) + + let end = "" + + Object.keys(tags).forEach(tag => { + if (!["wait", "fade", "type", "pause"].includes(tag)) + { + str += "[" + tag + "=" + tags[tag] + "]" + end = "[/" + tag + "]" + end + } + }) + + let innerText = "" + let tmp = el[1][i] + if (typeof tmp != "string") + { + innerText += tmp() + } + else + { + innerText = tmp + } + + str += innerText + end + + if (this.TWTime >= this.TWData.start[id][0] && this.LastLetterID < id) + { + this.LastLetterID = id + this.Trigger(C3.Behaviors.skymen_Skymen_SpritefontDX.Cnds.OnLetterTyped) + word = true + this.curTypedWidth = str + } + + if (word) + { + this.curTypedHeight = str + if (el[1][i] === " ") word = false + } + + id++ + } + }) + + if (this.TWTime >= this.TWData.start[this.TWData.start.length - 1][1]) + { + //TW END + this.Trigger(C3.Behaviors.skymen_Skymen_SpritefontDX.Cnds.OnTwStop) + this.typewriterActive = false + } + + if (!this.typewriterPaused) this.TWTime += this._runtime.GetDt(this._inst) + } + else + { + this.parsedText.forEach(el => { + if (el[0].length == 0) + { + let innerText = "" + let tmp = el[1] + if (typeof tmp != "string") + { + tmp.forEach(f => { + innerText += f() + }) + } + else + { + innerText = tmp + } + //console.log(innerText) + str += innerText + } + else + { + for (let i = 0; i < el[1].length; i++) + { + let end = "" + el[0].forEach(tag => { + let val + if (typeof tag[1] === "function") val = tag[1](time, i) + else val = tag[1] + + str += "[" + tag[0] + "=" + val + "]" + end = "[/" + tag[0] + "]" + end + }) + let innerText = "" + let tmp = el[1][i] + if (typeof tmp != "string") + { + innerText += tmp() + } + else + { + innerText = tmp + } + str += innerText + end + } + } + }) + } + this.lastKnown = str + //console.log(str) + this._inst._sdkInst.CallAction(C3.Plugins.Spritefont2.Acts.SetText, str) + } + } + + Typewriter(text) + { + if (text === "") + { + this._inst._sdkInst.CallAction(C3.Plugins.Spritefont2.Acts.SetText, ""); + this.lastKnown = ""; + this.animated = false; + this.typewriterActive = false + return; + } + + this.SetTextCall = true + this.text = this.getTextWithNoTW(text) + this.parseText() + text = this.text + this.LastLetterID = -1; + this.typewriterActive = true + this.animated = true + this.typewriterPaused = false + this.TWTime = 0; + this.curTypedWidth = "" + this.curTypedHeight = "" + let pureText = this.getTextWithNoTags(this.text) + let start = 0; + this.TWData = { + start: [], + data: [] + } + for (let i = 0; i < pureText.length; i++) + { + var curData = {} + Object.assign(curData, this.TWParamsOBJ.value); + Object.assign(curData, this.TWParamsOBJ.duration); + for (let j = 0; j < this.typewriterTagData.length; j++) + { + let el = this.typewriterTagData[j] + if (el.id > i) break; + let data = el.data.split(' ') + let tag = data[0].toLowerCase() + if ((tag === "wait" || tag === "pause" || tag === "fn") && el.id != i) continue; + + if (tag === "fn") + { + data.shift() + curData[tag] = data.join(' ') + } + else if (this.isANumber(data[1])) curData[tag] = parseFloat(data[1]) + else curData[tag] = data[1] + } + + let special = false + + if (curData.hasOwnProperty("wait")) + { + start += curData.wait + } + if (curData.hasOwnProperty("pause")) + { + start += curData.fade + } + this.TWData.start.push([start, start + curData.fade]) + + start += curData.type + this.TWData.data.push(curData); + } + console.log(this.TWData) + this.Trigger(C3.Behaviors.skymen_Skymen_SpritefontDX.Cnds.OnTwStart) + } + + isAString(text) + { + var regex = /(["'])(\\?.)*?\1/g; //" + var match = regex.exec(text); + return match != null && match[0] === text; + } + + isANumber(text) + { + return parseFloat(text).toString() === text; + } + + SkipTypewriterToNextPause(toEnd) + { + if (!this.typewriterActive) return; + + let i = 0; + while (this.TWTime > this.TWData.start[i][0]) + { + i++ + } + + while (i < this.TWData.data.length && (toEnd || !this.TWData.data[i].hasOwnProperty("pause"))) + { + if (this.TWData.data[i].hasOwnProperty("fn")) + { + let fnData = this.TWData.data[id].fn.split(' ') + let fnName = fnData.shift() + let fnParams = JSON.parse("[" + fnData.join(' ') + "]") || [] + c3_callFunction(fnName, fnParams) + } + i++ + } + + if (i === this.TWData.data.length) + { + this.Trigger(C3.Behaviors.skymen_Skymen_SpritefontDX.Cnds.OnTwStop) + this.typewriterActive = false + } + else + { + this.TWTime = this.TWData.start[i][0] + } + } + + getTextWithNoTags(text) + { + let regex = /\[\/?((?!\/?tw|fn|text)[^\]]*)(=[^\]]*)?\]/gi; + text = text.replace(regex, ""); + regex = /\[\/?((?!\/?tw)[^\]]*)(=[^\]]*)?\]/gi; + var match; + while ((match = regex.exec(text)) !== null) + { + let str = text + let a = match[1].split('=') + let b = a[1] || "" + let c = b.split(' ') + let len = parseInt(c[1]) || 0 + let str2 = "" + for (let i = 0; i < len; i++) + { + str2 += "0" + } + text = text.replace(match[0], str2) + regex.lastIndex = 0; + } + return text; + } + + getTextWithNoTW(text) + { + let regex = /\[tw=([^\]]*)?\]/gi; + + var match; + var offset = 0 + this.typewriterTagData = [] + text = this.getVars(text) + + var noTag = this.getTextWithNoTags(text) + + while ((match = regex.exec(noTag)) !== null) + { + this.typewriterTagData.push( + { + data: match[1].trim(), + id: match.index - offset + }) + offset += match[0].length + } + return text.replace(regex, ""); + } + + getAnimFunction(tag) + { + if (!this.AnimFunctions.hasOwnProperty(tag)) + { + let regex = /^[\d\w]+(\([^()]*\))?$/g; + tag = tag.trim() + if (regex.test(tag)) + { + var arr = tag.split('(') + var name = arr[0].trim().toLowerCase() + var fn = this._inst._objectType._SFDXAliasFunctions[name]; + + if (arr.length > 1) + { + var params = arr[1].slice(0, -1).split(',').map(function(s) + { + return s.trim() + });; + for (let i = 0; i < params.length; i++) + { + if (!isNaN(Number(params[i]))) + { + params[i] = Number(params[i]) + } + } + params.unshift(null) + this.AnimFunctions[tag] = fn.bind.apply(fn, params) + } + else + { + this.AnimFunctions[tag] = fn + } + + } + else + { + this.AnimFunctions[tag] = new Function("t", "i", "return " + tag.toLowerCase() + ";"); + } + } + return this.AnimFunctions[tag] + } + + parseText() + { + var res = []; + var stack = 0; + var currentTag = [] + var currentText = "" + var tagParam = false; + var self = this; + + if (typeof this.linkedDictionnary !== "undefined") + { + this.replaceVars() + } + + var text = this.text + + var regex = /\[\/?((?!\/?sfdx|text|fn)[^\]]*)\]/gi //Matches for tags that are neither sfdx nor text + var match; + while ((match = regex.exec(text)) !== null) + { + let str = text + if (match[0].includes('=')) + { + let a = match[1].split('=') + text = text.replace(match[0], "[sfdx=" + a[0] + " \"" + a[1] + "\"]") + } + else + { + text = text.replace(match[0], "[/sfdx]") + } + regex.lastIndex = 0; + } + + this.text = text + + for (let i = 0; i < text.length; i++) + { + if (tagParam) + { + if (text[i] === "]") + { + tagParam = false; + currentText = "" + } + else + { + currentTag[stack - 1] += text[i] + } + } + else + { + if (text.substring(i).toLowerCase().startsWith("[sfdx=")) + { + push(JSON.parse(JSON.stringify(currentTag)), currentText) + stack++; + currentTag.push(""); + tagParam = true; + i += 5 + } + else if (text.substring(i).toLowerCase().startsWith("[/sfdx]")) + { + stack--; + push(JSON.parse(JSON.stringify(currentTag)), currentText) + currentTag.pop(); + currentText = "" + i += 6 + } + else if (text.substring(i).toLowerCase().startsWith("[text=")) + { + push(JSON.parse(JSON.stringify(currentTag)), currentText) + currentText = "" + i += 6 + while (text[i] !== "]") + { + currentText += text[i] + i++ + } + let textParam = currentText.split(' ') + let obj = [] + let textName = textParam[0] + let length = parseInt(textParam[1]) || 0 + for (let i = 0; i < length; i++) + { + obj.push(this.getChar.bind(this, textName, i, false)) + } + push(JSON.parse(JSON.stringify(currentTag)), obj) + currentText = "" + } + else if (text.substring(i).toLowerCase().startsWith("[fn=")) + { + push(JSON.parse(JSON.stringify(currentTag)), currentText) + currentText = "" + i += 4 + while (text[i] !== "]") + { + currentText += text[i] + i++ + } + let textParam = currentText.split(' ') + let obj = [] + let textName = textParam[0] + let length = parseInt(textParam[1]) || 0 + for (let i = 0; i < length; i++) + { + obj.push(this.getChar.bind(this, textName, i, true)) + } + push(JSON.parse(JSON.stringify(currentTag)), obj) + currentText = "" + } + else + { + currentText += text[i] + } + } + } + + push(JSON.parse(JSON.stringify(currentTag)), currentText) + + function push(tag, text) + { + if (text == "") return + + var tagArray = [] + + tag.forEach(t => { + var arr = t.split(' ') + var firstTag = arr.shift(); + var tagfn = arr.join(' '); + var fn + if (self.isAString(tagfn)) + { + fn = tagfn.substring(1, tagfn.length - 1) + } + else + { + fn = self.getAnimFunction(tagfn); + } + + tagArray.push([firstTag, fn]) + }) + + res.push([tagArray, text]) + } + //console.log(res) + this.parsedText = res + } + + getChar(name, i, fn) + { + if (fn) + { + name = name.toLowerCase() + let str = c3_callFunction(name) || ""; + if (i < str.length) + { + return str[i] + } + else + { + return " " + } + } + else + { + name = name.toLowerCase() + if (this.linkedDictionnary.has(name)) + { + let val = this.linkedDictionnary.get(name) + return i < val.length ? val[i] : " " + } + else + { + return " " + } + } + } + + replaceVars() + { + this.text = this.getVars(this.text) + } + + getVars(text) + { + var regex = /\[(var|varfn)=([\d\w]+)\]/gi + var match; + while ((match = regex.exec(text)) !== null) + { + let isVar = match[1].trim().toLowerCase() === "var"; + let varName = match[2].toLowerCase(); + //console.log(match) + if (isVar) + { + if (this.linkedDictionnary.has(varName)) + { + text = text.replace(match[0], this.linkedDictionnary.get(varName)) + regex.lastIndex = 0; + } + } + else + { + let str = c3_callFunction(varName) || "" + text = text.replace(match[0], str) + regex.lastIndex = 0; + } + } + return text; + } + }; +} + +"use strict"; +{ + C3.Behaviors.skymen_Skymen_SpritefontDX.Cnds = { + IsTyping() + { + return this.typewriterActive && !this.typewriterPaused + }, + + OnLetterTyped() + { + return true; + }, + + OnTwPause() + { + return true; + }, + + OnTwResume() + { + return true; + }, + + OnTwStart() + { + return true; + }, + + OnTwStop() + { + return true; + } + }; +} + +"use strict"; +{ + C3.Behaviors.skymen_Skymen_SpritefontDX.Acts = { + SetAlias(name, params, body) + { + body = "return " + body + ";"; + var arr = []; + if (params.trim() != "") + { + params = params.split(',').map(function(s) + { + return s.trim() + }); + arr = arr.concat([Function], params, ['t', 'i'], [body]); + } + else + { + arr = arr.concat([Function], ['t', 'i'], [body]); + } + var fn = new(Function.bind.apply(Function, arr))(); + this._inst._objectType._SFDXAliasFunctions[name.toLowerCase().trim()] = fn; + }, + + SetText(text) + { + this.text = text; + this.SetTextCall = true + this.parseText() + this.animated = true; + }, + + PauseTw() + { + this.typewriterPaused = true + this.Trigger(C3.Behaviors.skymen_Skymen_SpritefontDX.Cnds.OnTwPause) + }, + + ResumeTw() + { + this.typewriterPaused = false + this.Trigger(C3.Behaviors.skymen_Skymen_SpritefontDX.Cnds.OnTwResume) + }, + + SetTwEasing(easing) + { + this.TWEasing = easingNames[easing]; + }, + + SetTwParams(params) + { + this.TWParams = params; + this.TWParamsOBJ = this.parseTypewriterParams(this.TWParams); + }, + + SkipTw(mode) + { + this.SkipTypewriterToNextPause(mode === 0) + }, + + Typewrite(text) + { + this.Typewriter(text) + }, + + LinkDictionary(dictionary) + { + this.linkedDictionnary = dictionary.GetInstanceByIID(0)._sdkInst.GetDataMap() + this.linkedDictionnaryUID = dictionary.GetInstanceByIID(0)._uid + } + }; +} + +"use strict"; +{ + C3.Behaviors.skymen_Skymen_SpritefontDX.Exps = { + LastLetterIndex() + { + return this.LastLetterID; + }, + + TypewriterEasing() + { + return this.TWEasing; + }, + + TypewriterParams() + { + return this.TWParams; + }, + + TypedTextWidth() + { + let b + if (this.typewriterActive) + { + let a = this._inst._sdkInst._text; + this._inst._sdkInst.CallAction(C3.Plugins.Spritefont2.Acts.SetText, this.curTypedWidth) + b = this._inst._sdkInst.CallExpression(C3.Plugins.Spritefont2.Exps.TextWidth); + this._inst._sdkInst.CallAction(C3.Plugins.Spritefont2.Acts.SetText, a); + } + else + { + b = this._inst._sdkInst.CallExpression(C3.Plugins.Spritefont2.Exps.TextWidth); + } + return b + }, + + TypedTextHeight() + { + let b + if (this.typewriterActive) + { + let a = this._inst._sdkInst._text; + this._inst._sdkInst.CallAction(C3.Plugins.Spritefont2.Acts.SetText, this.curTypedHeight) + b = this._inst._sdkInst.CallExpression(C3.Plugins.Spritefont2.Exps.TextHeight); + this._inst._sdkInst.CallAction(C3.Plugins.Spritefont2.Acts.SetText, a); + } + else + { + b = this._inst._sdkInst.CallExpression(C3.Plugins.Spritefont2.Exps.TextHeight); + } + return b + } + }; +} + +"use strict";C3.Behaviors.Sin=class extends C3.SDKBehaviorBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Behaviors.Sin.Type=class extends C3.SDKBehaviorTypeBase{constructor(a){super(a)}Release(){super.Release()}OnCreate(){}}; + +"use strict";{const a=2*Math.PI,b=Math.PI/2,c=3*Math.PI/2,d=[0,1,8,3,4,2,5,6,9,7];C3.Behaviors.Sin.Instance=class extends C3.SDKBehaviorInstanceBase{constructor(b,c){super(b),this._i=0,this._movement=0,this._wave=0,this._period=0,this._mag=0,this._isEnabled=!0,this._basePeriod=0,this._basePeriodOffset=0,this._baseMag=0,this._periodRandom=0,this._periodOffsetRandom=0,this._magnitudeRandom=0,this._initialValue=0,this._initialValue2=0,this._lastKnownValue=0,this._lastKnownValue2=0,this._ratio=0,c&&(this._movement=d[c[0]],this._wave=c[1],this._periodRandom=this._runtime.Random()*c[3],this._basePeriod=c[2],this._period=c[2],this._period+=this._periodRandom,this._basePeriodOffset=c[4],0!==this._period&&(this._periodOffsetRandom=this._runtime.Random()*c[5],this._i=c[4]/this._period*a,this._i+=this._periodOffsetRandom/this._period*a),this._magnitudeRandom=this._runtime.Random()*c[7],this._baseMag=c[6],this._mag=c[6],this._mag+=this._magnitudeRandom,this._isEnabled=!!c[8]),this._movement===5&&(this._mag=C3.toRadians(this._mag)),this.Init(),this._isEnabled&&this._StartTicking()}Release(){super.Release()}SaveToJson(){return{"i":this._i,"e":this._isEnabled,"mv":this._movement,"w":this._wave,"p":this._period,"mag":this._mag,"iv":this._initialValue,"iv2":this._initialValue2,"r":this._ratio,"lkv":this._lastKnownValue,"lkv2":this._lastKnownValue2}}LoadFromJson(a){this._i=a["i"],this._SetEnabled(a["e"]),this._movement=a["mv"],this._wave=a["w"],this._period=a["p"],this._mag=a["mag"],this._initialValue=a["iv"],this._initialValue2=a["iv2"],this._ratio=a["r"],this._lastKnownValue=a["lkv"],this._lastKnownValue2=a["lkv2"]}Init(){const a=this._inst.GetWorldInfo();switch(this._movement){case 0:this._initialValue=a.GetX();break;case 1:this._initialValue=a.GetY();break;case 2:this._initialValue=a.GetWidth(),this._ratio=a.GetHeight()/a.GetWidth();break;case 3:this._initialValue=a.GetWidth();break;case 4:this._initialValue=a.GetHeight();break;case 5:this._initialValue=a.GetAngle();break;case 6:this._initialValue=a.GetOpacity();break;case 7:this._initialValue=0;break;case 8:this._initialValue=a.GetX(),this._initialValue2=a.GetY();break;case 9:this._initialValue=a.GetZElevation();break;default:;}this._lastKnownValue=this._initialValue,this._lastKnownValue2=this._initialValue2}WaveFunc(d){var e=Math.PI;switch(d%=a,this._wave){case 0:return Math.sin(d);case 1:return d<=b?d/b:d<=c?1-2*(d-b)/e:(d-c)/b-1;case 2:return 2*d/a-1;case 3:return-2*d/a+1;case 4:return dthis._SetEnabled(a)},{name:"behaviors.sin.properties.period.name",value:this._period,onedit:(a)=>this._period=a},{name:"behaviors.sin.properties.magnitude.name",value:this._mag,onedit:(a)=>this._mag=a},{name:"behaviors.sin.debugger.value",value:this.WaveFunc(this._i)*this._mag}]}]}}} + +"use strict";C3.Behaviors.Sin.Cnds={IsEnabled(){return this._isEnabled},CompareMovement(a){return this._movement===a},ComparePeriod(a,b){return C3.compare(this._period,a,b)},CompareMagnitude(a,b){return 5===this._movement?C3.compare(this._mag,a,C3.toRadians(b)):C3.compare(this._mag,a,b)},CompareWave(a){return this._wave===a}}; + +"use strict";C3.Behaviors.Sin.Acts={SetEnabled(a){this._SetEnabled(0!==a)},SetPeriod(a){this._period=a},SetMagnitude(a){this._mag=a,5===this._movement&&(this._mag=C3.toRadians(this._mag))},SetMovement(a){5===this._movement&&5!==a&&(this._mag=C3.toDegrees(this._mag)),this._movement=a,this.Init()},SetWave(a){this._wave=a},SetPhase(a){const b=2*Math.PI;this._i=a*b%b,this._UpdateFromPhase()},UpdateInitialState(){this.Init()}}; + +"use strict";C3.Behaviors.Sin.Exps={CyclePosition(){return this._i/(2*Math.PI)},Period(){return this._period},Magnitude(){return 5===this._movement?C3.toDegrees(this._mag):this._mag},Value(){return this.WaveFunc(this._i)*this._mag}}; + +"use strict";C3.Behaviors.Pin=class extends C3.SDKBehaviorBase{constructor(a){super(a)}Release(){super.Release()}}; + +"use strict";C3.Behaviors.Pin.Type=class extends C3.SDKBehaviorTypeBase{constructor(a){super(a)}Release(){super.Release()}OnCreate(){}}; + +"use strict";C3.Behaviors.Pin.Instance=class extends C3.SDKBehaviorInstanceBase{constructor(a,b){super(a),this._pinInst=null,this._pinUid=-1,this._mode="",this._propSet=new Set,this._pinDist=0,this._pinAngle=0,this._pinImagePoint=0,this._dx=0,this._dy=0,this._dWidth=0,this._dHeight=0,this._dAngle=0,this._dz=0,this._lastKnownAngle=0,this._destroy=!1,b&&(this._destroy=b[0]);const c=this._runtime.Dispatcher();this._disposables=new C3.CompositeDisposable(C3.Disposable.From(c,"instancedestroy",(a)=>this._OnInstanceDestroyed(a.instance)),C3.Disposable.From(c,"afterload",()=>this._OnAfterLoad()))}Release(){this._pinInst=null,super.Release()}_SetPinInst(a){a?(this._pinInst=a,this._StartTicking2()):(this._pinInst=null,this._StopTicking2())}_Pin(a,b,c){if(a){const d=a.GetFirstPicked(this._inst);if(d){this._mode=b,this._SetPinInst(d);const a=this._inst.GetWorldInfo(),e=d.GetWorldInfo();if("properties"===this._mode){const b=this._propSet;b.clear();for(const a of c)b.add(a);this._dx=a.GetX()-e.GetX(),this._dy=a.GetY()-e.GetY(),this._dAngle=a.GetAngle()-e.GetAngle(),this._lastKnownAngle=a.GetAngle(),this._dz=a.GetZElevation()-e.GetZElevation(),b.has("x")&&b.has("y")&&(this._pinAngle=C3.angleTo(e.GetX(),e.GetY(),a.GetX(),a.GetY())-e.GetAngle(),this._pinDist=C3.distanceTo(e.GetX(),e.GetY(),a.GetX(),a.GetY())),b.has("width-abs")?this._dWidth=a.GetWidth()-e.GetWidth():b.has("width-scale")&&(this._dWidth=a.GetWidth()/e.GetWidth()),b.has("height-abs")?this._dHeight=a.GetHeight()-e.GetHeight():b.has("height-scale")&&(this._dHeight=a.GetHeight()/e.GetHeight())}else this._pinDist=C3.distanceTo(e.GetX(),e.GetY(),a.GetX(),a.GetY())}}}SaveToJson(){const a=this._propSet,b=this._mode,c={"uid":this._pinInst?this._pinInst.GetUID():-1,"m":b};return"rope"===b||"bar"===b?c["pd"]=this._pinDist:"properties"===b&&(c["ps"]=[...this._propSet],a.has("imagepoint")?c["ip"]=this._pinImagePoint:a.has("x")&&a.has("y")?(c["pa"]=this._pinAngle,c["pd"]=this._pinDist):(a.has("x")&&(c["dx"]=this._dx),a.has("y")&&(c["dy"]=this._dy)),a.has("angle")&&(c["da"]=this._dAngle,c["lka"]=this._lastKnownAngle),(a.has("width-abs")||a.has("width-scale"))&&(c["dw"]=this._dWidth),(a.has("height-abs")||a.has("height-scale"))&&(c["dh"]=this._dHeight),a.has("z")&&(c["dz"]=this._dz)),c}LoadFromJson(a){const b=a["m"],c=this._propSet;if(c.clear(),this._pinUid=a["uid"],"number"==typeof b)return void this._LoadFromJson_Legacy(a);if(this._mode=b,"rope"===b||"bar"===b)this._pinDist=a["pd"];else if("properties"===b){for(const b of a["ps"])c.add(b);c.has("imagepoint")?this._pinImagePoint=a["ip"]:c.has("x")&&c.has("y")?(this._pinAngle=a["pa"],this._pinDist=a["pd"]):(c.has("x")&&(this._dx=a["dx"]),c.has("y")&&(this._dy=a["dy"])),c.has("angle")&&(this._dAngle=a["da"],this._lastKnownAngle=a["lka"]||0),(c.has("width-abs")||c.has("width-scale"))&&(this._dWidth=a["dw"]),(c.has("height-abs")||c.has("height-scale"))&&(this._dHeight=a["dh"]),c.has("z")&&(this._dz=a["dz"])}}_LoadFromJson_Legacy(a){const b=this._propSet,c=a["msa"],d=a["tsa"],e=a["pa"],f=a["pd"],g=a["m"];0===g?(this._mode="properties",b.add("x").add("y").add("angle"),this._pinAngle=e,this._pinDist=f,this._dAngle=c-d,this._lastKnownAngle=a["lka"]):1===g?(this._mode="properties",b.add("x").add("y"),this._pinAngle=e,this._pinDist=f):2===g?(this._mode="properties",b.add("angle"),this._dAngle=c-d,this._lastKnownAngle=a["lka"]):3===g?(this._mode="rope",this._pinDist=a["pd"]):4===g?(this._mode="bar",this._pinDist=a["pd"]):void 0}_OnAfterLoad(){-1===this._pinUid?this._SetPinInst(null):(this._SetPinInst(this._runtime.GetInstanceByUID(this._pinUid)),this._pinUid=-1)}_OnInstanceDestroyed(a){this._pinInst===a&&(this._SetPinInst(null),this._destroy&&this._runtime.DestroyInstance(this._inst))}Tick2(){var b=Math.sin,c=Math.cos;const a=this._pinInst;if(!a)return;const d=a.GetWorldInfo(),e=this._inst,f=e.GetWorldInfo(),g=this._mode;let h=!1;if("rope"===g||"bar"===g){const a=C3.distanceTo(f.GetX(),f.GetY(),d.GetX(),d.GetY());if(a>this._pinDist||"bar"===g&&a=b.GetShakeStart()&&h= 0 && this._inst.behaviorSkins[i].object == null) { + i--; + } + if (i >= 0) { + other = this._inst.behaviorSkins[i].object; + } + } + + if (this.syncZOrder && objectWorldInfo.GetZIndex() !== other.GetWorldInfo().GetZIndex() + 1) { + this.setZorder(); + } + + if (object.x != newx) { + objectWorldInfo.SetX(newx); + } + + if (object.y != newy) { + objectWorldInfo.SetY(newy); + } + + if (object.angle != angle) { + objectWorldInfo.SetAngle(angle); + } + + objectWorldInfo.SetBboxChanged(); + + if (this.syncWithAnim && this.subSkinTag != anim) { + this.subSkinTag = anim; + } + + if (this.syncWithFrame && this._inst._sdkInst._currentFrameIndex != this.object._sdkInst._currentFrameIndex) { + this.object._sdkInst.CallAction(C3.Plugins.Sprite.Acts.SetAnimFrame, this._inst._sdkInst._currentFrameIndex); + } + + if (this.skinTag != this.oldSkinTag || this.subSkinTag != this.oldSubSkinTag) { + this.oldSkinTag = this.skinTag; + this.oldSubSkinTag = this.subSkinTag; + this.updateSkin(); + } + } + + Release() + { + super.Release(); + } + + updateSkin() { + if (this._inst._sdkInst == null) return; + + var instInfo = this._inst.GetWorldInfo(); + + if (this.default) { + if (this.object != null) { + this.destroy(); + } + if (this.hideDefault && !instInfo.IsVisible()) { + instInfo.SetVisible(true); + this._runtime.UpdateRender(); + } + return; + } else { + if (this.hideDefault && instInfo.IsVisible()) { + instInfo.SetVisible(false); + this._runtime.UpdateRender(); + } + } + + if (this.object == null) { + if (this._inst && this._inst._sdkInst._currentAnimation) { + var anim = this.getCurAnim(this._inst) + if (this.syncWithAnim && this.subSkinTag != anim) { + this.subSkinTag = anim; + } + } + var type = this.getType(this.skinTag, this.subSkinTag); + if (type == null) { + console.warn("Cannot assign subskin " + this.subSkinTag + " of skin " + this.skinTag + " because it doesn't exist. Reverting back to default."); + this.default = true; + this.updateSkin(); + return; + } + if (this.syncWithAnim) { + this.subSkinTag = this.getCurAnim(this._inst) + } + var [x, y] = this._inst.GetImagePoint(this.imagePoint); + this.object = this._runtime.CreateInstance(type, this._inst.GetWorldInfo().GetLayer(), x, y) + var objectInfo = this.object.GetWorldInfo(); + if (this.syncScale) { + this.widthRatio = objectInfo.GetWidth() / instInfo.GetWidth(); + this.heightRatio = objectInfo.GetHeight() / instInfo.GetHeight(); + } else if (this.syncSize) { + this.widthRatio = 1; + this.heightRatio = 1; + objectInfo.SetWidth(instInfo.GetWidth()); + objectInfo.SetHeight(instInfo.GetHeight()); + } + var anim = this.getAnim(this.skinTag, this.subSkinTag); + this.object._sdkInst.CallAction(C3.Plugins.Sprite.Acts.SetAnim, anim, 0) + if (this.syncWithFrame) { + this.object._sdkInst.CallAction(C3.Plugins.Sprite.Acts.SetAnimSpeed, 0); + } + this.setZorder(); + this.object._sdkInst.CallAction(C3.Plugins.Sprite.Acts.SetCollisions, 0); + + } else { + if (this.object.GetObjectClass() == this.getType(this.skinTag, this.subSkinTag)) { + if (this.syncWithAnim) { + this.subSkinTag = this.getCurAnim(this._inst); + } + anim = this.getAnim(this.skinTag, this.subSkinTag); + this.object._sdkInst.CallAction(C3.Plugins.Sprite.Acts.SetAnim, anim, 0) + if (this.syncWithFrame) { + this.object._sdkInst.CallAction(C3.Plugins.Sprite.Acts.SetAnimSpeed, 0); + } + if (this.syncZOrder) this.setZorder(); + this.object._sdkInst.CallAction(C3.Plugins.Sprite.Acts.SetCollisions, 0); + + } else { + this.destroy(); + this.updateSkin(); + return + } + } + } + + destroy() { + if (this.object === null) return; + if (this.object.behaviorSkins) { + for (var i = 0; i < this.object.behaviorSkins.length; i++) { + this.object.behaviorSkins[i].destroy(); + } + } + this._runtime.DestroyInstance(this.object); + this.object = null; + + } + + setZorder() { + var other = this._inst; + + //You can layer multiple skins addons on top of each other and their z order + //will order in the order you set them in the editor from top to bottom. + //If this is not the first behavior, get the behavior below it to give you the object to be on top of. + //If the behavior below doesn't have an active skin, just go the one below etc + + if (this.behaviorId != 0) { + var i = this.behaviorId - 1; + while (i >= 0 && this._inst.behaviorSkins[i].object == null) { + i--; + } + if (i >= 0) { + other = this._inst.behaviorSkins[i].object; + } + } + + //Once you get the "other" instance, just get the info, and change the z order. + + var otherInfo = other.GetWorldInfo() + var objectInfo = this.object.GetWorldInfo() + + var objectLayer = objectInfo.GetLayer(); + var otherLayer = otherInfo.GetLayer(); + + // And this is the part I copied from the system action's code + // First move to same layer as other object if different + if (objectLayer.GetIndex() !== otherLayer.GetIndex()) { + objectLayer._RemoveInstance(this.object, true); + objectInfo._SetLayer(otherLayer); + otherLayer._AddInstance(this.object, true); + objectLayer = objectInfo.GetLayer(); + } + objectLayer.MoveInstanceAdjacent(this.object, other, true); + this._runtime.UpdateRender() + } + + getType(skin, subSkin) { + if (this.skinBase.skins[skin] == undefined || this.skinBase.skins[skin][subSkin] == undefined) { + return null; + } + return this.skinBase.skins[skin][subSkin].type; + } + + getAnim(skin, subSkin) { + if (this.skinBase.skins[skin] == undefined || this.skinBase.skins[skin][subSkin] == undefined) { + return null; + } + return this.skinBase.skins[skin][subSkin].anim; + } + + getCurAnim(obj) { + return obj._sdkInst._currentAnimation.GetName(); + } + + }; +} + +"use strict"; + +{ + C3.Behaviors.SkymenSkin.Cnds = { + IsDefault () { + return this.default; + }, + + IsSkin(skin){ + return this.skinTag == skin; + }, + + IsSubSkin(subSkin){ + return this.subSkinTag == subSkin; + }, + + IsDefaultHidden(){ + return this.hideDefault; + }, + + }; +} + +"use strict"; + +{ + C3.Behaviors.SkymenSkin.Acts = { + SetSkin(skin){ + if (this.default) { + this.default = false; + } + this.skinTag = skin; + this.updateSkin(); + }, + + SetSubSkin(subSkin){ + this.subSkinTag = subSkin; + this.updateSkin(); + }, + + Setup(skin, subSkin){ + this.default = false; + this.skinTag = skin; + this.subSkinTag = subSkin; + this.updateSkin(); + }, + + UseDefault(){ + this.default = true; + this.updateSkin(); + }, + + HideDefault(hide){ + this.hideDefault = hide === 1; //0 = No, 1 = Yes + this.updateSkin(); + }, + + SetImagePoint(ip){ + this.imagePoint = ip; + }, + + SyncMode(mode){ + this.syncWithAnim = mode === 0 || mode === 2; + this.syncWithFrame = mode === 1 || mode === 2; + if (this.syncWithAnim) { + this.subSkinTag = this.getCurAnim(this._inst); + } + }, + + SyncZOrder(mode){ + this.syncZOrder = mode === 0; + }, + + UpdateZOrder(){ + if (this.object) { + this.setZorder(); + } + }, + + }; +} + +"use strict"; + +{ + C3.Behaviors.SkymenSkin.Exps = { + Skin(){ + return this.skinTag; + }, + + SubSkin(){ + return this.subSkinTag; + }, + + SkinBaseTag(){ + return this.skinBaseTag; + }, + + }; +} + +"use strict" +self.C3_GetObjectRefTable = function () { + return [ + C3.Plugins.SkymenInputManager, + C3.Plugins.Keyboard, + C3.Plugins.Arr, + C3.Plugins.Globals, + C3.Plugins.Mouse, + C3.Plugins.Browser, + C3.Plugins.Audio, + C3.Plugins.MagiCam, + C3.Plugins.skymen_skinsCore, + C3.Plugins.skymen_GlobalRuntime, + C3.Plugins.Sprite, + C3.Behaviors.Platform, + C3.Behaviors.Timer, + C3.Behaviors.LOS, + C3.Plugins.TiledBg, + C3.Behaviors.solid, + C3.Behaviors.Persist, + C3.Behaviors.Bullet, + C3.Behaviors.Fade, + C3.Behaviors.aekiro_gameobject, + C3.Behaviors.jumpthru, + C3.Behaviors.Tween, + C3.Behaviors.Turret, + C3.Plugins.Spritefont2, + C3.Behaviors.skymen_Skymen_SpritefontDX, + C3.Behaviors.Sin, + C3.Plugins.Json, + C3.Behaviors.Pin, + C3.Plugins.Timeline, + C3.Plugins.CV_Process, + C3.Plugins.CV_Tick, + C3.Plugins.CV_Engine, + C3.Plugins.TextBox, + C3.Plugins.Text, + C3.Plugins.NinePatch, + C3.Plugins.Particles, + C3.Behaviors.scrollto, + C3.Behaviors.SkymenSkin, + C3.Plugins.System.Cnds.OnLayoutStart, + C3.Plugins.System.Cnds.IsGroupActive, + C3.Plugins.System.Acts.SetVar, + C3.Plugins.Sprite.Cnds.PickByUID, + C3.Plugins.Sprite.Acts.SetInstanceVar, + C3.Plugins.Sprite.Acts.SetMirrored, + C3.Plugins.Sprite.Cnds.IsBoolInstanceVarSet, + C3.Plugins.Browser.Acts.ConsoleLog, + C3.Plugins.System.Cnds.CompareBetween, + C3.Behaviors.Platform.Exps.GravityAngle, + C3.Plugins.System.Acts.SetFunctionReturnValue, + C3.Plugins.System.Cnds.Else, + C3.Plugins.Sprite.Cnds.CompareInstanceVar, + C3.Plugins.SkymenInputManager.Cnds.IsDown, + C3.Behaviors.LOS.Acts.CastRay, + C3.Plugins.Sprite.Exps.X, + C3.Plugins.Sprite.Exps.Y, + C3.Plugins.Sprite.Exps.Height, + C3.Behaviors.LOS.Cnds.RayIntersected, + C3.Plugins.System.Cnds.Compare, + C3.Behaviors.LOS.Exps.NormalAngle, + C3.Plugins.Sprite.Acts.SetPos, + C3.Plugins.Sprite.Exps.ImagePointX, + C3.Plugins.Sprite.Exps.ImagePointY, + C3.Plugins.Sprite.Acts.SetAngle, + C3.Plugins.System.Exps.anglelerp, + C3.Plugins.Sprite.Exps.Angle, + C3.Plugins.System.Exps.dt, + C3.Plugins.Sprite.Acts.SetPosToObject, + C3.Plugins.System.Cnds.TriggerOnce, + C3.Plugins.System.Exps.time, + C3.Plugins.System.Cnds.PickAll, + C3.Behaviors.Bullet.Acts.SetAngleOfMotion, + C3.Behaviors.Bullet.Acts.SetSpeed, + C3.Behaviors.Bullet.Acts.SetAcceleration, + C3.Behaviors.Fade.Exps.FadeOutTime, + C3.Behaviors.Bullet.Acts.SetEnabled, + C3.Behaviors.Fade.Acts.StartFade, + C3.Behaviors.Platform.Acts.SetEnabled, + C3.Plugins.System.Acts.Wait, + C3.Plugins.System.Acts.RestartLayout, + C3.ScriptsInEvents.Player_Event213, + C3.Plugins.Sprite.Cnds.IsOverlapping, + C3.Plugins.Sprite.Acts.AddInstanceVar, + C3.ScriptsInEvents.Player_Event216, + C3.Plugins.Sprite.Exps.BBoxBottom, + C3.Plugins.Sprite.Exps.BBoxTop, + C3.Behaviors.LOS.Exps.HitDistance, + C3.Plugins.Sprite.Exps.BBoxLeft, + C3.Plugins.Sprite.Exps.BBoxRight, + C3.Plugins.Sprite.Exps.Width, + C3.Plugins.System.Exps.timescale, + C3.Plugins.Globals.Cnds.IsBoolInstanceVarSet, + C3.Plugins.Keyboard.Cnds.OnKeyCode, + C3.Plugins.System.Cnds.IsMobile, + C3.Plugins.Browser.Acts.Vibrate, + C3.Plugins.SkymenInputManager.Acts.SetDown, + C3.Plugins.Keyboard.Cnds.OnKeyCodeReleased, + C3.Plugins.SkymenInputManager.Acts.SetUp, + C3.Plugins.SkymenInputManager.Cnds.OnDown, + C3.Behaviors.Platform.Cnds.IsOnFloor, + C3.Behaviors.Platform.Cnds.IsJumping, + C3.Plugins.Globals.Acts.SetBoolInstanceVar, + C3.Behaviors.Platform.Exps.VectorX, + C3.Plugins.Sprite.Acts.SetBoolInstanceVar, + C3.Plugins.Arr.Cnds.CompareSize, + C3.Behaviors.Platform.Acts.SetDeceleration, + C3.Behaviors.Platform.Acts.SetVectorY, + C3.Behaviors.Platform.Exps.JumpStrength, + C3.Plugins.Sprite.Exps.UID, + C3.Behaviors.Platform.Exps.VectorY, + C3.Behaviors.Platform.Exps.Gravity, + C3.Behaviors.Platform.Cnds.IsByWall, + C3.Plugins.System.Cnds.Repeat, + C3.Plugins.Arr.Acts.Push, + C3.Plugins.Arr.Acts.SetSize, + C3.Plugins.System.Cnds.CompareVar, + C3.Behaviors.Platform.Acts.SimulateControl, + C3.Behaviors.Platform.Exps.MaxSpeed, + C3.Behaviors.Platform.Acts.SetIgnoreInput, + C3.Behaviors.Timer.Cnds.IsTimerRunning, + C3.Behaviors.Timer.Acts.StartTimer, + C3.Behaviors.Platform.Exps.Speed, + C3.Behaviors.Platform.Acts.SetMaxSpeed, + C3.Plugins.System.Cnds.Every, + C3.Plugins.SkymenInputManager.Acts.SimulateDownTrigger, + C3.Plugins.Arr.Exps.At, + C3.Plugins.Arr.Acts.Pop, + C3.Behaviors.Timer.Cnds.OnTimer, + C3.Plugins.Sprite.Acts.SetAnimFrame, + C3.Behaviors.Platform.Acts.SetVectorX, + C3.Plugins.Audio.Acts.Stop, + C3.Behaviors.Timer.Acts.StopTimer, + C3.Behaviors.Platform.Cnds.IsMoving, + C3.Plugins.System.Acts.SetBoolVar, + C3.Plugins.System.Cnds.CompareBoolVar, + C3.Behaviors.Platform.Acts.SetMaxFallSpeed, + C3.Behaviors.jumpthru.Acts.SetEnabled, + C3.Behaviors.solid.Acts.SetEnabled, + C3.Plugins.Sprite.Cnds.CompareFrame, + C3.Plugins.Sprite.Acts.SetY, + C3.Plugins.MagiCam.Acts.ShakeCamera, + C3.Plugins.Sprite.Cnds.IsBetweenAngles, + C3.Plugins.Sprite.Acts.Spawn, + C3.Behaviors.Platform.Cnds.IsFalling, + C3.Plugins.System.Cnds.ForEachOrdered, + C3.Plugins.Sprite.Acts.ZMoveToObject, + C3.Plugins.System.Exps.find, + C3.Plugins.System.Exps.layoutname, + C3.Plugins.MagiCam.Acts.CreateLocalCamera, + C3.Plugins.MagiCam.Acts.FollowObject, + C3.Plugins.MagiCam.Acts.EnableFollowing, + C3.Plugins.MagiCam.Acts.SetFollowLag, + C3.Plugins.System.Acts.Scroll, + C3.Plugins.System.Exps.windowwidth, + C3.Plugins.System.Exps.windowheight, + C3.Plugins.Sprite.Acts.RotateTowardAngle, + C3.Behaviors.Platform.Acts.SetGravityAngle, + C3.Plugins.System.Cnds.PickNth, + C3.Plugins.Sprite.Acts.SetSize, + C3.Plugins.Sprite.Acts.SetOpacity, + C3.Plugins.Sprite.Cnds.OnCreated, + C3.Plugins.Sprite.Acts.Destroy, + C3.Plugins.Arr.Acts.JSONLoad, + C3.Plugins.Arr.Cnds.CompareXY, + C3.Plugins.Browser.Acts.ExecJs, + C3.Plugins.System.Exps.layoutheight, + C3.Plugins.System.Exps.layoutwidth, + C3.Plugins.System.Acts.CreateObject, + C3.Plugins.TiledBg.Acts.SetSize, + C3.Plugins.TiledBg.Acts.SetOpacity, + C3.Plugins.TiledBg.Acts.SetAngle, + C3.Plugins.Globals.Acts.SetInstanceVar, + C3.Plugins.Spritefont2.Cnds.CompareInstanceVar, + C3.Behaviors.skymen_Skymen_SpritefontDX.Acts.SetText, + C3.Plugins.Sprite.Exps.Count, + C3.Plugins.Arr.Acts.SetXY, + C3.Plugins.Arr.Exps.Width, + C3.Plugins.Sprite.Exps.AnimationFrame, + C3.Plugins.System.Cnds.IsPreview, + C3.Plugins.Keyboard.Cnds.OnKey, + C3.Plugins.Arr.Exps.AsJSON, + C3.Plugins.Sprite.Acts.SetVisible, + C3.Plugins.Sprite.Exps.IID, + C3.Plugins.Sprite.Exps.LayerName, + C3.Plugins.NinePatch.Exps.Count, + C3.Plugins.NinePatch.Acts.SetVisible, + C3.Plugins.TiledBg.Acts.SetVisible, + C3.Plugins.skymen_skinsCore.Exps.RandomSkin, + C3.Plugins.System.Cnds.OnLayoutEnd, + C3.Plugins.Globals.Acts.ToggleBoolInstanceVar, + C3.Plugins.Keyboard.Cnds.OnAnyKey, + C3.Plugins.Keyboard.Exps.LastKeyCode, + C3.Plugins.Sprite.Cnds.OnCollision, + C3.Plugins.System.Exps.max, + C3.Behaviors.Bullet.Exps.Gravity, + C3.Plugins.System.Exps.int, + C3.Plugins.System.Exps.tokenat, + C3.Plugins.System.Acts.GoToLayoutByName, + C3.ScriptsInEvents.Gameplay_Event34_Act3, + C3.ScriptsInEvents.Gameplay_Event36_Act3, + C3.Plugins.System.Cnds.ForEach, + C3.ScriptsInEvents.Gameplay_Event38_Act6, + C3.Plugins.Globals.Cnds.CompareInstanceVar, + C3.Plugins.System.Cnds.While, + C3.Plugins.System.Exps.tokencount, + C3.Plugins.System.Exps.lowercase, + C3.Behaviors.Tween.Acts.TweenTwoProperties, + C3.Plugins.System.Exps.left, + C3.Plugins.System.Exps.float, + C3.Plugins.System.Exps.right, + C3.Plugins.System.Exps.len, + C3.Behaviors.Tween.Acts.TweenOneProperty, + C3.Behaviors.Tween.Acts.TweenValue, + C3.Behaviors.Tween.Cnds.IsPlaying, + C3.Behaviors.Tween.Exps.Value, + C3.Plugins.TiledBg.Acts.Destroy, + C3.Behaviors.Turret.Acts.AddTarget, + C3.Behaviors.LOS.Cnds.HasLOSToObject, + C3.Behaviors.Turret.Acts.SetEnabled, + C3.Behaviors.LOS.Acts.AddObstacle, + C3.Behaviors.Turret.Acts.SetPredictiveAim, + C3.Plugins.Sprite.Acts.SetAnim, + C3.Behaviors.Turret.Cnds.OnShoot, + C3.Plugins.Sprite.Acts.SetHeight, + C3.Plugins.Sprite.Acts.SetDefaultColor, + C3.Plugins.System.Cnds.For, + C3.Plugins.System.Exps.loopindex, + C3.Behaviors.LOS.Exps.Range, + C3.Behaviors.LOS.Exps.HitX, + C3.Behaviors.LOS.Exps.HitY, + C3.Plugins.Particles.Acts.SetAngle, + C3.ScriptsInEvents.Gameplay_Event86_Act4, + C3.Behaviors.Bullet.Exps.Speed, + C3.Plugins.Sprite.Acts.SetWidth, + C3.Plugins.System.Cnds.EveryTick, + C3.Plugins.Sprite.Cnds.IsAnimPlaying, + C3.Plugins.Sprite.Acts.RotateTowardPosition, + C3.Plugins.System.Cnds.PickByComparison, + C3.Plugins.Sprite.Cnds.OnDestroyed, + C3.Behaviors.Bullet.Cnds.CompareTravelled, + C3.Plugins.Sprite.Cnds.IsOverlappingOffset, + C3.Plugins.Sprite.Cnds.PickDistance, + C3.Plugins.Sprite.Acts.SetCollisions, + C3.Behaviors.Platform.Exps.MovingAngle, + C3.Behaviors.Bullet.Exps.AngleOfMotion, + C3.Behaviors.Platform.Acts.SetGravity, + C3.Plugins.System.Cnds.PickOverlappingPoint, + C3.Plugins.TiledBg.Exps.ZIndex, + C3.Plugins.TiledBg.Cnds.IsBoolInstanceVarSet, + C3.Plugins.TiledBg.Exps.Angle, + C3.Plugins.NinePatch.Acts.SetPos, + C3.Plugins.NinePatch.Acts.SetSize, + C3.Plugins.NinePatch.Acts.SetAngle, + C3.Plugins.NinePatch.Acts.SetOpacity, + C3.Plugins.NinePatch.Exps.Width, + C3.Behaviors.Pin.Acts.Pin, + C3.Plugins.Spritefont2.Acts.SetSize + ]; +}; +self.C3_JsPropNameTable = [ + {InputManager: 0}, + {Keyboard: 0}, + {InputBuffer: 0}, + {LeftInput: 0}, + {UpInput: 0}, + {RightInput: 0}, + {DownInput: 0}, + {Listening: 0}, + {Next: 0}, + {Inputs: 0}, + {Mouse: 0}, + {Browser: 0}, + {Audio: 0}, + {Down: 0}, + {PerLevel: 0}, + {StartTime: 0}, + {ScoreBase: 0}, + {StartOfGame: 0}, + {BlowSave: 0}, + {Skin: 0}, + {NbLevels: 0}, + {DebugMode: 0}, + {RandomSkin: 0}, + {TestMode: 0}, + {LastLayout: 0}, + {Record: 0}, + {EasyMode: 0}, + {Globals: 0}, + {MagiCam: 0}, + {RecordedPlayer: 0}, + {SkinGroup: 0}, + {GlobalRuntime: 0}, + {State: 0}, + {Walljump: 0}, + {HasSmallWalljumped: 0}, + {Side: 0}, + {CanSlide: 0}, + {Sliding: 0}, + {SlideTime: 0}, + {SlideRefresh: 0}, + {Plunge: 0}, + {Pound: 0}, + {CanPoundLongJump: 0}, + {PoundLongJump: 0}, + {Stun: 0}, + {LongJump: 0}, + {WallRun: 0}, + {CanWallRun: 0}, + {WallRunTime: 0}, + {Falling: 0}, + {HitBuffer: 0}, + {HitBufferCount: 0}, + {Slipping: 0}, + {Ghost: 0}, + {GhostData: 0}, + {ColBuffer: 0}, + {ColBufferCount: 0}, + {NormalAngle: 0}, + {MaxSpeed: 0}, + {TopCrushSize: 0}, + {RightCrushSize: 0}, + {LeftCrushSize: 0}, + {BottomCrushSize: 0}, + {wavebounce: 0}, + {Platform: 0}, + {Timer: 0}, + {LineOfSight: 0}, + {Collider: 0}, + {Solid: 0}, + {ID: 0}, + {active: 0}, + {PersistAfterDeath: 0}, + {InitX: 0}, + {InitY: 0}, + {InitAngle: 0}, + {Repeatable: 0}, + {OnActivate: 0}, + {Persist: 0}, + {ButtonTrigger: 0}, + {CoinID: 0}, + {Bullet: 0}, + {Fade: 0}, + {Coin: 0}, + {NextLevel: 0}, + {EndFlag: 0}, + {GroundPoundSolid: 0}, + {Force: 0}, + {Decel: 0}, + {GameObject: 0}, + {JumpBoost: 0}, + {Jumpthru: 0}, + {JumpThrough: 0}, + {AutoStart: 0}, + {Movement: 0}, + {curMovement: 0}, + {waiting: 0}, + {Tween: 0}, + {MoveArea: 0}, + {Target: 0}, + {ForceAngle: 0}, + {ForcedAngle: 0}, + {ForceSpeed: 0}, + {ForcedSpeed: 0}, + {Portal: 0}, + {destroyOnTouch: 0}, + {Parent: 0}, + {Smart: 0}, + {PortalUID: 0}, + {Rocket: 0}, + {Laser: 0}, + {AlternateAiming: 0}, + {RocketSpeed: 0}, + {Range: 0}, + {RateOfFire: 0}, + {RotateSpeed: 0}, + {CanShoot: 0}, + {MultiBullets: 0}, + {Turret: 0}, + {RocketLauncher: 0}, + {Solid2: 0}, + {Solid3: 0}, + {SolidMove: 0}, + {hardOnly: 0}, + {Spike: 0}, + {Spike2: 0}, + {Tiledbackground: 0}, + {Name: 0}, + {needSlope: 0}, + {LayoutNameHolder: 0}, + {id: 0}, + {SpritefontDeluxe: 0}, + {TimerTick: 0}, + {Zordering: 0}, + {OX: 0}, + {OY: 0}, + {an: 0}, + {dist: 0}, + {Body: 0}, + {Head: 0}, + {LeftArm: 0}, + {LeftFoot: 0}, + {LeftHand: 0}, + {LeftLeg: 0}, + {RightArm: 0}, + {RightFoot: 0}, + {RightHand: 0}, + {RightLeg: 0}, + {Sine: 0}, + {Sine2: 0}, + {OvO2Logo: 0}, + {UIText: 0}, + {Border: 0}, + {CurrentLevel: 0}, + {CurrentCourse: 0}, + {Hover: 0}, + {HoverAnim: 0}, + {Pressed: 0}, + {PressAnim: 0}, + {ReleaseAnim: 0}, + {Text: 0}, + {UIButton: 0}, + {Pin: 0}, + {UIButtonOutline: 0}, + {Timeline: 0}, + {UIBackground: 0}, + {UIBackgroundGradient: 0}, + {menu: 0}, + {MenuCamera: 0}, + {Process: 0}, + {Tick: 0}, + {Engine: 0}, + {debugSprite: 0}, + {TextInput: 0}, + {Sprite: 0}, + {Sprite2: 0}, + {tuyautop: 0}, + {RealJumpThrough: 0}, + {DestructibleFloor: 0}, + {parent: 0}, + {Sprite3: 0}, + {Sprite4: 0}, + {Sprite5: 0}, + {Sprite6: 0}, + {Sprite7: 0}, + {Vector: 0}, + {Sprite8: 0}, + {OverwriteAngle: 0}, + {OverWriteGravity: 0}, + {ForcedGravity: 0}, + {GravityZone: 0}, + {tarx: 0}, + {tary: 0}, + {Particles_LaserWarmup: 0}, + {Particles_LaserActive: 0}, + {Particles_LaserHit: 0}, + {ScrollTo: 0}, + {PlayerRig: 0}, + {Enemies: 0}, + {Solids: 0}, + {UIElements: 0}, + {GameObjects: 0}, + {CrushSolids: 0}, + {VibratePtrn: 0}, + {Inverted: 0}, + {UID: 0}, + {Parameter0: 0}, + {targetX: 0}, + {Reload: 0}, + {oldTopCrush: 0}, + {oldBotCrush: 0}, + {oldRightCrush: 0}, + {oldLeftCrush: 0}, + {Length: 0}, + {Input: 0}, + {Parameter1: 0}, + {check: 0}, + {vecX: 0}, + {vecY: 0}, + {HasMoved: 0}, + {lastX: 0}, + {lastY: 0}, + {lastA: 0}, + {GhostOpacity: 0}, + {levelWidth: 0}, + {levelHeight: 0}, + {BORDERWIDTH: 0}, + {BORDEROPA: 0}, + {Value: 0}, + {UnlockAchievement: 0}, + {currentMovement: 0}, + {currentCommand: 0}, + {temp: 0}, + {temp2: 0}, + {mustwait: 0}, + {Intervalle: 0}, + {JustCollided: 0}, + {speed: 0}, + {newAngle: 0}, + {BaseGravity: 0}, + {gravityAngle: 0}, + {gravityOverwritten: 0}, + {startAngle: 0}, + {vx: 0}, + {vy: 0} +]; + +"use strict"; + +{ + function unaryminus(n) + { + return (typeof n === "number" ? -n : n); + } + + function bothNumbers(a, b) + { + return typeof a === "number" && typeof b === "number"; + } + + function add(l, r) + { + if (bothNumbers(l, r)) + return l + r; + else + return l; + } + + function subtract(l, r) + { + if (bothNumbers(l, r)) + return l - r; + else + return l; + } + + function multiply(l, r) + { + if (bothNumbers(l, r)) + return l * r; + else + return l; + } + + function divide(l, r) + { + if (bothNumbers(l, r)) + return l / r; + else + return l; + } + + function mod(l, r) + { + if (bothNumbers(l, r)) + return l % r; + else + return l; + } + + function pow(l, r) + { + if (bothNumbers(l, r)) + return Math.pow(l, r); + else + return l; + } + + function and(l, r) + { + if (typeof l === "string" || typeof r === "string") + { + // & with either side string does string concatenation + let lstr, rstr; + + if (typeof l === "number") + lstr = (Math.round(l * 1e10) / 1e10).toString(); + else + lstr = l; + + if (typeof r === "number") + rstr = (Math.round(r * 1e10) / 1e10).toString(); + else + rstr = r; + + return lstr + rstr; + } + else + { + // & with neither side a string does logical AND + return (l && r ? 1 : 0); + } + } + + function or(l, r) + { + if (bothNumbers(l, r)) + return (l || r ? 1 : 0); + else + return l; + } + + self.C3_ExpressionFuncs = [ + () => "Player", + () => "Player > API", + p => { + const v0 = p._GetNode(0).GetVar(); + return () => v0.GetValue(); + }, + () => -1, + () => 1, + () => "Update Controls", + () => 0, + p => { + const n0 = p._GetNode(0); + return () => n0.ExpBehavior(); + }, + () => 181, + () => 359, + () => -20, + () => 20, + () => 340, + () => 380, + () => 160, + () => 200, + () => "Right", + () => "Left", + p => { + const n0 = p._GetNode(0); + return () => n0.ExpObject(); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => (n0.ExpObject() + (n1.ExpObject() / 4)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + return () => f0(n1.ExpBehavior()); + }, + () => "Player > Animations", + () => "idle", + p => { + const n0 = p._GetNode(0); + return () => n0.ExpObject(2); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const f3 = p._GetNode(3).GetBoundMethod(); + return () => f0(n1.ExpObject(), n2.ExpObject(), ((0.2 * f3()) * 60)); + }, + () => "Head", + () => "LeftA", + () => "RightA", + () => "LeftL", + () => "RightL", + () => "wavebounce", + p => { + const n0 = p._GetNode(0); + return () => n0.ExpInstVar(); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const f2 = p._GetNode(2).GetBoundMethod(); + return () => C3.lerp(n0.ExpObject(), ((360 - n1.ExpInstVar()) % 360), ((0.1 * f2()) * 60)); + }, + () => "wall", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), ((n2.ExpInstVar() * 280) + n3.ExpObject()), ((0.1 * f4()) * 60)); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => (n0.ExpObject() - (n1.ExpInstVar() * 20)); + }, + () => "wallback", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), ((n2.ExpInstVar() * 60) + n3.ExpObject()), ((0.1 * f4()) * 60)); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => (n0.ExpObject() - (n1.ExpInstVar() * 30)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (((-n2.ExpInstVar()) * 30) + n3.ExpObject()), ((0.1 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() + (n3.ExpInstVar() * 30)), ((0.2 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() + (n3.ExpInstVar() * 60)), ((0.2 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() - (n3.ExpInstVar() * 10)), ((0.2 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() + (n3.ExpInstVar() * 10)), ((0.2 * f4()) * 60)); + }, + () => "run", + p => { + const n0 = p._GetNode(0); + const f1 = p._GetNode(1).GetBoundMethod(); + const n2 = p._GetNode(2); + return () => ((n0.ExpInstVar() * (15 + (5 * Math.sin(C3.toRadians(((f1() * 60) * 15)))))) + n2.ExpObject()); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const f2 = p._GetNode(2).GetBoundMethod(); + return () => (n0.ExpObject() + (n1.ExpInstVar() * (10 * Math.cos(C3.toRadians(((f2() * 60) * 20)))))); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const f3 = p._GetNode(3).GetBoundMethod(); + const n4 = p._GetNode(4); + return () => (((((n0.ExpInstVar()) === ("ada") ? 1 : 0)) ? ((n1.ExpInstVar() * 120)) : (((n2.ExpInstVar() * 45) - (45 * Math.cos(C3.toRadians(((f3() * 60) * 10))))))) + n4.ExpObject()); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => ((((n0.ExpInstVar()) === ("ada") ? 1 : 0)) ? (n1.ExpObject()) : (((n2.ExpObject() - (n3.ExpInstVar() * 90)) - (45 * Math.cos(C3.toRadians(((f4() * 60) * 10))))))); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const f2 = p._GetNode(2).GetBoundMethod(); + const n3 = p._GetNode(3); + return () => (((((n0.ExpInstVar()) === ("ada") ? 1 : 0)) ? ((n1.ExpInstVar() * 120)) : (((-45) * Math.cos(C3.toRadians((180 + ((f2() * 60) * 10))))))) + n3.ExpObject()); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => ((((n0.ExpInstVar()) === ("ada") ? 1 : 0)) ? (n1.ExpObject()) : (((n2.ExpObject() - (n3.ExpInstVar() * 90)) - (45 * Math.cos(C3.toRadians((180 + ((f4() * 60) * 10)))))))); + }, + p => { + const n0 = p._GetNode(0); + const f1 = p._GetNode(1).GetBoundMethod(); + const n2 = p._GetNode(2); + return () => (((n0.ExpInstVar() * 90) * Math.cos(C3.toRadians(((f1() * 60) * 10)))) + n2.ExpObject()); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const f2 = p._GetNode(2).GetBoundMethod(); + return () => (n0.ExpObject() + (n1.ExpInstVar() * (90 + (90 * Math.sin(C3.toRadians(((f2() * 60) * 10))))))); + }, + p => { + const n0 = p._GetNode(0); + const f1 = p._GetNode(1).GetBoundMethod(); + const n2 = p._GetNode(2); + return () => (((n0.ExpInstVar() * 90) * Math.cos(C3.toRadians((180 + ((f1() * 60) * 10))))) + n2.ExpObject()); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const f2 = p._GetNode(2).GetBoundMethod(); + return () => (n0.ExpObject() + (n1.ExpInstVar() * (90 + (90 * Math.sin(C3.toRadians((180 + ((f2() * 60) * 10)))))))); + }, + () => "jump", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (((-n2.ExpInstVar()) * 10) + n3.ExpObject()), ((0.05 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() - (n3.ExpInstVar() * 20)), ((0.05 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() + (n3.ExpInstVar() * 5)), ((0.1 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() + (n3.ExpInstVar() * 280)), ((0.1 * f4()) * 60)); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => (n0.ExpObject() + (n1.ExpInstVar() * 30)); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => (n0.ExpObject() + (n1.ExpInstVar() * 20)); + }, + () => "poundFloor", + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const f2 = p._GetNode(2).GetBoundMethod(); + return () => C3.lerp(n0.ExpObject(), n1.ExpObject(2), ((0.1 * f2()) * 60)); + }, + p => { + const n0 = p._GetNode(0); + return () => (n0.ExpObject(2) + 8); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => (n0.ExpObject() + (120 * n1.ExpInstVar())); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => (n0.ExpObject() - (120 * n1.ExpInstVar())); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => (n0.ExpObject() - (90 * n1.ExpInstVar())); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => (n0.ExpObject() + (90 * n1.ExpInstVar())); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const f3 = p._GetNode(3).GetBoundMethod(); + return () => f0(n1.ExpObject(), n2.ExpObject(), ((0.1 * f3()) * 60)); + }, + () => "gpjump", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() - (30 * n3.ExpInstVar())), ((0.2 * f4()) * 60)); + }, + () => "fall", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), ((n2.ExpInstVar() * 10) + n3.ExpObject()), ((0.05 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() + (n3.ExpInstVar() * 20)), ((0.05 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() + (n3.ExpInstVar() * 300)), ((0.05 * f4()) * 60)); + }, + () => "wallslide", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const f3 = p._GetNode(3).GetBoundMethod(); + return () => f0(n1.ExpObject(), ((-n2.ExpInstVar()) * 40), ((0.05 * f3()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const f3 = p._GetNode(3).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpInstVar() * 300), ((0.05 * f3()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const f3 = p._GetNode(3).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpInstVar() * 280), ((0.1 * f3()) * 60)); + }, + () => "wallslideback", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), ((n2.ExpInstVar() * 10) + n3.ExpObject()), ((0.1 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const f3 = p._GetNode(3).GetBoundMethod(); + return () => f0(n1.ExpObject(), ((-n2.ExpInstVar()) * 5), ((0.1 * f3()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() - (n3.ExpInstVar() * 30)), ((0.1 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const f3 = p._GetNode(3).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpInstVar() * 90), ((0.1 * f3()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() - (n3.ExpInstVar() * 40)), ((0.1 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const f3 = p._GetNode(3).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpInstVar() * 300), ((0.1 * f3()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() + (n3.ExpInstVar() * 160)), ((0.1 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const f3 = p._GetNode(3).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpInstVar() * 350), ((0.1 * f3()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() + (n3.ExpInstVar() * 90)), ((0.1 * f4()) * 60)); + }, + () => "wallrun", + p => { + const n0 = p._GetNode(0); + const f1 = p._GetNode(1).GetBoundMethod(); + return () => ((n0.ExpInstVar() * 300) + (Math.sin(C3.toRadians(((f1() * 60) * 15))) * 45)); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const f2 = p._GetNode(2).GetBoundMethod(); + return () => ((n0.ExpObject() - (n1.ExpInstVar() * 20)) + (Math.cos(C3.toRadians(((f2() * 60) * 15))) * 20)); + }, + p => { + const n0 = p._GetNode(0); + const f1 = p._GetNode(1).GetBoundMethod(); + return () => ((n0.ExpInstVar() * 280) + (Math.cos(C3.toRadians(((f1() * 60) * 15))) * 45)); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const f2 = p._GetNode(2).GetBoundMethod(); + return () => ((n0.ExpObject() - (n1.ExpInstVar() * 20)) + (Math.sin(C3.toRadians(((f2() * 60) * 15))) * 20)); + }, + p => { + const n0 = p._GetNode(0); + const f1 = p._GetNode(1).GetBoundMethod(); + return () => ((n0.ExpInstVar() * 300) + (Math.cos(C3.toRadians(((f1() * 60) * 15))) * 45)); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const f2 = p._GetNode(2).GetBoundMethod(); + return () => ((n0.ExpObject() + (n1.ExpInstVar() * 30)) + (Math.sin(C3.toRadians(((f2() * 60) * 5))) * 15)); + }, + p => { + const n0 = p._GetNode(0); + const f1 = p._GetNode(1).GetBoundMethod(); + return () => ((n0.ExpInstVar() * 280) + (Math.sin(C3.toRadians(((f1() * 60) * 15))) * 45)); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const f2 = p._GetNode(2).GetBoundMethod(); + return () => ((n0.ExpObject() + (n1.ExpInstVar() * 20)) + (Math.cos(C3.toRadians(((f2() * 60) * 5))) * 15)); + }, + () => "wallrunlongjump", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (((-n2.ExpInstVar()) * 20) + n3.ExpObject()), ((0.2 * 60) * f4())); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const f3 = p._GetNode(3).GetBoundMethod(); + return () => f0(n1.ExpObject(), ((-n2.ExpInstVar()) * 40), ((0.2 * 60) * f3())); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const f3 = p._GetNode(3).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpInstVar() * 90), ((0.2 * 60) * f3())); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() - (n3.ExpInstVar() * 10)), ((0.2 * 60) * f4())); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const f3 = p._GetNode(3).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpInstVar() * 80), ((0.2 * 60) * f3())); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() + (n3.ExpInstVar() * 20)), ((0.2 * 60) * f4())); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (((-n2.ExpInstVar()) * 120) + n3.ExpObject()), ((0.2 * 60) * f4())); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() + (n3.ExpInstVar() * 60)), ((0.2 * 60) * f4())); + }, + () => "slide", + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => C3.lerp(n0.ExpObject(), n1.ExpObject(2), 0.5); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), ((n2.ExpInstVar() * (-80)) + n3.ExpObject()), ((0.5 * f4()) * 60)); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const f2 = p._GetNode(2).GetBoundMethod(); + return () => (n0.ExpObject() + (n1.ExpInstVar() * ((5 * Math.cos(C3.toRadians(((f2() * 60) * 10)))) + 45))); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), ((n2.ExpObject() - (n3.ExpInstVar() * 10)) - 20), ((0.5 * f4()) * 60)); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => (n0.ExpObject() - (n1.ExpInstVar() * 40)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() - (n3.ExpInstVar() * 10)), ((0.5 * f4()) * 60)); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => ((n0.ExpObject() - (n1.ExpInstVar() * 40)) + 10); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() + (n3.ExpInstVar() * (-20))), ((0.5 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const f3 = p._GetNode(3).GetBoundMethod(); + return () => f0(n1.ExpObject(), n2.ExpObject(), ((0.5 * f3()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() + (n3.ExpInstVar() * (-45))), ((0.5 * f4()) * 60)); + }, + () => "plunge", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + const n5 = p._GetNode(5); + return () => (f0((n1.ExpObject() - n2.ExpObject()), (n3.ExpInstVar() * 120), ((0.05 * f4()) * 60)) + n5.ExpObject()); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() - (n3.ExpInstVar() * ((5 * Math.cos(C3.toRadians(((f4() * 60) * 10)))) + 50))), 0.3); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), ((-n2.ExpObject()) - (n3.ExpInstVar() * 10)), ((0.5 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() + (n3.ExpInstVar() * 30)), ((0.5 * f4()) * 60)); + }, + () => "slip", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), ((n2.ExpInstVar() * 120) + n3.ExpObject()), ((0.05 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (((-90) + n2.ExpObject()) + (n3.ExpInstVar() * 120)), ((0.1 * f4()) * 60)); + }, + () => "pound", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpInstVar() * (150 + n3.ExpObject())), ((0.2 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), ((-n2.ExpInstVar()) * (150 + n3.ExpObject())), ((0.2 * f4()) * 60)); + }, + () => "stun", + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const n4 = p._GetNode(4); + return () => C3.lerp(n0.ExpObject(), (n1.ExpObject() - (Math.sin(C3.toRadians(n2.ExpObject())) * (((n3.ExpObject() / 2) - (n4.ExpObject() / 2)) - 2))), 0.5); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const n4 = p._GetNode(4); + return () => C3.lerp(n0.ExpObject(), (n1.ExpObject() + (Math.cos(C3.toRadians(n2.ExpObject())) * (((n3.ExpObject() / 2) - (n4.ExpObject() / 2)) - 2))), 0.5); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), ((n2.ExpInstVar() * 40) + n3.ExpObject()), ((0.1 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const f3 = p._GetNode(3).GetBoundMethod(); + return () => (f0(n1.ExpObject(), n2.ExpObject(), 0.5) + (Math.sin(C3.toRadians(((f3() * 60) * 30))) * 5)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() - (n3.ExpInstVar() * 25)), ((0.1 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() + (n3.ExpInstVar() * 45)), ((0.2 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() + (n3.ExpInstVar() * 90)), ((0.2 * f4()) * 60)); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(n1.ExpObject(), (n2.ExpObject() - (n3.ExpInstVar() * 45)), ((0.5 * f4()) * 60)); + }, + () => "Player > Death", + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + return () => C3.toDegrees(C3.angleTo(n0.ExpInstVar_Family(), n1.ExpInstVar_Family(), n2.ExpObject(), n3.ExpObject())); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + return () => C3.distanceTo(n0.ExpInstVar_Family(), n1.ExpInstVar_Family(), n2.ExpObject(), n3.ExpObject()); + }, + () => "dead", + p => { + const n0 = p._GetNode(0); + return () => n0.ExpInstVar_Family(); + }, + p => { + const n0 = p._GetNode(0); + const f1 = p._GetNode(1).GetBoundMethod(); + return () => (n0.ExpInstVar_Family() / f1()); + }, + p => { + const n0 = p._GetNode(0); + const f1 = p._GetNode(1).GetBoundMethod(); + const n2 = p._GetNode(2); + return () => ((((-n0.ExpInstVar_Family()) / f1()) / n2.ExpBehavior()) / 2); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => (n0.ExpObject() - (n1.ExpObject() / 4)); + }, + p => { + const n0 = p._GetNode(0); + return () => (n0.ExpObject() - 1); + }, + p => { + const n0 = p._GetNode(0); + return () => (n0.ExpObject() + 1); + }, + p => { + const n0 = p._GetNode(0); + return () => (n0.ExpInstVar() - 1); + }, + p => { + const n0 = p._GetNode(0); + return () => (5 * (n0.ExpObject() / 6)); + }, + p => { + const n0 = p._GetNode(0); + return () => (n0.ExpObject() / 2); + }, + () => "Player > Controls", + () => "Player > Controls > Inputs", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + return () => f0(); + }, + () => "Jump", + () => 10, + () => 5, + () => "Down", + () => 0.05, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const f3 = p._GetNode(3).GetBoundMethod(); + return () => ((n0.ExpObject() + n1.ExpObject()) + (n2.ExpBehavior() * f3())); + }, + p => { + const n0 = p._GetNode(0); + return () => ((-n0.ExpBehavior()) * 0.8); + }, + () => 0.15, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + const n5 = p._GetNode(5); + return () => f0(((n1.ExpObject() + n2.ExpObject()) + (n3.ExpBehavior() * f4())), n5.ExpObject()); + }, + () => 0.4, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const f3 = p._GetNode(3).GetBoundMethod(); + return () => ((n0.ExpObject() + (n1.ExpObject() * 1.35)) + (n2.ExpBehavior() * f3())); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + const n5 = p._GetNode(5); + return () => f0(((n1.ExpObject() + (n2.ExpObject() * 1.35)) + (n3.ExpBehavior() * f4())), n5.ExpObject()); + }, + p => { + const n0 = p._GetNode(0); + return () => (n0.ExpBehavior() / 10); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + return () => f0(n1.ExpObject()); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => ((((n0.ExpInstVar()) >= (0.1) ? 1 : 0)) ? ((n1.ExpInstVar() / 2)) : (0)); + }, + p => { + const v0 = p._GetNode(0).GetVar(); + const v1 = p._GetNode(1).GetVar(); + const v2 = p._GetNode(2).GetVar(); + return () => ((((v0.GetValue()) === (0) ? 1 : 0)) ? (v1.GetValue()) : (v2.GetValue())); + }, + () => "Player > Controls > Special Movements", + () => 660, + () => "perfectJump", + () => 0.013333333333333334, + () => 3000, + () => 0.03, + p => { + const n0 = p._GetNode(0); + return () => n0.ExpObject(0); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => ((n0.ExpBehavior() * 0.8) * n1.ExpInstVar()); + }, + () => 1320, + () => "slideEnd", + () => 0.1, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => ((n0.ExpBehavior() * 0.7) * n1.ExpInstVar()); + }, + () => 2000, + p => { + const n0 = p._GetNode(0); + return () => ((-n0.ExpBehavior()) * 0.7); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => ((n0.ExpBehavior() * 2) * n1.ExpInstVar()); + }, + p => { + const n0 = p._GetNode(0); + return () => ((-n0.ExpBehavior()) * 0.65); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => (n0.ExpInstVar() * n1.ExpBehavior()); + }, + p => { + const n0 = p._GetNode(0); + return () => (n0.ExpInstVar() / 2); + }, + p => { + const n0 = p._GetNode(0); + return () => (-n0.ExpBehavior()); + }, + () => 0.02, + p => { + const n0 = p._GetNode(0); + return () => (n0.ExpBehavior() * 2); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => (n0.ExpObject() + Math.abs(n1.ExpObject())); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => (n0.ExpObject() - Math.abs(n1.ExpObject())); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + return () => (n0.ExpObject() + ((n1.ExpObject() * 2) - n2.ExpBehavior())); + }, + p => { + const n0 = p._GetNode(0); + return () => ((-n0.ExpBehavior()) * 1.1); + }, + () => 30, + () => 0.2, + () => "poundGoDown", + () => "canStillCancel", + p => { + const n0 = p._GetNode(0); + return () => ((-n0.ExpBehavior()) / 5); + }, + () => 0.3, + p => { + const n0 = p._GetNode(0); + return () => (n0.ExpBehavior() / 3); + }, + p => { + const v0 = p._GetNode(0).GetVar(); + return () => Math.abs(v0.GetValue()); + }, + p => { + const v0 = p._GetNode(0).GetVar(); + return () => (v0.GetValue() * 0.7); + }, + p => { + const v0 = p._GetNode(0).GetVar(); + return () => (Math.abs(v0.GetValue()) * 0.7); + }, + p => { + const v0 = p._GetNode(0).GetVar(); + return () => ((-Math.abs(v0.GetValue())) * 0.7); + }, + () => 45, + () => 315, + () => 360, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => ((-n0.ExpBehavior()) * n1.ExpInstVar()); + }, + () => 1400, + () => 1000, + p => { + const n0 = p._GetNode(0); + return () => ((-n0.ExpInstVar()) * 100); + }, + p => { + const n0 = p._GetNode(0); + return () => C3.clamp((n0.ExpBehavior() * (-0.6)), (-660), 660); + }, + () => 50, + () => 0.25, + () => 0.5, + () => "bottom", + () => "Player > WallSlide/Jump", + p => { + const n0 = p._GetNode(0); + return () => (n0.ExpBehavior() / 1.5); + }, + () => "walljump", + p => { + const n0 = p._GetNode(0); + return () => ((-n0.ExpBehavior()) * 0.6); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => ((n0.ExpInstVar() * 3) * (n1.ExpBehavior() / 4)); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => ((-n0.ExpInstVar()) * n1.ExpBehavior()); + }, + p => { + const n0 = p._GetNode(0); + return () => ((-n0.ExpBehavior()) * 1.2); + }, + () => "Walljump", + p => { + const n0 = p._GetNode(0); + return () => ((-n0.ExpBehavior()) * 0.75); + }, + () => "Walljump Off", + () => "Player > Initialisation", + () => "reordered", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const f1 = p._GetNode(1).GetBoundMethod(); + return () => f0(f1(), "Level"); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + return () => (f0() / 2); + }, + () => "Player > Mirroring", + () => "Player > States", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + return () => f0((n1.ExpObject() - (3 * (n2.ExpObject() / 5))), n3.ExpObject()); + }, + () => "Player > Slopes", + () => 270, + p => { + const n0 = p._GetNode(0); + return () => n0.ExpObject("leftRay"); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => (n0.ExpObject("bottomLeftRay") + (n1.ExpObject() / 6)); + }, + p => { + const n0 = p._GetNode(0); + return () => n0.ExpObject("bottomLeftRay"); + }, + () => 220, + () => 320, + p => { + const n0 = p._GetNode(0); + return () => n0.ExpObject("rightRay"); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => (n0.ExpObject("bottomRightRay") + (n1.ExpObject() / 6)); + }, + p => { + const n0 = p._GetNode(0); + return () => n0.ExpObject("bottomRightRay"); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + return () => ((and(((n0.ExpBehavior()) >= (220) ? 1 : 0), ((n1.ExpBehavior()) <= (320) ? 1 : 0))) ? ((n2.ExpBehavior() + n3.ExpInstVar())) : ((270 * 2))); + }, + p => { + const n0 = p._GetNode(0); + return () => (270 + n0.ExpInstVar()); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => (n0.ExpObject("Bottom") + (n1.ExpObject() / 6)); + }, + p => { + const n0 = p._GetNode(0); + return () => n0.ExpObject("Bottom"); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + return () => (((and(((n0.ExpBehavior()) >= (220) ? 1 : 0), ((n1.ExpBehavior()) <= (320) ? 1 : 0))) ? ((n2.ExpBehavior() + n3.ExpInstVar())) : ((270 * 3))) / 3); + }, + p => { + const n0 = p._GetNode(0); + return () => (((270 * 2) + n0.ExpInstVar()) / 4); + }, + p => { + const n0 = p._GetNode(0); + return () => (n0.ExpInstVar() + 90); + }, + p => { + const n0 = p._GetNode(0); + return () => (n0.ExpInstVar() + 180); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const n4 = p._GetNode(4); + return () => C3.distanceTo(n0.ExpObject(), n1.ExpObject(), (n2.ExpObject("bottomLeftRay") + (n3.ExpObject() / 6)), n4.ExpObject("bottomLeftRay")); + }, + () => 2, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const n4 = p._GetNode(4); + return () => C3.toDegrees(C3.angleTo(n0.ExpObject(), n1.ExpObject(), (n2.ExpObject("bottomLeftRay") + (n3.ExpObject() / 6)), n4.ExpObject("bottomLeftRay"))); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const n4 = p._GetNode(4); + return () => C3.distanceTo(n0.ExpObject(), n1.ExpObject(), (n2.ExpObject("bottomRightRay") + (n3.ExpObject() / 6)), n4.ExpObject("bottomRightRay")); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const n4 = p._GetNode(4); + return () => C3.toDegrees(C3.angleTo(n0.ExpObject(), n1.ExpObject(), (n2.ExpObject("bottomRightRay") + (n3.ExpObject() / 6)), n4.ExpObject("bottomRightRay"))); + }, + p => { + const n0 = p._GetNode(0); + return () => n0.ExpObject("BodyPos"); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const n4 = p._GetNode(4); + return () => C3.distanceTo(n0.ExpObject(), n1.ExpObject(), (n2.ExpObject("Bottom") + (n3.ExpObject() / 6)), n4.ExpObject("Bottom")); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const n4 = p._GetNode(4); + return () => C3.toDegrees(C3.angleTo(n0.ExpObject(), n1.ExpObject(), (n2.ExpObject("Bottom") + (n3.ExpObject() / 6)), n4.ExpObject("Bottom"))); + }, + () => "", + p => { + const n0 = p._GetNode(0); + return () => n0.ExpObject(0, 0); + }, + p => { + const n0 = p._GetNode(0); + return () => n0.ExpObject(0, 1); + }, + p => { + const n0 = p._GetNode(0); + return () => n0.ExpObject(0, 2); + }, + p => { + const n0 = p._GetNode(0); + return () => n0.ExpObject(0, 3); + }, + p => { + const n0 = p._GetNode(0); + return () => n0.ExpObject(0, 4); + }, + p => { + const n0 = p._GetNode(0); + return () => n0.ExpObject(0, 5); + }, + () => "globalThis.sdk_runtime = this._runtime", + () => "Layer 0", + () => 84, + () => 100, + () => -90, + () => 180, + () => 90, + () => "Level 1-1", + () => "Level dlc", + () => "Level dlc2", + () => "time", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + return () => (((("Your time is: " + "\n") + "[sfdx=offsety 8*sin(t * 360 + i * 90)]") + ((Math.round(((f0() - n1.ExpInstVar()) * 100)) / 100)).toString()) + " seconds[/sfdx]"); + }, + () => "Debug", + () => 6, + () => 3, + () => 4, + p => { + const n0 = p._GetNode(0); + return () => (3 - n0.ExpObject()); + }, + () => "Inputs", + () => "Inputs > Listen", + () => "Inputs > API", + () => "Enemies", + () => "Enemies > Spikes", + () => "Jump Boost", + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + return () => ((n0.ExpBehavior() * n1.ExpInstVar()) * Math.sin(C3.toRadians((n2.ExpObject() + 270)))); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + return () => f0(((n1.ExpBehavior() * n2.ExpInstVar()) * Math.cos(C3.toRadians((n3.ExpObject() + 270)))), 660); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + return () => (((n0.ExpBehavior() * n1.ExpInstVar()) * Math.cos(C3.toRadians((n2.ExpObject() + 270)))) + n3.ExpBehavior()); + }, + p => { + const n0 = p._GetNode(0); + return () => (270 + n0.ExpObject()); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => (n0.ExpBehavior() * n1.ExpInstVar()); + }, + () => "TP", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const f1 = p._GetNode(1).GetBoundMethod(); + const f2 = p._GetNode(2).GetBoundMethod(); + return () => f0(f1(f2(), 1, " ")); + }, + () => 8, + () => 24, + () => 32, + () => 40, + () => "Buttons", + p => { + const n0 = p._GetNode(0); + return () => (1 - n0.ExpInstVar()); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + return () => ((((n0.ExpInstVar()) === ((-1)) ? 1 : 0)) ? (n1.ExpObject()) : (n2.ExpInstVar())); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + return () => ((((n0.ExpInstVar()) === (999) ? 1 : 0)) ? (n1.ExpObject()) : (n2.ExpInstVar())); + }, + () => "MovingArea", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + return () => f0(n1.ExpInstVar(), "\n"); + }, + () => "wait", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + return () => f0(n1.ExpInstVar(), n2.ExpInstVar(), "\n"); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const f1 = p._GetNode(1).GetBoundMethod(); + const v2 = p._GetNode(2).GetVar(); + return () => f0(f1(v2.GetValue(), 0, " ")); + }, + () => "move", + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => and(((n0.ExpObject()).toString() + "-"), n1.ExpInstVar()); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const f1 = p._GetNode(1).GetBoundMethod(); + const v2 = p._GetNode(2).GetVar(); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + const f5 = p._GetNode(5).GetBoundMethod(); + const f6 = p._GetNode(6).GetBoundMethod(); + const v7 = p._GetNode(7).GetVar(); + const f8 = p._GetNode(8).GetBoundMethod(); + const f9 = p._GetNode(9).GetBoundMethod(); + const v10 = p._GetNode(10).GetVar(); + const f11 = p._GetNode(11).GetBoundMethod(); + const f12 = p._GetNode(12).GetBoundMethod(); + const v13 = p._GetNode(13).GetVar(); + return () => ((((f0(f1(v2.GetValue(), 1, " "), 1)) === ("~") ? 1 : 0)) ? ((n3.ExpObject() + f4(f5(f6(v7.GetValue(), 1, " "), (f8(f9(v10.GetValue(), 1, " ")) - 1))))) : (f11(f12(v13.GetValue(), 1, " ")))); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const f1 = p._GetNode(1).GetBoundMethod(); + const v2 = p._GetNode(2).GetVar(); + const n3 = p._GetNode(3); + const f4 = p._GetNode(4).GetBoundMethod(); + const f5 = p._GetNode(5).GetBoundMethod(); + const f6 = p._GetNode(6).GetBoundMethod(); + const v7 = p._GetNode(7).GetVar(); + const f8 = p._GetNode(8).GetBoundMethod(); + const f9 = p._GetNode(9).GetBoundMethod(); + const v10 = p._GetNode(10).GetVar(); + const f11 = p._GetNode(11).GetBoundMethod(); + const f12 = p._GetNode(12).GetBoundMethod(); + const v13 = p._GetNode(13).GetVar(); + return () => ((((f0(f1(v2.GetValue(), 2, " "), 1)) === ("~") ? 1 : 0)) ? ((n3.ExpObject() + f4(f5(f6(v7.GetValue(), 2, " "), (f8(f9(v10.GetValue(), 2, " ")) - 1))))) : (f11(f12(v13.GetValue(), 2, " ")))); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const f1 = p._GetNode(1).GetBoundMethod(); + const f2 = p._GetNode(2).GetBoundMethod(); + const v3 = p._GetNode(3).GetVar(); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(f1(f2(v3.GetValue(), 3, " ")), f4()); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const v1 = p._GetNode(1).GetVar(); + const f2 = p._GetNode(2).GetBoundMethod(); + const f3 = p._GetNode(3).GetBoundMethod(); + const v4 = p._GetNode(4).GetVar(); + const f5 = p._GetNode(5).GetBoundMethod(); + const f6 = p._GetNode(6).GetBoundMethod(); + const f7 = p._GetNode(7).GetBoundMethod(); + const v8 = p._GetNode(8).GetVar(); + const f9 = p._GetNode(9).GetBoundMethod(); + return () => ((or(((f0(v1.GetValue(), " ")) <= (4) ? 1 : 0), f2(f3(v4.GetValue(), 4, " ")))) ? (f5(f6(f7(v8.GetValue(), 3, " ")), f9())) : (0)); + }, + () => "movex", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const f1 = p._GetNode(1).GetBoundMethod(); + const f2 = p._GetNode(2).GetBoundMethod(); + const v3 = p._GetNode(3).GetVar(); + const f4 = p._GetNode(4).GetBoundMethod(); + return () => f0(f1(f2(v3.GetValue(), 2, " ")), f4()); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const v1 = p._GetNode(1).GetVar(); + const f2 = p._GetNode(2).GetBoundMethod(); + const f3 = p._GetNode(3).GetBoundMethod(); + const v4 = p._GetNode(4).GetVar(); + const f5 = p._GetNode(5).GetBoundMethod(); + const f6 = p._GetNode(6).GetBoundMethod(); + const f7 = p._GetNode(7).GetBoundMethod(); + const v8 = p._GetNode(8).GetVar(); + const f9 = p._GetNode(9).GetBoundMethod(); + return () => ((or(((f0(v1.GetValue(), " ")) <= (3) ? 1 : 0), f2(f3(v4.GetValue(), 3, " ")))) ? (f5(f6(f7(v8.GetValue(), 2, " ")), f9())) : (0)); + }, + () => "movey", + () => "angle", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const f1 = p._GetNode(1).GetBoundMethod(); + const v2 = p._GetNode(2).GetVar(); + return () => f0(f1(v2.GetValue(), 1, " ")); + }, + () => "goto", + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const f1 = p._GetNode(1).GetBoundMethod(); + const v2 = p._GetNode(2).GetVar(); + return () => (f0(f1(v2.GetValue(), 1, " ")) - 1); + }, + p => { + const n0 = p._GetNode(0); + return () => n0.ExpBehavior("angle"); + }, + () => "GroudPoundSolid", + () => "RocketLauncher", + () => "PredictiveLaser", + () => "PredictiveDefault", + () => "Laser", + () => "Default", + () => "Aiming", + () => -281474976711679, + () => 0.7, + () => "Locked", + () => "particles", + p => { + const n0 = p._GetNode(0); + return () => (n0.ExpObject() / 30); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const n4 = p._GetNode(4); + const f5 = p._GetNode(5).GetBoundMethod(); + return () => C3.lerp(n0.ExpObject(), (n1.ExpObject() + (n2.ExpObject() * Math.cos(C3.toRadians(n3.ExpObject())))), C3.unlerp(0, (n4.ExpObject() / 30), f5())); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const n3 = p._GetNode(3); + const n4 = p._GetNode(4); + const f5 = p._GetNode(5).GetBoundMethod(); + return () => C3.lerp(n0.ExpObject(), (n1.ExpObject() + (n2.ExpObject() * Math.sin(C3.toRadians(n3.ExpObject())))), C3.unlerp(0, (n4.ExpObject() / 30), f5())); + }, + () => "Shooting", + () => -281483567170559, + p => { + const n0 = p._GetNode(0); + return () => n0.ExpObject(1); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + return () => (n0.ExpObject(1) + (Math.cos(C3.toRadians(n1.ExpObject())) * n2.ExpBehavior())); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + return () => (n0.ExpObject(1) + (Math.sin(C3.toRadians(n1.ExpObject())) * n2.ExpBehavior())); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + return () => ((n0.ExpInstVar()) ? ("MultiBullet") : (((n1.ExpInstVar()) ? ("Smart") : ("Default")))); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + return () => ((((n0.ExpInstVar()) !== ((-1)) ? 1 : 0)) ? (n1.ExpInstVar()) : (n2.ExpBehavior())); + }, + () => "Rocket", + () => "MultiBullet", + () => "Coin", + () => "Portal", + p => { + const n0 = p._GetNode(0); + const f1 = p._GetNode(1).GetBoundMethod(); + return () => (n0.ExpBehavior() * f1()); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const f2 = p._GetNode(2).GetBoundMethod(); + return () => ((n0.ExpInstVar()) ? (0) : ((n1.ExpBehavior() * f2()))); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + return () => ((n0.ExpInstVar()) ? (n1.ExpInstVar()) : (n2.ExpBehavior())); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const v3 = p._GetNode(3).GetVar(); + const n4 = p._GetNode(4); + return () => ((n0.ExpInstVar()) ? (n1.ExpInstVar()) : ((((n2.ExpBehavior() + v3.GetValue()) + n4.ExpObject()) + 180))); + }, + p => { + const v0 = p._GetNode(0).GetVar(); + const v1 = p._GetNode(1).GetVar(); + return () => (Math.cos(C3.toRadians(v0.GetValue())) * v1.GetValue()); + }, + p => { + const v0 = p._GetNode(0).GetVar(); + const v1 = p._GetNode(1).GetVar(); + return () => (Math.sin(C3.toRadians(v0.GetValue())) * v1.GetValue()); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const f2 = p._GetNode(2).GetBoundMethod(); + return () => ((Math.cos(C3.toRadians(n0.ExpBehavior())) * n1.ExpBehavior()) * f2()); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const f2 = p._GetNode(2).GetBoundMethod(); + return () => ((Math.sin(C3.toRadians(n0.ExpBehavior())) * n1.ExpBehavior()) * f2()); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + const v3 = p._GetNode(3).GetVar(); + const n4 = p._GetNode(4); + return () => ((n0.ExpInstVar()) ? (n1.ExpInstVar()) : (((((-n2.ExpBehavior()) + v3.GetValue()) + n4.ExpObject()) + 180))); + }, + () => "GravityZone", + p => { + const n0 = p._GetNode(0); + return () => (n0.ExpObject() + 90); + }, + p => { + const n0 = p._GetNode(0); + return () => (n0.ExpBehavior() - 90); + }, + p => { + const f0 = p._GetNode(0).GetBoundMethod(); + const n1 = p._GetNode(1); + const v2 = p._GetNode(2).GetVar(); + const f3 = p._GetNode(3).GetBoundMethod(); + return () => f0(n1.ExpBehavior(), v2.GetValue(), ((0.2 * f3()) * 60)); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const f2 = p._GetNode(2).GetBoundMethod(); + return () => ((C3.distanceTo(0, 0, n0.ExpBehavior(), n1.ExpBehavior()) * f2()) * 5); + }, + p => { + const n0 = p._GetNode(0); + const n1 = p._GetNode(1); + const n2 = p._GetNode(2); + return () => (C3.toDegrees(C3.angleTo(0, 0, n0.ExpBehavior(), n1.ExpBehavior())) + n2.ExpObject()); + }, + p => { + const n0 = p._GetNode(0); + return () => C3.lerp(0, 100, C3.unlerp(0, 20, n0.ExpObject())); + }, + p => { + const v0 = p._GetNode(0).GetVar(); + const v1 = p._GetNode(1).GetVar(); + const n2 = p._GetNode(2); + const v3 = p._GetNode(3).GetVar(); + const v4 = p._GetNode(4).GetVar(); + const n5 = p._GetNode(5); + return () => ((v0.GetValue() * Math.cos(C3.toRadians((v1.GetValue() - n2.ExpBehavior())))) - (v3.GetValue() * Math.sin(C3.toRadians((v4.GetValue() - n5.ExpBehavior()))))); + }, + p => { + const v0 = p._GetNode(0).GetVar(); + const v1 = p._GetNode(1).GetVar(); + const n2 = p._GetNode(2); + const v3 = p._GetNode(3).GetVar(); + const v4 = p._GetNode(4).GetVar(); + const n5 = p._GetNode(5); + return () => ((v0.GetValue() * Math.cos(C3.toRadians((v1.GetValue() - n2.ExpBehavior())))) + (v3.GetValue() * Math.sin(C3.toRadians((v4.GetValue() - n5.ExpBehavior()))))); + } + ]; +} + + +"use strict"; + +{ + const scriptsInEvents = { + + async Player_Event213(runtime, localVars) + { + const player = runtime.objects.Collider.getFirstPickedInstance(); + const bbox = player && player.getBoundingBox(); + if (player && player.instVars.state !== "dead" + && (bbox.left > runtime.globalVars.levelWidth + || bbox.bottom < 0 + || bbox.top > runtime.globalVars.levelHeight + || bbox.right < 0) + ) { + runtime.callFunction("GameplayDeath"); + } + }, + + async Player_Event216(runtime, localVars) + { + let collisionEngine = globalThis.sdk_runtime.GetCollisionEngine(); + let player = globalThis.sdk_runtime.GetInstanceByUID(runtime.objects.Collider.getFirstPickedInstance().uid); + let playerPlatform = player._behaviorInstances.find(x=> x instanceof C3.Behaviors.Platform)._sdkInst; + let b = player.GetWorldInfo(); + collisionEngine.PushOutSolid(player, -playerPlatform._downX, -playerPlatform._downY, 10, false) + }, + + async Gameplay_Event34_Act3(runtime, localVars) + { + const button = runtime.objects.ButtonTrigger.getFirstPickedInstance(); + button.Activate() + }, + + async Gameplay_Event36_Act3(runtime, localVars) + { + const button = runtime.objects.ButtonTrigger.getFirstPickedInstance(); + button.Activate() + }, + + async Gameplay_Event38_Act6(runtime, localVars) + { + const button = runtime.objects.ButtonTrigger.getFirstPickedInstance(); + button.Activate = new Function("sdkSelf", "runtime", button.instVars.OnActivate).bind(button, sdk_runtime.GetInstanceByUID(button.uid), runtime); + }, + + async Gameplay_Event86_Act4(runtime, localVars) + { + runtime.objects.Rocket.getFirstPickedInstance().instVars.Smart = runtime.objects.RocketLauncher.getFirstPickedInstance().instVars.Smart; + } + + }; + + self.C3.ScriptsInEvents = scriptsInEvents; +} + + +// User script coursesManagement.js +function loadCourse(id) +{ + return globalThis.g_runtime.assets.fetchJson(globalThis.courses[id]).then(json => { + globalThis.currentCourse = json; + }); +} + +function loadChapter(id) +{ + globalThis.currentChapter = globalThis.currentCourse.chapters[id]; +} + +function loadLevel(id) +{ + globalThis.currentLevel = globalThis.currentChapter.levels[id]; +} + +function createCurLevel() +{ + globalThis.currentLevel.objects.forEach(object => { + let inst = globalThis.g_runtime.objects[object.name].createInstance(0, object.x, object.y); + inst = { + ...inst, + ...object, + instVars: { + ...inst.instVars, + ...object.instVars + } + } + }) +} + +// User script Buttons.js +function assignButtonsCode(runtime) { + globalThis.moveArea = runtime.callFunction.bind(globalThis.g_runtime, "MoveArea") + globalThis.getButton = (id) => { + return runtime.objects.ButtonTrigger.getAllInstances().find(x=>x.instVars.ID === id); + } +} +//fn + +// User script runOnStartup.js + +// Put any global functions etc. here + +runOnStartup(async runtime => +{ + // Code to run on the loading screen + + runtime.addEventListener("beforeprojectstart", () => OnBeforeProjectStart(runtime)); + globalThis.g_runtime = runtime; + assignButtonsCode(runtime); +}); + +function OnBeforeProjectStart(runtime) +{ + // Code to run just before 'On start of layout' + // on the first layout. Initial instances are created + // and available to use here. + runtime.assets.fetchJson("Courses.json").then(json => { + globalThis.courses = json; + //TODO remove later when menus are done. + loadCourse(0).then(()=>{ + console.log("course loaded"); + loadChapter(0); + loadLevel(0); + //runtime.goToLayout("Level"); + }); + }); + runtime.addEventListener("tick", () => Tick(runtime)); +} + +function Tick(runtime) +{ + // Code to run every tick +} + + +// User script Timeout.js +/*****=== MODULE: TIMEOUT AND INTERVALS ====**********/ +/*****Author: skymen **********/ +/*****Description: Exports two functions: **********/ +/***** interval: works like setInterval **********/ +/***** timeout: works like setTimeout **********/ +/***** **********/ +/*****Both count time in seconds instead of **********/ +/*****milliseconds and respect time scale **********/ +/***** **********/ +/*****======================================**********/ + +(function () { + // Init and get runtime + runOnStartup(async runtime => + { + // Code to run on the loading screen. + // Note layouts, objects etc. are not yet available. + + runtime.addEventListener("beforeprojectstart", () => OnBeforeProjectStart(runtime)); + }); + + function OnBeforeProjectStart(runtime) + { + // Code to run just before 'On start of layout' on + // the first layout. Loading has finished and initial + // instances are created and available to use here. + + runtime.addEventListener("tick", () => Tick(runtime)); + runtime.getAllLayouts().forEach(layout => { + layout.addEventListener("beforelayoutstart", () => StartOfLayout(layout, runtime)) + }); + } + + // Init local vars + let timeouts = []; + let curTime = 0; + + // Export functions to global scope + globalThis.timeout = (callback, duration, isInterval = false) => { + timeouts.push({ + callback, + duration, + current: duration, + isInterval + }); + } + + globalThis.interval = (callback, duration) => { + globalThis.timeout(callback, duration, true); + } + + + // Local functions for more processing + function StartOfLayout(layout, runtime) { + timeouts = []; + } + + function Tick(runtime) + { + let dt = runtime.gameTime - curTime; + curTime = runtime.gameTime + for(let i = 0; i < timeouts.length; i++) { + let cur = timeouts[i]; + cur.current -= dt; + if (cur.current <= 0) { + cur.callback() + if (cur.isInterval) { + cur.current = cur.duration; + } else { + timeouts.splice(i, 1); + i--; + } + } + } + } +})() + diff --git a/games/ovo/2.0.2alpha/scripts/dispatchworker.js b/games/ovo/2.0.2alpha/scripts/dispatchworker.js new file mode 100644 index 00000000..8f92f7b0 --- /dev/null +++ b/games/ovo/2.0.2alpha/scripts/dispatchworker.js @@ -0,0 +1 @@ +"use strict";self.inputPort=null,self.jobQueue=[],self.jobWorkers=[],self.sentBlobs=[],self.sentBuffers=[],self.importedScripts=[],self.lastBroadcasts=new Map;class JobWorker{constructor(a,b){this._port=a,this._number=b,this._isReady=!1,this._isBusy=!1,this._port.onmessage=(a)=>this._OnMessage(a.data)}ImportScripts(a){this._port.postMessage({"type":"_import_scripts","scripts":a})}SendBlob(a,b){this._port.postMessage({"type":"_send_blob","blob":a,"id":b})}SendBuffer(a,b){this._port.postMessage({"type":"_send_buffer","buffer":a,"id":b})}SendJob(a){if(this._isBusy||!this._isReady)throw new Error("cannot take job");this._isBusy=!0,this._port.postMessage(a,a["transferables"])}_InitBroadcast(a){this._port.postMessage(a,a["transferables"])}SendReady(){this._port.postMessage({"type":"_ready"})}IsReady(){return this._isReady}_OnReady(){this._isReady=!0,this.MaybeStartNextJob()}IsBusy(){return this._isBusy}GetNumber(){return this._number}_OnMessage(a){const b=a["type"];return"ready"===b?void this._OnReady():"done"===b?void this._OnJobDone():void console.error("unknown message from worker '"+b+"'")}_OnJobDone(){this._isBusy=!1,this.MaybeStartNextJob()}MaybeStartNextJob(){if(!this._isBusy&&this._isReady){const a=this._FindAvailableJob();if(-1!==a){const b=self.jobQueue[a],c=b["isBroadcast"];c?(b["doneFlags"][this._number]=!0,b["doneFlags"].every((a)=>a)&&self.jobQueue.splice(a,1)):self.jobQueue.splice(a,1),this.SendJob(b)}}}_FindAvailableJob(){for(let a=0,b=self.jobQueue.length;a{const b=a.data,c=b["type"];"_init"===c?(self.inputPort=b["in-port"],self.inputPort.onmessage=OnInputPortMessage):"_addJobWorker"===c&&AddJobWorker(b["port"])});function OnInputPortMessage(a){const b=a.data,c=b["type"];if("_cancel"===c)return void CancelJob(b.jobId);if("_import_scripts"===c){const a=b["scripts"];for(const b of self.jobWorkers)b.ImportScripts(a);return void self.importedScripts.push(a)}if("_send_blob"===c){const a=b["blob"],c=b["id"];for(const b of self.jobWorkers)b.SendBlob(a,c);return void self.sentBlobs.push([a,c])}if("_send_buffer"===c){const a=b["buffer"],c=b["id"];for(const b of self.jobWorkers)b.SendBuffer(a,c);return void self.sentBuffers.push([a,c])}if("_no_more_workers"===c)return self.sentBlobs.length=0,self.sentBuffers.length=0,self.importedScripts.length=0,void self.lastBroadcasts.clear();if("_testMessageChannel"===c)return void self.jobWorkers[0].TestMessageChannel();self.jobQueue.push(b),b["isBroadcast"]&&(b["doneFlags"]=Array(self.jobWorkers.length).fill(!1),b["transferables"]=[],self.lastBroadcasts.set(b["type"],b));for(const b of self.jobWorkers)b.MaybeStartNextJob()} \ No newline at end of file diff --git a/games/ovo/2.0.2alpha/scripts/jobworker.js b/games/ovo/2.0.2alpha/scripts/jobworker.js new file mode 100644 index 00000000..936a7ef3 --- /dev/null +++ b/games/ovo/2.0.2alpha/scripts/jobworker.js @@ -0,0 +1 @@ +"use strict";self.dispatchPort=null,self.outputPort=null,self.workerNumber=-1,self.activeJobId=null,self.sentBlobs=new Map,self.sentBuffers=new Map,self.JobHandlers={};function FlipImageData(a,b,c){const d=4*b,e=new Uint8Array(d),f=a.buffer;for(let g=0,h=Math.floor(c/2);g{const b=a.data,c=b["type"];return"init"===c?(self.workerNumber=b["number"],self.dispatchPort=b["dispatch-port"],self.dispatchPort.onmessage=OnDispatchWorkerMessage,void(self.outputPort=b["output-port"])):"terminate"===c?void self.close():void console.error("unknown message '"+c+"'")});function SendReady(){self.dispatchPort.postMessage({"type":"ready"}),self.outputPort.postMessage({"type":"ready"})}function SendError(a,b){a||self.outputPort.postMessage({"type":"error","jobId":self.activeJobId,"error":b.toString()}),SendDone()}function SendResult(a,b){if(!a){const a=b.transferables||[];self.outputPort.postMessage({"type":"result","jobId":self.activeJobId,"result":b.result},a)}SendDone()}function SendDone(){self.activeJobId=null,self.dispatchPort.postMessage({"type":"done"})}function SendProgress(a){self.outputPort.postMessage({"type":"progress","jobId":self.activeJobId,"progress":a})}function OnDispatchWorkerMessage(a){const b=a.data,c=b["type"];if("_import_scripts"===c)return void importScripts(...b["scripts"]);if("_send_blob"===c)return void self.sentBlobs.set(b["id"],b["blob"]);if("_send_buffer"===c)return void self.sentBuffers.set(b["id"],b["buffer"]);if("_testMessageChannel"===c)return void self.outputPort.postMessage({"type":"_testMessageChannelOk"});if("_ready"===c)return void SendReady();const d=b["jobId"],f=b["isBroadcast"],e=b["params"];let g;if(self.activeJobId=d,!self.JobHandlers.hasOwnProperty(c))return void console.error(`no handler for message type '${c}'`);try{g=self.JobHandlers[c](e)}catch(a){return void SendError(f,"Exception in job handler: "+a)}g&&g.then?g.then((a)=>SendResult(f,a)).catch((a)=>SendError(f,"Rejection in job handler: "+a)):SendResult(f,g)} \ No newline at end of file diff --git a/games/ovo/2.0.2alpha/scripts/main.js b/games/ovo/2.0.2alpha/scripts/main.js new file mode 100644 index 00000000..49b6c5b1 --- /dev/null +++ b/games/ovo/2.0.2alpha/scripts/main.js @@ -0,0 +1,11 @@ +"use strict";window.DOMHandler=class{constructor(a,b){this._iRuntime=a,this._componentId=b,this._hasTickCallback=!1,this._tickCallback=()=>this.Tick()}Attach(){}PostToRuntime(a,b,c,d){this._iRuntime.PostToRuntimeComponent(this._componentId,a,b,c,d)}PostToRuntimeAsync(a,b,c,d){return this._iRuntime.PostToRuntimeComponentAsync(this._componentId,a,b,c,d)}_PostToRuntimeMaybeSync(a,b,c){this._iRuntime.UsesWorker()?this.PostToRuntime(a,b,c):this._iRuntime._GetLocalRuntime()["_OnMessageFromDOM"]({"type":"event","component":this._componentId,"handler":a,"dispatchOpts":c||null,"data":b,"responseId":null})}AddRuntimeMessageHandler(a,b){this._iRuntime.AddRuntimeComponentMessageHandler(this._componentId,a,b)}AddRuntimeMessageHandlers(a){for(const[b,c]of a)this.AddRuntimeMessageHandler(b,c)}GetRuntimeInterface(){return this._iRuntime}GetComponentID(){return this._componentId}_StartTicking(){this._hasTickCallback||(this._iRuntime._AddRAFCallback(this._tickCallback),this._hasTickCallback=!0)}_StopTicking(){this._hasTickCallback&&(this._iRuntime._RemoveRAFCallback(this._tickCallback),this._hasTickCallback=!1)}Tick(){}},window.RateLimiter=class{constructor(a,b){this._callback=a,this._interval=b,this._timerId=-1,this._lastCallTime=-Infinity,this._timerCallFunc=()=>this._OnTimer(),this._ignoreReset=!1,this._canRunImmediate=!1}SetCanRunImmediate(a){this._canRunImmediate=!!a}Call(){if(-1===this._timerId){const a=Date.now(),b=a-this._lastCallTime,c=this._interval;b>=c&&this._canRunImmediate?(this._lastCallTime=a,this._RunCallback()):this._timerId=self.setTimeout(this._timerCallFunc,Math.max(c-b,4))}}_RunCallback(){this._ignoreReset=!0,this._callback(),this._ignoreReset=!1}Reset(){this._ignoreReset||(this._CancelTimer(),this._lastCallTime=Date.now())}_OnTimer(){this._timerId=-1,this._lastCallTime=Date.now(),this._RunCallback()}_CancelTimer(){-1!==this._timerId&&(self.clearTimeout(this._timerId),this._timerId=-1)}Release(){this._CancelTimer(),this._callback=null,this._timerCallFunc=null}}; + +"use strict";window.DOMElementHandler=class extends DOMHandler{constructor(a,b){super(a,b),this._elementMap=new Map,this._autoAttach=!0,this.AddRuntimeMessageHandler("create",(a)=>this._OnCreate(a)),this.AddRuntimeMessageHandler("destroy",(a)=>this._OnDestroy(a)),this.AddRuntimeMessageHandler("set-visible",(a)=>this._OnSetVisible(a)),this.AddRuntimeMessageHandler("update-position",(a)=>this._OnUpdatePosition(a)),this.AddRuntimeMessageHandler("update-state",(a)=>this._OnUpdateState(a)),this.AddRuntimeMessageHandler("focus",(a)=>this._OnSetFocus(a)),this.AddRuntimeMessageHandler("set-css-style",(a)=>this._OnSetCssStyle(a))}SetAutoAttach(a){this._autoAttach=!!a}AddDOMElementMessageHandler(a,b){this.AddRuntimeMessageHandler(a,(a)=>{const c=a["elementId"],d=this._elementMap.get(c);return b(d,a)})}_OnCreate(a){const b=a["elementId"],c=this.CreateElement(b,a);this._elementMap.set(b,c),a["isVisible"]||(c.style.display="none"),this._autoAttach&&document.body.appendChild(c)}CreateElement(){throw new Error("required override")}DestroyElement(){}_OnDestroy(a){const b=a["elementId"],c=this._elementMap.get(b);this.DestroyElement(c),this._autoAttach&&c.parentElement.removeChild(c),this._elementMap.delete(b)}PostToRuntimeElement(a,b,c){c||(c={}),c["elementId"]=b,this.PostToRuntime(a,c)}_PostToRuntimeElementMaybeSync(a,b,c){c||(c={}),c["elementId"]=b,this._PostToRuntimeMaybeSync(a,c)}_OnSetVisible(a){if(this._autoAttach){const b=this._elementMap.get(a["elementId"]);b.style.display=a["isVisible"]?"":"none"}}_OnUpdatePosition(a){if(this._autoAttach){const b=this._elementMap.get(a["elementId"]);b.style.left=a["left"]+"px",b.style.top=a["top"]+"px",b.style.width=a["width"]+"px",b.style.height=a["height"]+"px";const c=a["fontSize"];null!==c&&(b.style.fontSize=c+"em")}}_OnUpdateState(a){const b=this._elementMap.get(a["elementId"]);this.UpdateState(b,a)}UpdateState(){throw new Error("required override")}_OnSetFocus(a){const b=this._elementMap.get(a["elementId"]);a["focus"]?b.focus():b.blur()}_OnSetCssStyle(a){const b=this._elementMap.get(a["elementId"]);b.style[a["prop"]]=a["val"]}GetElementById(a){return this._elementMap.get(a)}}; + +"use strict";{function a(a){if(a.isStringSrc){const b=document.createElement("script");b.async=!1,b.textContent=a.str,document.head.appendChild(b)}else return new Promise((b,c)=>{const d=document.createElement("script");d.onload=b,d.onerror=c,d.async=!1,d.src=a,document.head.appendChild(d)})}async function b(a){const b=await c(a),d=new TextDecoder("utf-8");return d.decode(b)}function c(a){return new Promise((b,c)=>{const d=new FileReader;d.onload=(a)=>b(a.target.result),d.onerror=(a)=>c(a),d.readAsArrayBuffer(a)})}function d(a){return o.has(a)}const e=/(iphone|ipod|ipad)/i.test(navigator.userAgent);let f=new Audio;const g={"audio/webm; codecs=opus":!!f.canPlayType("audio/webm; codecs=opus"),"audio/ogg; codecs=opus":!!f.canPlayType("audio/ogg; codecs=opus"),"audio/webm; codecs=vorbis":!!f.canPlayType("audio/webm; codecs=vorbis"),"audio/ogg; codecs=vorbis":!!f.canPlayType("audio/ogg; codecs=vorbis"),"audio/mp4":!!f.canPlayType("audio/mp4"),"audio/mpeg":!!f.canPlayType("audio/mpeg")};f=null;const h=[];let i=0;window["RealFile"]=window["File"];const j=[],k=new Map,l=new Map;let m=0;const n=[];self.runOnStartup=function(a){if("function"!=typeof a)throw new Error("runOnStartup called without a function");n.push(a)};const o=new Set(["cordova","playable-ad","instant-games"]);window.RuntimeInterface=class f{constructor(a){this._useWorker=a.useWorker,this._messageChannelPort=null,this._baseUrl="",this._scriptFolder=a.scriptFolder,this._workerScriptBlobURLs={},this._worker=null,this._localRuntime=null,this._domHandlers=[],this._runtimeDomHandler=null,this._canvas=null,this._jobScheduler=null,this._rafId=-1,this._rafFunc=()=>this._OnRAFCallback(),this._rafCallbacks=[],this._exportType=a.exportType,d(this._exportType)&&this._useWorker&&(console.warn("[C3 runtime] Worker mode is enabled and supported, but is disabled in WebViews due to crbug.com/923007. Reverting to DOM mode."),this._useWorker=!1),this._transferablesBroken=!1,this._localFileBlobs=null,this._localFileStrings=null,("html5"===this._exportType||"playable-ad"===this._exportType)&&"file"===location.protocol.substr(0,4)&&alert("Exported games won't work until you upload them. (When running on the file: protocol, browsers block many features from working for security reasons.)"),this.AddRuntimeComponentMessageHandler("runtime","cordova-fetch-local-file",(a)=>this._OnCordovaFetchLocalFile(a)),this.AddRuntimeComponentMessageHandler("runtime","create-job-worker",(a)=>this._OnCreateJobWorker(a)),"cordova"===this._exportType?document.addEventListener("deviceready",()=>this._Init(a)):this._Init(a)}Release(){this._CancelAnimationFrame(),this._messageChannelPort&&(this._messageChannelPort.onmessage=null,this._messageChannelPort=null),this._worker&&(this._worker.terminate(),this._worker=null),this._localRuntime&&(this._localRuntime.Release(),this._localRuntime=null),this._canvas&&(this._canvas.parentElement.removeChild(this._canvas),this._canvas=null)}GetCanvas(){return this._canvas}GetBaseURL(){return this._baseUrl}UsesWorker(){return this._useWorker}GetExportType(){return this._exportType}IsiOSCordova(){return e&&"cordova"===this._exportType}IsiOSWebView(){return e&&d(this._exportType)}async _Init(a){if("playable-ad"===this._exportType){this._localFileBlobs=self["c3_base64files"],this._localFileStrings={},await this._ConvertDataUrisToBlobs();for(let b=0,c=a.engineScripts.length;bthis["_OnMessageFromRuntime"](a.data),window["c3_addPortMessageHandler"]&&window["c3_addPortMessageHandler"]((a)=>this._OnMessageFromDebugger(a)),this._jobScheduler=new self.JobSchedulerDOM(this),await this._jobScheduler.Init(),this.MaybeForceBodySize(),"object"==typeof window["StatusBar"]&&window["StatusBar"]["hide"](),"object"==typeof window["AndroidFullScreen"]&&window["AndroidFullScreen"]["immersiveMode"](),await this._TestTransferablesWork(),this._useWorker?await this._InitWorker(a,b.port2):await this._InitDOM(a,b.port2)}_GetWorkerURL(a){return this._workerScriptBlobURLs.hasOwnProperty(a)?this._workerScriptBlobURLs[a]:a.endsWith("/workermain.js")&&this._workerScriptBlobURLs.hasOwnProperty("workermain.js")?this._workerScriptBlobURLs["workermain.js"]:"playable-ad"===this._exportType&&this._localFileBlobs.hasOwnProperty(a.toLowerCase())?URL.createObjectURL(this._localFileBlobs[a.toLowerCase()]):a}async CreateWorker(a,b,c){if(a.startsWith("blob:"))return new Worker(a,c);if(this.IsiOSCordova()){const b=await this.CordovaFetchLocalFileAsArrayBuffer(this._scriptFolder+a),d=new Blob([b],{type:"application/javascript"});return new Worker(URL.createObjectURL(d),c)}const d=new URL(a,b),e=location.origin!==d.origin;if(e){const a=await fetch(d);if(!a.ok)throw new Error("failed to fetch worker script");const b=await a.blob();return new Worker(URL.createObjectURL(b),c)}return new Worker(d,c)}MaybeForceBodySize(){if(this.IsiOSWebView()){const a=document["documentElement"].style,b=document["body"].style,c=window.innerWidthnew a(this)),this._FindRuntimeDOMHandler(),self["c3_callFunction"]=(a,b)=>this._runtimeDomHandler._InvokeFunctionFromJS(a,b),"preview"===this._exportType&&(self["goToLastErrorScript"]=()=>this.PostToRuntimeComponent("runtime","go-to-last-error-script"))}async _InitDOM(b,c){this._canvas=document.createElement("canvas"),this._canvas.style.display="none",document.body.appendChild(this._canvas),window["c3canvas"]=this._canvas,this._domHandlers=j.map((a)=>new a(this)),this._FindRuntimeDOMHandler();const d=b.engineScripts.map((a)=>"string"==typeof a?new URL(a,this._baseUrl).toString():a);if(Array.isArray(b.workerDependencyScripts)&&d.unshift(...b.workerDependencyScripts),await Promise.all(d.map((b)=>a(b))),b.projectScripts&&0a(b[1]))),Object.values(c).some((a)=>!a))return void self.setTimeout(()=>this._ReportProjectScriptError(c),100)}catch(a){return console.error("[Preview] Error loading project scripts: ",a),void self.setTimeout(()=>this._ReportProjectScriptError(c),100)}}if("preview"===this._exportType&&"object"!=typeof self.C3.ScriptsInEvents){return console.error("[C3 runtime] Failed to load JavaScript code used in events. Check all your JavaScript code has valid syntax."),void alert("Failed to load JavaScript code used in events. Check all your JavaScript code has valid syntax.")}const e=Object.assign(this._GetCommonRuntimeOptions(b),{"isInWorker":!1,"messagePort":c,"canvas":this._canvas,"runOnStartupFunctions":n});this._localRuntime=self["C3_CreateRuntime"](e),await self["C3_InitRuntime"](this._localRuntime,e)}_ReportProjectScriptError(a){const b=Object.entries(a).filter((a)=>!a[1]).map((a)=>a[0]),c=`Failed to load project script '${b[0]}'. Check all your JavaScript code has valid syntax.`;console.error("[Preview] "+c),alert(c)}async _OnCreateJobWorker(){const a=await this._jobScheduler._CreateJobWorker();return{"outputPort":a,"transferables":[a]}}_GetLocalRuntime(){if(this._useWorker)throw new Error("not available in worker mode");return this._localRuntime}PostToRuntimeComponent(a,b,c,d,e){this._messageChannelPort.postMessage({"type":"event","component":a,"handler":b,"dispatchOpts":d||null,"data":c,"responseId":null},this._transferablesBroken?void 0:e)}PostToRuntimeComponentAsync(a,b,c,d,e){const f=m++,g=new Promise((a,b)=>{l.set(f,{resolve:a,reject:b})});return this._messageChannelPort.postMessage({"type":"event","component":a,"handler":b,"dispatchOpts":d||null,"data":c,"responseId":f},this._transferablesBroken?void 0:e),g}["_OnMessageFromRuntime"](a){const b=a["type"];if("event"===b)this._OnEventFromRuntime(a);else if("result"===b)this._OnResultFromRuntime(a);else if("runtime-ready"===b)this._OnRuntimeReady();else if("alert"===b)alert(a["message"]);else throw new Error(`unknown message '${b}'`)}_OnEventFromRuntime(a){const b=a["component"],c=a["handler"],d=a["data"],e=a["responseId"],f=k.get(b);if(!f)return void console.warn(`[DOM] No event handlers for component '${b}'`);const g=f.get(c);if(!g)return void console.warn(`[DOM] No handler '${c}' for component '${b}'`);let h=null;try{h=g(d)}catch(a){return console.error(`Exception in '${b}' handler '${c}':`,a),void(null!==e&&this._PostResultToRuntime(e,!1,""+a))}null!==e&&(h&&h.then?h.then((a)=>this._PostResultToRuntime(e,!0,a)).catch((a)=>{console.error(`Rejection from '${b}' handler '${c}':`,a),this._PostResultToRuntime(e,!1,""+a)}):this._PostResultToRuntime(e,!0,h))}_PostResultToRuntime(a,b,c){let d;c&&c["transferables"]&&(d=c["transferables"]),this._messageChannelPort.postMessage({"type":"result","responseId":a,"isOk":b,"result":c},d)}_OnResultFromRuntime(a){const b=a["responseId"],c=a["isOk"],d=a["result"],e=l.get(b);c?e.resolve(d):e.reject(d),l.delete(b)}AddRuntimeComponentMessageHandler(a,b,c){let d=k.get(a);if(d||(d=new Map,k.set(a,d)),d.has(b))throw new Error(`[DOM] Component '${a}' already has handler '${b}'`);d.set(b,c)}static AddDOMHandlerClass(a){if(j.includes(a))throw new Error("DOM handler already added");j.push(a)}_FindRuntimeDOMHandler(){for(const a of this._domHandlers)if("runtime"===a.GetComponentID())return void(this._runtimeDomHandler=a);throw new Error("cannot find runtime DOM handler")}_OnMessageFromDebugger(a){this.PostToRuntimeComponent("debugger","message",a)}_OnRuntimeReady(){for(const a of this._domHandlers)a.Attach()}static IsDocumentFullscreen(){return!!(document["fullscreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"])}async GetRemotePreviewStatusInfo(){return await this.PostToRuntimeComponentAsync("runtime","get-remote-preview-status-info")}_AddRAFCallback(a){this._rafCallbacks.push(a),this._RequestAnimationFrame()}_RemoveRAFCallback(a){const b=this._rafCallbacks.indexOf(a);if(-1===b)throw new Error("invalid callback");this._rafCallbacks.splice(b,1),this._rafCallbacks.length||this._CancelAnimationFrame()}_RequestAnimationFrame(){-1===this._rafId&&this._rafCallbacks.length&&(this._rafId=requestAnimationFrame(this._rafFunc))}_CancelAnimationFrame(){-1!==this._rafId&&(cancelAnimationFrame(this._rafId),this._rafId=-1)}_OnRAFCallback(){this._rafId=-1;for(const a of this._rafCallbacks)a();this._RequestAnimationFrame()}TryPlayMedia(a){this._runtimeDomHandler.TryPlayMedia(a)}RemovePendingPlay(a){this._runtimeDomHandler.RemovePendingPlay(a)}_PlayPendingMedia(){this._runtimeDomHandler._PlayPendingMedia()}SetSilent(a){this._runtimeDomHandler.SetSilent(a)}IsAudioFormatSupported(a){return!!g[a]}async _WasmDecodeWebMOpus(a){const b=await this.PostToRuntimeComponentAsync("runtime","opus-decode",{"arrayBuffer":a},null,[a]);return new Float32Array(b)}IsAbsoluteURL(a){return /^(?:[a-z]+:)?\/\//.test(a)||"data:"===a.substr(0,5)||"blob:"===a.substr(0,5)}IsRelativeURL(a){return!this.IsAbsoluteURL(a)}async _OnCordovaFetchLocalFile(a){const b=a["filename"];switch(a["as"]){case"text":return await this.CordovaFetchLocalFileAsText(b);case"buffer":return await this.CordovaFetchLocalFileAsArrayBuffer(b);default:throw new Error("unsupported type");}}_GetPermissionAPI(){const a=window["cordova"]&&window["cordova"]["plugins"]&&window["cordova"]["plugins"]["permissions"];if("object"!=typeof a)throw new Error("Permission API is not loaded");return a}_MapPermissionID(a,b){const c=a[b];if("string"!=typeof c)throw new Error("Invalid permission name");return c}_HasPermission(a){const b=this._GetPermissionAPI();return new Promise((c,d)=>b["checkPermission"](this._MapPermissionID(b,a),(a)=>c(!!a["hasPermission"]),d))}_RequestPermission(a){const b=this._GetPermissionAPI();return new Promise((c,d)=>b["requestPermission"](this._MapPermissionID(b,a),(a)=>c(!!a["hasPermission"]),d))}async RequestPermissions(a){if("cordova"!==this.GetExportType())return!0;if(this.IsiOSCordova())return!0;for(const b of a){const a=await this._HasPermission(b);if(a)continue;const c=await this._RequestPermission(b);if(!1===c)return!1}return!0}async RequirePermissions(...a){if(!1===(await this.RequestPermissions(a)))throw new Error("Permission not granted")}CordovaFetchLocalFile(a){const b=window["cordova"]["file"]["applicationDirectory"]+"www/"+a.toLowerCase();return new Promise((a,c)=>{window["resolveLocalFileSystemURL"](b,(b)=>{b["file"](a,c)},c)})}async CordovaFetchLocalFileAsText(a){const c=await this.CordovaFetchLocalFile(a);return await b(c)}_CordovaMaybeStartNextArrayBufferRead(){if(h.length&&!(i>=8)){i++;const a=h.shift();this._CordovaDoFetchLocalFileAsAsArrayBuffer(a.filename,a.successCallback,a.errorCallback)}}CordovaFetchLocalFileAsArrayBuffer(a){return new Promise((b,c)=>{h.push({filename:a,successCallback:(a)=>{i--,this._CordovaMaybeStartNextArrayBufferRead(),b(a)},errorCallback:(a)=>{i--,this._CordovaMaybeStartNextArrayBufferRead(),c(a)}}),this._CordovaMaybeStartNextArrayBufferRead()})}async _CordovaDoFetchLocalFileAsAsArrayBuffer(a,b,d){try{const d=await this.CordovaFetchLocalFile(a),e=await c(d);b(e)}catch(a){d(a)}}async _ConvertDataUrisToBlobs(){const a=[];for(const[b,c]of Object.entries(this._localFileBlobs))a.push(this._ConvertDataUriToBlobs(b,c));await Promise.all(a)}async _ConvertDataUriToBlobs(a,b){if("object"==typeof b)this._localFileBlobs[a]=new Blob([b["str"]],{"type":b["type"]}),this._localFileStrings[a]=b["str"];else{let c=await this._FetchDataUri(b);c||(c=this._DataURIToBinaryBlobSync(b)),this._localFileBlobs[a]=c}}async _FetchDataUri(a){try{const b=await fetch(a);return await b.blob()}catch(a){return console.warn("Failed to fetch a data: URI. Falling back to a slower workaround. This is probably because the Content Security Policy unnecessarily blocked it. Allow data: URIs in your CSP to avoid this.",a),null}}_DataURIToBinaryBlobSync(a){const b=this._ParseDataURI(a);return this._BinaryStringToBlob(b.data,b.mime_type)}_ParseDataURI(a){const b=a.indexOf(",");if(0>b)throw new URIError("expected comma in data: uri");const c=a.substring(5,b),d=a.substring(b+1),e=c.split(";"),f=e[0]||"",g=e[1],h=e[2];let i;return i="base64"===g||"base64"===h?atob(d):decodeURIComponent(d),{mime_type:f,data:i}}_BinaryStringToBlob(a,b){let c,d,e=a.length,f=e>>2,g=new Uint8Array(e),h=new Uint32Array(g.buffer,0,f);for(c=0,d=0;ca=b),c=new ArrayBuffer(1),d=new MessageChannel;return d.port2.onmessage=(b)=>{b.data&&b.data["arrayBuffer"]||(this._transferablesBroken=!0,console.warn("MessageChannel transfers determined to be broken. Disabling transferables.")),a()},d.port1.postMessage({"arrayBuffer":c},[c]),b}}} + +"use strict";{function a(a){return a["sourceCapabilities"]&&a["sourceCapabilities"]["firesTouchEvents"]||a["originalEvent"]&&a["originalEvent"]["sourceCapabilities"]&&a["originalEvent"]["sourceCapabilities"]["firesTouchEvents"]}function b(a){return new Promise((b,c)=>{const d=document.createElement("link");d.onload=()=>b(d),d.onerror=(a)=>c(a),d.rel="stylesheet",d.href=a,document.head.appendChild(d)})}function c(a){return new Promise((b,c)=>{const d=new Image;d.onload=()=>b(d),d.onerror=(a)=>c(a),d.src=a})}async function d(a){const b=URL.createObjectURL(a);try{return await c(b)}finally{URL.revokeObjectURL(b)}}function e(a){return new Promise((b,c)=>{let d=new FileReader;d.onload=(a)=>b(a.target.result),d.onerror=(a)=>c(a),d.readAsText(a)})}async function f(a,b,c){if(!/firefox/i.test(navigator.userAgent))return await d(a);let f=await e(a);const g=new DOMParser,h=g.parseFromString(f,"image/svg+xml"),i=h.documentElement;if(i.hasAttribute("width")&&i.hasAttribute("height")){const b=i.getAttribute("width"),c=i.getAttribute("height");if(!b.includes("%")&&!c.includes("%"))return await d(a)}i.setAttribute("width",b+"px"),i.setAttribute("height",c+"px");const j=new XMLSerializer;return f=j.serializeToString(h),a=new Blob([f],{type:"image/svg+xml"}),await d(a)}function g(a){do{if(a.parentNode&&a.hasAttribute("contenteditable"))return!0;a=a.parentNode}while(a);return!1}function h(a){const b=a.target.tagName.toLowerCase();p.has(b)&&a.preventDefault()}function i(a){(a.metaKey||a.ctrlKey)&&a.preventDefault()}function j(){try{return window.parent&&window.parent.document.hasFocus()}catch(a){return!1}}function k(){const a=document.activeElement;if(!a)return!1;const b=a.tagName.toLowerCase(),c=new Set(["email","number","password","search","tel","text","url"]);return!("textarea"!==b)||("input"===b?c.has(a.type.toLowerCase()||"text"):g(a))}const l=new Map([["OSLeft","MetaLeft"],["OSRight","MetaRight"]]),m={"dispatchRuntimeEvent":!0,"dispatchUserScriptEvent":!0},n={"dispatchUserScriptEvent":!0},o={"dispatchRuntimeEvent":!0};const p=new Set(["canvas","body","html"]);self["C3_GetSvgImageSize"]=async function(a){const b=await d(a);if(0q=!0),document.addEventListener("resume",()=>q=!1);const r=class extends DOMHandler{constructor(a){super(a,"runtime"),this._isFirstSizeUpdate=!0,this._simulatedResizeTimerId=-1,this._targetOrientation="any",this._attachedDeviceOrientationEvent=!1,this._attachedDeviceMotionEvent=!1,this._debugHighlightElem=null,this._pointerRawUpdateRateLimiter=null,this._lastPointerRawUpdateEvent=null,a.AddRuntimeComponentMessageHandler("canvas","update-size",(a)=>this._OnUpdateCanvasSize(a)),a.AddRuntimeComponentMessageHandler("runtime","invoke-download",(a)=>this._OnInvokeDownload(a)),a.AddRuntimeComponentMessageHandler("runtime","raster-svg-image",(a)=>this._OnRasterSvgImage(a)),a.AddRuntimeComponentMessageHandler("runtime","get-svg-image-size",(a)=>this._OnGetSvgImageSize(a)),a.AddRuntimeComponentMessageHandler("runtime","set-target-orientation",(a)=>this._OnSetTargetOrientation(a)),a.AddRuntimeComponentMessageHandler("runtime","register-sw",()=>this._OnRegisterSW()),a.AddRuntimeComponentMessageHandler("runtime","post-to-debugger",(a)=>this._OnPostToDebugger(a)),a.AddRuntimeComponentMessageHandler("runtime","go-to-script",(a)=>this._OnPostToDebugger(a)),a.AddRuntimeComponentMessageHandler("runtime","before-start-ticking",()=>this._OnBeforeStartTicking()),a.AddRuntimeComponentMessageHandler("runtime","debug-highlight",(a)=>this._OnDebugHighlight(a)),a.AddRuntimeComponentMessageHandler("runtime","enable-device-orientation",()=>this._AttachDeviceOrientationEvent()),a.AddRuntimeComponentMessageHandler("runtime","enable-device-motion",()=>this._AttachDeviceMotionEvent()),a.AddRuntimeComponentMessageHandler("runtime","add-stylesheet",(a)=>this._OnAddStylesheet(a)),a.AddRuntimeComponentMessageHandler("runtime","alert",(a)=>this._OnAlert(a));const b=new Set(["input","textarea","datalist"]);window.addEventListener("contextmenu",(a)=>{const c=a.target,d=c.tagName.toLowerCase();b.has(d)||g(c)||a.preventDefault()});const c=a.GetCanvas();window.addEventListener("selectstart",h),window.addEventListener("gesturehold",h),c.addEventListener("selectstart",h),c.addEventListener("gesturehold",h),window.addEventListener("touchstart",h,{"passive":!1}),"undefined"==typeof PointerEvent?c.addEventListener("touchstart",h):(window.addEventListener("pointerdown",h,{"passive":!1}),c.addEventListener("pointerdown",h)),this._mousePointerLastButtons=0,window.addEventListener("mousedown",(a)=>{1===a.button&&a.preventDefault()}),window.addEventListener("mousewheel",i,{"passive":!1}),window.addEventListener("wheel",i,{"passive":!1}),window.addEventListener("resize",()=>this._OnWindowResize()),a.IsiOSWebView()&&window.addEventListener("focusout",()=>{k()||(document.scrollingElement.scrollTop=0)}),this._mediaPendingPlay=new Set,this._mediaRemovedPendingPlay=new WeakSet,this._isSilent=!1}_OnBeforeStartTicking(){return"cordova"===this._iRuntime.GetExportType()?(document.addEventListener("pause",()=>this._OnVisibilityChange(!0)),document.addEventListener("resume",()=>this._OnVisibilityChange(!1))):document.addEventListener("visibilitychange",()=>this._OnVisibilityChange(document.hidden)),{"isSuspended":!!(document.hidden||q)}}Attach(){window.addEventListener("focus",()=>this._PostRuntimeEvent("window-focus")),window.addEventListener("blur",()=>{this._PostRuntimeEvent("window-blur",{"parentHasFocus":j()}),this._mousePointerLastButtons=0}),window.addEventListener("fullscreenchange",()=>this._OnFullscreenChange()),window.addEventListener("webkitfullscreenchange",()=>this._OnFullscreenChange()),window.addEventListener("mozfullscreenchange",()=>this._OnFullscreenChange()),window.addEventListener("fullscreenerror",(a)=>this._OnFullscreenError(a)),window.addEventListener("webkitfullscreenerror",(a)=>this._OnFullscreenError(a)),window.addEventListener("mozfullscreenerror",(a)=>this._OnFullscreenError(a)),window.addEventListener("keydown",(a)=>this._OnKeyEvent("keydown",a)),window.addEventListener("keyup",(a)=>this._OnKeyEvent("keyup",a)),window.addEventListener("dblclick",(a)=>this._OnMouseEvent("dblclick",a,m)),window.addEventListener("wheel",(a)=>this._OnMouseWheelEvent("wheel",a)),"undefined"==typeof PointerEvent?(window.addEventListener("mousedown",(a)=>this._OnMouseEventAsPointer("pointerdown",a)),window.addEventListener("mousemove",(a)=>this._OnMouseEventAsPointer("pointermove",a)),window.addEventListener("mouseup",(a)=>this._OnMouseEventAsPointer("pointerup",a)),window.addEventListener("touchstart",(a)=>this._OnTouchEvent("pointerdown",a)),window.addEventListener("touchmove",(a)=>this._OnTouchEvent("pointermove",a)),window.addEventListener("touchend",(a)=>this._OnTouchEvent("pointerup",a)),window.addEventListener("touchcancel",(a)=>this._OnTouchEvent("pointercancel",a))):(window.addEventListener("pointerdown",(a)=>this._OnPointerEvent("pointerdown",a)),this._iRuntime.UsesWorker()&&"undefined"!=typeof window["onpointerrawupdate"]&&self===self.top?(this._pointerRawUpdateRateLimiter=new RateLimiter(()=>this._DoSendPointerRawUpdate(),5),this._pointerRawUpdateRateLimiter.SetCanRunImmediate(!0),window.addEventListener("pointerrawupdate",(a)=>this._OnPointerRawUpdate(a))):window.addEventListener("pointermove",(a)=>this._OnPointerEvent("pointermove",a)),window.addEventListener("pointerup",(a)=>this._OnPointerEvent("pointerup",a)),window.addEventListener("pointercancel",(a)=>this._OnPointerEvent("pointercancel",a)));const a=()=>this._PlayPendingMedia();window.addEventListener("pointerup",a,!0),window.addEventListener("touchend",a,!0),window.addEventListener("click",a,!0),window.addEventListener("keydown",a,!0),window.addEventListener("gamepadconnected",a,!0)}_PostRuntimeEvent(a,b){this.PostToRuntime(a,b||null,o)}_GetWindowInnerWidth(){return Math.max(window.innerWidth,1)}_GetWindowInnerHeight(){return Math.max(window.innerHeight,1)}_OnWindowResize(){const a=this._GetWindowInnerWidth(),b=this._GetWindowInnerHeight();this._PostRuntimeEvent("window-resize",{"innerWidth":a,"innerHeight":b,"devicePixelRatio":window.devicePixelRatio}),this._iRuntime.IsiOSWebView()&&(-1!==this._simulatedResizeTimerId&&clearTimeout(this._simulatedResizeTimerId),this._OnSimulatedResize(a,b,0))}_ScheduleSimulatedResize(a,b,c){-1!==this._simulatedResizeTimerId&&clearTimeout(this._simulatedResizeTimerId),this._simulatedResizeTimerId=setTimeout(()=>this._OnSimulatedResize(a,b,c),48)}_OnSimulatedResize(a,b,c){const d=this._GetWindowInnerWidth(),e=this._GetWindowInnerHeight();this._simulatedResizeTimerId=-1,d!=a||e!=b?this._PostRuntimeEvent("window-resize",{"innerWidth":d,"innerHeight":e,"devicePixelRatio":window.devicePixelRatio}):10>c&&this._ScheduleSimulatedResize(d,e,c+1)}_OnSetTargetOrientation(a){this._targetOrientation=a["targetOrientation"]}_TrySetTargetOrientation(){const a=this._targetOrientation;if(screen["orientation"]&&screen["orientation"]["lock"])screen["orientation"]["lock"](a).catch((a)=>console.warn("[Construct 3] Failed to lock orientation: ",a));else try{let b=!1;screen["lockOrientation"]?b=screen["lockOrientation"](a):screen["webkitLockOrientation"]?b=screen["webkitLockOrientation"](a):screen["mozLockOrientation"]?b=screen["mozLockOrientation"](a):screen["msLockOrientation"]&&(b=screen["msLockOrientation"](a)),b||console.warn("[Construct 3] Failed to lock orientation")}catch(a){console.warn("[Construct 3] Failed to lock orientation: ",a)}}_OnFullscreenChange(){const a=RuntimeInterface.IsDocumentFullscreen();a&&"any"!==this._targetOrientation&&this._TrySetTargetOrientation(),this.PostToRuntime("fullscreenchange",{"isFullscreen":a,"innerWidth":this._GetWindowInnerWidth(),"innerHeight":this._GetWindowInnerHeight()})}_OnFullscreenError(a){console.warn("[Construct 3] Fullscreen request failed: ",a),this.PostToRuntime("fullscreenerror",{"isFullscreen":RuntimeInterface.IsDocumentFullscreen(),"innerWidth":this._GetWindowInnerWidth(),"innerHeight":this._GetWindowInnerHeight()})}_OnVisibilityChange(a){a?this._iRuntime._CancelAnimationFrame():this._iRuntime._RequestAnimationFrame(),this.PostToRuntime("visibilitychange",{"hidden":a})}_OnKeyEvent(a,b){"Backspace"===b.key&&h(b);const c=l.get(b.code)||b.code;this._PostToRuntimeMaybeSync(a,{"code":c,"key":b.key,"which":b.which,"repeat":b.repeat,"altKey":b.altKey,"ctrlKey":b.ctrlKey,"metaKey":b.metaKey,"shiftKey":b.shiftKey,"timeStamp":b.timeStamp},m)}_OnMouseWheelEvent(a,b){this.PostToRuntime(a,{"clientX":b.clientX,"clientY":b.clientY,"deltaX":b.deltaX,"deltaY":b.deltaY,"deltaZ":b.deltaZ,"deltaMode":b.deltaMode,"timeStamp":b.timeStamp},m)}_OnMouseEvent(b,c,d){a(c)||("mousedown"===b&&window!==window.top&&window.focus(),this._PostToRuntimeMaybeSync(b,{"button":c.button,"buttons":c.buttons,"clientX":c.clientX,"clientY":c.clientY,"timeStamp":c.timeStamp},d))}_OnMouseEventAsPointer(b,c){if(a(c))return;"pointerdown"===b&&window!==window.top&&window.focus();const d=this._mousePointerLastButtons;"pointerdown"===b&&0!==d?b="pointermove":"pointerup"==b&&0!==c.buttons&&(b="pointermove"),this._PostToRuntimeMaybeSync(b,{"pointerId":1,"pointerType":"mouse","button":c.button,"buttons":c.buttons,"lastButtons":d,"clientX":c.clientX,"clientY":c.clientY,"width":0,"height":0,"pressure":0,"tangentialPressure":0,"tiltX":0,"tiltY":0,"twist":0,"timeStamp":c.timeStamp},m),this._mousePointerLastButtons=c.buttons,this._OnMouseEvent(c.type,c,n)}_OnPointerEvent(a,b){"pointerdown"===a&&window!==window.top&&window.focus(),this._pointerRawUpdateRateLimiter&&"pointermove"!==a&&this._pointerRawUpdateRateLimiter.Reset();let c=0;if("mouse"===b.pointerType&&(c=this._mousePointerLastButtons),this._PostToRuntimeMaybeSync(a,{"pointerId":b.pointerId,"pointerType":b.pointerType,"button":b.button,"buttons":b.buttons,"lastButtons":c,"clientX":b.clientX,"clientY":b.clientY,"width":b.width||0,"height":b.height||0,"pressure":b.pressure||0,"tangentialPressure":b["tangentialPressure"]||0,"tiltX":b.tiltX||0,"tiltY":b.tiltY||0,"twist":b["twist"]||0,"timeStamp":b.timeStamp},m),"mouse"===b.pointerType){let c="mousemove";"pointerdown"===a?c="mousedown":"pointerup"==a&&(c="pointerup"),this._OnMouseEvent(c,b,n),this._mousePointerLastButtons=b.buttons}}_OnPointerRawUpdate(a){this._lastPointerRawUpdateEvent=a,this._pointerRawUpdateRateLimiter.Call()}_DoSendPointerRawUpdate(){this._OnPointerEvent("pointermove",this._lastPointerRawUpdateEvent),this._lastPointerRawUpdateEvent=null}_OnTouchEvent(a,b){"pointerdown"===a&&window!==window.top&&window.focus();for(let c=0,d=b.changedTouches.length;cthis._OnDeviceOrientation(a)))}_AttachDeviceMotionEvent(){this._attachedDeviceMotionEvent||(this._attachedDeviceMotionEvent=!0,window.addEventListener("devicemotion",(a)=>this._OnDeviceMotion(a)))}_OnDeviceOrientation(a){this.PostToRuntime("deviceorientation",{"alpha":a["alpha"]||0,"beta":a["beta"]||0,"gamma":a["gamma"]||0,"timeStamp":a.timeStamp},m)}_OnDeviceMotion(a){let b=null;const c=a["acceleration"];c&&(b={"x":c["x"]||0,"y":c["y"]||0,"z":c["z"]||0});let d=null;const e=a["accelerationIncludingGravity"];e&&(d={"x":e["x"]||0,"y":e["y"]||0,"z":e["z"]||0});let f=null;const g=a["rotationRate"];g&&(f={"alpha":g["alpha"]||0,"beta":g["beta"]||0,"gamma":g["gamma"]||0}),this.PostToRuntime("devicemotion",{"acceleration":b,"accelerationIncludingGravity":d,"rotationRate":f,"interval":a["interval"],"timeStamp":a.timeStamp},m)}_OnUpdateCanvasSize(a){const b=this.GetRuntimeInterface(),c=b.GetCanvas();c.style.width=a["styleWidth"]+"px",c.style.height=a["styleHeight"]+"px",c.style.marginLeft=a["marginLeft"]+"px",c.style.marginTop=a["marginTop"]+"px",b.MaybeForceBodySize(),this._isFirstSizeUpdate&&(c.style.display="",this._isFirstSizeUpdate=!1)}_OnInvokeDownload(b){const c=b["url"],d=b["filename"],e=document.createElement("a"),a=document.body;e.textContent=d,e.href=c,e.download=d,a.appendChild(e),e.click(),a.removeChild(e)}async _OnRasterSvgImage(a){const b=a["blob"],c=a["imageWidth"],d=a["imageHeight"],e=a["surfaceWidth"],f=a["surfaceHeight"],g=a["imageBitmapOpts"],h=await self["C3_RasterSvgImageBlob"](b,c,d,e,f);let i;return i=g?await createImageBitmap(h,g):await createImageBitmap(h),{"imageBitmap":i,"transferables":[i]}}async _OnGetSvgImageSize(a){return await self["C3_GetSvgImageSize"](a["blob"])}async _OnAddStylesheet(a){await b(a["url"])}_PlayPendingMedia(){const a=[...this._mediaPendingPlay];if(this._mediaPendingPlay.clear(),!this._isSilent)for(const b of a){const a=b.play();a&&a.catch(()=>{this._mediaRemovedPendingPlay.has(b)||this._mediaPendingPlay.add(b)})}}TryPlayMedia(a){if("function"!=typeof a.play)throw new Error("missing play function");this._mediaRemovedPendingPlay.delete(a);let b;try{b=a.play()}catch(b){return void this._mediaPendingPlay.add(a)}b&&b.catch(()=>{this._mediaRemovedPendingPlay.has(a)||this._mediaPendingPlay.add(a)})}RemovePendingPlay(a){this._mediaPendingPlay.delete(a),this._mediaRemovedPendingPlay.add(a)}SetSilent(a){this._isSilent=!!a}_OnDebugHighlight(a){const b=a["show"];if(!b)return void(this._debugHighlightElem&&(this._debugHighlightElem.style.display="none"));this._debugHighlightElem||(this._debugHighlightElem=document.createElement("div"),this._debugHighlightElem.id="inspectOutline",document.body.appendChild(this._debugHighlightElem));const c=this._debugHighlightElem;c.style.display="",c.style.left=a["left"]-1+"px",c.style.top=a["top"]-1+"px",c.style.width=a["width"]+2+"px",c.style.height=a["height"]+2+"px",c.textContent=a["name"]}_OnRegisterSW(){window["C3_RegisterSW"]&&window["C3_RegisterSW"]()}_OnPostToDebugger(a){window["c3_postToMessagePort"]&&(a["from"]="runtime",window["c3_postToMessagePort"](a))}_InvokeFunctionFromJS(a,b){return this.PostToRuntimeAsync("js-invoke-function",{"name":a,"params":b})}_OnAlert(a){alert(a["message"]+" [via Web Worker]")}};RuntimeInterface.AddDOMHandlerClass(r)} + +"use strict";{const a=document.currentScript.src;self.JobSchedulerDOM=class{constructor(b){this._runtimeInterface=b,this._baseUrl=a?a.substr(0,a.lastIndexOf("/")+1):b.GetBaseURL(),this._maxNumWorkers=Math.min(navigator.hardwareConcurrency||2,16),this._dispatchWorker=null,this._jobWorkers=[],this._inputPort=null,this._outputPort=null}async Init(){if(this._hasInitialised)throw new Error("already initialised");this._hasInitialised=!0;const a=this._runtimeInterface._GetWorkerURL("dispatchworker.js");this._dispatchWorker=await this._runtimeInterface.CreateWorker(a,this._baseUrl,{name:"DispatchWorker"});const b=new MessageChannel;this._inputPort=b.port1,this._dispatchWorker.postMessage({"type":"_init","in-port":b.port2},[b.port2]),this._outputPort=await this._CreateJobWorker()}async _CreateJobWorker(){const a=this._jobWorkers.length,b=this._runtimeInterface._GetWorkerURL("jobworker.js"),c=await this._runtimeInterface.CreateWorker(b,this._baseUrl,{name:"JobWorker"+a}),d=new MessageChannel,e=new MessageChannel;return this._dispatchWorker.postMessage({"type":"_addJobWorker","port":d.port1},[d.port1]),c.postMessage({"type":"init","number":a,"dispatch-port":d.port2,"output-port":e.port2},[d.port2,e.port2]),this._jobWorkers.push(c),e.port1}GetPortData(){return{"inputPort":this._inputPort,"outputPort":this._outputPort,"maxNumWorkers":this._maxNumWorkers}}GetPortTransferables(){return[this._inputPort,this._outputPort]}}} + +"use strict";if(window["C3_IsSupported"]){const a=false,b="undefined"!=typeof OffscreenCanvas;window["c3_runtimeInterface"]=new RuntimeInterface({useWorker:a&&b,workerMainUrl:"workermain.js",engineScripts:["scripts/c3runtime.js"],scriptFolder:"scripts/",workerDependencyScripts:[],exportType:"html5"})}"use strict";{const a=class extends DOMHandler{constructor(a){super(a,"mouse"),this.AddRuntimeMessageHandler("cursor",(a)=>this._OnChangeCursorStyle(a))}_OnChangeCursorStyle(a){document.documentElement.style.cursor=a}};RuntimeInterface.AddDOMHandlerClass(a)}"use strict";{const a=class extends DOMHandler{constructor(a){super(a,"browser"),this._exportType="",this.AddRuntimeMessageHandler("get-initial-state",(a)=>this._OnGetInitialState(a)),this.AddRuntimeMessageHandler("ready-for-sw-messages",()=>this._OnReadyForSWMessages()),this.AddRuntimeMessageHandler("alert",(a)=>this._OnAlert(a)),this.AddRuntimeMessageHandler("close",()=>this._OnClose()),this.AddRuntimeMessageHandler("set-focus",(a)=>this._OnSetFocus(a)),this.AddRuntimeMessageHandler("vibrate",(a)=>this._OnVibrate(a)),this.AddRuntimeMessageHandler("lock-orientation",(a)=>this._OnLockOrientation(a)),this.AddRuntimeMessageHandler("unlock-orientation",()=>this._OnUnlockOrientation()),this.AddRuntimeMessageHandler("navigate",(a)=>this._OnNavigate(a)),this.AddRuntimeMessageHandler("request-fullscreen",(a)=>this._OnRequestFullscreen(a)),this.AddRuntimeMessageHandler("exit-fullscreen",()=>this._OnExitFullscreen()),window.addEventListener("online",()=>this._OnOnlineStateChanged(!0)),window.addEventListener("offline",()=>this._OnOnlineStateChanged(!1)),document.addEventListener("backbutton",()=>this._OnCordovaBackButton()),"undefined"!=typeof Windows&&Windows["UI"]["Core"]["SystemNavigationManager"]["getForCurrentView"]().addEventListener("backrequested",(a)=>this._OnWin10BackRequested(a))}_OnGetInitialState(a){return this._exportType=a["exportType"],{"location":location.toString(),"isOnline":!!navigator.onLine,"referrer":document.referrer,"title":document.title,"isCookieEnabled":!!navigator.cookieEnabled,"screenWidth":screen.width,"screenHeight":screen.height,"windowOuterWidth":window.outerWidth,"windowOuterHeight":window.outerHeight,"isScirraArcade":"undefined"!=typeof window["is_scirra_arcade"]}}_OnReadyForSWMessages(){window["C3_RegisterSW"]&&window["OfflineClientInfo"]&&window["OfflineClientInfo"]["SetMessageCallback"]((a)=>this.PostToRuntime("sw-message",a["data"]))}_OnOnlineStateChanged(a){this.PostToRuntime("online-state",{"isOnline":a})}_OnCordovaBackButton(){this.PostToRuntime("backbutton")}_OnWin10BackRequested(a){a["handled"]=!0,this.PostToRuntime("backbutton")}GetNWjsWindow(){return"nwjs"===this._exportType?nw["Window"]["get"]():null}_OnAlert(a){alert(a["message"])}_OnClose(){navigator["app"]&&navigator["app"]["exitApp"]?navigator["app"]["exitApp"]():navigator["device"]&&navigator["device"]["exitApp"]?navigator["device"]["exitApp"]():window.close()}_OnSetFocus(a){const b=a["isFocus"];if("nwjs"===this._exportType){const a=this.GetNWjsWindow();b?a["focus"]():a["blur"]()}else b?window.focus():window.blur()}_OnVibrate(a){navigator["vibrate"]&&navigator["vibrate"](a["pattern"])}_OnLockOrientation(a){const b=a["orientation"];if(screen["orientation"]&&screen["orientation"]["lock"])screen["orientation"]["lock"](b).catch((a)=>console.warn("[Construct 3] Failed to lock orientation: ",a));else try{let a=!1;screen["lockOrientation"]?a=screen["lockOrientation"](b):screen["webkitLockOrientation"]?a=screen["webkitLockOrientation"](b):screen["mozLockOrientation"]?a=screen["mozLockOrientation"](b):screen["msLockOrientation"]&&(a=screen["msLockOrientation"](b)),a||console.warn("[Construct 3] Failed to lock orientation")}catch(a){console.warn("[Construct 3] Failed to lock orientation: ",a)}}_OnUnlockOrientation(){try{screen["orientation"]&&screen["orientation"]["unlock"]?screen["orientation"]["unlock"]():screen["unlockOrientation"]?screen["unlockOrientation"]():screen["webkitUnlockOrientation"]?screen["webkitUnlockOrientation"]():screen["mozUnlockOrientation"]?screen["mozUnlockOrientation"]():screen["msUnlockOrientation"]&&screen["msUnlockOrientation"]()}catch(a){}}_OnNavigate(a){const b=a["type"];if("back"===b)navigator["app"]&&navigator["app"]["backHistory"]?navigator["app"]["backHistory"]():window.back();else if("forward"===b)window.forward();else if("home"===b)window.home();else if("reload"===b)location.reload();else if("url"===b){const b=a["url"],c=a["target"],d=a["exportType"];"windows-uwp"===d&&"undefined"!=typeof Windows?Windows["System"]["Launcher"]["launchUriAsync"](new Windows["Foundation"]["Uri"](b)):"cordova"===d?window.open(b,"_system"):"preview"===d?window.open(b,"_blank"):!this._isScirraArcade&&(2===c?window.top.location=b:1===c?window.parent.location=b:window.location=b)}else if("new-window"===b){const b=a["url"],c=a["tag"],d=a["exportType"];"windows-uwp"===d&&"undefined"!=typeof Windows?Windows["System"]["Launcher"]["launchUriAsync"](new Windows["Foundation"]["Uri"](b)):"cordova"===d?window.open(b,"_system"):window.open(b,c)}}_OnRequestFullscreen(a){const b={"navigationUI":"auto"},c=a["navUI"];1===c?b["navigationUI"]="hide":2===c&&(b["navigationUI"]="show");const d=document.documentElement;d["requestFullscreen"]?d["requestFullscreen"](b):d["mozRequestFullScreen"]?d["mozRequestFullScreen"](b):d["msRequestFullscreen"]?d["msRequestFullscreen"](b):d["webkitRequestFullScreen"]&&("undefined"==typeof Element["ALLOW_KEYBOARD_INPUT"]?d["webkitRequestFullScreen"]():d["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]))}_OnExitFullscreen(){document["exitFullscreen"]?document["exitFullscreen"]():document["mozCancelFullScreen"]?document["mozCancelFullScreen"]():document["msExitFullscreen"]?document["msExitFullscreen"]():document["webkitCancelFullScreen"]&&document["webkitCancelFullScreen"]()}};RuntimeInterface.AddDOMHandlerClass(a)}"use strict";{function a(c,a){return!(c.length!==a.length)&&(!(c!==a)||c.toLowerCase()===a.toLowerCase())}const b=class extends DOMHandler{constructor(a){super(a,"audio"),this._audioContext=null,this._destinationNode=null,this._hasUnblocked=!1,this._unblockFunc=()=>this._UnblockAudioContext(),this._audioBuffers=[],this._audioInstances=[],this._lastAudioInstance=null,this._lastPlayedTag="",this._lastTickCount=-1,this._pendingTags=new Map,this._masterVolume=1,this._isSilent=!1,this._timeScaleMode=0,this._timeScale=1,this._gameTime=0,this._panningModel="HRTF",this._distanceModel="inverse",this._refDistance=600,this._maxDistance=1e4,this._rolloffFactor=1,this._playMusicAsSound=!1,this._hasAnySoftwareDecodedMusic=!1,this._supportsWebMOpus=this._iRuntime.IsAudioFormatSupported("audio/webm; codecs=opus"),this._effects=new Map,this._analysers=new Set,this._isPendingPostFxState=!1,this._microphoneTag="",this._microphoneSource=null,self["C3Audio_OnMicrophoneStream"]=(a,b)=>this._OnMicrophoneStream(a,b),this._destMediaStreamNode=null,self["C3Audio_GetOutputStream"]=()=>this._OnGetOutputStream(),self["C3Audio_DOMInterface"]=this,this.AddRuntimeMessageHandlers([["create-audio-context",(a)=>this._CreateAudioContext(a)],["play",(a)=>this._Play(a)],["stop",(a)=>this._Stop(a)],["stop-all",()=>this._StopAll()],["set-paused",(a)=>this._SetPaused(a)],["set-volume",(a)=>this._SetVolume(a)],["fade-volume",(a)=>this._FadeVolume(a)],["set-master-volume",(a)=>this._SetMasterVolume(a)],["set-muted",(a)=>this._SetMuted(a)],["set-silent",(a)=>this._SetSilent(a)],["set-looping",(a)=>this._SetLooping(a)],["set-playback-rate",(a)=>this._SetPlaybackRate(a)],["seek",(a)=>this._Seek(a)],["preload",(a)=>this._Preload(a)],["unload",(a)=>this._Unload(a)],["unload-all",()=>this._UnloadAll()],["set-suspended",(a)=>this._SetSuspended(a)],["add-effect",(a)=>this._AddEffect(a)],["set-effect-param",(a)=>this._SetEffectParam(a)],["remove-effects",(a)=>this._RemoveEffects(a)],["tick",(a)=>this._OnTick(a)],["load-state",(a)=>this._OnLoadState(a)]])}async _CreateAudioContext(a){a["isiOSCordova"]&&(this._playMusicAsSound=!0),this._timeScaleMode=a["timeScaleMode"],this._panningModel=["equalpower","HRTF","soundfield"][a["panningModel"]],this._distanceModel=["linear","inverse","exponential"][a["distanceModel"]],this._refDistance=a["refDistance"],this._maxDistance=a["maxDistance"],this._rolloffFactor=a["rolloffFactor"];const b={"latencyHint":a["latencyHint"]};if("undefined"!=typeof AudioContext)this._audioContext=new AudioContext(b);else if("undefined"!=typeof webkitAudioContext)this._audioContext=new webkitAudioContext(b);else throw new Error("Web Audio API not supported");this._destinationNode=this._audioContext["createGain"](),this._destinationNode["connect"](this._audioContext["destination"]);const c=a["listenerPos"];this._audioContext["listener"]["setPosition"](c[0],c[1],c[2]),this._audioContext["listener"]["setOrientation"](0,0,1,0,-1,0),window.addEventListener("pointerup",this._unblockFunc,!0),window.addEventListener("touchend",this._unblockFunc,!0),window.addEventListener("click",this._unblockFunc,!0),window.addEventListener("keydown",this._unblockFunc,!0),self["C3_GetAudioContextCurrentTime"]=()=>this.GetAudioCurrentTime();try{await Promise.all(a["preloadList"].map((a)=>this._GetAudioBuffer(a["originalUrl"],a["url"],a["type"],!1)))}catch(a){console.error("[Construct 3] Preloading sounds failed: ",a)}return{"sampleRate":this._audioContext["sampleRate"]}}_UnblockAudioContext(){if(!this._hasUnblocked){const a=this._audioContext;"suspended"===a["state"]&&a["resume"]&&a["resume"]();const b=a["createBuffer"](1,220,22050),c=a["createBufferSource"]();c["buffer"]=b,c["connect"](a["destination"]),c["start"](0),"running"===a["state"]&&(this._hasUnblocked=!0,window.removeEventListener("pointerup",this._unblockFunc,!0),window.removeEventListener("touchend",this._unblockFunc,!0),window.removeEventListener("click",this._unblockFunc,!0),window.removeEventListener("keydown",this._unblockFunc,!0),this._unblockFunc=null)}}GetAudioContext(){return this._audioContext}GetAudioCurrentTime(){return this._audioContext["currentTime"]}GetDestinationNode(){return this._destinationNode}GetDestinationForTag(a){const b=this._effects.get(a.toLowerCase());return b?b[0].GetInputNode():this.GetDestinationNode()}AddEffectForTag(a,b){a=a.toLowerCase();let c=this._effects.get(a);c||(c=[],this._effects.set(a,c)),b._SetIndex(c.length),b._SetTag(a),c.push(b),this._ReconnectEffects(a)}_ReconnectEffects(a){let b=this.GetDestinationNode();const c=this._effects.get(a);if(c&&c.length){b=c[0].GetInputNode();for(let a=0,b=c.length;a{const b=this._audioContext["createBuffer"](1,a.length,48e3),c=b["getChannelData"](0);return c.set(a),b}):new Promise((b,c)=>{this._audioContext["decodeAudioData"](a,b,c)})}TryPlayMedia(a){this._iRuntime.TryPlayMedia(a)}RemovePendingPlay(a){this._iRuntime.RemovePendingPlay(a)}ReleaseInstancesForBuffer(b){let c=0;for(let d=0,a=this._audioInstances.length;dc=a);b={pendingCount:0,promise:d,resolve:c},this._pendingTags.set(a,b)}b.pendingCount++}_RemovePendingTag(a){const b=this._pendingTags.get(a);if(!b)throw new Error("expected pending tag");b.pendingCount--,0===b.pendingCount&&(b.resolve(),this._pendingTags.delete(a))}TagReady(a){a||(a=this._lastPlayedTag);const b=this._pendingTags.get(a);return b?b.promise:Promise.resolve()}_MaybeStartTicking(){if(0b.IsActive()).map((b)=>b.GetState());this.PostToRuntime("state",{"tickCount":this._lastTickCount,"audioInstances":b,"analysers":[...this._analysers].map((b)=>b.GetData())}),0===b.length&&0===this._analysers.size&&this._StopTicking()}PostTrigger(a,b,c){this.PostToRuntime("trigger",{"type":a,"tag":b,"aiid":c})}async _Play(a){const b=a["originalUrl"],c=a["url"],d=a["type"],e=a["isMusic"],f=a["tag"],g=a["isLooping"],h=a["vol"],i=a["pos"],j=a["panning"];let k=a["off"];if(0c||c>=h.length||(h[c].SetParam(d,e,f,g),this._PostUpdatedFxState())}_RemoveEffects(a){const b=a["tag"].toLowerCase(),c=this._effects.get(b);if(c&&c.length){for(const a of c)a.Release();this._effects.delete(b),this._ReconnectEffects(b)}}_AddAnalyser(a){this._analysers.add(a),this._MaybeStartTicking()}_RemoveAnalyser(a){this._analysers.delete(a)}_PostUpdatedFxState(){this._isPendingPostFxState||(this._isPendingPostFxState=!0,Promise.resolve().then(()=>this._DoPostUpdatedFxState()))}_DoPostUpdatedFxState(){const a={};for(const[b,c]of this._effects)a[b]=c.map((a)=>a.GetState());this.PostToRuntime("fxstate",{"fxstate":a}),this._isPendingPostFxState=!1}async _OnLoadState(a){const b=a["saveLoadMode"];if(3!==b)for(const a of this._audioInstances)a.IsMusic()&&1===b||!a.IsMusic()&&2===b||a.Stop();for(const b of this._effects.values())for(const a of b)a.Release();this._effects.clear(),this._timeScale=a["timeScale"],this._gameTime=a["gameTime"];const c=a["listenerPos"];this._audioContext["listener"]["setPosition"](c[0],c[1],c[2]),this._isSilent=a["isSilent"],this._iRuntime.SetSilent(this._isSilent),this._masterVolume=a["masterVolume"];const d=[];for(const b of Object.values(a["effects"]))d.push(Promise.all(b.map((a)=>this._AddEffect(a))));await Promise.all(d),await Promise.all(a["playing"].map((a)=>this._LoadAudioInstance(a,b))),this._MaybeStartTicking()}async _LoadAudioInstance(a,b){if(3===b)return;const c=a["bufferOriginalUrl"],d=a["bufferUrl"],e=a["bufferType"],f=a["isMusic"],g=a["tag"],h=a["isLooping"],i=a["volume"],j=a["playbackTime"];if(f&&1===b)return;if(!f&&2===b)return;let k=null;try{k=await this._GetAudioInstance(c,d,e,g,f)}catch(a){return void console.error("[Construct 3] Audio: error loading audio state: ",a)}k.LoadPanState(a["pan"]),k.Play(h,i,j,0),a["isPlaying"]||k.Pause(),k._LoadAdditionalState(a)}_OnMicrophoneStream(a,b){this._microphoneSource&&this._microphoneSource["disconnect"](),this._microphoneTag=b.toLowerCase(),this._microphoneSource=this._audioContext["createMediaStreamSource"](a),this._microphoneSource["connect"](this.GetDestinationForTag(this._microphoneTag))}_OnGetOutputStream(){return this._destMediaStreamNode||(this._destMediaStreamNode=this._audioContext["createMediaStreamDestination"](),this._destinationNode["connect"](this._destMediaStreamNode)),this._destMediaStreamNode["stream"]}};RuntimeInterface.AddDOMHandlerClass(b)}"use strict";self.C3AudioBuffer=class{constructor(a,b,c,d,e){this._audioDomHandler=a,this._originalUrl=b,this._url=c,this._type=d,this._isMusic=e,this._api="",this._loadState="not-loaded",this._loadPromise=null}Release(){this._loadState="not-loaded",this._audioDomHandler=null,this._loadPromise=null}static Create(a,b,c,d,e){const f="audio/webm; codecs=opus"===d&&!a.SupportsWebMOpus();return e&&f&&a._SetHasAnySoftwareDecodedMusic(),!e||a.IsPlayMusicAsSound()||f?new C3WebAudioBuffer(a,b,c,d,e,f):new C3Html5AudioBuffer(a,b,c,d,e)}CreateInstance(a){return"html5"===this._api?new C3Html5AudioInstance(this._audioDomHandler,this,a):new C3WebAudioInstance(this._audioDomHandler,this,a)}_Load(){}Load(){return this._loadPromise||(this._loadPromise=this._Load()),this._loadPromise}IsLoaded(){}IsLoadedAndDecoded(){}HasFailedToLoad(){return"failed"===this._loadState}GetAudioContext(){return this._audioDomHandler.GetAudioContext()}GetApi(){return this._api}GetOriginalUrl(){return this._originalUrl}GetUrl(){return this._url}GetContentType(){return this._type}IsMusic(){return this._isMusic}GetDuration(){}};"use strict";self.C3Html5AudioBuffer=class extends C3AudioBuffer{constructor(a,b,c,d,e){super(a,b,c,d,e),this._api="html5",this._audioElem=new Audio,this._audioElem.crossOrigin="anonymous",this._audioElem.autoplay=!1,this._audioElem.preload="auto",this._loadResolve=null,this._loadReject=null,this._reachedCanPlayThrough=!1,this._audioElem.addEventListener("canplaythrough",()=>this._reachedCanPlayThrough=!0),this._outNode=this.GetAudioContext()["createGain"](),this._mediaSourceNode=null,this._audioElem.addEventListener("canplay",()=>{this._loadResolve&&(this._loadState="loaded",this._loadResolve(),this._loadResolve=null,this._loadReject=null);this._mediaSourceNode||!this._audioElem||(this._mediaSourceNode=this.GetAudioContext()["createMediaElementSource"](this._audioElem),this._mediaSourceNode["connect"](this._outNode))}),this.onended=null,this._audioElem.addEventListener("ended",()=>{this.onended&&this.onended()}),this._audioElem.addEventListener("error",(a)=>this._OnError(a))}Release(){this._audioDomHandler.ReleaseInstancesForBuffer(this),this._outNode["disconnect"](),this._outNode=null,this._mediaSourceNode["disconnect"](),this._mediaSourceNode=null,this._audioElem&&!this._audioElem.paused&&this._audioElem.pause(),this.onended=null,this._audioElem=null,super.Release()}_Load(){return this._loadState="loading",new Promise((a,b)=>{this._loadResolve=a,this._loadReject=b,this._audioElem.src=this._url})}_OnError(a){console.error(`[Construct 3] Audio '${this._url}' error: `,a),this._loadReject&&(this._loadState="failed",this._loadReject(a),this._loadResolve=null,this._loadReject=null)}IsLoaded(){const a=4<=this._audioElem["readyState"];return a&&(this._reachedCanPlayThrough=!0),a||this._reachedCanPlayThrough}IsLoadedAndDecoded(){return this.IsLoaded()}GetAudioElement(){return this._audioElem}GetOutputNode(){return this._outNode}GetDuration(){return this._audioElem["duration"]}};"use strict";self.C3WebAudioBuffer=class extends C3AudioBuffer{constructor(a,b,c,d,e,f){super(a,b,c,d,e),this._api="webaudio",this._audioData=null,this._audioBuffer=null,this._needsSoftwareDecode=!!f}Release(){this._audioDomHandler.ReleaseInstancesForBuffer(this),this._audioData=null,this._audioBuffer=null,super.Release()}async _Fetch(){if(this._audioData)return this._audioData;const a=this._audioDomHandler.GetRuntimeInterface();if("cordova"===a.GetExportType()&&a.IsRelativeURL(this._url))this._audioData=await a.CordovaFetchLocalFileAsArrayBuffer(this._url);else{const a=await fetch(this._url);if(!a.ok)throw new Error(`error fetching audio data: ${a.status} ${a.statusText}`);this._audioData=await a.arrayBuffer()}}async _Decode(){return this._audioBuffer?this._audioBuffer:void(this._audioBuffer=await this._audioDomHandler.DecodeAudioData(this._audioData,this._needsSoftwareDecode),this._audioData=null)}async _Load(){try{this._loadState="loading",await this._Fetch(),await this._Decode(),this._loadState="loaded"}catch(a){this._loadState="failed",console.error(`[Construct 3] Failed to load audio '${this._url}': `,a)}}IsLoaded(){return!!(this._audioData||this._audioBuffer)}IsLoadedAndDecoded(){return!!this._audioBuffer}GetAudioBuffer(){return this._audioBuffer}GetDuration(){return this._audioBuffer?this._audioBuffer["duration"]:0}};"use strict";{function a(a){return a*b}const b=180/Math.PI;let c=0;self.C3AudioInstance=class{constructor(a,b,d){this._audioDomHandler=a,this._buffer=b,this._tag=d,this._aiId=c++,this._gainNode=this.GetAudioContext()["createGain"](),this._gainNode["connect"](this.GetDestinationNode()),this._pannerNode=null,this._isPannerEnabled=!1,this._isStopped=!0,this._isPaused=!1,this._resumeMe=!1,this._isLooping=!1,this._volume=1,this._isMuted=!1,this._playbackRate=1;const e=this._audioDomHandler.GetTimeScaleMode();this._isTimescaled=1===e&&!this.IsMusic()||2===e,this._instUid=-1,this._fadeEndTime=-1,this._stopOnFadeEnd=!1}Release(){this._audioDomHandler=null,this._buffer=null,this._pannerNode&&(this._pannerNode["disconnect"](),this._pannerNode=null),this._gainNode["disconnect"](),this._gainNode=null}GetAudioContext(){return this._audioDomHandler.GetAudioContext()}GetDestinationNode(){return this._audioDomHandler.GetDestinationForTag(this._tag)}GetMasterVolume(){return this._audioDomHandler.GetMasterVolume()}GetCurrentTime(){return this._isTimescaled?this._audioDomHandler.GetGameTime():performance.now()/1e3}GetOriginalUrl(){return this._buffer.GetOriginalUrl()}GetUrl(){return this._buffer.GetUrl()}GetContentType(){return this._buffer.GetContentType()}GetBuffer(){return this._buffer}IsMusic(){return this._buffer.IsMusic()}SetTag(a){this._tag=a}GetTag(){return this._tag}GetAiId(){return this._aiId}HasEnded(){}CanBeRecycled(){}IsPlaying(){return!this._isStopped&&!this._isPaused&&!this.HasEnded()}IsActive(){return!this._isStopped&&!this.HasEnded()}GetPlaybackTime(){}GetDuration(a){let b=this._buffer.GetDuration();return a&&(b/=this._playbackRate||.001),b}Play(){}Stop(){}Pause(){}IsPaused(){return this._isPaused}Resume(){}SetVolume(a){this._volume=a,this._gainNode["gain"]["cancelScheduledValues"](0),this._fadeEndTime=-1,this._gainNode["gain"]["value"]=this.GetOverallVolume()}FadeVolume(a,b,c){if(!this.IsMuted()){a*=this.GetMasterVolume();const d=this._gainNode["gain"];d["cancelScheduledValues"](0);const e=this._audioDomHandler.GetAudioCurrentTime(),f=e+b;d["setValueAtTime"](d["value"],e),d["linearRampToValueAtTime"](a,f),this._volume=a,this._fadeEndTime=f,this._stopOnFadeEnd=c}}_UpdateVolume(){this.SetVolume(this._volume)}Tick(a){-1!==this._fadeEndTime&&a>=this._fadeEndTime&&(this._fadeEndTime=-1,this._stopOnFadeEnd&&this.Stop(),this._audioDomHandler.PostTrigger("fade-ended",this._tag,this._aiId))}GetOverallVolume(){const a=this._volume*this.GetMasterVolume();return isFinite(a)?a:0}SetMuted(a){a=!!a;this._isMuted===a||(this._isMuted=a,this._UpdateMuted())}IsMuted(){return this._isMuted}IsSilent(){return this._audioDomHandler.IsSilent()}_UpdateMuted(){}SetLooping(){}IsLooping(){return this._isLooping}SetPlaybackRate(a){this._playbackRate===a||(this._playbackRate=a,this._UpdatePlaybackRate())}_UpdatePlaybackRate(){}GetPlaybackRate(){return this._playbackRate}Seek(){}SetSuspended(){}SetPannerEnabled(a){a=!!a;this._isPannerEnabled===a||(this._isPannerEnabled=a,this._isPannerEnabled?(!this._pannerNode&&(this._pannerNode=this.GetAudioContext()["createPanner"](),this._pannerNode["panningModel"]=this._audioDomHandler.GetPanningModel(),this._pannerNode["distanceModel"]=this._audioDomHandler.GetDistanceModel(),this._pannerNode["refDistance"]=this._audioDomHandler.GetReferenceDistance(),this._pannerNode["maxDistance"]=this._audioDomHandler.GetMaxDistance(),this._pannerNode["rolloffFactor"]=this._audioDomHandler.GetRolloffFactor()),this._gainNode["disconnect"](),this._gainNode["connect"](this._pannerNode),this._pannerNode["connect"](this.GetDestinationNode())):(this._pannerNode["disconnect"](),this._gainNode["disconnect"](),this._gainNode["connect"](this.GetDestinationNode())))}SetPan(b,c,d,e,f,g){this._isPannerEnabled&&(this.SetPanXYA(b,c,d),this._pannerNode["coneInnerAngle"]=a(e),this._pannerNode["coneOuterAngle"]=a(f),this._pannerNode["coneOuterGain"]=g)}SetPanXYA(a,b,c){this._isPannerEnabled&&(this._pannerNode["setPosition"](a,b,0),this._pannerNode["setOrientation"](Math.cos(c),Math.sin(c),0))}SetUID(a){this._instUid=a}GetUID(){return this._instUid}GetResumePosition(){}Reconnect(a){const b=this._pannerNode||this._gainNode;b["disconnect"](),b["connect"](a)}GetState(){return{"aiid":this.GetAiId(),"tag":this._tag,"duration":this.GetDuration(),"volume":this._volume,"isPlaying":this.IsPlaying(),"playbackTime":this.GetPlaybackTime(),"playbackRate":this.GetPlaybackRate(),"uid":this._instUid,"bufferOriginalUrl":this.GetOriginalUrl(),"bufferUrl":"","bufferType":this.GetContentType(),"isMusic":this.IsMusic(),"isLooping":this.IsLooping(),"isMuted":this.IsMuted(),"resumePosition":this.GetResumePosition(),"pan":this.GetPanState()}}_LoadAdditionalState(a){this.SetPlaybackRate(a["playbackRate"]),this.SetMuted(a["isMuted"])}GetPanState(){if(!this._pannerNode)return null;const a=this._pannerNode;return{"pos":[a["positionX"]["value"],a["positionY"]["value"],a["positionZ"]["value"]],"orient":[a["orientationX"]["value"],a["orientationY"]["value"],a["orientationZ"]["value"]],"cia":a["coneInnerAngle"],"coa":a["coneOuterAngle"],"cog":a["coneOuterGain"],"uid":this._instUid}}LoadPanState(a){if(!a)return void this.SetPannerEnabled(!1);this.SetPannerEnabled(!0);const b=this._pannerNode;b["setPosition"](...b["pos"]),b["setOrientation"](...b["orient"]),b["coneInnerAngle"]=b["cia"],b["coneOuterAngle"]=b["coa"],b["coneOuterGain"]=b["cog"],this._instUid=b["uid"]}}}"use strict";self.C3Html5AudioInstance=class extends C3AudioInstance{constructor(a,b,c){super(a,b,c),this._buffer.GetOutputNode()["connect"](this._gainNode),this._buffer.onended=()=>this._OnEnded()}Release(){this.Stop(),this._buffer.GetOutputNode()["disconnect"](),super.Release()}GetAudioElement(){return this._buffer.GetAudioElement()}_OnEnded(){this._isStopped=!0,this._instUid=-1,this._audioDomHandler.PostTrigger("ended",this._tag,this._aiId)}HasEnded(){return this.GetAudioElement()["ended"]}CanBeRecycled(){return!!this._isStopped||this.HasEnded()}GetPlaybackTime(a){let b=this.GetAudioElement()["currentTime"];return a&&(b*=this._playbackRate),this._isLooping||(b=Math.min(b,this.GetDuration())),b}Play(a,b,c){const d=this.GetAudioElement();if(1!==d.playbackRate&&(d.playbackRate=1),d.loop!==a&&(d.loop=a),this.SetVolume(b),d.muted&&(d.muted=!1),d.currentTime!==c)try{d.currentTime=c}catch(a){console.warn(`[Construct 3] Exception seeking audio '${this._buffer.GetUrl()}' to position '${c}': `,a)}this._audioDomHandler.TryPlayMedia(d),this._isStopped=!1,this._isPaused=!1,this._isLooping=a,this._playbackRate=1}Stop(){const a=this.GetAudioElement();a.paused||a.pause(),this._audioDomHandler.RemovePendingPlay(a),this._isStopped=!0,this._isPaused=!1,this._instUid=-1}Pause(){if(!(this._isPaused||this._isStopped||this.HasEnded())){const a=this.GetAudioElement();a.paused||a.pause(),this._audioDomHandler.RemovePendingPlay(a),this._isPaused=!0}}Resume(){!this._isPaused||this._isStopped||this.HasEnded()||(this._audioDomHandler.TryPlayMedia(this.GetAudioElement()),this._isPaused=!1)}_UpdateMuted(){this.GetAudioElement().muted=this._isMuted||this.IsSilent()}SetLooping(a){a=!!a;this._isLooping===a||(this._isLooping=a,this.GetAudioElement().loop=a)}_UpdatePlaybackRate(){let a=this._playbackRate;this._isTimescaled&&(a*=this._audioDomHandler.GetTimeScale());try{this.GetAudioElement()["playbackRate"]=a}catch(b){console.warn(`[Construct 3] Unable to set playback rate '${a}':`,b)}}Seek(a){if(!(this._isStopped||this.HasEnded()))try{this.GetAudioElement()["currentTime"]=a}catch(b){console.warn(`[Construct 3] Error seeking audio to '${a}': `,b)}}GetResumePosition(){return this.GetPlaybackTime()}SetSuspended(a){a?this.IsPlaying()?(this.GetAudioElement()["pause"](),this._resumeMe=!0):this._resumeMe=!1:this._resumeMe&&(this._audioDomHandler.TryPlayMedia(this.GetAudioElement()),this._resumeMe=!1)}};"use strict";self.C3WebAudioInstance=class extends C3AudioInstance{constructor(a,b,c){super(a,b,c),this._bufferSource=null,this._onended_handler=(a)=>this._OnEnded(a),this._hasPlaybackEnded=!0,this._activeSource=null,this._startTime=0,this._resumePosition=0,this._muteVol=1}Release(){this.Stop(),this._ReleaseBufferSource(),this._onended_handler=null,super.Release()}_ReleaseBufferSource(){this._bufferSource&&this._bufferSource["disconnect"](),this._bufferSource=null,this._activeSource=null}_OnEnded(a){this._isPaused||this._resumeMe||a.target!==this._activeSource||(this._hasPlaybackEnded=!0,this._isStopped=!0,this._instUid=-1,this._ReleaseBufferSource(),this._audioDomHandler.PostTrigger("ended",this._tag,this._aiId))}HasEnded(){return!(!this._isStopped&&this._bufferSource&&this._bufferSource["loop"])&&!this._isPaused&&this._hasPlaybackEnded}CanBeRecycled(){return!(this._bufferSource&&!this._isStopped)||this.HasEnded()}GetPlaybackTime(a){let b=0;return b=this._isPaused?this._resumePosition:this.GetCurrentTime()-this._startTime,a&&(b*=this._playbackRate),this._isLooping||(b=Math.min(b,this.GetDuration())),b}Play(a,b,c,d){this._muteVol=1,this.SetVolume(b),this._ReleaseBufferSource(),this._bufferSource=this.GetAudioContext()["createBufferSource"](),this._bufferSource["buffer"]=this._buffer.GetAudioBuffer(),this._bufferSource["connect"](this._gainNode),this._activeSource=this._bufferSource,this._bufferSource["onended"]=this._onended_handler,this._bufferSource["loop"]=a,this._bufferSource["start"](d,c),this._hasPlaybackEnded=!1,this._isStopped=!1,this._isPaused=!1,this._isLooping=a,this._playbackRate=1,this._startTime=this.GetCurrentTime()-c}Stop(){this._bufferSource&&this._bufferSource["stop"](0),this._isStopped=!0,this._isPaused=!1,this._instUid=-1}Pause(){this._isPaused||this._isStopped||this.HasEnded()||(this._resumePosition=this.GetPlaybackTime(!0),this._isLooping&&(this._resumePosition%=this.GetDuration()),this._isPaused=!0,this._bufferSource["stop"](0))}Resume(){!this._isPaused||this._isStopped||this.HasEnded()||(this._ReleaseBufferSource(),this._bufferSource=this.GetAudioContext()["createBufferSource"](),this._bufferSource["buffer"]=this._buffer.GetAudioBuffer(),this._bufferSource["connect"](this._gainNode),this._activeSource=this._bufferSource,this._bufferSource["onended"]=this._onended_handler,this._bufferSource["loop"]=this._isLooping,this._UpdateVolume(),this._UpdatePlaybackRate(),this._startTime=this.GetCurrentTime()-this._resumePosition/(this._playbackRate||.001),this._bufferSource["start"](0,this._resumePosition),this._isPaused=!1)}GetOverallVolume(){return super.GetOverallVolume()*this._muteVol}_UpdateMuted(){this._muteVol=this._isMuted||this.IsSilent()?0:1,this._UpdateVolume()}SetLooping(a){a=!!a;this._isLooping===a||(this._isLooping=a,this._bufferSource&&(this._bufferSource["loop"]=a))}_UpdatePlaybackRate(){let a=this._playbackRate;this._isTimescaled&&(a*=this._audioDomHandler.GetTimeScale()),this._bufferSource&&(this._bufferSource["playbackRate"]["value"]=a)}Seek(a){this._isStopped||this.HasEnded()||(this._isPaused?this._resumePosition=a:(this.Pause(),this._resumePosition=a,this.Resume()))}GetResumePosition(){return this._resumePosition}SetSuspended(a){a?this.IsPlaying()?(this._resumeMe=!0,this._resumePosition=this.GetPlaybackTime(!0),this._isLooping&&(this._resumePosition%=this.GetDuration()),this._bufferSource["stop"](0)):this._resumeMe=!1:this._resumeMe&&(this._ReleaseBufferSource(),this._bufferSource=this.GetAudioContext()["createBufferSource"](),this._bufferSource["buffer"]=this._buffer.GetAudioBuffer(),this._bufferSource["connect"](this._gainNode),this._activeSource=this._bufferSource,this._bufferSource["onended"]=this._onended_handler,this._bufferSource["loop"]=this._isLooping,this._UpdateVolume(),this._UpdatePlaybackRate(),this._startTime=this.GetCurrentTime()-this._resumePosition/(this._playbackRate||.001),this._bufferSource["start"](0,this._resumePosition),this._resumeMe=!1)}_LoadAdditionalState(a){super._LoadAdditionalState(a),this._resumePosition=a["resumePosition"]}};"use strict";{function a(a){return Math.pow(10,a/20)}function b(b){return Math.max(Math.min(a(b),1),0)}function c(a){return 20*(Math.log(a)/2.302585092994046)}function d(a){return c(Math.max(Math.min(a,1),0))}function e(a,b){return 1-Math.exp(-b*a)}class f{constructor(a){this._audioDomHandler=a,this._audioContext=a.GetAudioContext(),this._index=-1,this._tag="",this._type="",this._params=null}Release(){this._audioContext=null}_SetIndex(a){this._index=a}GetIndex(){return this._index}_SetTag(a){this._tag=a}GetTag(){return this._tag}CreateGain(){return this._audioContext["createGain"]()}GetInputNode(){}ConnectTo(){}SetAudioParam(a,b,c,d){if(a["cancelScheduledValues"](0),0===d)return void(a["value"]=b);const e=this._audioContext["currentTime"];d+=e,0===c?a["setValueAtTime"](b,d):1===c?(a["setValueAtTime"](a["value"],e),a["linearRampToValueAtTime"](b,d)):2===c?(a["setValueAtTime"](a["value"],e),a["exponentialRampToValueAtTime"](b,d)):void 0}GetState(){return{"type":this._type,"tag":this._tag,"params":this._params}}}self.C3AudioFilterFX=class extends f{constructor(a,b,c,d,e,f,g){super(a),this._type="filter",this._params=[b,c,d,e,f,g],this._inputNode=this.CreateGain(),this._wetNode=this.CreateGain(),this._wetNode["gain"]["value"]=g,this._dryNode=this.CreateGain(),this._dryNode["gain"]["value"]=1-g,this._filterNode=this._audioContext["createBiquadFilter"](),this._filterNode["type"]=b,this._filterNode["frequency"]["value"]=c,this._filterNode["detune"]["value"]=d,this._filterNode["Q"]["value"]=e,this._filterNode["gain"]["vlaue"]=f,this._inputNode["connect"](this._filterNode),this._inputNode["connect"](this._dryNode),this._filterNode["connect"](this._wetNode)}Release(){this._inputNode["disconnect"](),this._filterNode["disconnect"](),this._wetNode["disconnect"](),this._dryNode["disconnect"](),super.Release()}ConnectTo(a){this._wetNode["disconnect"](),this._wetNode["connect"](a),this._dryNode["disconnect"](),this._dryNode["connect"](a)}GetInputNode(){return this._inputNode}SetParam(a,b,c,d){0===a?(b=Math.max(Math.min(b/100,1),0),this._params[5]=b,this.SetAudioParam(this._wetNode["gain"],b,c,d),this.SetAudioParam(this._dryNode["gain"],1-b,c,d)):1===a?(this._params[1]=b,this.SetAudioParam(this._filterNode["frequency"],b,c,d)):2===a?(this._params[2]=b,this.SetAudioParam(this._filterNode["detune"],b,c,d)):3===a?(this._params[3]=b,this.SetAudioParam(this._filterNode["Q"],b,c,d)):4===a?(this._params[4]=b,this.SetAudioParam(this._filterNode["gain"],b,c,d)):void 0}},self.C3AudioDelayFX=class extends f{constructor(a,b,c,d){super(a),this._type="delay",this._params=[b,c,d],this._inputNode=this.CreateGain(),this._wetNode=this.CreateGain(),this._wetNode["gain"]["value"]=d,this._dryNode=this.CreateGain(),this._dryNode["gain"]["value"]=1-d,this._mainNode=this.CreateGain(),this._delayNode=this._audioContext["createDelay"](b),this._delayNode["delayTime"]["value"]=b,this._delayGainNode=this.CreateGain(),this._delayGainNode["gain"]["value"]=c,this._inputNode["connect"](this._mainNode),this._inputNode["connect"](this._dryNode),this._mainNode["connect"](this._wetNode),this._mainNode["connect"](this._delayNode),this._delayNode["connect"](this._delayGainNode),this._delayGainNode["connect"](this._mainNode)}Release(){this._inputNode["disconnect"](),this._wetNode["disconnect"](),this._dryNode["disconnect"](),this._mainNode["disconnect"](),this._delayNode["disconnect"](),this._delayGainNode["disconnect"](),super.Release()}ConnectTo(a){this._wetNode["disconnect"](),this._wetNode["connect"](a),this._dryNode["disconnect"](),this._dryNode["connect"](a)}GetInputNode(){return this._inputNode}SetParam(a,c,d,e){0===a?(c=Math.max(Math.min(c/100,1),0),this._params[2]=c,this.SetAudioParam(this._wetNode["gain"],c,d,e),this.SetAudioParam(this._dryNode["gain"],1-c,d,e)):4===a?(this._params[1]=b(c),this.SetAudioParam(this._delayGainNode["gain"],b(c),d,e)):5===a?(this._params[0]=c,this.SetAudioParam(this._delayNode["delayTime"],c,d,e)):void 0}},self.C3AudioConvolveFX=class extends f{constructor(a,b,c,d){super(a),this._type="convolution",this._params=[c,d],this._bufferOriginalUrl="",this._bufferUrl="",this._bufferType="",this._inputNode=this.CreateGain(),this._wetNode=this.CreateGain(),this._wetNode["gain"]["value"]=d,this._dryNode=this.CreateGain(),this._dryNode["gain"]["value"]=1-d,this._convolveNode=this._audioContext["createConvolver"](),this._convolveNode["normalize"]=c,this._convolveNode["buffer"]=b,this._inputNode["connect"](this._convolveNode),this._inputNode["connect"](this._dryNode),this._convolveNode["connect"](this._wetNode)}Release(){this._inputNode["disconnect"](),this._convolveNode["disconnect"](),this._wetNode["disconnect"](),this._dryNode["disconnect"](),super.Release()}ConnectTo(a){this._wetNode["disconnect"](),this._wetNode["connect"](a),this._dryNode["disconnect"](),this._dryNode["connect"](a)}GetInputNode(){return this._inputNode}SetParam(a,b,c,d){0===a?(b=Math.max(Math.min(b/100,1),0),this._params[1]=b,this.SetAudioParam(this._wetNode["gain"],b,c,d),this.SetAudioParam(this._dryNode["gain"],1-b,c,d)):void 0}_SetBufferInfo(a,b,c){this._bufferOriginalUrl=a,this._bufferUrl=b,this._bufferType=c}GetState(){const a=super.GetState();return a["bufferOriginalUrl"]=this._bufferOriginalUrl,a["bufferUrl"]="",a["bufferType"]=this._bufferType,a}},self.C3AudioFlangerFX=class extends f{constructor(a,b,c,d,e,f){super(a),this._type="flanger",this._params=[b,c,d,e,f],this._inputNode=this.CreateGain(),this._dryNode=this.CreateGain(),this._dryNode["gain"]["value"]=1-f/2,this._wetNode=this.CreateGain(),this._wetNode["gain"]["value"]=f/2,this._feedbackNode=this.CreateGain(),this._feedbackNode["gain"]["value"]=e,this._delayNode=this._audioContext["createDelay"](b+c),this._delayNode["delayTime"]["value"]=b,this._oscNode=this._audioContext["createOscillator"](),this._oscNode["frequency"]["value"]=d,this._oscGainNode=this.CreateGain(),this._oscGainNode["gain"]["value"]=c,this._inputNode["connect"](this._delayNode),this._inputNode["connect"](this._dryNode),this._delayNode["connect"](this._wetNode),this._delayNode["connect"](this._feedbackNode),this._feedbackNode["connect"](this._delayNode),this._oscNode["connect"](this._oscGainNode),this._oscGainNode["connect"](this._delayNode["delayTime"]),this._oscNode["start"](0)}Release(){this._oscNode["stop"](0),this._inputNode["disconnect"](),this._delayNode["disconnect"](),this._oscNode["disconnect"](),this._oscGainNode["disconnect"](),this._dryNode["disconnect"](),this._wetNode["disconnect"](),this._feedbackNode["disconnect"](),super.Release()}ConnectTo(a){this._wetNode["disconnect"](),this._wetNode["connect"](a),this._dryNode["disconnect"](),this._dryNode["connect"](a)}GetInputNode(){return this._inputNode}SetParam(a,b,c,d){0===a?(b=Math.max(Math.min(b/100,1),0),this._params[4]=b,this.SetAudioParam(this._wetNode["gain"],b/2,c,d),this.SetAudioParam(this._dryNode["gain"],1-b/2,c,d)):6===a?(this._params[1]=b/1e3,this.SetAudioParam(this._oscGainNode["gain"],b/1e3,c,d)):7===a?(this._params[2]=b,this.SetAudioParam(this._oscNode["frequency"],b,c,d)):8===a?(this._params[3]=b/100,this.SetAudioParam(this._feedbackNode["gain"],b/100,c,d)):void 0}},self.C3AudioPhaserFX=class extends f{constructor(a,b,c,d,e,f,g){super(a),this._type="phaser",this._params=[b,c,d,e,f,g],this._inputNode=this.CreateGain(),this._dryNode=this.CreateGain(),this._dryNode["gain"]["value"]=1-g/2,this._wetNode=this.CreateGain(),this._wetNode["gain"]["value"]=g/2,this._filterNode=this._audioContext["createBiquadFilter"](),this._filterNode["type"]="allpass",this._filterNode["frequency"]["value"]=b,this._filterNode["detune"]["value"]=c,this._filterNode["Q"]["value"]=d,this._oscNode=this._audioContext["createOscillator"](),this._oscNode["frequency"]["value"]=f,this._oscGainNode=this.CreateGain(),this._oscGainNode["gain"]["value"]=e,this._inputNode["connect"](this._filterNode),this._inputNode["connect"](this._dryNode),this._filterNode["connect"](this._wetNode),this._oscNode["connect"](this._oscGainNode),this._oscGainNode["connect"](this._filterNode["frequency"]),this._oscNode["start"](0)}Release(){this._oscNode["stop"](0),this._inputNode["disconnect"](),this._filterNode["disconnect"](),this._oscNode["disconnect"](),this._oscGainNode["disconnect"](),this._dryNode["disconnect"](),this._wetNode["disconnect"](),super.Release()}ConnectTo(a){this._wetNode["disconnect"](),this._wetNode["connect"](a),this._dryNode["disconnect"](),this._dryNode["connect"](a)}GetInputNode(){return this._inputNode}SetParam(a,b,c,d){0===a?(b=Math.max(Math.min(b/100,1),0),this._params[5]=b,this.SetAudioParam(this._wetNode["gain"],b/2,c,d),this.SetAudioParam(this._dryNode["gain"],1-b/2,c,d)):1===a?(this._params[0]=b,this.SetAudioParam(this._filterNode["frequency"],b,c,d)):2===a?(this._params[1]=b,this.SetAudioParam(this._filterNode["detune"],b,c,d)):3===a?(this._params[2]=b,this.SetAudioParam(this._filterNode["Q"],b,c,d)):6===a?(this._params[3]=b,this.SetAudioParam(this._oscGainNode["gain"],b,c,d)):7===a?(this._params[4]=b,this.SetAudioParam(this._oscNode["frequency"],b,c,d)):void 0}},self.C3AudioGainFX=class extends f{constructor(a,b){super(a),this._type="gain",this._params=[b],this._node=this.CreateGain(),this._node["gain"]["value"]=b}Release(){this._node["disconnect"](),super.Release()}ConnectTo(a){this._node["disconnect"](),this._node["connect"](a)}GetInputNode(){return this._node}SetParam(a,c,d,e){4===a?(this._params[0]=b(c),this.SetAudioParam(this._node["gain"],b(c),d,e)):void 0}},self.C3AudioTremoloFX=class extends f{constructor(a,b,c){super(a),this._type="tremolo",this._params=[b,c],this._node=this.CreateGain(),this._node["gain"]["value"]=1-c/2,this._oscNode=this._audioContext["createOscillator"](),this._oscNode["frequency"]["value"]=b,this._oscGainNode=this.CreateGain(),this._oscGainNode["gain"]["value"]=c/2,this._oscNode["connect"](this._oscGainNode),this._oscGainNode["connect"](this._node["gain"]),this._oscNode["start"](0)}Release(){this._oscNode["stop"](0),this._oscNode["disconnect"](),this._oscGainNode["disconnect"](),this._node["disconnect"](),super.Release()}ConnectTo(a){this._node["disconnect"](),this._node["connect"](a)}GetInputNode(){return this._node}SetParam(a,b,c,d){0===a?(b=Math.max(Math.min(b/100,1),0),this._params[1]=b,this.SetAudioParam(this._node["gain"]["value"],1-b/2,c,d),this.SetAudioParam(this._oscGainNode["gain"]["value"],b/2,c,d)):7===a?(this._params[0]=b,this.SetAudioParam(this._oscNode["frequency"],b,c,d)):void 0}},self.C3AudioRingModFX=class extends f{constructor(a,b,c){super(a),this._type="ringmod",this._params=[b,c],this._inputNode=this.CreateGain(),this._wetNode=this.CreateGain(),this._wetNode["gain"]["value"]=c,this._dryNode=this.CreateGain(),this._dryNode["gain"]["value"]=1-c,this._ringNode=this.CreateGain(),this._ringNode["gain"]["value"]=0,this._oscNode=this._audioContext["createOscillator"](),this._oscNode["frequency"]["value"]=b,this._oscNode["connect"](this._ringNode["gain"]),this._oscNode["start"](0),this._inputNode["connect"](this._ringNode),this._inputNode["connect"](this._dryNode),this._ringNode["connect"](this._wetNode)}Release(){this._oscNode["stop"](0),this._oscNode["disconnect"](),this._ringNode["disconnect"](),this._inputNode["disconnect"](),this._wetNode["disconnect"](),this._dryNode["disconnect"](),super.Release()}ConnectTo(a){this._wetNode["disconnect"](),this._wetNode["connect"](a),this._dryNode["disconnect"](),this._dryNode["connect"](a)}GetInputNode(){return this._inputNode}SetParam(a,b,c,d){0===a?(b=Math.max(Math.min(b/100,1),0),this._params[1]=b,this.SetAudioParam(this._wetNode["gain"],b,c,d),this.SetAudioParam(this._dryNode["gain"],1-b,c,d)):7===a?(this._params[0]=b,this.SetAudioParam(this._oscNode["frequency"],b,c,d)):void 0}},self.C3AudioDistortionFX=class extends f{constructor(a,b,c,d,e,f){super(a),this._type="distortion",this._params=[b,c,d,e,f],this._inputNode=this.CreateGain(),this._preGain=this.CreateGain(),this._postGain=this.CreateGain(),this._SetDrive(d,e),this._wetNode=this.CreateGain(),this._wetNode["gain"]["value"]=f,this._dryNode=this.CreateGain(),this._dryNode["gain"]["value"]=1-f,this._waveShaper=this._audioContext["createWaveShaper"](),this._curve=new Float32Array(65536),this._GenerateColortouchCurve(b,c),this._waveShaper.curve=this._curve,this._inputNode["connect"](this._preGain),this._inputNode["connect"](this._dryNode),this._preGain["connect"](this._waveShaper),this._waveShaper["connect"](this._postGain),this._postGain["connect"](this._wetNode)}Release(){this._inputNode["disconnect"](),this._preGain["disconnect"](),this._waveShaper["disconnect"](),this._postGain["disconnect"](),this._wetNode["disconnect"](),this._dryNode["disconnect"](),super.Release()}_SetDrive(a,b){.01>a&&(a=.01),this._preGain["gain"]["value"]=a,this._postGain["gain"]["value"]=Math.pow(1/a,.6)*b}_GenerateColortouchCurve(a,b){for(let c,d=0;d<32768;++d)c=d/32768,c=this._Shape(c,a,b),this._curve[32768+d]=c,this._curve[32768-d-1]=-c}_Shape(a,b,c){const d=1.05*c*b-b,f=0>a?-1:1,g=0>a?-a:a;let h=gc&&(c=-c),this._peakthis._OnScrollToBottom(a))}CreateElement(c,d){let e;const f=d["type"];return"textarea"===f?(e=document.createElement("textarea"),e.style.resize="none"):(e=document.createElement("input"),e.type=f),e.style.position="absolute",e.autocomplete="off",e.addEventListener("touchstart",a),e.addEventListener("touchmove",a),e.addEventListener("touchend",a),e.addEventListener("mousedown",a),e.addEventListener("mouseup",a),e.addEventListener("keydown",b),e.addEventListener("keyup",b),e.addEventListener("click",(a)=>{a.stopPropagation(),this._PostToRuntimeElementMaybeSync("click",c)}),e.addEventListener("dblclick",(a)=>{a.stopPropagation(),this._PostToRuntimeElementMaybeSync("dblclick",c)}),e.addEventListener("input",()=>this.PostToRuntimeElement("change",c,{"text":e.value})),e.id=d["id"],this.UpdateState(e,d),e}UpdateState(a,b){a.value=b["text"],a.placeholder=b["placeholder"],a.title=b["title"],a.disabled=!b["isEnabled"],a.readOnly=b["isReadOnly"],a.spellcheck=b["spellCheck"]}_OnScrollToBottom(a){a.scrollTop=a.scrollHeight}};RuntimeInterface.AddDOMHandlerClass(c)} \ No newline at end of file diff --git a/games/ovo/2.0.2alpha/scripts/offlineclient.js b/games/ovo/2.0.2alpha/scripts/offlineclient.js new file mode 100644 index 00000000..d8c3274b --- /dev/null +++ b/games/ovo/2.0.2alpha/scripts/offlineclient.js @@ -0,0 +1 @@ +"use strict";{window.OfflineClientInfo=new class{constructor(){if(this._broadcastChannel="undefined"==typeof BroadcastChannel?null:new BroadcastChannel("offline"),this._queuedMessages=[],this._onMessageCallback=null,this._broadcastChannel){var a=this;this._broadcastChannel.onmessage=function(b){a._OnBroadcastChannelMessage(b)}}}_OnBroadcastChannelMessage(a){return this._onMessageCallback?void this._onMessageCallback(a):void this._queuedMessages.push(a)}SetMessageCallback(a){this._onMessageCallback=a;for(let b of this._queuedMessages)this._onMessageCallback(b);this._queuedMessages.length=0}}} \ No newline at end of file diff --git a/games/ovo/2.0.2alpha/scripts/register-sw.js b/games/ovo/2.0.2alpha/scripts/register-sw.js new file mode 100644 index 00000000..aeb70f5b --- /dev/null +++ b/games/ovo/2.0.2alpha/scripts/register-sw.js @@ -0,0 +1 @@ +"use strict";window.C3_RegisterSW=async function(){if(navigator.serviceWorker)try{const a=await navigator.serviceWorker.register("sw.js",{scope:"./"});console.info("Registered service worker on "+a.scope)}catch(a){console.warn("Failed to register service worker: ",a)}}; \ No newline at end of file diff --git a/games/ovo/2.0.2alpha/scripts/supportcheck.js b/games/ovo/2.0.2alpha/scripts/supportcheck.js new file mode 100644 index 00000000..a17ff0a7 --- /dev/null +++ b/games/ovo/2.0.2alpha/scripts/supportcheck.js @@ -0,0 +1 @@ +"use strict";(function(){var a=!!document.querySelector("script[src*=\"kaspersky\"]"),b=document.createElement("canvas"),c=!!(b.getContext("webgl")||b.getContext("experimental-webgl")),d=[];if(c||d.push("WebGL"),"undefined"==typeof WebAssembly&&d.push("WebAssembly"),0===d.length&&!a)window["C3_IsSupported"]=!0;else{var e=document.createElement("div");e.id="notSupportedWrap",document.body.appendChild(e);var f=document.createElement("h2");f.id="notSupportedTitle",f.textContent=a?"Kaspersky Internet Security broke this export":"Software update needed",e.appendChild(f);var g=document.createElement("p");g.className="notSupportedMessage";var h="This content is not supported because your device's software is out-of-date. ",i=navigator.userAgent;/android/i.test(i)?h+="

On Android, fix this by making sure the
Android System Webview app has updates enabled and is up-to-date.":/iphone|ipad|ipod/i.test(i)?h+="

Note: the iOS simulator is not currently supported due to an Apple bug. If you are using the simulator, try testing on a real device instead.":(/msie/i.test(i)||/trident/i.test(i))&&!/edge\//i.test(i)?h+="

Note: Internet Explorer is not supported. Try using Chrome or Firefox instead.":a?h="It appears a script was added to this export by Kaspersky software. This prevents the exported project from working. Try disabling Kaspersky and exporting again.":h+="Try installing any available software updates. Alternatively try on a different device.",h+="

Missing features: "+d.join(", ")+"
User agent: "+navigator.userAgent+"
",g.innerHTML=h,e.appendChild(g)}})(); \ No newline at end of file diff --git a/games/ovo/2.0.2alpha/style.css b/games/ovo/2.0.2alpha/style.css new file mode 100644 index 00000000..1e9e0074 --- /dev/null +++ b/games/ovo/2.0.2alpha/style.css @@ -0,0 +1,39 @@ +html, body { + padding: 0; + margin: 0; + overflow: hidden; + + background: #000000; + color: white; +} + +html, body, canvas { + touch-action: none; + touch-action-delay: none; +} + +#notSupportedWrap { + margin: 2em auto 1em auto; + width: 75%; + max-width: 45em; + border: 2px solid #aaa; + border-radius: 1em; + padding: 2em; + background-color: #f0f0f0; + font-family: "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif; + color: black; +} + +#notSupportedTitle { + font-size: 1.8em; +} + +.notSupportedMessage { + font-size: 1.2em; +} + +.notSupportedMessage em { + color: #888; +} + + diff --git a/games/ovo/2.0.2alpha/sw.js b/games/ovo/2.0.2alpha/sw.js new file mode 100644 index 00000000..43669971 --- /dev/null +++ b/games/ovo/2.0.2alpha/sw.js @@ -0,0 +1 @@ +"use strict";const OFFLINE_DATA_FILE="offline.json",CACHE_NAME_PREFIX="c3offline",BROADCASTCHANNEL_NAME="offline",CONSOLE_PREFIX="[SW] ",LAZYLOAD_KEYNAME="",broadcastChannel="undefined"==typeof BroadcastChannel?null:new BroadcastChannel("offline");function PostBroadcastMessage(a){broadcastChannel&&setTimeout(()=>broadcastChannel.postMessage(a),3e3)}function Broadcast(a){PostBroadcastMessage({"type":a})}function BroadcastDownloadingUpdate(a){PostBroadcastMessage({"type":"downloading-update","version":a})}function BroadcastUpdateReady(a){PostBroadcastMessage({"type":"update-ready","version":a})}function IsUrlInLazyLoadList(a,b){if(!b)return!1;try{for(const c of b)if(new RegExp(c).test(a))return!0}catch(a){console.error("[SW] Error matching in lazy-load list: ",a)}return!1}function WriteLazyLoadListToStorage(a){return"undefined"==typeof localforage?Promise.resolve():localforage.setItem(LAZYLOAD_KEYNAME,a)}function ReadLazyLoadListFromStorage(){return"undefined"==typeof localforage?Promise.resolve([]):localforage.getItem(LAZYLOAD_KEYNAME)}function GetCacheBaseName(){return"c3offline-"+self.registration.scope}function GetCacheVersionName(a){return GetCacheBaseName()+"-v"+a}async function GetAvailableCacheNames(){const a=await caches.keys(),b=GetCacheBaseName();return a.filter((a)=>a.startsWith(b))}async function IsUpdatePending(){const a=await GetAvailableCacheNames();return 2<=a.length}async function GetMainPageUrl(){const a=await clients.matchAll({includeUncontrolled:!0,type:"window"});for(const b of a){let a=b.url;if(a.startsWith(self.registration.scope)&&(a=a.substring(self.registration.scope.length)),a&&"/"!==a)return a.startsWith("?")&&(a="/"+a),a}return""}function fetchWithBypass(a,b){return"string"==typeof a&&(a=new Request(a)),b?fetch(a.url,{headers:a.headers,mode:a.mode,credentials:a.credentials,redirect:a.redirect,cache:"no-store"}):fetch(a)}async function CreateCacheFromFileList(a,b,c){const d=await Promise.all(b.map((a)=>fetchWithBypass(a,c)));let e=!0;for(const f of d)f.ok||(e=!1,console.error("[SW] Error fetching '"+f.url+"' ("+f.status+" "+f.statusText+")"));if(!e)throw new Error("not all resources were fetched successfully");const f=await caches.open(a);try{return await Promise.all(d.map((a,c)=>f.put(b[c],a)))}catch(b){throw console.error("[SW] Error writing cache entries: ",b),caches.delete(a),b}}async function UpdateCheck(a){try{const b=await fetchWithBypass(OFFLINE_DATA_FILE,!0);if(!b.ok)throw new Error("offline.json responded with "+b.status+" "+b.statusText);const c=await b.json(),d=c.version,e=c.fileList,f=c.lazyLoad,g=GetCacheVersionName(d),h=await caches.has(g);if(h){const a=await IsUpdatePending();return void(a?(console.log("[SW] Update pending"),Broadcast("update-pending")):(console.log("[SW] Up to date"),Broadcast("up-to-date")))}const i=await GetMainPageUrl();e.unshift("./"),i&&-1===e.indexOf(i)&&e.unshift(i),console.log("[SW] Caching "+e.length+" files for offline use"),a?Broadcast("downloading"):BroadcastDownloadingUpdate(d),f&&(await WriteLazyLoadListToStorage(f)),await CreateCacheFromFileList(g,e,!a);const j=await IsUpdatePending();j?(console.log("[SW] All resources saved, update ready"),BroadcastUpdateReady(d)):(console.log("[SW] All resources saved, offline support ready"),Broadcast("offline-ready"))}catch(a){console.warn("[SW] Update check failed: ",a)}}self.addEventListener("install",(a)=>{a.waitUntil(UpdateCheck(!0).catch(()=>null))});async function GetCacheNameToUse(a,b){if(1===a.length||!b)return a[0];const c=await clients.matchAll();if(1caches.delete(a))),d}async function HandleFetch(a,b){const c=await GetAvailableCacheNames();if(!c.length)return fetch(a.request);const d=await GetCacheNameToUse(c,b),e=await caches.open(d),f=await e.match(a.request);if(f)return f;const g=await Promise.all([fetch(a.request),ReadLazyLoadListFromStorage()]),h=g[0],i=g[1];if(IsUrlInLazyLoadList(a.request.url,i))try{await e.put(a.request,h.clone())}catch(b){console.warn("[SW] Error caching '"+a.request.url+"': ",b)}return h}self.addEventListener("fetch",(a)=>{if(new URL(a.request.url).origin===location.origin){const b="navigate"===a.request.mode,c=HandleFetch(a,b);b&&a.waitUntil(c.then(()=>UpdateCheck(!1))),a.respondWith(c)}}); \ No newline at end of file diff --git a/games/ovo/icons/apple-touch-icon.png b/games/ovo/icons/apple-touch-icon.png new file mode 100644 index 00000000..4a98d85a Binary files /dev/null and b/games/ovo/icons/apple-touch-icon.png differ diff --git a/games/ovo/icons/icon-512x512.png b/games/ovo/icons/icon-512x512.png new file mode 100644 index 00000000..6356600e Binary files /dev/null and b/games/ovo/icons/icon-512x512.png differ diff --git a/games/ovo/modloader/modloaderv1.js b/games/ovo/modloader/modloaderv1.js new file mode 100644 index 00000000..1efcfa31 --- /dev/null +++ b/games/ovo/modloader/modloaderv1.js @@ -0,0 +1,169 @@ +// we should probably re-write this... + +(async () => { + // Get mods + + const mods = await fetch("/ModLoader/V1/mods.json").then(r => r.json()); + + // Get runtime + let runtime; + let notify; + + // Util stuff + let onFinishLoad = () => { + if ((cr_getC2Runtime() || { isloading: true }).isloading) { + setTimeout(onFinishLoad, 100); + } else { + runtime = cr_getC2Runtime(); + + notify = (title, text, image = "./speedrunner.png") => { + cr.plugins_.sirg_notifications.prototype.acts.AddSimpleNotification.call( + runtime.types_by_index.find( + (type) => type.plugin instanceof cr.plugins_.sirg_notifications + ).instances[0], + title, + text, + image + ); + }; + + modloader.init(); + } + } + + const validURL = (str) => { + const pattern = new RegExp('^(https?:\\/\\/)?' + + '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' + + '((\\d{1,3}\\.){3}\\d{1,3}))' + + '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' + + '(\\?[;&a-z\\d%_.~+=-]*)?' + + '(\\#[-a-z\\d_]*)?$', 'i'); + return !!pattern.test(str); + } + + const loadModUrl = (modURL) => { + const name = modloader.getURLName(modURL); + + if (modloader.getIsScriptLoaded(name)) { + notify("Mod already loaded", name); + return; + } + + const js = document.createElement("script"); + js.type = "application/javascript"; + js.src = modURL; + js.id = name; + document.head.appendChild(js); + } + + const loadModJS = (modJS) => { + setTimeout(modJS, 0); + } + + const promptMod = () => { + let mod = prompt("Please enter a mod name/url"); + if (!mod) return; + + if (!validURL(mod)) { + mod = mods[mod.toLowerCase()].url || mod; + } + + if (validURL(mod) || mod.startsWith("/")) { + loadModUrl(mod); + } else { + loadModJS(mod); + } + + notify("Code Ran/Added", "Please wait"); + } + + const modloader = { + init() { + document.addEventListener("keydown", (event) => { + if (event.code === "KeyL") { + if (event.shiftKey) { + promptMod(); + } + } + }); + + this.initDomUI(); + globalThis.ovoModLoader = this; + notify("Mod loaded", "Modloader mod loaded"); + }, + + initDomUI() { + const style = document.createElement("style"); + style.type = "text/css"; + style.innerHTML = ` + .ovo-modloader-button { + background-color: white; + border: solid; + border-color: black; + border-width: 6px; + font-family: "Retron2000"; + position: absolute; + z-index: 3; + cursor: pointer; + } + + .ovo-modloader-button:hover { + background-color: rgba(200, 200, 200, 1); + } + ` + document.head.appendChild(style); + + const toggleButton = document.createElement("button"); + toggleButton.id = "ovo-modloader-toggle-button"; + toggleButton.innerText = ""; + + const loadIcon = document.createElement("img"); + loadIcon.src = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gU3ZnIFZlY3RvciBJY29ucyA6IGh0dHA6Ly93d3cub25saW5ld2ViZm9udHMuY29tL2ljb24gLS0+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwMCAxMDAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAwIDEwMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPG1ldGFkYXRhPiBTdmcgVmVjdG9yIEljb25zIDogaHR0cDovL3d3dy5vbmxpbmV3ZWJmb250cy5jb20vaWNvbiA8L21ldGFkYXRhPg0KPGc+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsNTExLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSI+PHBhdGggZD0iTTQ4ODIuOSw0NzQ5LjRjLTEwNy4zLTMyLjYtMjE2LjQtMTQzLjYtMjQ1LjItMjUwLjljLTE1LjMtNDkuOC0yMS4xLTExMDctMjEuMS0zMzc2LjZWLTIxODJMMzUwMi0xMDY3LjNDMjg4Ny4yLTQ1Ni4zLDIzNTYuNyw2MC44LDIzMjAuMyw3OGMtMTAxLjUsNTEuNy0yODMuNSwzMi42LTM3NS40LTM2LjRjLTEzNC4xLTEwMy40LTE4NS44LTI0OS0xNDMuNi00MDkuOWMyMy04NC4zLDEzMi4yLTE5Ny4zLDE0OTItMTU2MC45Yzk4Ni40LTk4OC4zLDE0OTItMTQ4Mi40LDE1NDUuNi0xNTA3LjNjOTEuOS00NiwyMTIuNi00OS44LDMxMC4zLTkuNmM5MiwzOC4zLDI5NTUuMywyODk0LDMwMTYuNiwzMDA3YzEyMC43LDIyNy45LTI0LjksNTE3LjEtMjcyLDU0MmMtMjE2LjQsMjEuMS0xMzIuMSw5MS45LTEzNzUuMi0xMTUxLjFMNTM4Mi44LTIxODJ2MzMwMy44YzAsMjI2OS42LTUuNywzMzI2LjgtMjEuMSwzMzc2LjZjLTMwLjcsMTExLjEtMTM3LjksMjE4LjMtMjUyLjgsMjUyLjhTNDk5Niw0Nzg1LjgsNDg4Mi45LDQ3NDkuNHoiLz48cGF0aCBkPSJNNDMxLjgtMTgzNy4yYy05LjYtMy44LTQyLjEtMTEuNS03Mi44LTE3LjJjLTc4LjUtMTcuMi0xOTkuMi0xMzYtMjM1LjYtMjMzLjdjLTU5LjQtMTU3LTEuOS01OTcuNiwxMjQuNS05NDQuMmMyNzkuNi03NjQuMiw5NjUuMy0xMzM0LjksMTc5Mi43LTE0OTJjMTU3LjEtMzAuNiw0MDkuOS0zMi42LDI5NTkuMS0zMi42YzI1NTYuOSwwLDI4MDAuMSwxLjksMjk2MSwzMi42YzEwNzQuNSwyMDQuOSwxODU3LjgsMTA4MC4yLDE5MzQuNCwyMTY2LjJjMTUuMywyMDYuOC0zLjgsMjg5LjItOTMuOCwzODguOGMtMTM3LjksMTU5LTM1Ni4zLDE3OC4xLTUxNS4yLDQ0Yy05Ny43LTc4LjUtMTMwLjItMTYyLjgtMTQ5LjQtMzk4LjRjLTExLjUtMTEzLTM2LjQtMjY2LjItNTkuNC0zMzljLTEzNi00NDQuMy00NDguMi04MDIuNS04NjUuNy05OTRjLTMxNC4xLTE0NS41LTU3LjUtMTM0LjEtMzIxMS45LTEzNC4xYy0yNjg1LjIsMC0yODMwLjgsMS45LTI5NDkuNSwzNC41Yy00OTYuMSwxNDEuNy04OTQuNCw0OTQuMS0xMDc4LjMsOTU1LjdjLTY3LDE2NC43LTEwOS4yLDM0Ni43LTEwOS4yLDQ2OS4zYzAsMTgzLjgtMzQuNSwyOTEuMS0xMjIuNiwzNzkuMkM2NTIuMS0xODY0LjEsNTA4LjUtMTgxMC40LDQzMS44LTE4MzcuMnoiLz48L2c+PC9nPg0KPC9zdmc+" + loadIcon.style.width = "38px"; + loadIcon.style.height = "38px"; + + toggleButton.appendChild(loadIcon); + toggleButton.classList.add("ovo-modloader-button"); + toggleButton.style.top = "50%"; + toggleButton.style.right = "0%"; + toggleButton.style.transform = "translateY(-50%)"; + toggleButton.style.width = "50px"; + toggleButton.style.height = "50px"; + toggleButton.style.zIndex = "3"; + toggleButton.onclick = promptMod; + document.body.appendChild(toggleButton); + }, + + getIsScriptLoaded(script) { + if (validURL(script)) { + const scripts = document.getElementsByTagName('script'); + for (let i = scripts.length; i--;) { + if (scripts[i].src == script) return true; + } + return false; + } + const element = document.getElementById(script); + return (!!element && (element.tagName == "SCRIPT")); + }, + + getURLName(url) { + return url.substring(url.lastIndexOf("/") + 1).replace(/\.[^/.]+$/, ""); + }, + + getModURL(name) { + return mods[name.toLowerCase()]; + }, + + loadScriptURL(url) { + return loadModUrl(url); + }, + + loadScript(js) { + return loadModJS(js); + } + } + + // Uneeded? + alert("This is a MODDED client. Press Shift+L to load mods. (url, script, or default mods on homepage)"); + setTimeout(onFinishLoad, 100); +})(); diff --git a/games/ovo/modloader/modloaderv2.js b/games/ovo/modloader/modloaderv2.js new file mode 100644 index 00000000..3f25316f --- /dev/null +++ b/games/ovo/modloader/modloaderv2.js @@ -0,0 +1,180 @@ +(async () => { + // Get mods + const mods = await fetch("../modloader/mods/v2.json").then(r => r.json()); + + // Get runtime + var c3interface; + var runtime; + var notify; + + // Util stuff + const onFinishLoad = () => { + c3interface = c3_runtimeInterface; + runtime = c3interface._GetLocalRuntime(); + + if ((runtime && runtime.IsLoading) && runtime.IsLoading()) { + setTimeout(onFinishLoad, 100); + } else { + notify = () => {}; + modloader.init(); + + setTimeout(() => { + notify("Mod loaded", "Modloader mod loaded"); + }, 1000); + } + } + + const validURL = (str) => { + const pattern = new RegExp('^(https?:\\/\\/)?' + + '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' + + '((\\d{1,3}\\.){3}\\d{1,3}))' + + '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' + + '(\\?[;&a-z\\d%_.~+=-]*)?' + + '(\\#[-a-z\\d_]*)?$', 'i'); + return !!pattern.test(str); + } + + const loadModUrl = (modURL) => { + const name = modloader.getURLName(modURL); + + if (modloader.getIsScriptLoaded(name)) { + notify("Mod already loaded", name); + return; + } + + const js = document.createElement("script"); + js.type = "application/javascript"; + js.src = modURL; + js.id = name; + document.head.appendChild(js); + } + + const loadModJS = (modJS) => { + setTimeout(modJS, 0); + } + + const promptMod = () => { + let mod = prompt("Please enter a mod name/url"); + + if (!mod) return; + + if (!validURL(mod)) { + mod = mods[mod.toLowerCase()].url ? "../modloader/mods/v2/" + mods[mod.toLowerCase()].url : mod; + } + + if (validURL(mod) || mod.startsWith("/")) { + loadModUrl(mod); + } else { + loadModJS(mod); + } + + notify("Code Ran/Added", "Please wait"); + } + + const modloader = { + init() { + document.addEventListener("keydown", (event) => { + if (event.code === "KeyL" && !this.removed) { + if (event.shiftKey) { + promptMod(); + } + } + }); + + this.initDomUI(); + this.updateDomContainers(); + this.initialised = true; + this.removed = false; + this.mainElements = []; + + globalThis.ovoModLoader = this; + }, + + initDomUI() { + const style = document.createElement("style"); + style.type = "text/css"; + style.innerHTML = ` + .ovo-modloader-button { + background-color: white; + border: solid; + border-color: black; + border-width: 6px; + font-family: "Retron2000"; + position: absolute; + z-index: 3; + cursor: pointer; + } + + .ovo-modloader-button img { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + } + + .ovo-modloader-button:hover { + background-color: rgba(200, 200, 200, 1); + } + ` + document.head.appendChild(style); + + const toggleButton = document.createElement("button"); + toggleButton.id = "ovo-modloader-toggle-button"; + toggleButton.innerText = ""; + + const loadIcon = document.createElement("img"); + loadIcon.src = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gU3ZnIFZlY3RvciBJY29ucyA6IGh0dHA6Ly93d3cub25saW5ld2ViZm9udHMuY29tL2ljb24gLS0+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwMCAxMDAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAwIDEwMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPG1ldGFkYXRhPiBTdmcgVmVjdG9yIEljb25zIDogaHR0cDovL3d3dy5vbmxpbmV3ZWJmb250cy5jb20vaWNvbiA8L21ldGFkYXRhPg0KPGc+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsNTExLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSI+PHBhdGggZD0iTTQ4ODIuOSw0NzQ5LjRjLTEwNy4zLTMyLjYtMjE2LjQtMTQzLjYtMjQ1LjItMjUwLjljLTE1LjMtNDkuOC0yMS4xLTExMDctMjEuMS0zMzc2LjZWLTIxODJMMzUwMi0xMDY3LjNDMjg4Ny4yLTQ1Ni4zLDIzNTYuNyw2MC44LDIzMjAuMyw3OGMtMTAxLjUsNTEuNy0yODMuNSwzMi42LTM3NS40LTM2LjRjLTEzNC4xLTEwMy40LTE4NS44LTI0OS0xNDMuNi00MDkuOWMyMy04NC4zLDEzMi4yLTE5Ny4zLDE0OTItMTU2MC45Yzk4Ni40LTk4OC4zLDE0OTItMTQ4Mi40LDE1NDUuNi0xNTA3LjNjOTEuOS00NiwyMTIuNi00OS44LDMxMC4zLTkuNmM5MiwzOC4zLDI5NTUuMywyODk0LDMwMTYuNiwzMDA3YzEyMC43LDIyNy45LTI0LjksNTE3LjEtMjcyLDU0MmMtMjE2LjQsMjEuMS0xMzIuMSw5MS45LTEzNzUuMi0xMTUxLjFMNTM4Mi44LTIxODJ2MzMwMy44YzAsMjI2OS42LTUuNywzMzI2LjgtMjEuMSwzMzc2LjZjLTMwLjcsMTExLjEtMTM3LjksMjE4LjMtMjUyLjgsMjUyLjhTNDk5Niw0Nzg1LjgsNDg4Mi45LDQ3NDkuNHoiLz48cGF0aCBkPSJNNDMxLjgtMTgzNy4yYy05LjYtMy44LTQyLjEtMTEuNS03Mi44LTE3LjJjLTc4LjUtMTcuMi0xOTkuMi0xMzYtMjM1LjYtMjMzLjdjLTU5LjQtMTU3LTEuOS01OTcuNiwxMjQuNS05NDQuMmMyNzkuNi03NjQuMiw5NjUuMy0xMzM0LjksMTc5Mi43LTE0OTJjMTU3LjEtMzAuNiw0MDkuOS0zMi42LDI5NTkuMS0zMi42YzI1NTYuOSwwLDI4MDAuMSwxLjksMjk2MSwzMi42YzEwNzQuNSwyMDQuOSwxODU3LjgsMTA4MC4yLDE5MzQuNCwyMTY2LjJjMTUuMywyMDYuOC0zLjgsMjg5LjItOTMuOCwzODguOGMtMTM3LjksMTU5LTM1Ni4zLDE3OC4xLTUxNS4yLDQ0Yy05Ny43LTc4LjUtMTMwLjItMTYyLjgtMTQ5LjQtMzk4LjRjLTExLjUtMTEzLTM2LjQtMjY2LjItNTkuNC0zMzljLTEzNi00NDQuMy00NDguMi04MDIuNS04NjUuNy05OTRjLTMxNC4xLTE0NS41LTU3LjUtMTM0LjEtMzIxMS45LTEzNC4xYy0yNjg1LjIsMC0yODMwLjgsMS45LTI5NDkuNSwzNC41Yy00OTYuMSwxNDEuNy04OTQuNCw0OTQuMS0xMDc4LjMsOTU1LjdjLTY3LDE2NC43LTEwOS4yLDM0Ni43LTEwOS4yLDQ2OS4zYzAsMTgzLjgtMzQuNSwyOTEuMS0xMjIuNiwzNzkuMkM2NTIuMS0xODY0LjEsNTA4LjUtMTgxMC40LDQzMS44LTE4MzcuMnoiLz48L2c+PC9nPg0KPC9zdmc+" + loadIcon.style.width = "38px"; + loadIcon.style.height = "38px"; + + toggleButton.appendChild(loadIcon); + toggleButton.classList.add("ovo-modloader-button"); + toggleButton.style.top = "50%"; + toggleButton.style.right = "0%"; + toggleButton.style.transform = "translateY(-50%)"; + toggleButton.style.width = "50px"; + toggleButton.style.height = "50px"; + toggleButton.style.zIndex = "3"; + + toggleButton.onclick = promptMod; + document.body.appendChild(toggleButton); + + this.mainElements += [style, toggleButton]; + }, + + updateDomContainers() { + + }, + + getIsScriptLoaded(script) { + if (validURL(script)) { + const scripts = document.getElementsByTagName("script"); + for (let i = scripts.length; i--;) { + if (scripts[i].src == script) return true; + } + return false; + } + const element = document.getElementById(script); + return (!!element && (element.tagName == "SCRIPT")); + }, + + getURLName(url) { + return url.substring(url.lastIndexOf("/")+1).replace(/\.[^/.]+$/, ""); + }, + + getModURL(name) { + return mods[name.toLowerCase()]; + }, + + loadScriptURL(url) { + return loadModUrl(url); + }, + + loadScript(js) { + return loadModJS(js); + } + } + + alert("This is a MODDED client. Press Shift+L to load mods. (url, script, or default mods on homepage)"); + setTimeout(onFinishLoad, 100); +})(); \ No newline at end of file diff --git a/games/ovo/modloader/mods/v1.json b/games/ovo/modloader/mods/v1.json new file mode 100644 index 00000000..9d04962c --- /dev/null +++ b/games/ovo/modloader/mods/v1.json @@ -0,0 +1,107 @@ +{ + "ai": { + "name": "AI", + "author": "drakeerv", + "description": "Basic AI that plays ovo.", + "advanced": true, + "url": "ai.js" + }, + "chaos": { + "name": "Chaos", + "author": "drakeerv", + "description": "CHAOS!", + "advanced": false, + "url": "chaos.js" + }, + "explorer": { + "name": "Explorer", + "author": "Toadi", + "description": "Explore OvO levels.", + "advanced": true, + "url": "explorer.js" + }, + "hurricane": { + "name": "Hurricane", + "author": "Toadi", + "description": "Creates a hurricane!", + "advanced": false, + "url": "hurricane.js" + }, + "flymod": { + "name": "Fly", + "author": "Toadi", + "description": "Fly around the level.", + "advanced": false, + "url": "flymod.js" + }, + "levelselector": { + "name": "Level Selector", + "author": "drakeerv", + "description": "Load any level in the game.", + "advanced": false, + "url": "levelselector.js" + }, + "modapi": { + "name": "Mod API", + "author": "drakeerv", + "description": "A basic mod API for other mods to use.", + "advanced": true, + "url": "modapi.js" + }, + "multiplayer": { + "name": "Multiplayer", + "author": "Skymen", + "description": "Play multiplayer with your friends!", + "advanced": false, + "url": "multiplayer.js" + }, + "randomlevel": { + "name": "Random Level", + "author": "drakeerv", + "description": "Hop into a random level.", + "advanced": false, + "url": "randomlevel.js" + }, + "savestate": { + "name": "Save State", + "author": "Skymen", + "description": "Pause the game in place.", + "advanced": true, + "url": "savestate.js" + }, + "tas": { + "name": "TAS", + "author": "Skymen", + "description": "TAS tools for OvO.", + "advanced": true, + "url": "tas.js" + }, + "dark": { + "name": "Dark", + "author": "drakeerv", + "description": "Dark Mode for OvO!", + "advanced": false, + "url": "dark.js" + }, + "keystrokes": { + "name": "Keystrokes", + "author": "R3XFadeaway", + "description": "See you keystrokes.", + "advanced": false, + "url": "keystrokes.js" + }, + "collision": { + "name": "Collision", + "author": "OvOPlant", + "description": "Enable or disable collisions", + "advanced": false, + "url": "collision.js" + }, + "picture": { + "name": "Picture", + "author": "drakeerv", + "description": "Loads a image from your computer and loads it into the game", + "advanced": false, + "url": "picture.js" + } +} diff --git a/games/ovo/modloader/mods/v1/ai.js b/games/ovo/modloader/mods/v1/ai.js new file mode 100644 index 00000000..25300875 --- /dev/null +++ b/games/ovo/modloader/mods/v1/ai.js @@ -0,0 +1,141 @@ +(function () { + // Get runtime + let old = globalThis.sdk_runtime; + c2_callFunction("execCode", ["globalThis.sdk_runtime = this.runtime"]); + let runtime = globalThis.sdk_runtime; + globalThis.sdk_runtime = old; + + // Util stuff + let clamp = (num, min, max) => Math.min(Math.max(num, min), max); + + let notify = (title, text, image = "./speedrunner.png") => { + cr.plugins_.sirg_notifications.prototype.acts.AddSimpleNotification.call( + runtime.types_by_index.find( + (type) => type.plugin instanceof cr.plugins_.sirg_notifications + ).instances[0], + title, + text, + image + ); + }; + + let addScript = (src, id, onload) => { + if (document.getElementById(id)) return; + let fjs = document.getElementsByTagName("script")[0]; + let js = document.createElement("script"); + js.id = id; + fjs.parentNode.insertBefore(js, fjs); + js.onload = onload; + js.src = src; + }; + + let getPlayer = () => { + return runtime.types_by_index + .filter( + (x) => + !!x.animations && + x.animations[0].frames[0].texture_file.includes("collider") + )[0] + .instances.filter( + (x) => x.instance_vars[17] === "" && x.behavior_insts[0].enabled + )[0]; + }; + + let getFlag = () => { + return runtime.types_by_index.find( + (x) => + x.name === "EndFlag" || + (x.plugin instanceof cr.plugins_.Sprite && + x.all_frames && + x.all_frames[0].texture_file.includes("endflag")) + ).instances[0]; + }; + + let ai = { + init() { + this.network_config = { hiddenLayers: [3, 4, 5] }; + this.train_config = { log: false }; + this.enabled = false; + this.threshold = 0.5; + this.prevInputs = { up: Math.random(), down: Math.random(), left: Math.random(), right: Math.random() }; + this.prevDistance = Infinity; + this.failRandomness = 0.2; + this.correctRandomness = 0.1; + this.frameLimit = 500; + this.frame = 0; + + runtime.tickMe(this); + globalThis.ovoAi = this; + }, + resetLevel() { + c2_callFunction("Menu > Replay"); + }, + playInputs(inputs) { + if (inputs.up > this.threshold) c2_callFunction("Controls > Buffer", ["Jump"]); + if (inputs.down > this.threshold) c2_callFunction("Controls > Down"); + if (inputs.left > this.threshold) c2_callFunction("Controls > Left In"); + else if (inputs.left <= this.threshold) c2_callFunction("Controls > Left Out"); + if (inputs.right > this.threshold) c2_callFunction("Controls > Right In"); + else if (inputs.right <= this.threshold) c2_callFunction("Controls > Right Out"); + }, + + start() { + this.network = new brain.NeuralNetwork(this.network_config); + this.network.train([{ input: {}, output: { up: Math.random(), down: Math.random(), left: Math.random(), right: Math.random() } }], this.train_config); // figure out what data to send, possible position, solid, flag, spike + this.enabled = true; + }, + + stop() { + this.prevInputs = { up: Math.random(), down: Math.random(), left: Math.random(), right: Math.random() }; + this.prevDistance = Infinity; + this.frame = 0; + delete this.beginDistance; + delete this.endDistance; + delete this.network; + this.enabled = false; + }, + + addRandom(json) { + newJson = {} + + Object.entries(json).forEach((item) => { + newJson[item[0]] = clamp(item[1] + ((Math.random() - 0.5) * this.failRandomness * 2), 0, 1); + }); + + return newJson; + }, + + tick() { + let player = getPlayer(); + let flag = getFlag(); + let layout = runtime.running_layout; + + if (this.enabled && player && flag && this.frame < 1) { + this.beginDistance = Math.sqrt((flag.x - player.x) ** 2, (flag.y - player.y) ** 2); + } + + if (this.enabled && player && flag && this.frame <= this.frameLimit) { + let pos = { playerx: player.x / layout.width, playery: player.y / layout.height, flagx: flag.x / layout.width, flagy: flag.y / layout.height }; + let inputs = this.network.run({ ...this.prevInputs, ...pos }); + this.playInputs(inputs); + this.prevInputs = inputs; + this.frame++; + } else if (this.enabled && player && flag && this.frame > this.frameLimit) { + let pos = { playerx: player.x / layout.width, playery: player.y / layout.height, flagx: flag.x / layout.width, flagy: flag.y / layout.height }; + let endDistance = Math.sqrt((flag.x - player.x) ** 2, (flag.y - player.y) ** 2); + + if (endDistance < this.beginDistance && endDistance <= this.prevDistance) { + let inputs = this.network.run({ ...this.prevInputs, ...pos }); + this.network.train([{ input: { ...this.prevInputs, ...pos }, output: { ...this.addRandom(inputs) } }]); + } else if (endDistance <= this.prevDistance) { + this.prevDistance = endDistance; + } + + this.resetLevel(); + this.frame = 0; + } + } + }; + + addScript("https://unpkg.com/brain.js@latest/dist/brain-browser.min.js", "brainJs", ai.init.bind(ai)); +})(); \ No newline at end of file diff --git a/games/ovo/modloader/mods/v1/chaos.js b/games/ovo/modloader/mods/v1/chaos.js new file mode 100644 index 00000000..2d1cbe15 --- /dev/null +++ b/games/ovo/modloader/mods/v1/chaos.js @@ -0,0 +1,117 @@ +let chaosPresets = { + "original": { + "sin": "random", + "cos": "random", + "tan": "random" + }, + "funky": { + "sin": "sinh", + "cos": "cosh", + "tan": "tanh" + }, + "size": { + "sin": "fib" + } +}; + +(function () { + let chaos = { + init() { + this.random = Math.random; + + this.abs = Math.abs; + this.acos = Math.acos; + this.acosh = Math.acosh; + this.asin = Math.asin; + this.asinh = Math.asinh; + this.atan = Math.atan; + this.atanh = Math.atanh; + this.cbrt = Math.cbrt; + this.ceil = Math.ceil; + this.clz32 = Math.clz32; + this.cos = Math.cos; + this.cosh = Math.cosh; + this.exp = Math.exp; + this.expm1 = Math.expm1; + this.floor = Math.floor; + this.fround = Math.fround; + this.log = Math.log; + this.log1p = Math.log1p; + this.log10 = Math.log10; + this.log2 = Math.log2; + this.sign = Math.sign; + this.sin = Math.sin; + this.sinh = Math.sinh; + this.sqrt = Math.sqrt; + this.tan = Math.tan; + this.tanh = Math.tanh; + this.trunc = Math.trunc; + + this.atan2 = Math.atan2; + this.hypot = Math.hypot; + this.imul = Math.imul; + this.max = Math.max; + this.min = Math.min; + this.pow = Math.pow; + + this.fib = (n) => { for (var r, c = 1, f = 0; n >= 0;)r = c, c += f, f = r, n--; return f }; + this.carea = (a) => { return a * a * Math.PI }; + this.fix = (n) => { return n < 0 ? Math.ceil(n) : n > 0 ? Math.floor(n) : n }; + this.cat = (n) => { if (n <= 1) return 1; let t = 0; for (let a = 0; a < n; n++)t += this.cat(a) * this.cat(n - a - 1); return t } + + this.start("original"); + globalThis.ovoChaos = this; + }, + + start(presetName = "original") { + let preset = chaosPresets[presetName]; + + if (preset) { + for (const [key, value] of Object.entries(preset)) { + eval(`Math.${key} = this.${value}`) + } + } + }, + + stop() { + Math.random = this.random; + + Math.abs = this.abs; + Math.acos = this.acos; + Math.acosh = this.acosh; + Math.asin = this.asin; + Math.asinh = this.asinh; + Math.atan = this.atan; + Math.atanh = this.atanh; + Math.cbrt = this.cbrt; + Math.ceil = this.ceil; + Math.clz32 = this.clz32; + Math.cos = this.cos; + Math.cosh = this.cosh; + Math.exp = this.exp; + Math.expm1 = this.expm1; + Math.floor = this.floor; + Math.fround = this.fround; + Math.log = this.log; + Math.log1p = this.log1p; + Math.log10 = this.log10; + Math.log2 = this.log2; + Math.sign = this.sign; + Math.sin = this.sin; + Math.sinh = this.sinh; + Math.sqrt = this.sqrt; + Math.tan = this.tan; + Math.tanh = this.tanh; + Math.trunc = this.trunc; + + Math.atan2 = this.atan2; + Math.hypot = this.hypot; + Math.imul = this.imul; + Math.max = this.max; + Math.min = this.min; + Math.pow = this.pow; + } + } + + chaos.init(); +})(); \ No newline at end of file diff --git a/games/ovo/modloader/mods/v1/collision.js b/games/ovo/modloader/mods/v1/collision.js new file mode 100644 index 00000000..3d04a747 --- /dev/null +++ b/games/ovo/modloader/mods/v1/collision.js @@ -0,0 +1,249 @@ +(function () { + let modapi = { + init() { + this.game.init(); + this.ui.init(); + this.keybind.init(); + + globalThis.ovoModAPI = this; + this.game.notify("Mod Loaded", "ModAPI mod loaded"); + }, + + math: { + degreeToRadian(radians) { + return (radians / 180) * Math.PI; + }, + + radianToDegree(degrees) { + return (180 / Math.PI) * degrees; + }, + }, + + game: { + init() { + this.runtime = cr_getC2Runtime(); + }, + + notify(title, text, image = "./speedrunner.png") { + cr.plugins_.sirg_notifications.prototype.acts.AddSimpleNotification.call( + this.runtime.types_by_index.find( + (type) => type.plugin instanceof cr.plugins_.sirg_notifications + ).instances[0], + title, + text, + image + ); + }, + + getPlayer() { + return this.runtime.types_by_index + .filter( + (x) => + !!x.animations && + x.animations[0].frames[0].texture_file.includes("collider") + )[0] + .instances.filter( + (x) => x.instance_vars[17] === "" && x.behavior_insts[0].enabled + )[0]; + }, + + getFlag() { + return this.runtime.types_by_index.find( + (x) => + x.name === "EndFlag" || + (x.plugin instanceof cr.plugins_.Sprite && + x.all_frames && + x.all_frames[0].texture_file.includes("endflag")) + ).instances[0]; + }, + + getCoin() { + return this.runtime.types_by_index.find( + (x) => + x.name === "Coin" || + (x.plugin instanceof cr.plugins_.Sprite && + x.all_frames && + x.all_frames[0].texture_file.includes("coin")) + ).instances[0]; + }, + + getLayout(layoutName) { + return this.runtime.layouts[layoutName] || this.runtime.running_layout; + }, + + setLayout(layout) { + this.runtime.changelayout = layout; + }, + + getLayer(layerName = "Layer 0") { + return this.runtime.running_layout.layers.find(x => x.name === layerName) + }, + + layerScale(layer, scale) { + layer.scale = scale; + return layer; + }, + + //platformScale(platform, scale) { + // platform.behavior.my_types[0].all_frames.forEach((frame) => { + // frame.height /= scale; + // frame.width /= scale; + // }); + // + // platform.inst.height *= scale; + // platform.inst.width *= scale; + // + // return platform; + //}, + + moveInstance(instance, x, y) { + instance.x = x; + instance.y = y; + instance.set_bbox_changed(); + return instance; + }, + + rotateInstance(instance, angle) { + instance.angle = (angle / 180) * Math.PI; + instance.set_bbox_changed(); + return instance; + }, + + resizeInstance(instance, width, height) { + instance.width = width; + instance.height = height; + instance.set_bbox_changed(); + return instance; + }, + + instanceOpacity(instance, opacity) { + instance.opacity = opacity; + return instance; + }, + + destroyInstance(instance) { + this.runtime.DestroyInstance(instance); + }, + + createSolid(x, y, width, height, angle, layerName = "Layer 0") { + let solidType = this.runtime.types_by_index.find(x => x.plugin instanceof cr.plugins_.TiledBg && x.texture_file && x.texture_file.includes("/solid.png") && x.behs_count === 2) + let layer = this.runtime.running_layout.layers.find(x => x.name === layerName) + + let solid = this.runtime.createInstance(solidType, layer, x, y) + solid.width = width || solid.width; + solid.height = height || solid.height;; + solid.angle = angle || solid.angle; + solid.set_bbox_changed(); + return solid; + }, + + createSprite(x, y, width, height, angle, spriteName = "", layerName = "Layer 0") { + let spriteType = this.runtime.types_by_index.find(x => x.plugin instanceof cr.plugins_.Sprite && x.all_frames && x.all_frames[0].texture_file.includes(spriteName)) + let layer = this.runtime.running_layout.layers.find(x => x.name === layerName) + + let sprite = this.runtime.createInstance(spriteType, layer, x, y) + sprite.width = width || sprite.width; + sprite.height = height || sprite.height;; + sprite.angle = angle || sprite.angle; + sprite.set_bbox_changed(); + return sprite; + }, + + isInLevel() { + return this.runtime.running_layout.name.startsWith("Level") + }, + + isPaused() { + if (this.isInLevel()) return this.runtime.running_layout.layers.find(function (a) { + return "Pause" === a.name + }).visible + }, + }, + + ui: { + init() { + + } + }, + + keybind: { + init() { + //this.events = [[name, callback, code, {"alt": event.altKey, "ctrl": event.ctrlKey, "meta": event.metaKey, "shift": event.shiftKey}]] + this.events = []; + //this.events.push({name: "Test", callback: () => {console.log("YEY");}, key: "G", modifiers: {shift: true}}) + + document.addEventListener("keydown", (event) => { + this.events.forEach((keybind) => { + if (event.key.toLowerCase() == keybind.key.toLowerCase() && !event.isComposing && (!!keybind.modifiers.alt == event.altKey && !!keybind.modifiers.ctrl == event.ctrlKey && !!keybind.modifiers.meta == event.metaKey && !!keybind.modifiers.shift == event.shiftKey)) { + console.log("here1") + keybind.callback(event); + } + }); + }); + } + } + }; + + modapi.init(); +})(); + + +(function () { + let old = globalThis.sdk_runtime; + c2_callFunction("execCode", ["globalThis.sdk_runtime = this.runtime"]); + let runtime = globalThis.sdk_runtime; + globalThis.sdk_runtime = old; + + let notify = (title, text, image = "./speedrunner.png") => { + cr.plugins_.sirg_notifications.prototype.acts.AddSimpleNotification.call( + runtime.types_by_index.find( + (type) => type.plugin instanceof cr.plugins_.sirg_notifications + ).instances[0], + title, + text, + image + ); + }; + + let collision = { + init() { + document.addEventListener("keydown", (event) => { + if (event.code === "KeyQ") { + if (event.shiftKey) { + this.loadCollisionOn(); + } + } + if (event.code === "KeyW") { + if (event.shiftKey) { + this.loadCollisionOff(); + } + } + }); + + this.interval = null; + globalThis.ovoCollision = this; + notify("Mod loaded", "Collision mod loaded"); + }, + + loadCollisionOn() { + ovoModAPI.game.getPlayer().angle = 0 * (Math.PI / 180); + }, + loadCollisionOff() { + ovoModAPI.game.getPlayer().angle = undefined; + }, + startCycle(time) { + if (!this.interval) { + this.interval = setInterval(this.loadCollisionOn, time); (this.loadCollisionOff, time + time); + } + }, + + stopCycle() { + if (this.interval) { + clearInterval(this.interval); + this.interval = null; + } + } + } + + collision.init(); +})() \ No newline at end of file diff --git a/games/ovo/modloader/mods/v1/dark.js b/games/ovo/modloader/mods/v1/dark.js new file mode 100644 index 00000000..765ba766 --- /dev/null +++ b/games/ovo/modloader/mods/v1/dark.js @@ -0,0 +1,18 @@ +(function () { + // create a div element + const div = document.createElement("div"); + + // set styles for the div element + div.style.width = "100%"; + div.style.height = "100%"; + div.style.position = "fixed"; + div.style.top = "0"; + div.style.left = "0"; + div.style.mixBlendMode = "difference"; + div.style.backgroundColor = "white"; + div.style.zIndex = "99999"; // set an extremely high z-index value + div.style.pointerEvents = "none"; // make the div pass events to the items below it + + // add the div element to the body of the webpage + document.body.appendChild(div); +})(); \ No newline at end of file diff --git a/games/ovo/modloader/mods/v1/explorer.js b/games/ovo/modloader/mods/v1/explorer.js new file mode 100644 index 00000000..63548198 --- /dev/null +++ b/games/ovo/modloader/mods/v1/explorer.js @@ -0,0 +1,229 @@ +(function () { + let old = globalThis.sdk_runtime; + c2_callFunction("execCode", ["globalThis.sdk_runtime = this.runtime"]); + let runtime = globalThis.sdk_runtime; + globalThis.sdk_runtime = old; + targetY = null; + let prevY = 0; + let prevSm = 0; + let prevS = 0; + let xprevY = 0; + let xprevSm = 0; + let xprevS = 0; + let sex = new Date(); + let sexs = sex.getMilliseconds(); + let timescale = 1; + let rounder = 5; + let showPosition = { + tick() { + if ( + !cr_getC2Runtime().running_layout.layers.find(function (a) { + return "Pause" === a.name; + }).visible + ) { + cr_getC2Runtime().timescale = timescale; + try { + if (timescale > 0) { + deeznuts(); + } + } catch (err) { } + } + }, + }; + + function deeznuts() { + let baka = timescale == 0 ? 1 : timescale + let playerInstances = runtime.types_by_index + .filter( + (x) => + !!x.animations && + x.animations[0].frames[0].texture_file.includes("collider") + )[0] + .instances.filter( + (x) => x.instance_vars[17] === "" && x.behavior_insts[0].enabled + ); + let player = playerInstances[0]; + let sex = new Date(); + let sexsincelast = sex.getMilliseconds() - sexs; + + document.getElementById("69").innerText = + "Timescale: " + + timescale + + "\n" + + "\n" + + "x: " + + balls(player.x, rounder).toString() + + "\n" + + "y: " + + balls(player.y, rounder).toString() + + "\n" + + "\n" + + "Vertical Speed: " + + "\n" + + "p/ms: " + + balls((player.y - prevY) / sexsincelast / baka, rounder).toString() + + "\n" + + "A/ms: " + + balls( + prevS - (player.y - prevY) / sexsincelast / baka, + rounder + ).toString() + + "\n" + + "p/f: " + + balls((player.y - prevY) / baka, rounder).toString() + + "\n" + + "A/f: " + + balls(prevSm - (player.y - prevY) / baka, rounder).toString() + + "\n" + + "\n" + + //Owa oaw------------------------------------------ + "Horizontal Speed: " + + "\n" + + "p/ms: " + + balls( + (player.x - xprevY) / sexsincelast / baka, + rounder + ).toString() + + "\n" + + "A/ms: " + + balls( + xprevS - (player.x - xprevY) / sexsincelast / baka, + rounder + ).toString() + + "\n" + + "p/f: " + + balls((player.x - xprevY) / baka, rounder).toString() + + "\n" + + "A/f: " + + balls(xprevSm - (player.x - xprevY) / baka, rounder).toString() + + "\n" + + "\n" + + "PPms: " + + balls(player.x + xprevS, rounder).toString() + + ", " + + balls(player.y + prevS, rounder).toString() + + "\n" + + "PPf: " + + balls(player.x + xprevSm, rounder).toString() + + ", " + + balls(player.y + prevSm, rounder).toString() + + "\n" + + "\n" + + "ms/f:" + + sexsincelast.toString() + + "\n" + + "A ms/f:" + + sexsincelast.toString() * baka; + + prevSm = (player.y - prevY) / baka; + prevS = (player.y - prevY) / sexsincelast / baka; + prevY = player.y; + + xprevS = (player.x - xprevY) / sexsincelast / baka; + xprevSm = (player.x - xprevY) / baka; + xprevY = player.x; + + sexs = sex.getMilliseconds(); + } + + function balls(b, af) { + return Math.round(b * 10 ** af) / 10 ** af; + } + let fly = { + tick() { + let playerInstances = runtime.types_by_index + .filter( + (x) => + !!x.animations && + x.animations[0].frames[0].texture_file.includes("collider") + )[0] + .instances.filter( + (x) => x.instance_vars[17] === "" && x.behavior_insts[0].enabled + ); + let player = playerInstances[0]; + try { + player.y = targetY; + } catch (err) { } + }, + }; + + var b = document.createElement("div"), + c = { + backgroundColor: "rgba(150,10,1,0.7)", + width: "500px", + height: "600px", + position: "absolute", + top: "100px", + left: "100px", + fontSize: "x-large", + }; + Object.keys(c).forEach(function (a) { + b.style[a] = c[a]; + }); + b.id = 69; + const newContent = document.createTextNode("poggers"); + + // add the text node to the newly created div + b.appendChild(newContent); + + document.body.appendChild(b); + + g = globalThis.ovoExplorer = { + init: function () { + runtime.tickMe(showPosition); + }, + + trackOvO: function (a) { + a ? runtime.tickMe(showPosition) : runtime.untickMe(showPosition); + }, + step: function () { + var a = cr_getC2Runtime().timescale; + cr_getC2Runtime().timescale = 1; + cr_getC2Runtime().tick(!0, null, null); + cr_getC2Runtime().timescale = a; + deeznuts(); + }, + suspend: function () { + cr_getC2Runtime().timescale = 0; + timescale = 0; + }, + updateTimescale: function (a) { + timescale = a; + cr_getC2Runtime().timescale = a; + }, + setRoundDigits: function (a) { + rounder = a; + }, + warp: function (x, y) { + targetY = y; + let playerInstances = runtime.types_by_index + .filter( + (x) => + !!x.animations && + x.animations[0].frames[0].texture_file.includes("collider") + )[0] + .instances.filter( + (x) => x.instance_vars[17] === "" && x.behavior_insts[0].enabled + ); + let player = playerInstances[0]; + player.x = x; + player.y = y; + }, + + levitate: function (a) { + let playerInstances = runtime.types_by_index + .filter( + (x) => + !!x.animations && + x.animations[0].frames[0].texture_file.includes("collider") + )[0] + .instances.filter( + (x) => x.instance_vars[17] === "" && x.behavior_insts[0].enabled + ); + let player = playerInstances[0]; + targetY = player.y; + a ? runtime.tickMe(fly) : runtime.untickMe(fly); + }, + }; + g.init(); +})(); \ No newline at end of file diff --git a/games/ovo/modloader/mods/v1/flymod.js b/games/ovo/modloader/mods/v1/flymod.js new file mode 100644 index 00000000..fcef090e --- /dev/null +++ b/games/ovo/modloader/mods/v1/flymod.js @@ -0,0 +1,138 @@ +(function () { + let old = globalThis.sdk_runtime; + c2_callFunction("execCode", ["globalThis.sdk_runtime = this.runtime"]); + let runtime = globalThis.sdk_runtime; + globalThis.sdk_runtime = old; + + let getPlayer = () => { + return runtime.types_by_index + .filter( + (x) => + !!x.animations && + x.animations[0].frames[0].texture_file.includes("collider") + )[0] + .instances.filter( + (x) => x.instance_vars[17] === "" && x.behavior_insts[0].enabled + )[0]; + } + + let notify = (title, text, image = "./speedrunner.png") => { + cr.plugins_.sirg_notifications.prototype.acts.AddSimpleNotification.call( + runtime.types_by_index.find( + (type) => type.plugin instanceof cr.plugins_.sirg_notifications + ).instances[0], + title, + text, + image + ); + }; + + let flyMod = { + init() { + this.movementKeys = [false, false, false, false]; + this.activatorKeyHeld = false; + this.activated = false; + this.speed = { x: 10, y: 10 }; + this.stored = [1500, true]; + this.override = false; + + document.addEventListener("keydown", (event) => { this.keyDown(event) }); + document.addEventListener("keyup", (event) => { this.keyUp(event) }); + + runtime.tickMe(this); + + globalThis.ovoFlyMod = this; + }, + + keyDown(event) { + let key = event.key.toLowerCase(); + + if (key == "control" && !this.override) { + this.activatorKeyHeld = true; + } else if (event.keyCode >= 37 && event.keyCode <= 40 && this.activatorKeyHeld) { + if (!this.activated) { + this.startActivation(); + this.activated = true; + } + + this.movementKeys[event.keyCode - 37] = true; + } + }, + + keyUp(event) { + let key = event.key.toLowerCase(); + + if (key == "control" && this.activatorKeyHeld) { + this.activatorKeyHeld = false; + + if (this.activated) { + this.movementKeys = [false, false, false, false]; + this.activated = false; + this.endActivation(); + } + } else if (event.keyCode >= 37 && event.keyCode <= 40 && this.activatorKeyHeld) { + this.movementKeys[event.keyCode - 37] = false; + } + }, + + startActivation() { + let player = getPlayer(); + + if (player) { + this.stored = [player.behavior_insts[0].g, player.collisionsEnabled]; + } else { + this.stored = [1500, true]; + } + + notify("Fly Mod", "Fly Enabled"); + }, + + endActivation() { + let player = getPlayer(); + + if (player) { + player.behavior_insts[0].g = this.stored[0]; + player.collisionsEnabled = this.stored[1]; + } + + notify("Fly Mod", "Fly Disabled"); + }, + + speedX(speed) { + this.speed.x = speed; + }, + + speedY(speed) { + this.speed.y = speed; + }, + + setSpeed(speed) { + this.speed.x = speed; + this.speed.y = speed; + }, + + setOverride(value) { + this.override = !!value; + }, + + tick() { + if (this.activated) { + let player = getPlayer(); + + if (player) { + if (!!player.behavior_insts[0].g || player.collisionsEnabled) { + player.behavior_insts[0].g = 0; + player.collisionsEnabled = false + } + + let moveX = this.movementKeys[2] - this.movementKeys[0]; + let moveY = this.movementKeys[3] - this.movementKeys[1]; + player.x += moveX * this.speed.x; + player.y += moveY * this.speed.y; + } + } + } + }; + + flyMod.init(); +})(); \ No newline at end of file diff --git a/games/ovo/modloader/mods/v1/gyro.js b/games/ovo/modloader/mods/v1/gyro.js new file mode 100644 index 00000000..34189fb0 --- /dev/null +++ b/games/ovo/modloader/mods/v1/gyro.js @@ -0,0 +1,38 @@ +(function () { + let old = globalThis.sdk_runtime; + c2_callFunction("execCode", ["globalThis.sdk_runtime = this.runtime"]); + let runtime = globalThis.sdk_runtime; + globalThis.sdk_runtime = old; + + let notify = (title, text, image = "./speedrunner.png") => { + cr.plugins_.sirg_notifications.prototype.acts.AddSimpleNotification.call( + runtime.types_by_index.find( + (type) => type.plugin instanceof cr.plugins_.sirg_notifications + ).instances[0], + title, + text, + image + ); + }; + + let gyro = { + init() { + globalThis.ovoGyro = this; + + if (window.DeviceOrientationEvent) { + window.addEventListener("deviceorientation", (event) => { this.updateGyro }); + } else { + notify("Gyro", "This device does not support gyroscope"); + } + }, + + updateGyro(event) { + let absolute = event.absolute; + let alpha = event.alpha; + let beta = event.beta; + let gamma = event.gamma; + } + }; + + gyro.init(); +})(); \ No newline at end of file diff --git a/games/ovo/modloader/mods/v1/hurricane.js b/games/ovo/modloader/mods/v1/hurricane.js new file mode 100644 index 00000000..b8de881d --- /dev/null +++ b/games/ovo/modloader/mods/v1/hurricane.js @@ -0,0 +1,46 @@ +(function () { + let old = globalThis.sdk_runtime; + c2_callFunction("execCode", ["globalThis.sdk_runtime = this.runtime"]); + let runtime = globalThis.sdk_runtime; + globalThis.sdk_runtime = old; + let counter = 0; + + let wind = { + tick() { + let playerInstances = runtime.types_by_index + .filter( + (x) => + !!x.animations && + x.animations[0].frames[0].texture_file.includes("collider") + )[0] + .instances.filter( + (x) => x.instance_vars[17] === "" && x.behavior_insts[0].enabled + ); + let player = playerInstances[0]; + try { + counter++; + switch (Math.floor((counter % 2000) / 500)) { + case 0: + player.x = player.x - 1; + break; + case 1: + player.x = player.x + 1; + break; + case 2: + player.y = player.y - 3; + break; + case 3: + player.y = player.y + 3; + break; + } + } catch (err) { } + }, + }; + + g = globalThis.ovoExplorer = { + init: function () { + runtime.tickMe(wind); + }, + }; + g.init(); +})(); \ No newline at end of file diff --git a/games/ovo/modloader/mods/v1/keystrokes.js b/games/ovo/modloader/mods/v1/keystrokes.js new file mode 100644 index 00000000..2542f5ee --- /dev/null +++ b/games/ovo/modloader/mods/v1/keystrokes.js @@ -0,0 +1,1742 @@ +(function () { + let old = globalThis.sdk_runtime; + c2_callFunction("execCode", ["globalThis.sdk_runtime = this.runtime"]); + let runtime = globalThis.sdk_runtime; + globalThis.sdk_runtime = old; + //let runtime = cr_getC2Runtime() + + + + + var editing = false; + var startingMouseCoords = []; + var elementMoving = null; + var elementEditing = null; + var mouseOverGui = false; + var scale = 1; + var customTextNum = 0; + + if (localStorage.getItem('guiSettings') !== null) { + guiSettings = JSON.parse(localStorage.getItem('guiSettings')); + for (const [key] of Object.entries(guiSettings)) { + if (key.startsWith('text') && parseInt(key.substring(4)) > customTextNum) { + customTextNum = parseInt(key.substring(4)) + } + } + } + + + var currentMouseCoords = []; + + var keyColors = { + "up": ["white", "black", "black", "white"], + "down": ["white", "black", "black", "white"], + "left": ["white", "black", "black", "white"], + "right": ["white", "black", "black", "white"], + "reset": ["white", "black", "black", "black"], + "control": ["white", "black", "black", "black"] + } + var arrows = ["left", "up", "right", "down", "reset", "control"]; + + var displayNone = []; + + document.addEventListener('mousemove', (event) => { + //console.log(`Mouse X: ${event.clientX}, Mouse Y: ${event.clientY}`); + currentMouseCoords = [event.clientX, event.clientY] + }); + + + var guiPreSettings = { + "pos": { + "left": 5, + "top": 5, + "name": "Position", + "border": "2px solid black", + "backgroundColor": "white", + "onBgColor": "", + "scale": 1, + "color": "black", + "onTextColor": "", + "opacity": 1, + "fontFamily": "Retron2000", + "innerHTML": "", + "enabled": true, + "display": "block", + "width": 0, + "height": 0 + }, + "fps": { + "left": 5, + "top": 40, + "name": "FPS", + "border": "2px solid black", + "backgroundColor": "white", + "onBgColor": "", + "scale": 1, + "color": "black", + "onTextColor": "", + "opacity": 1, + "fontFamily": "Retron2000", + "innerHTML": "", + "enabled": true, + "display": "block", + "width": 0, + "height": 0 + }, + "state": { + "left": 85, + "top": 4, + "name": "State", + "border": "2px solid black", + "backgroundColor": "white", + "onBgColor": "", + "scale": 1, + "color": "black", + "onTextColor": "", + "opacity": 1, + "fontFamily": "Retron2000", + "innerHTML": "", + "enabled": true, + "display": "block", + "width": 0, + "height": 0 + }, + "attempts": { + "left": 5, + "top": 75, + "name": "Attempts", + "border": "2px solid black", + "backgroundColor": "white", + "onBgColor": "", + "scale": 1, + "color": "black", + "onTextColor": "", + "opacity": 1, + "fontFamily": "Retron2000", + "innerHTML": "", + "enabled": true, + "display": "block", + "width": 0, + "height": 0 + }, + "up": { + "left": 80, + "top": 40, + "name": "Up Key", + "border": "2px solid black", + "backgroundColor": "white", + "onBgColor": "black", + "scale": 1, + "color": "black", + "onTextColor": "white", + "opacity": 1, + "fontFamily": "Retron2000", + "innerHTML": "🠙", + "enabled": true, + "display": "block", + "width": 0, + "height": 0 + }, + "left": { + "left": 50, + "top": 75, + "name": "Left Key", + "border": "2px solid black", + "backgroundColor": "white", + "onBgColor": "black", + "scale": 1, + "color": "black", + "onTextColor": "white", + "opacity": 1, + "fontFamily": "Retron2000", + "innerHTML": "🠘", + "enabled": true, + "display": "block", + "width": 0, + "height": 0 + }, + "down": { + "left": 80, + "top": 75, + "name": "Down Key", + "border": "2px solid black", + "backgroundColor": "white", + "onBgColor": "black", + "scale": 1, + "color": "black", + "onTextColor": "white", + "opacity": 1, + "fontFamily": "Retron2000", + "innerHTML": "🠛", + "enabled": true, + "display": "block", + "width": 0, + "height": 0 + }, + "right": { + "left": 106, + "top": 75, + "name": "Right Key", + "border": "2px solid black", + "backgroundColor": "white", + "onBgColor": "black", + "scale": 1, + "color": "black", + "onTextColor": "white", + "opacity": 1, + "fontFamily": "Retron2000", + "innerHTML": "🠚", + "enabled": true, + "display": "block", + "width": 0, + "height": 0 + }, + "speed": { + "left": 52, + "top": 40, + "name": "Speed", + "border": "2px solid black", + "backgroundColor": "white", + "onBgColor": "", + "scale": 1, + "color": "black", + "onTextColor": "", + "opacity": 1, + "fontFamily": "Retron2000", + "innerHTML": "", + "enabled": true, + "display": "block", + "width": 0, + "height": 0 + }, + "reset": { + "left": 62, + "top": 40, + "name": "Reset", + "border": "2px solid black", + "backgroundColor": "white", + "onBgColor": "black", + "scale": 1, + "color": "black", + "onTextColor": "white", + "opacity": 1, + "fontFamily": "Retron2000", + "innerHTML": "R", + "enabled": true, + "display": "block", + "width": 0, + "height": 0 + }, + "control": { + "left": 300, + "top": 300, + "name": "CTRL", + "border": "2px solid black", + "backgroundColor": "white", + "onBgColor": "black", + "scale": 1, + "color": "black", + "onTextColor": "white", + "opacity": 1, + "fontFamily": "Retron2000", + "innerHTML": "CTRL", + "enabled": true, + "display": "block", + "width": 0, + "height": 0 + }, + + } + + + + + let getPlayer = () => { + return runtime.types_by_index + .filter( + (x) => + !!x.animations && + x.animations[0].frames[0].texture_file.includes("collider") + )[0] + .instances.filter( + (x) => x.instance_vars[17] === "" && x.behavior_insts[0].enabled + )[0]; + } + + let notify = (title, text, image = "./speedrunner.png") => { + cr.plugins_.sirg_notifications.prototype.acts.AddSimpleNotification.call( + runtime.types_by_index.find( + (type) => type.plugin instanceof cr.plugins_.sirg_notifications + ).instances[0], + title, + text, + image + ); + }; + + let isInLevel = () => { + return runtime.running_layout.name.startsWith("Level") + }; + + let isPaused = () => { + if (isInLevel()) return runtime.running_layout.layers.find(function (a) { + return "Pause" === a.name + }).visible + }; + + let styleMenuButton = (button, left, top) => { + c = { + backgroundColor: "#00d26a", + border: "solid", + borderColor: "black", + borderWidth: "2px", + position: "absolute", + fontFamily: "Retron2000", + color: "black", + fontSize: "10pt", + cursor: "pointer", + left: left + "px", + top: top + "px", + }; + Object.keys(c).forEach(function (a) { + button.style[a] = c[a]; + }); + + button.innerHTML = "✅"; + } + + let styleMenuInput = (input, left, top, width) => { + c = { + backgroundColor: "white", + border: "solid", + borderColor: "black", + borderWidth: "2px", + position: "absolute", + fontFamily: "Retron2000", + color: "black", + fontSize: "10pt", + cursor: "text", + width: width + "px", + top: top + "px", + left: left + "px", + }; + Object.keys(c).forEach(function (a) { + input.style[a] = c[a]; + }); + + + + } + + let styleMenuText = (textDiv, left, top, text) => { + c = { + backgroundColor: "white", + border: "none", + fontFamily: "Retron2000", + position: "absolute", + top: top.toString() + "px", + left: left.toString() + "px", + //padding: "5px", + color: "black", + fontSize: "12pt", + cursor: "default", + }; + Object.keys(c).forEach(function (a) { + textDiv.style[a] = c[a]; + }); + + newContent = document.createTextNode(text); + textDiv.appendChild(newContent); + + + + } + + let createGuiEditingMenu = () => { + //Create background div + b = document.createElement("div") + c = { + backgroundColor: "white", + border: "solid", + borderColor: "black", + borderWidth: "2px", + fontFamily: "Retron2000", + position: "absolute", + top: "17.5%", + left: "32.5%", + padding: "5px", + color: "black", + fontSize: "10pt", + display: "block", + width: "35%", + height: "65%", + }; + Object.keys(c).forEach(function (a) { + b.style[a] = c[a]; + }); + b.id = "gui-editing-menu"; + + //X button CSS + xButton = document.createElement("button"); + c = { + backgroundColor: "white", + border: "none", + position: "absolute", + fontFamily: "Retron2000", + color: "black", + fontSize: "10pt", + cursor: "pointer", + right: "1px", + top: "1px", + }; + Object.keys(c).forEach(function (a) { + xButton.style[a] = c[a]; + }); + + xButton.innerHTML = "❌"; + + xButton.onclick = function () { + b.remove(); + elementEditing = null; + } + + deleteElementButton = document.createElement("button"); + c = { + backgroundColor: "red", + borderRadius: "25px", + border: "red", + padding: "8px", + position: "absolute", + fontFamily: "Retron2000", + color: "white", + fontSize: "10pt", + cursor: "pointer", + left: "33%", + bottom: "2%", + + }; + Object.keys(c).forEach(function (a) { + deleteElementButton.style[a] = c[a]; + }); + + deleteElementButton.innerHTML = "DELETE ELEMENT"; + + deleteElementButton.onclick = function () { + guiSettings = JSON.parse(localStorage.getItem('guiSettings')) + guiSettings[elementEditing.id]["enabled"] = false; + + if (elementEditing.name === "Custom Text") { + delete guiSettings[elementEditing.id]; + } + localStorage.setItem('guiSettings', JSON.stringify(guiSettings)); + + + + b.remove(); + elementEditing.remove(); + + elementEditing = null; + } + + + titleText = document.createElement("div"); + + c = { + backgroundColor: "white", + border: "none", + fontFamily: "Retron2000", + position: "absolute", + top: "2%", + left: "35%", + //padding: "5px", + color: "black", + fontSize: "22pt", + cursor: "default", + }; + Object.keys(c).forEach(function (a) { + titleText.style[a] = c[a]; + }); + + newContent = document.createTextNode(elementEditing.name); + titleText.appendChild(newContent); + + + + + + //X Position CSS + leftButton = document.createElement("button"); + styleMenuButton(leftButton, 80, 55); + leftInput = document.createElement("input"); + styleMenuInput(leftInput, 20, 55, 50); + leftInput.value = parseInt(elementEditing.style.left); + leftInput.setAttribute("type", "number"); + leftText = document.createElement("div") + styleMenuText(leftText, 0, 55, "X:") + leftRightMostText = document.createElement("div") + styleMenuText(leftRightMostText, 110, 55, "Rightmost X: " + (parseInt(elementEditing.style.left) + elementEditing.offsetWidth)); + leftInput.onclick = (e) => { + console.log("please"); + e.stopImmediatePropagation() + e.stopPropagation() + e.preventDefault() + leftInput.focus() + } + leftInput.onkeydown = (e) => { + console.log("pleasev2"); + e.stopImmediatePropagation() + e.stopPropagation(); + }; + leftButton.onclick = function () { + console.log(leftInput.value); + elementEditing.style.left = leftInput.value + "px"; + guiSettings = JSON.parse(localStorage.getItem('guiSettings')) + guiSettings[elementEditing.id]["left"] = parseInt(elementEditing.style.left); + localStorage.setItem('guiSettings', JSON.stringify(guiSettings)); + } + + + + + //Y Position CSS + topButton = document.createElement("button"); + styleMenuButton(topButton, 80, 85); + topInput = document.createElement("input"); + styleMenuInput(topInput, 20, 85, 50); + topInput.value = parseInt(elementEditing.style.top); + topInput.setAttribute("type", "number"); + topText = document.createElement("div") + styleMenuText(topText, 0, 85, "Y:") + topBottomMostText = document.createElement("div") + styleMenuText(topBottomMostText, 110, 85, "Bottommost X: " + (parseInt(elementEditing.style.top) + elementEditing.offsetHeight)); + topInput.onclick = (e) => { + console.log("please"); + e.stopImmediatePropagation() + e.stopPropagation() + e.preventDefault() + topInput.focus() + } + topInput.onkeydown = (e) => { + console.log("pleasev2"); + e.stopImmediatePropagation() + e.stopPropagation(); + }; + topButton.onclick = function () { + console.log(topInput.value); + elementEditing.style.top = topInput.value + "px"; + guiSettings = JSON.parse(localStorage.getItem('guiSettings')) + guiSettings[elementEditing.id]["top"] = parseInt(elementEditing.style.top); + localStorage.setItem('guiSettings', JSON.stringify(guiSettings)); + } + + + + + //Border Enabled CSS + borderButton = document.createElement("button"); + styleMenuButton(borderButton, 80, 115); + if (elementEditing.style.border === "none") { + borderButton.style.backgroundColor = "white"; + borderButton.innerHTML = "⬜"; + elementEditing.style.border = "none"; + } else { + borderButton.style.backgroundColor = "#00d26a"; + borderButton.innerHTML = "✅"; + } + borderText = document.createElement("div") + styleMenuText(borderText, 0, 115, "Border:") + borderButton.onclick = function () { + if (borderButton.style.backgroundColor === "white") { + borderButton.style.backgroundColor = "#00d26a"; + borderButton.innerHTML = "✅"; + elementEditing.style.border = "2px solid black"; + + guiSettings = JSON.parse(localStorage.getItem('guiSettings')) + guiSettings[elementEditing.id]["border"] = elementEditing.style.border; + localStorage.setItem('guiSettings', JSON.stringify(guiSettings)); + } else { + borderButton.style.backgroundColor = "white"; + borderButton.innerHTML = "⬜"; + elementEditing.style.border = "none"; + guiSettings = JSON.parse(localStorage.getItem('guiSettings')) + guiSettings[elementEditing.id]["border"] = elementEditing.style.border; + localStorage.setItem('guiSettings', JSON.stringify(guiSettings)); + } + + } + + + + + + //BG/Off Color CSS + bgColorButton = document.createElement("button"); + styleMenuButton(bgColorButton, 185, 145); + bgColorInput = document.createElement("input"); + styleMenuInput(bgColorInput, 125, 145, 50); + if (arrows.includes(elementEditing.id)) { + bgColorInput.value = keyColors[elementEditing.id][0]; + } else { + bgColorInput.value = elementEditing.style.backgroundColor; + + } + bgColorText = document.createElement("div") + styleMenuText(bgColorText, 0, 145, "BG/Off Color:") + bgColorInfo = document.createElement("div") + styleMenuText(bgColorInfo, 215, 147, "Accepts hex codes/CSS colors"); + bgColorInfo.style.color = 'DarkMagenta'; + bgColorInfo.style.fontSize = "10pt" + + bgColorButton.onclick = function () { + if (CSS.supports('color', bgColorInput.value)) { + elementEditing.style.backgroundColor = bgColorInput.value; + if (arrows.includes(elementEditing.id)) { + keyColors[elementEditing.id][0] = bgColorInput.value; + } + guiSettings = JSON.parse(localStorage.getItem('guiSettings')) + guiSettings[elementEditing.id]["backgroundColor"] = elementEditing.style.backgroundColor; + localStorage.setItem('guiSettings', JSON.stringify(guiSettings)); + + bgColorInfo.innerHTML = "Valid color!"; + bgColorInfo.style.color = "ForestGreen"; + } else { + bgColorInfo.innerHTML = "INVALID COLOR! Hex's are #code"; + bgColorInfo.style.color = "red"; + } + + + } + bgColorInput.onclick = (e) => { + console.log("please"); + e.stopImmediatePropagation() + e.stopPropagation(); + e.preventDefault(); + bgColorInput.focus() + } + bgColorInput.onkeydown = (e) => { + console.log("pleasev2"); + e.stopImmediatePropagation() + e.stopPropagation(); + }; + + + + + + //On Color CSS + onColorButton = document.createElement("button"); + styleMenuButton(onColorButton, 150, 175); + onColorInput = document.createElement("input"); + styleMenuInput(onColorInput, 90, 175, 50); + if (arrows.includes(elementEditing.id)) { + onColorInput.value = keyColors[elementEditing.id][1]; + } + onColorText = document.createElement("div") + styleMenuText(onColorText, 0, 175, "On Color:") + onColorInfo = document.createElement("div") + styleMenuText(onColorInfo, 180, 177, "Only for keys"); + onColorInfo.style.color = 'DarkMagenta'; + onColorInfo.style.fontSize = "10pt" + onColorButton.onclick = function () { + if (CSS.supports('color', onColorInput.value)) { + if (arrows.includes(elementEditing.id)) { + elementEditing.style.backgroundColor = onColorInput.value; + keyColors[elementEditing.id][1] = onColorInput.value; + + guiSettings = JSON.parse(localStorage.getItem('guiSettings')) + guiSettings[elementEditing.id]["onBgColor"] = keyColors[elementEditing.id][1]; + localStorage.setItem('guiSettings', JSON.stringify(guiSettings)); + + + onColorInfo.innerHTML = "Valid color!"; + onColorInfo.style.color = "ForestGreen"; + } else { + onColorInfo.innerHTML = "Error! Only for keys!"; + onColorInfo.style.color = "red"; + } + } else { + onColorInfo.innerHTML = "INVALID COLOR! Hex's are #code"; + onColorInfo.style.color = "red"; + } + + } + onColorInput.onclick = (e) => { + console.log("please"); + e.stopImmediatePropagation() + e.stopPropagation(); + e.preventDefault(); + onColorInput.focus() + } + onColorInput.onkeydown = (e) => { + console.log("pleasev2"); + e.stopPropagation(); + e.stopImmediatePropagation() + }; + + + + + //Scale CSS + scaleButton = document.createElement("button"); + styleMenuButton(scaleButton, 120, 205); + scaleInput = document.createElement("input"); + styleMenuInput(scaleInput, 60, 205, 50); + scaleInput.setAttribute("type", "number"); + scaleInputVal = 1; + if (elementEditing.style.transform !== "") { + scaleInputVal = parseFloat(parseFloat(elementEditing.style.transform.substring(6, elementEditing.style.transform.length - 1)).toFixed(2)); + } + scaleInput.value = scaleInputVal; + scaleText = document.createElement("div") + styleMenuText(scaleText, 0, 205, "Scale:") + scaleInput.onclick = (e) => { + console.log("please"); + e.stopImmediatePropagation() + e.stopPropagation() + e.preventDefault() + scaleInput.focus() + } + scaleInput.onkeydown = (e) => { + console.log("pleasev2"); + e.stopImmediatePropagation() + e.stopPropagation(); + }; + scaleButton.onclick = function () { + scale = Math.min(Math.max(0.7, parseFloat(scaleInput.value)), 5); + elementEditing.style.transform = `scale(${scale})`; + scaleInput.value = scale; + guiSettings = JSON.parse(localStorage.getItem('guiSettings')) + guiSettings[elementEditing.id]["scale"] = scale; + localStorage.setItem('guiSettings', JSON.stringify(guiSettings)); + + } + + + + //Text Color CSS + textColorButton = document.createElement("button"); + styleMenuButton(textColorButton, 170, 235); + textColorInput = document.createElement("input"); + styleMenuInput(textColorInput, 110, 235, 50); + if (arrows.includes(elementEditing.id)) { + textColorInput.value = keyColors[elementEditing.id][2]; + } else { + textColorInput.value = elementEditing.style.color; + } + textColorInfo = document.createElement("div") + styleMenuText(textColorInfo, 200, 237, "Accepts hex codes/CSS colors"); + textColorInfo.style.color = 'DarkMagenta'; + textColorInfo.style.fontSize = "10pt" + textColorText = document.createElement("div") + styleMenuText(textColorText, 0, 235, "Text Color:") + textColorButton.onclick = function () { + if (CSS.supports('color', textColorInput.value)) { + elementEditing.style.color = textColorInput.value; + if (arrows.includes(elementEditing.id)) { + keyColors[elementEditing.id][2] = textColorInput.value; + } + guiSettings = JSON.parse(localStorage.getItem('guiSettings')) + guiSettings[elementEditing.id]["color"] = elementEditing.style.color; + localStorage.setItem('guiSettings', JSON.stringify(guiSettings)); + textColorInfo.innerHTML = "Valid color!"; + textColorInfo.style.color = "ForestGreen"; + } else { + textColorInfo.innerHTML = "INVALID COLOR! Hex's are #code"; + textColorInfo.style.color = "red"; + } + + } + textColorInput.onclick = (e) => { + console.log("please"); + e.stopImmediatePropagation() + e.stopPropagation(); + e.preventDefault(); + textColorInput.focus() + } + textColorInput.onkeydown = (e) => { + console.log("pleasev2"); + e.stopPropagation(); + e.stopImmediatePropagation() + }; + + //On Text Color CSS + onTextColorButton = document.createElement("button"); + styleMenuButton(onTextColorButton, 190, 265); + onTextColorInput = document.createElement("input"); + styleMenuInput(onTextColorInput, 130, 265, 50); + if (arrows.includes(elementEditing.id)) { + onTextColorInput.value = keyColors[elementEditing.id][3]; + + } + onTextColorText = document.createElement("div") + styleMenuText(onTextColorText, 0, 265, "On Text Color:") + onTextInfo = document.createElement("div") + styleMenuText(onTextInfo, 220, 267, "Only for keys"); + onTextInfo.style.color = 'DarkMagenta'; + onTextInfo.style.fontSize = "10pt" + onTextColorButton.onclick = function () { + if (CSS.supports('color', onTextColorInput.value)) { + if (arrows.includes(elementEditing.id)) { + elementEditing.style.color = onTextColorInput.value; + keyColors[elementEditing.id][3] = onTextColorInput.value; + + guiSettings = JSON.parse(localStorage.getItem('guiSettings')) + guiSettings[elementEditing.id]["onTextColor"] = keyColors[elementEditing.id][3]; + localStorage.setItem('guiSettings', JSON.stringify(guiSettings)); + + onTextInfo.innerHTML = "Valid color!"; + onTextInfo.style.color = "ForestGreen"; + } else { + onTextInfo.innerHTML = "Error! Only for keys!" + onTextInfo.style.color = "red"; + } + } else { + onTextInfo.innerHTML = "INVALID COLOR! Hex's are #code"; + onTextInfo.style.color = "red"; + } + + + } + onTextColorInput.onclick = (e) => { + console.log("please"); + e.stopImmediatePropagation() + e.stopPropagation(); + e.preventDefault(); + onTextColorInput.focus() + } + onTextColorInput.onkeydown = (e) => { + console.log("pleasev2"); + e.stopPropagation(); + e.stopImmediatePropagation() + }; + + + //Text Enabled CSS + // textEnabledButton = document.createElement("button"); + // styleMenuButton(textEnabledButton, 120, 245); + // if(elementEditing.innerHTML === "") { + // textEnabledButton.style.backgroundColor = "white"; + // textEnabledButton.innerHTML = "⬜"; + // } else { + // textEnabledButton.style.backgroundColor = "#00d26a"; + // textEnabledButton.innerHTML = "✅"; + // } + // textEnabledText = document.createElement("div") + // styleMenuText(textEnabledText, 0, 245, "Text Enabled:") + // textEnabledButton.onclick = function() { + // if(textEnabledButton.style.backgroundColor === "white") { + // textEnabledButton.style.backgroundColor = "#00d26a"; + // textEnabledButton.innerHTML = "✅"; + // elementEditing.innerHTML + // } else { + // textEnabledButton.style.backgroundColor = "white"; + // textEnabledButton.innerHTML = "⬜"; + // } + + // } + + + //Opacity CSS + opacityButton = document.createElement("button"); + styleMenuButton(opacityButton, 135, 295); + opacityInput = document.createElement("input"); + styleMenuInput(opacityInput, 75, 295, 50); + opacityInput.setAttribute("type", "number"); + opacity = 1; + if (elementEditing.style.opacity !== "") { + opacity = elementEditing.style.opacity; + } + opacityInput.value = opacity; + opacityText = document.createElement("div") + styleMenuText(opacityText, 0, 295, "Opacity:") + opacityInput.onclick = (e) => { + console.log("please"); + e.stopImmediatePropagation() + e.stopPropagation() + e.preventDefault() + opacityInput.focus() + } + opacityInput.onkeydown = (e) => { + console.log("pleasev2"); + e.stopImmediatePropagation() + e.stopPropagation(); + }; + opacityButton.onclick = function () { + console.log(typeof (elementEditing.style.opacity)) + opacity = Math.min(Math.max(0.1, parseFloat(opacityInput.value)), 1); + elementEditing.style.opacity = opacity; + opacityInput.value = opacity; + + guiSettings = JSON.parse(localStorage.getItem('guiSettings')) + guiSettings[elementEditing.id]["opacity"] = elementEditing.style.opacity; + localStorage.setItem('guiSettings', JSON.stringify(guiSettings)); + } + + + //Font CSS + fontButton = document.createElement("button"); + styleMenuButton(fontButton, 150, 325); + fontInput = document.createElement("input"); + styleMenuInput(fontInput, 50, 325, 90); + fontInput.value = elementEditing.style.fontFamily; + fontText = document.createElement("div") + styleMenuText(fontText, 0, 325, "Font:") + fontInfo = document.createElement("div") + styleMenuText(fontInfo, 180, 327, "Accepts CSS fonts"); + fontInfo.style.color = 'DarkMagenta'; + fontInfo.style.fontSize = "10pt" + + fontButton.onclick = function () { + if (CSS.supports('font-family', fontInput.value)) { + elementEditing.style.fontFamily = fontInput.value; + + guiSettings = JSON.parse(localStorage.getItem('guiSettings')) + guiSettings[elementEditing.id]["fontFamily"] = elementEditing.style.fontFamily; + localStorage.setItem('guiSettings', JSON.stringify(guiSettings)); + + fontInfo.innerHTML = "Valid font!"; + fontInfo.style.color = "ForestGreen"; + } else { + fontInfo.innerHTML = "INVALID FONT"; + fontInfo.style.color = "red"; + } + } + fontInput.onclick = (e) => { + console.log("please"); + e.stopImmediatePropagation() + e.stopPropagation(); + e.preventDefault(); + fontInput.focus() + } + fontInput.onkeydown = (e) => { + console.log("pleasev2"); + e.stopImmediatePropagation() + e.stopPropagation(); + }; + + + //Custom Text CSS + customTextButton = document.createElement("button"); + styleMenuButton(customTextButton, 150, 355); + customTextInput = document.createElement("input"); + styleMenuInput(customTextInput, 50, 355, 90); + if (elementEditing.name === "Custom Text") { + customTextInput.value = elementEditing.innerHTML; + } + customTextText = document.createElement("div") + styleMenuText(customTextText, 0, 355, "Text:") + customTextInfo = document.createElement("div") + styleMenuText(customTextInfo, 180, 357, "Only for custom text"); + customTextInfo.style.color = 'DarkMagenta'; + customTextInfo.style.fontSize = "10pt" + + customTextButton.onclick = function () { + if (elementEditing.name === "Custom Text") { + elementEditing.innerHTML = customTextInput.value; + + guiSettings = JSON.parse(localStorage.getItem('guiSettings')) + guiSettings[elementEditing.id]["innerHTML"] = elementEditing.innerHTML; + localStorage.setItem('guiSettings', JSON.stringify(guiSettings)); + } else { + customTextInfo.innerHTML = "Error! Only for custom text!" + customTextInfo.style.color = 'red'; + } + } + customTextInput.onclick = (e) => { + console.log("please"); + e.stopImmediatePropagation() + e.stopPropagation(); + e.preventDefault(); + customTextInput.focus() + } + customTextInput.onkeydown = (e) => { + console.log("pleasev2"); + e.stopImmediatePropagation() + e.stopPropagation(); + }; + + + //Add all the elements to the div/document + b.appendChild(leftInput); + b.appendChild(leftButton); + b.appendChild(leftText); + b.appendChild(leftRightMostText); + + b.appendChild(topText); + b.appendChild(topInput); + b.appendChild(topButton); + b.appendChild(topBottomMostText); + + b.appendChild(borderText); + b.appendChild(borderButton); + + b.appendChild(bgColorText) + b.appendChild(bgColorInput); + b.appendChild(bgColorButton); + b.appendChild(bgColorInfo); + + b.appendChild(onColorText) + b.appendChild(onColorInput); + b.appendChild(onColorButton); + b.appendChild(onColorInfo); + + b.appendChild(scaleText) + b.appendChild(scaleInput); + b.appendChild(scaleButton); + + b.appendChild(textColorText) + b.appendChild(textColorInput); + b.appendChild(textColorButton); + b.appendChild(textColorInfo); + + + b.appendChild(onTextColorText) + b.appendChild(onTextColorInput); + b.appendChild(onTextColorButton); + b.appendChild(onTextInfo); + + b.appendChild(opacityText); + b.appendChild(opacityInput); + b.appendChild(opacityButton); + + b.appendChild(fontText); + b.appendChild(fontInput); + b.appendChild(fontButton); + b.appendChild(fontInfo); + + b.appendChild(customTextText); + b.appendChild(customTextInput); + b.appendChild(customTextButton); + b.appendChild(customTextInfo); + + + + + + + b.appendChild(xButton); + b.appendChild(deleteElementButton); + b.appendChild(titleText); + + document.body.appendChild(b); + + + } + + + let createGuiElement = (id1, top, left, name) => { + b = document.createElement("div") + c = { + backgroundColor: "white", + border: "2px solid black", + fontFamily: "Retron2000", + position: "absolute", + top: top.toString() + "px", + left: left.toString() + "px", + padding: "5px", + color: "black", + fontSize: "10pt", + display: "none", + cursor: "pointer", + }; + Object.keys(c).forEach(function (a) { + b.style[a] = c[a]; + }); + b.id = id1; + b.name = name; + const newContent = document.createTextNode("N/A"); + + // add the text node to the newly created div + b.appendChild(newContent); + + document.body.appendChild(b); + + document.getElementById(b.id).className = 'gui'; + //document.getElementById(b.id).setAttribute("onmouseover", "guiHoverMove(this)"); + document.getElementById(b.id).addEventListener('mousedown', (event) => { + //onsole.log(event.button) + if (event.button === 0) { + elementMoving = event.target; + startingMouseCoords = [event.clientX, event.clientY] + } + if (event.button === 2) { + oncontextmenu = (e) => { + e.preventDefault() + } + } + + }); + document.getElementById(b.id).addEventListener('mouseup', (event) => { + if (event.button === 0) { + guiSettings = JSON.parse(localStorage.getItem('guiSettings')) + guiSettings[elementMoving.id]["left"] = parseInt(elementMoving.style.left); + guiSettings[elementMoving.id]["top"] = parseInt(elementMoving.style.top); + localStorage.setItem('guiSettings', JSON.stringify(guiSettings)); + + elementMoving = null; + startingMouseCoords = null; + + } + if (event.button === 2) { + if (elementEditing === null) { + elementEditing = event.target; + + createGuiEditingMenu(); + + } else { + document.getElementById("gui-editing-menu").remove(); + elementEditing = event.target; + + createGuiEditingMenu(); + } + + + + + + } + + }); + + document.getElementById(b.id).onwheel = function (event) { + event.preventDefault(); + console.log(event.deltaY); + scale += event.deltaY * -0.00125; + + // Restrict scale + scale = Math.min(Math.max(0.7, scale), 5); + + // Apply scale transform + event.target.style.transform = `scale(${scale})`; + console.log(scale) + + guiSettings = JSON.parse(localStorage.getItem('guiSettings')) + guiSettings[event.target.id]["scale"] = scale; + localStorage.setItem('guiSettings', JSON.stringify(guiSettings)); + } + + + }; + + let createEnableElement = (elementButton, elementText, elID, elName, y, btnX, x = 5) => { + styleMenuButton(elementButton, btnX, y); + if (document.getElementById(elID) === null || document.getElementById(elID).style.display === "none") { + elementButton.style.backgroundColor = "white"; + elementButton.innerHTML = "⬜"; + } else { + elementButton.style.backgroundColor = "#00d26a"; + elementButton.innerHTML = "✅"; + } + styleMenuText(elementText, x, y, elName + ":") + elementButton.onclick = (e) => { + console.log("bro") + e.stopImmediatePropagation() + e.stopPropagation(); + e.preventDefault(); + elementButton.focus(); + if (elementButton.style.backgroundColor === "white") { + elementButton.style.backgroundColor = "#00d26a"; + elementButton.innerHTML = "✅"; + + guiSettings = JSON.parse(localStorage.getItem('guiSettings')) + + if (document.getElementById(elID) === null) { + createGuiElement(elID, guiPreSettings[elID]["top"], guiPreSettings[elID]["left"], elName); + if (arrows.includes(elID)) { + if (elID === "up") { + document.getElementById(elID).innerHTML = "🠙"; + } else if (elID === "left") { + document.getElementById(elID).innerHTML = "🠘"; + } else if (elID === "down") { + document.getElementById(elID).innerHTML = "🠛"; + } else if (elID === "right") { + document.getElementById(elID).innerHTML = "🠚"; + } else if (elID === "reset") { + document.getElementById(elID).innerHTML = "R"; + } else if (elID === "control") { + document.getElementById(elID).innerHTML = "CTRL"; + } + } + guiSettings[elID] = guiPreSettings[elID]; + } + if (document.getElementById(elID).style.display === "none") { + document.getElementById(elID).style.display = "block"; + displayNone = displayNone.filter(function (ele) { + ele != elID; + }); + console.log(displayNone) + guiSettings[elID]["display"] = document.getElementById(elID).style.display; + + } + + + localStorage.setItem('guiSettings', JSON.stringify(guiSettings)); + } else { + elementButton.style.backgroundColor = "white"; + elementButton.innerHTML = "⬜"; + document.getElementById(elID).style.display = "none"; + displayNone.push(elID); + + guiSettings = JSON.parse(localStorage.getItem('guiSettings')) + guiSettings[elID]["display"] = document.getElementById(elID).style.display; + localStorage.setItem('guiSettings', JSON.stringify(guiSettings)); + + } + } + + + + } + + let createEnablingMenu = () => { + //Create background div + bg = document.createElement("div") + c = { + backgroundColor: "white", + border: "solid", + borderColor: "black", + borderWidth: "2px", + fontFamily: "Retron2000", + position: "absolute", + top: "22.5%", + left: "35%", + padding: "5px", + color: "black", + fontSize: "10pt", + display: "block", + width: "30%", + height: "55%", + }; + Object.keys(c).forEach(function (a) { + bg.style[a] = c[a]; + }); + bg.id = "enabling-menu-bg"; + + xButton = document.createElement("button"); + c = { + backgroundColor: "white", + border: "none", + position: "absolute", + fontFamily: "Retron2000", + color: "black", + fontSize: "10pt", + cursor: "pointer", + right: "1px", + top: "1px", + }; + Object.keys(c).forEach(function (a) { + xButton.style[a] = c[a]; + }); + + xButton.innerHTML = "❌"; + + xButton.onclick = (e) => { + console.log("hi?") + e.stopImmediatePropagation() + e.stopPropagation(); + e.preventDefault() + bg.remove(); + console.log("hi v2") + + } + + + titleText = document.createElement("div"); + + c = { + backgroundColor: "white", + border: "none", + fontFamily: "Retron2000", + position: "absolute", + top: "2%", + left: "23%", + //padding: "5px", + color: "black", + fontSize: "18pt", + cursor: "default", + }; + Object.keys(c).forEach(function (a) { + titleText.style[a] = c[a]; + }); + + newContent = document.createTextNode("Enable/Disable Gui"); + titleText.appendChild(newContent); + + + //Border Enabled CSS + posButton = document.createElement("button"); + posText = document.createElement("div") + createEnableElement(posButton, posText, "pos", "Position", 50, 82); + + fpsButton = document.createElement("button"); + fpsText = document.createElement("div") + createEnableElement(fpsButton, fpsText, "fps", "FPS", 80, 45); + + stateButton = document.createElement("button"); + stateText = document.createElement("div") + createEnableElement(stateButton, stateText, "state", "State", 110, 62); + + attemptsButton = document.createElement("button"); + attemptsText = document.createElement("div") + createEnableElement(attemptsButton, attemptsText, "attempts", "Attempts", 140, 95); + + upButton = document.createElement("button"); + upText = document.createElement("div") + createEnableElement(upButton, upText, "up", "Up Key", 170, 71); + + leftButton = document.createElement("button"); + leftText = document.createElement("div") + createEnableElement(leftButton, leftText, "left", "Left Key", 200, 89); + + downButton = document.createElement("button"); + downText = document.createElement("div") + createEnableElement(downButton, downText, "down", "Down Key", 230, 95); + + rightButton = document.createElement("button"); + rightText = document.createElement("div") + createEnableElement(rightButton, rightText, "right", "Right Key", 260, 95); + + speedButton = document.createElement("button"); + speedText = document.createElement("div") + createEnableElement(speedButton, speedText, "speed", "Speed", 290, 95); + + resetButton = document.createElement("button"); + resetText = document.createElement("div") + createEnableElement(resetButton, resetText, "reset", "Reset", 320, 95); + + controlButton = document.createElement("button"); + controlText = document.createElement("div") + createEnableElement(controlButton, controlText, "control", "CTRL", 50, 245, 190); + + + + + + textButton = document.createElement("button"); + textText = document.createElement("div") + styleMenuButton(textButton, 95, 350); + + textButton.style.backgroundColor = "#00d26a"; + textButton.innerHTML = "➕"; + + styleMenuText(textText, 5, 350, "Add Text:") + textButton.onclick = function () { + customTextNum++; + createGuiElement("text" + customTextNum, 300, 330, "Custom Text"); + + guiSettings = JSON.parse(localStorage.getItem('guiSettings')) + guiSettings["text" + customTextNum] = { + "left": 300, + "top": 300, + "name": "Custom Text", + "border": "2px solid black", + "backgroundColor": "white", + "onBgColor": "", + "scale": 1, + "color": "black", + "onTextColor": "", + "opacity": 1, + "fontFamily": "Retron2000", + "innerHTML": "N/A", + "enabled": true, + "display": "block", + "width": 0, + "height": 0 + } + localStorage.setItem('guiSettings', JSON.stringify(guiSettings)); + + + } + + + + + + + + bg.appendChild(posText); + bg.appendChild(posButton); + + bg.appendChild(fpsText); + bg.appendChild(fpsButton); + + bg.appendChild(stateText); + bg.appendChild(stateButton); + + bg.appendChild(attemptsText); + bg.appendChild(attemptsButton); + + bg.appendChild(upText); + bg.appendChild(upButton); + + bg.appendChild(leftText); + bg.appendChild(leftButton); + + bg.appendChild(downText); + bg.appendChild(downButton); + + bg.appendChild(rightText); + bg.appendChild(rightButton); + + bg.appendChild(textText); + bg.appendChild(textButton); + + bg.appendChild(speedText); + bg.appendChild(speedButton); + + bg.appendChild(resetText); + bg.appendChild(resetButton); + + bg.appendChild(controlText); + bg.appendChild(controlButton); + + + bg.appendChild(titleText); + bg.appendChild(xButton); + + document.body.appendChild(bg); + + } + + + + + + let guiMod = { + init() { + this.movementKeys = []; //left, up, right, down + this.arrows = ["left", "up", "right", "down", "reset", "control"]; + this.activatorKeyHeld = false; + this.activated = false; + this.speed = { x: 10, y: 10 }; + this.stored = [1500, true]; + this.override = false; + this.previousPosLength = 7; + this.attempts = 1; + this.editing = false; + + + + + + + document.addEventListener("keydown", (event) => { + this.keyDown(event) + + }); + document.addEventListener("keyup", (event) => { + this.keyUp(event) + }); + + function addStyle(styleString) { + const style = document.createElement('style'); + style.textContent = styleString; + document.head.append(style); + } + addStyle(` + #ovo-multiplayer-disconnected-container { + pointer-events: none; + } + #ovo-multiplayer-other-container { + pointer-events: none; + } + #ovo-multiplayer-container { + pointer-events: none; + } + #ovo-multiplayer-tab-container { + pointer-events: all; + } + .ovo-multiplayer-button-holder { + pointer-events: all; + } + .ovo-multiplayer-tab { + pointer-events: all; + } + .ovo-multiplayer-button { + pointer-events: all; + } + + `); + + //localStorage.setItem('myCat', 'Tom'); + console.log(localStorage.getItem('guiSettings')); + if (localStorage.getItem('guiSettings') === null) { + localStorage.setItem('guiSettings', JSON.stringify(guiPreSettings)); + } + + //guiSettings = guiPreSettings; + guiSettings = JSON.parse(localStorage.getItem('guiSettings')); + for (const [key] of Object.entries(guiSettings)) { + console.log(key) + + console.log(guiSettings[key]); + if (guiSettings[key]["enabled"] === true) { + createGuiElement(key, guiSettings[key]["top"], guiSettings[key]["left"], guiSettings[key]["name"]); + element = document.getElementById(key); + element.style.border = guiSettings[key]["border"] + element.style.backgroundColor = guiSettings[key]["backgroundColor"]; + element.style.transform = `scale(${guiSettings[key]["scale"]})`; + element.style.color = guiSettings[key]["color"]; + element.style.opacity = guiSettings[key]["opacity"]; + element.style.fontFamily = guiSettings[key]["fontFamily"]; + element.style.display = guiSettings[key]["display"]; + if (element.style.display === "none") { + displayNone.push(key); + } + + if (arrows.includes(key)) { + keyColors[key][0] = guiSettings[key]["backgroundColor"]; + keyColors[key][1] = guiSettings[key]["onBgColor"]; + keyColors[key][2] = guiSettings[key]["color"]; + keyColors[key][3] = guiSettings[key]["onTextColor"]; + element.innerHTML = guiSettings[key]["innerHTML"]; + } + if (element.name === "Custom Text") { + element.innerHTML = guiSettings[key]["innerHTML"]; + } + } + + + + + + + } + //createGuiElement("pos", 5, 5, "Position"); //create position element + + + // createGuiElement("fps", 40, 5, "FPS"); //create fps element + // //createGuiElement("dy", 40, 30); //create position element + // //createGuiElement("dx", 40, 55); //create position element + // createGuiElement("state", 5, 85, "State"); //create position element + // createGuiElement("attempts", 75, 5, "Attempts"); //create attempts element + + + // createGuiElement(this.arrows[1], 75, 70, "Up Key"); //create w key element + // document.getElementById(this.arrows[1]).innerHTML = "🠙"; + // createGuiElement(this.arrows[0], 40, 96, "Left Key"); //create a key element + // document.getElementById(this.arrows[0]).innerHTML = "🠘"; + // createGuiElement(this.arrows[3], 40, 70, "Down Key"); //create s key element + // document.getElementById(this.arrows[3]).innerHTML = "🠛"; + // createGuiElement(this.arrows[2], 40, 40, "Right Key"); //create d key element + // document.getElementById(this.arrows[2]).innerHTML = "🠚"; + + + + + + const btn = document.createElement("button"); + btn.innerHTML = "Enable/Disable Elements"; + + btn.style.position = "absolute"; + btn.style.bottom = "300px"; + btn.style.right = "50px"; + + c = { + backgroundColor: "white", + border: "solid", + borderColor: "black", + borderWidth: "2px", + fontFamily: "Retron2000", + padding: "5px", + color: "black", + fontSize: "10pt", + display: "none", + }; + Object.keys(c).forEach(function (a) { + btn.style[a] = c[a]; + }); + + btn.onclick = function () { + if (document.getElementById("enabling-menu-bg") === null) { + createEnablingMenu(); + } + } + btn.id = "toggle-elements-btn" + + document.body.appendChild(btn); + + + + + + // localforage.getItem("DedraOvO").then(function(value) { + // // This code runs once the value has been loaded + // // from the offline store. + // console.log(value); + // }).catch(function(err) { + // // This code runs if there were any errors + // console.log(err); + // }); + // localforage.keys().then(function(keys) { + // // An array of all the key names. + // console.log(keys); + // }).catch(function(err) { + // // This code runs if there were any errors + // console.log(err); + // });\ + + let inputsObject = runtime.types_by_index.find(x => x.plugin instanceof cr.plugins_.Globals && x.instvar_sids.length === 6).instances[0]; + //inputsObject.instance_vars; + console.log(inputsObject.instance_vars); + this.movementKeys = (inputsObject.instance_vars).slice(0, 4).concat([82, 17]); //Left, Up, Right, Down, R + //#this.movementKeys[4] = 82; //R + console.log(this.movementKeys); + + + + + + + + runtime.tickMe(this); + + notify("Gui Mod Loaded", "by Awesomeguy", "https://cdn.iconscout.com/icon/free/png-256/keyboard-arrow-4712861-3906731.png"); + + + }, + + + + keyDown(event) { + + //console.log(String.fromCharCode(event.keyCode)); + //console.log(cr.plugins_.Keyboard.prototype.cnds.OnKey() || cr.plugins_.Keyboard.prototype.cnds.OnKeyCode()); + //console.log(cr.plugins_.Keyboard.prototype.exps.StringFromKeyCode()) + //c2_callFunction("Controls > Buffer", ["Jump"]); + if (this.movementKeys.includes(event.keyCode)) { + + // //console.log(event.key); + console.log(this.movementKeys) + console.log("key down" + event.keyCode) + arrow = this.arrows[this.movementKeys.indexOf(event.keyCode)] + + document.getElementById(arrow).style.backgroundColor = keyColors[arrow][1]; + document.getElementById(arrow).style.color = keyColors[arrow][3]; + } + + + // if(event.keyCode === 82 && event.target.id === "bg-color-input") { + // //event.target.focus() + // event.preventDefault(); + // //return false; + // console.log("hi") + // } + }, + + keyUp(event) { + if (this.movementKeys.includes(event.keyCode)) { + arrow = this.arrows[this.movementKeys.indexOf(event.keyCode)] + + document.getElementById(arrow).style.backgroundColor = keyColors[arrow][0]; + document.getElementById(arrow).style.color = keyColors[arrow][2]; + + //console.log(event.key); + + } + }, + + tick() { + let playerInstances = runtime.types_by_index.filter((x) => !!x.animations && x.animations[0].frames[0].texture_file.includes("collider"))[0].instances.filter((x) => x.instance_vars[17] === "" && x.behavior_insts[0].enabled); + let player = playerInstances[0]; + const elements = document.querySelectorAll('.gui'); + //console.log(this.attempts) + //console.log(this.editing); + + try { + + + + + + if (elementMoving !== null) { + + + elementMoving.style.left = (currentMouseCoords[0] - startingMouseCoords[0] + parseInt(elementMoving.style.left)).toString() + 'px'; + elementMoving.style.top = (currentMouseCoords[1] - startingMouseCoords[1] + parseInt(elementMoving.style.top)).toString() + 'px'; + startingMouseCoords = currentMouseCoords; + } + + if (isPaused() && document.getElementById("toggle-elements-btn").style.display === "none") { + document.getElementById("toggle-elements-btn").style.display = "block"; + } else if (!isPaused() && document.getElementById("toggle-elements-btn").style.display === "block") { + document.getElementById("toggle-elements-btn").style.display = "none"; + } + + + + //GUI ITSELF + elements.forEach(element => { + element.style.display = "block"; + displayNone.forEach(id2 => { + document.getElementById(id2).style.display = "none"; + }); + }); + if (isInLevel() && runtime.running_layout.name !== "Level Menu") { + if (document.getElementById("fps") !== null) { + document.getElementById("fps").innerHTML = runtime.fps; + } + if (document.getElementById("speed") !== null) { + document.getElementById("speed").innerHTML = Math.round(Math.sqrt(Math.pow(player.behavior_insts[0].dx, 2) + Math.pow(player.behavior_insts[0].dy, 2))); + } + if (Object.keys(runtime.deathRow).length !== 0) { + this.attempts++; + console.log(this.attempts); + console.log("??"); + } + //console.log(this.attempts); + if (document.getElementById("attempts") !== null) { + document.getElementById("attempts").innerHTML = this.attempts.toString(); + } + if (document.getElementById("pos") !== null) { + document.getElementById("pos").innerHTML = + Math.round(player.x.toString()) + + ", " + + Math.round(player.y.toString()); + } + + + // document.getElementById("dy").innerHTML = Math.round(player.behavior_insts[0].dy.toString()) + // document.getElementById("dx").innerHTML = Math.round(player.behavior_insts[0].dx.toString()) + + //console.log(Math.round(player.behavior_insts[0].dy.toString()), Math.round(player.behavior_insts[0].dx.toString())) + if (document.getElementById("state") !== null) { + if (Math.abs(player.behavior_insts[0].dx) > 551) { + document.getElementById("state").innerHTML = "Rejump/1FSJ"; + } else if (Math.abs(player.behavior_insts[0].dx) > 500) { + document.getElementById("state").innerHTML = "Sliding"; + } else if (Math.abs(player.behavior_insts[0].dx) > 450) { + document.getElementById("state").innerHTML = "Diving"; + } else if (player.behavior_insts[0].dy < 0) { + document.getElementById("state").innerHTML = "Jumping"; + } else if (player.behavior_insts[0].dy > 0) { + document.getElementById("state").innerHTML = "Falling"; + } else if (Math.abs(player.behavior_insts[0].dx) > 0) { + document.getElementById("state").innerHTML = "Running"; + } else { + document.getElementById("state").innerHTML = "Resting"; + } + + } + + + + } else { + elements.forEach(element => { + element.style.display = "none"; + }); + if ((runtime.types_by_index.find(x => x.plugin instanceof cr.plugins_.Globals && x.instvar_sids.length === 6).instances[0]).instance_vars.slice(0, 4) !== this.movementKeys) { + this.movementKeys = (runtime.types_by_index.find(x => x.plugin instanceof cr.plugins_.Globals && x.instvar_sids.length === 6).instances[0]).instance_vars.slice(0, 4).concat([82, 17]); + } + } + + + + + + } catch (err) { } + } + }; + + guiMod.init(); +})(); \ No newline at end of file diff --git a/games/ovo/modloader/mods/v1/levelselector.js b/games/ovo/modloader/mods/v1/levelselector.js new file mode 100644 index 00000000..ca5b2385 --- /dev/null +++ b/games/ovo/modloader/mods/v1/levelselector.js @@ -0,0 +1,152 @@ +(function () { + let old = globalThis.sdk_runtime; + c2_callFunction("execCode", ["globalThis.sdk_runtime = this.runtime"]); + let runtime = globalThis.sdk_runtime; + globalThis.sdk_runtime = old; + + let notify = (title, text, image = "./speedrunner.png") => { + cr.plugins_.sirg_notifications.prototype.acts.AddSimpleNotification.call( + runtime.types_by_index.find( + (type) => type.plugin instanceof cr.plugins_.sirg_notifications + ).instances[0], + title, + text, + image + ); + }; + + let levelSelector = { + init() { + document.addEventListener("keydown", (event) => { + this.keyDown(event) + }); + + this.initDomUI(); + this.levelSelectorWindow = null; + + globalThis.ovoLevelSelector = this; + }, + + initDomUI() { + let style = document.createElement("style"); + style.type = "text/css"; + style.innerHTML = ` + .ovo-levelselector-button { + background-color: white; + border: solid; + border-color: black; + border-width: 6px; + font-family: "Retron2000"; + position: absolute; + z-index: 3; + cursor: pointer; + } + + .ovo-levelselector-button:hover { + background-color: rgba(200, 200, 200, 1); + } + ` + document.head.appendChild(style); + + let toggleButton = document.createElement("button"); + toggleButton.id = "ovo-levelselector-toggle-button"; + toggleButton.innerText = ""; + + let loadIcon = document.createElement("img"); + loadIcon.src = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyMjVweCIgaGVpZ2h0PSIyMjVweCIgdmlld0JveD0iMCAwIDIyNSAyMjUiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDIyNSAyMjUiIHhtbDpzcGFjZT0icHJlc2VydmUiPiAgPGltYWdlIGlkPSJpbWFnZTAiIHdpZHRoPSIyMjUiIGhlaWdodD0iMjI1IiB4PSIwIiB5PSIwIgogICAgaHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFPRUFBQURoQWdNQUFBQkQzVHJwQUFBQmZHbERRMUJwWTJNQUFDaVJmWkU5U01OQUhNVmYKVTdVcUZRY3ppQ2hrcUU0V1JFVWNwWXBGc0ZEYUNxMDZtRno2QlUwYWtoUVhSOEcxNE9ESFl0WEJ4VmxYQjFkQkVQd0FjWFJ5VW5TUgpFditYRkZyRWVuRGNqM2YzSG5mdkFLRldZcHJWTVFGb3VtMG1vaEVwblZtVkFxOFEwQVVSUFJpUm1XWEVrb3NwdEIxZjkvRHg5UzdNCnM5cWYrM1AwcVZtTEFUNkplSTRacGsyOFFUeXphUnVjOTRsRlZwQlY0blBpY1pNdVNQeklkY1hqTjg1NWx3V2VLWnFweER5eFNDemwKVzFocFlWWXdOZUpwNHBDcTZaUXZwRDFXT1c5eDFrb1YxcmduZjJFd3E2OGt1VTV6R0ZFc0lZWTRKQ2lvb0lnU2JJUnAxVW14a0tEOQpTQnYva091UGswc2hWeEdNSEFzb1E0UHMrc0gvNEhlM1ZtNXEwa3NLUm9ET0Y4ZjVHQVVDdTBDOTZqamZ4NDVUUHdIOHo4Q1YzdlNYCmE4RHNKK25WcGhZNkF2cTNnWXZycHFic0FaYzd3T0NUSVp1eUsvbHBDcmtjOEg1RzM1UUJCbTZCM2pXdnQ4WStUaCtBRkhXMWZBTWMKSEFKamVjcGViL1B1N3RiZS9qM1Q2TzhITkE1eWpwYUNWWTBBQUFBZ1kwaFNUUUFBZWlZQUFJQ0VBQUQ2QUFBQWdPZ0FBSFV3QUFEcQpZQUFBT3BnQUFCZHduTHBSUEFBQUFBbFFURlJGQUFnS0FRRUJBQWdLa25wVFhRQUFBQUYwVWs1VEFFRG0yR1lBQUFBQllrdEhSQUNJCkJSMUlBQUFBQ1hCSVdYTUFBQXNTQUFBTEVnSFMzWDc4QUFBQUIzUkpUVVVINWdJSEFoUUJzZk1LU3dBQUEwWkpSRUZVYU43dG1rdUMKNVNBSVJjT0FKYkNmTENHRDUvNjMwcFBFK0VHNFluV2xVdDJPWHBVZXZKQ1BpTm0ySDlVNHBVK0VTMmZiSnpsS3VSMnpRdTgySTdrQwpaMUJLVFlNRnA2NkJZWktlVERHdHNONmtOa0J2RWRkUCtSdWY4bWkwdTVOZTAzU20zRW1WV0FvMEtXc1hRWkJKUlRVUFhGUFNMOTdnCjM3M1lrUlEzUHZ0TVJ6bmxaNjZuRUtWYmR1UWFodG1VYS9hYWNzWHFaRXV1ZWRISUVNUjJFQXhGWXQ4bk5EYnNQUkREZnZLZUJ4NXAKWXUrbUhwb1c5K2tkT2VvL3ZLemJKdit0T2hqQ3J0aVJMQUhXQUgwTXNnU1Fwb3NBc2JwNWhoWXNVUndWYU9uUTdHTXJuZUlUNXFZMgpBWUhyc25Ra2d4bElQMDdBQmIzWEJ1Y2YzY0F3aVFhb2R3c05VRDhTRFZDdlR2QTh0aUh4MUs0ZENnZW9sVWNUT1N4WEllR0pGTGFlCkpVNW03WG82MUlXby80T1FGSzhLVVpqTTBpR3lERXFjekw4aHNnd3VYOG9oY2lzR2lFSWF1NERpc3NqMTh5YXRyWWZjWkpvbTkxWTQKUnVhd0ZNR0N5U09QUDJaSStnS3kwZzJRZDF6aTVIMTlRRElEVDVEM0hReVNPVEFyNU5HUm0wWFNTWkpLV3UwaWxzaDlqcno4NHdqNQpXU2EzU1ZKV1NjRlgzWnRNcStSMGhZMmZJd1Axd1BNV21LM29MWkgwR0VreDhsZ2s5L3l2K24wemJoMkpQaXYveVNYU1doMU9rbFdTClBQTHpUNUJ5a3R1cnlMaWY3N2dxaTJUOFdmbEJUL2F2SnFmWEZYOWswMVpYd1hmbENVdjVVRFFIZTFldUtROWs0L3pBcnFONGJYN2IKN2lxK0YzeGk1eHJmWno5U0ZaQlgxVTN1bStqN0trdFBWTkRpOWI1NGpYR2hyaW5oV21vMk1sMi9aWVUwV2wxdFBuQ3lyRk0vVVZWLwo0dlRnL3FPSy9qQzB4UXJHRTduQ1Y1M014TStSNG1kWEMrZGxNa1UyRXNBUXRlZUNIRDZMako5L1BuRmF1M0Myaklhb0h4Yy9ReWZRCjBkUjdsU0JIdFFray9IMENRNDVxOWpGSFZaOFFSM1h6QXNqVnh6QWdWMytqa2k5M05NUmZ4RWF5QkhsSHA1RkZVeTZOVkpFbmQyemEKVzFMRy9XTExwVFM4NHB6TW0wRU1iNUkxS1ZuT1dGWnRSV3ladFJkem81ZnR5TXU0TzluaDQrR2tuSno3WkpoZ3VKa0hEMFNKSTNibAp1OVRUZUNzcnVWUG1MRXd6NTcyT1U0OEtrcG5kM3hudnJTMmtyRllsN1RtaDk2YXN2cWMraW4wQXNyb210ZmxUcm53M2ZzV3lhaEM0CjhIMThyeGZUMnNRWGphdUt6aFc3S0NLMUNSTWFuRWJ5ZEZYdUw3Yy94TFk0ckhuSG43d0FBSFg2WlZoSlprbEpLZ0FJQUFBQUNnQUEKQVFRQUFRQUFBT0VBQUFBQkFRUUFBUUFBQU9FQUFBQUNBUU1BQXdBQUFJWUFBQUFTQVFNQUFRQUFBQUVBQUFBYUFRVUFBUUFBQUl3QQpBQUFiQVFVQUFRQUFBSlFBQUFBb0FRTUFBUUFBQUFJQUFBQXhBUUlBRFFBQUFKd0FBQUF5QVFJQUZBQUFBS29BQUFCcGh3UUFBUUFBCkFMNEFBQURRQUFBQUNBQUlBQWdBU0FBQUFBRUFBQUJJQUFBQUFRQUFBRWRKVFZBZ01pNHhNQzR5T0FBQU1qQXlNam93TWpvd05pQXgKTlRveE16b3lPQUFCQUFHZ0F3QUJBQUFBQVFBQUFBQUFBQUFKQVA0QUJBQUJBQUFBQVFBQUFBQUJCQUFCQUFBQUFBRUFBQUVCQkFBQgpBQUFBQUFFQUFBSUJBd0FEQUFBQVFnRUFBQU1CQXdBQkFBQUFCZ0FBQUFZQkF3QUJBQUFBQmdBQUFCVUJBd0FCQUFBQUF3QUFBQUVDCkJBQUJBQUFBU0FFQUFBSUNCQUFCQUFBQXNYUUFBQUFBQUFBSUFBZ0FDQUQvMlAvZ0FCQktSa2xHQUFFQkFBQUJBQUVBQVAvYkFFTUEKQ0FZR0J3WUZDQWNIQndrSkNBb01GQTBNQ3dzTUdSSVREeFFkR2g4ZUhSb2NIQ0FrTGljZ0lpd2pIQndvTnlrc01ERTBORFFmSnprOQpPREk4TGpNME12L2JBRU1CQ1FrSkRBc01HQTBOR0RJaEhDRXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5Ck1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU12L0FBQkVJQVFBQkFBTUJJZ0FDRVFFREVRSC94QUFmQUFBQkJRRUJBUUVCQVFBQUFBQUEKQUFBQUFRSURCQVVHQndnSkNndi94QUMxRUFBQ0FRTURBZ1FEQlFVRUJBQUFBWDBCQWdNQUJCRUZFaUV4UVFZVFVXRUhJbkVVTW9HUgpvUWdqUXJIQkZWTFI4Q1F6WW5LQ0NRb1dGeGdaR2lVbUp5Z3BLalExTmpjNE9UcERSRVZHUjBoSlNsTlVWVlpYV0ZsYVkyUmxabWRvCmFXcHpkSFYyZDNoNWVvT0VoWWFIaUltS2twT1VsWmFYbUptYW9xT2twYWFucUttcXNyTzB0YmEzdUxtNndzUEV4Y2JIeU1uSzB0UFUKMWRiWDJObmE0ZUxqNU9YbTUranA2dkh5OC9UMTl2ZjQrZnIveEFBZkFRQURBUUVCQVFFQkFRRUJBQUFBQUFBQUFRSURCQVVHQndnSgpDZ3YveEFDMUVRQUNBUUlFQkFNRUJ3VUVCQUFCQW5jQUFRSURFUVFGSVRFR0VrRlJCMkZ4RXlJeWdRZ1VRcEdoc2NFSkl6TlM4QlZpCmN0RUtGaVEwNFNYeEZ4Z1pHaVluS0NrcU5UWTNPRGs2UTBSRlJrZElTVXBUVkZWV1YxaFpXbU5rWldabmFHbHFjM1IxZG5kNGVYcUMKZzRTRmhvZUlpWXFTazVTVmxwZVltWnFpbzZTbHBxZW9xYXF5czdTMXRyZTR1YnJDdzhURnhzZkl5Y3JTMDlUVjF0ZlkyZHJpNCtUbAo1dWZvNmVyeTgvVDE5dmY0K2ZyLzJnQU1Bd0VBQWhFREVRQS9BTy8xelhMaSt2UCtFSzhGZVZCY1FSaU82dTRsQWkwNlBHQXFnY2I4CkRBQTZma0NTUzZKOEtQRFZwb2VpV1p1dFR1VHR0YlZlWnJ1WG9YY2p0Nm5vQmdEc0tKWk5GK0ZIaHExMFRRN0kzV3AzSjIydG92TTEKM0wwTHVmVHBrOUFNQWRoVlMydHJYd0JZVCtMdkYxd3Q5NG12UUVKakdUazlJSUIySC82emdEZ0FMYTN0UEFGaGNlTHZGMXd0NzRsdgpnRUpqR1RrL2R0NEI2ZjhBNnpnRGkxb0doWEU5MGZISGpjd3czMGNiU1c5dEl3OHJUWXV2VThiOGRXN2ZuazBIUXJpZTdQamp4dVlZCmI2S015Vzl0SXc4clRZdXA1UEcvSFZ1MzVrMDRsbStMVndzOHlTd2VEWVpNeHhzQ2phaXluaGlPb2pCSEE2bjJ4eUFKQ0p2aTNjQ2UKYU9XRHdiQkxtS053VmJVV1Z1R0k2aU1FY0RxZStNRUc3ckd2VDYxcUQrRGZCc2tjVFd5aUsrdm9RUExzVUhHeGNjYitDQU8yUGJCTgpYMXlmV0wxdkJuZ3Q0NFRiS0liMjlnQTh1d1FmTDVhWTQzOFlBSDNjZTJDNldiUnZoZDRmcy9EL0FJZnN2dEdwM0pJdHJSVG1TNGtQCldTUTljZXA3QUFEc0tBQ2FiUnZoZG9GbjRlMEN5RStwM1JJdGJSVG1TNGtQV1NROWNjY25zQUFPZ0ZHamFKWitDTFBVUEYvaXE5UzQKMXk2RzY3dkN2M0IvRERFT1RnWUF3T1NRUFFBR2k2SGErQ2JPKzhXK0tyMWJyWExsZDExZGxjK1dPME1TOG5BNEdCeVNCN0FHakxkYQp4Y3grT2ZFa3kyT25RUXZKWmFmY0lBTFJja2VjN0hJM2xBRGtZd0dJNW9BTEMxajhSUXhlTXZGUVdDeGlSNWJYVHJ5TlBMdFl3UnRsCmZkbjk0UXU3Y0RnQnNkczFRdG9ybjRyM292THlHU0R3YmJ5NXRvSEJEYWl5bjc3anRHQ09CM3h6amtGSUVuK0t0Mzl0dm8zdHZCbHQKTG0zZ2t5cmFneW43N2p0R0NPQjN4emprSE84ZWZHTHd4cG1remFUb2w2OTFjaFJHcHNNQ05WMmdnZVowMjQ0eWhKRkFHN3EvaUM0OApSNnRONFA4QUNFb2lXMUFqMUxVWWg4bG92VHkwUFF2eGpqZ1lQY0VWTmU2aDRaK0ZYaFgremJDYlQ3U1pJL05XQ1NaVmtsendaU3VkCnpuNWUyU2NZSFN2bXRmaUxydGxwbjlsNkpLdWo2ZXMwa2l4V1kyczI3czc5WElHQms4NEFya3FBUGVORytKL2d2d25xMTNxc2pYL2kKRFhOUUcrNjFPT0FSaFJuQWlSWkNDcWdLdnJuakpPQmpDMWI0MDIrcjYvRnFOOTRYaXZSWlRtVFQxbnVuVlloZ0FFb01xV3p6bm5ISApvRFhrbFBpaGxuZlpERzhqWXpoRkpPUHdvQTlIMWY0M2VKZGFTVzN2YkxTTGl5YVRldHRjMmF5cXZQR2M5U1BYRlBmNDcrTkh0V3R0CituckV5R1BhdHFCaGNZd09hODcvQUxPdnYrZk80Lzc5Ti9oWFNSL0REeHRLaXVuaHUrWldBWUVLT1FmeG9BMTlLK05QaWpSTEZMTFQKSU5JdExkZVJIRFpLZ0o3bkFQVSt0UHMvalI0aHRkY2JWLzdQMGI3WkxoYmlkTEpVbG1USXlwa0hQUlI2OUI2Vno5OThPdkdHbTJVdAo1ZWVIN3lHM2lHNTNaUmdEODZ3ZjdPdnYrZk80L3dDL1RmNFVBZXEzdnhxc05hOFJhWHEyc2VFWVo1ZFBmTUorMk93aXlSdVpZeUFwCmJnRUU5d09SaXQzVnZpLzRkOGMzNjZUcTA5L28vaHNRK1pQdFhkSmRTaDF4RTJ3TmlQYnVKeGc1eHlNYytEeXd5d1BzbWplTnNadzYKa0hINDB5Z0Q2c3VkY2g4WHBwZmhYd05xRmxiYVhOYk5MZVhGdTZpUzN0MTJyNWF4OVVaaXdIekFkK0R6V25xbXI2ZjREc2RPOEllRgpiQkp0WnVSdHRMS1ArQWM1bWxQWWNFNU9TU0Qxd2NmSUZkMTRmK0xQaWJRZFROODAwTjlNNFNPU1c2UVBLWWxPZkxEOVZYcitQTkFICjBOYTJlai9EUFJyenhEcjE0cytyWGpEN1ZlTVAzbHhJZWtVWTY0NDRVZGhrOU0xRnBIaDJiWDlWaDhaK01ZbGphMUJrMDZ3bFB5V1MKZGQ3OWkvQU9Ud0NCamtBMXhmaDd4OTRJOFkrSzdIV3ZFOTNMYTZsYUxpMHRiMGdXa0Q0M0YxYkdNOERCYzV5RndNZ1YyZXVhWHF2eApEMWIreXJxSzQwL3dwYnVyM0c0RkpOUkk1Q2p1c2VjRW5xY2R1RFFCVnV4TjhXcnI3SkU4a1BneUNVR2FSY3Eyb3VweUZVOW93UU9lCnB4eGpnbTdyK3UzRFhVZmdmd1FrTWQ4aUtseGNJdjdyVFllblFmeDQ2TDlPbkdaZFgxcHByNVBBM2c5bzdXN1NFclBkUnhib3RPakMKOERBSStZOEFBZE01OU0wTGk0dFBoOVkyL2hUd3BhaS84VGFnZC96bkxGajk2NG5iMEhKL0RBR0FjQUJjM0ZwOFByQzM4S2VFN1VYLwpBSW0xQTc4T1FXTEg3MXhPM1lEay9oZ0RBT0xjTUdqZkN6dzllYTdyVjBiclZidGdibTZJek5kekhwR2c2NDQ0SFlESjZFMHR2YmFOCjhMZEF1OWMxcTZOMXExNHdOemRFWm11NVQwalFkY2NjRHNCazlDYVpwSGgrWFZMOWZHdmpWSW81YlpETFpXazVIbDZmR1BtM25QRy8KZ0VudGdlbVNBTG8rZ3phbGZqeHQ0MVdLR2EyUXkyZHBNUjVlbnhqNWl6WjQzOEFrOXNlMlRUbFNYNHR6bUxNc1BneUdUNWlDVWJVVwpVOWoxRVlJNjlTUjJ4eVR4eS9GcTQ4b21XSHdaREtDeEJLTnFMS2M0QjZpTUVkZXBJNHhnRTNOZTFxNnU3bi9oQ2ZCUGxXOTFGR0lyCm03aVg5MXAwV01ZQUhHL0hSUjA5dU1nQnIydDNOM2RmOElUNEo4cUM3aWpFZHpkeHIrNjAyTEdBQUJ4dngwVWRQeUJmSkRwbnczOE4KUWVIL0FBK0UvdG0vSmpzeEpndlBjTU1lYktmUUhHVDB4Z0RzS21qVFNQaHBvZHBvbWp3TFBxZDdKc2dqa2JEM1V6Y0dTVmdPQm5xMwpRY0FkaFJjVDZmOEFEclM3L3dBUWE5ZnZmYWxlRlF6ZVd2bVN1RjRoaEE1MjV5UXBKeGtrbkdUUUJtVzl0YWVBTENmeGQ0dXVSZjhBCmlXOEFRbU1aYko2UVFMMkgvd0JjbkFIRnJRdEJ1SjdzK04vSEJoaXZvb3pKYjIwamZ1dE5pNm5rOGI4ZFc3WStwSm9XZ1R6M1o4YisKT0RERmZSUmw3ZTJrZjl6cHNYVTllTitPcmRzZmlhYXhUZkZxNFNhZFpvUEJzTWdhT0pzbzJvc3A0WmgxRVlJNmR6Nlk1QUJFbStMTgp3czB5U3dlRFlaTjBjYkFvMm9zcDRaaDFFWUk2ZFNmVEhOeldkYXVOV3ZHOEdlREdqdHpicUlieTlnVUNPd2pIR3hNY2I4REFBKzdqCjJBSnJXczNPclhiZURQQmpKYkdCQkRlWHNDZ1IyRVlHTmlZNDM0NEFIM2Z5QmRKSm8vd3U4TzJmaC93L1pmYWRVdU9MYTFCekxjeWQKREpJUjI5VDBBd0IyRkFCSkxvL3d1OFBXZmgvdy9aZmFkVXVlTGExVTVrdVpPaGtrUHA2bm9CZ0RzS1RSdEZzL0E5amZlTHZGdCtseApyZHd1Njd2SEdSR0QwaGlIVUFjQUFjazQ5Z0UwWFJiVHdOWVh2aTd4ZGZwYzY1Y0x1dTd4K1JHQ2VJWVIxQ2c0QUE1Sng3QVB0dE1iClhMbUx4ZDRybXRVMG1PMzg2MDA2NFJXaXRsUHpDV1F0eDVtMEE1R051V0dUUUJOcDFuZDZucVVQakx4QmRSUTJFVnVaYkd3SUJXMlYKditXanNmOEFsb1Z4eU1iZHpESkZlZCtQUGlCcG1vYXRGSHIzbS8ySEVxWEVHbFFuTXQ2Yy9LMHc2SXVBcmhTY2tNcDlSVlA0b2ZHdApybTRrMGZ3dEtodDR5Vmt2Z3VkemRNeEh0anN3L0N2Q2FBT3U4V2ZFZlgvRnlHMXVaeGI2YXZFZGpiL0xFcWc1VUVEZ2tjRFB0WEkxCnE2QjRiMWJ4UHFIMkxTTE9TNW1BM050Nkl1Y1pKOUs5bDBmNEw2UjRTc1ArRWc4ZGFpa2tkdVEvMk9IL0FGYk5rNFVucStmbHdCam4Kam1nRHhqUnZEMnIrSWJrMitrMkUxM0tGTGJZeDJHTThuNmo4NjlWMGI5bmpWcDdJWGV0YXJCWWdOdWFDT015TjVlQVQ4MlJodW94Zwo0eDNydmZEM2hXMHVaWDhYZUl0T3N0SDBhMVkzT242UWtheFF3REEvZnpLTUtaQ0FQb0FPVGdZMXJWYnI0azMwV296RzhzL0NrU3NpCjJjbnlIVVczSEx1QWMrVmpiOHJkVG5JQXlDQWNsOFAvQUlXZUU5VmpmVUcwUzZuMHhaTjFyZGFsTXl5emtIcUkwd3ZsNEF4dUdTU3cKSXdLMnBvN0RVL0UxeG9IZ0RUTEhUSGdIbDZwcmRsYXBHWUZKNWhqWlJ5L3k4OWhqMUJGYU9yNjdkK0s5V244SWVFNVRCYld3RWVwYQpwRHd0dU9ubFJuKy9nWTQ0WDZnaXJGN2Y2WDhQdE1zdkN2aGl4amwxZTRYTnRaUi9lT2VETktldU9QdkhyakF6akZBRnp4RDRuVHd4CkJaNkJwaGsxTFg3bE50dGJ5U2wzSS81NnlNY2tMMTVQb2NaeGlxT25hUnBYdzgwKy93REZQaUM3RnpyZDRCOXJ2WDVkejJpaUhZY0EKQlJ5Y0RPY0NqVGRIMHI0ZWFmZitLUEVGMkxuVzd6QnU3MlRsM0o2UlJEbkE0QUNqcmdkY0RFR2tlSExyeFBya1hqTHhlZ2podGwzYQpYcGNoK1MxWHI1cmpvWkRnZlRIZkNrQUJwSGh5NThUNjVENHo4WHhpT08xVXRwZW1TWTJXcW5reXYyTG5BUG9NRHJnRUNhcHF2eEMxCjFGMGE4bjAvd3RZeVptdm9IS1NYMGcvZ2pZZEl4emx1L2JzYXIzYzE1OFZOUmV3czVKTGJ3YmJOaTZ1VUpWdFJjZjhBTE5DUCtXWTcKbnZuanNhZGYzOC9pUzgvNFFyd1ppeDBpelh5dFIxSzNBVllWSEhreFk0TG5uSjZEMzVGQUVXc20wOGNlTUk5SzBiUjlMdkVzTUpxVwpzM3RuSGNlV29KeEJHWEIzTmtuUFlIUFU1RmMvNDArSFh3OXQ5VXNORXM5UHZocnQvTjVnaTAyYjUxajUzT3l1U2lKbjBBNmNkQ0s3ClBVdFUwL3dKWVdIaER3cFl4emF4Y0xpMXM0LzRCM21sUFllNTVPRDF4U1dXbTZQOE50S3UvRVd1M1MzT3RYaHhjM3JqTXM3bmtSUmoKazQrVVlVZjNSMXhRQjQ1NHQrQmsvaHZUUmZwNGhzQ3J6Ykk0YnNpRW5JWWhRMmNNL0dNQURQTmViYXg0ZDFmdy9La1dyYWZQYU82aAoxOHhlQ0RuSFBUc2ErcDlJOE56Ni9yRVhqVHhpZ1JyVlMrbmFmS2YzZGt2WHpHSFF5Y0E1NkRBNmtBMUN6Uy9FL1g3T1JMZTNQaExUCkxocGQ5ekFzb3Y1ZGpKOHFzQ05nRG5uSFBVZGpRQjhsMTEzaFA0a2VJdkNDQzJzcnQ1TEE4TmFPeDI0SnkyM0gzR1A5NGNqTmVpZU4KUGhWb21zZU1aTkw4RlNMQmZSVzdTM1Z0OHpRSTVaZG9MOCtXU0dZNDZjS0FCbm55TFgvRGVyZUdOUSt4YXZaeVcweEc1ZDNSMXpqSQpQcFFCNzk0TThlNlBMNFVrc1BCV2x3d2VKcnA5OGxuUEtlWkdiRFNtUnNtUUtDVzdrQWRCWFdXOXRvM3d1MEc2MXpXYm8zV3JYckQ3ClRkTU4wMTNLZnV4b09UampoUjBBeWVoTmZJRmV2K0FQaUxwbC93Q0o5TmZ4Mm91cHJRTEhZWDl3N01sdTNHR1pTZHVTUUR2SXlDQWMKakZBSHJ1aitIcGRWMUZmR25qUkkwbXQxTWxsWnpFZVhwNkQ1dDV6eHY0Qko3WUdPbWFwM0VVM3hhdVBKTFRXL2cyQ1VGaXBLTnFUSwpjNHoxRWVSMTZucU1ZQk11b1dGNThVYnVPQ2Z6clh3Ykd5VEhhMjF0VDZNdkk2UjlQYzlzWUJxZnhCck4zZVRqd1Q0SUVWdmNvZ2l1CmJ5SmNSYWRGMCtYSDhlT2lqR09PbkZBQzYvclYxZVhIL0NFK0NCRmIzTWNZaXVidUpjUmFkRmpHQUIvSGpvb3hqMjR6WlJOSStHdWgKMnVpNlBBSjlUdlpBa01idDg5ek8zSG1Tc0J3TTlXNkRvT3dwZ09qZkRQUmJQUk5KaVdmVnIrWFpieHlOKzh1cDJPREpLd0dkdVNDVwo2QWNEc0tmTGMyZnc5MFc4MTN4RGRMZmF2ZE9WYVdLTWlTNE9TWTRZMUpPQUJ4Z2NkVzQ1b0FpTXR2OEFEclN0UjEveEpxUDlvNnBlCnkvZWppQWVYKzVCRXZYSGZHY0FsandPa2VoNkRQZFh2L0NiK056RkZkd3htUzJ0cFdIbGFiRjFKNTQzNEdTM2JIdGttaWFCTmRYeDgKYitOakZIZHdSbVMxdFpXSGxhYkYxSjU0MzRHUzNiSHRrMDNnbCtMYzRNd21nOEdSU1pWQVRHK29zcDRKNkVSZy9pU004WUJJQWdobQorTGR4SE5PSjRQQnNNZ2VPSTdvMjFGZ2VDdzRJakI2RHVlZU1BbTdybXIzV3NYTCtDL0JqSmFtRkJEZVgwQTJwWVI0eHNUYmpENDRBCkgzZmJqSnIyc1hldFhUK0RmQnJyYXRFZ2l2YitFWVN4anhqYW1NZlBqb0JqSFhqakxwcGRJK0YzaHl6OFArSDdJM2Vwei9MYTJvT1oKTGlUdkpJZlRQVTlCd0IyRkFCTEpvL3d1OE8ybmgvdy9aZmF0VXVPTGExQnpMY3lkNUpDTzNxZWdHQU93cHVpNkxhZUJ0UHZmRjNpNgovUzUxeTRYZGQzajVZUmc5SVlSMlhQQUE1Si9BQmRGMGExOEQ2ZGUrTGZGMm9MYzYzY0x1dTd4dVJHTzBNSTdESndBT1Nmd0FkcGx0Ck5yankrSy9GMFZwRnBLd0xQcDluUHl0dEVWM0dTVUg1Zk13UURrSGJnNFBKb0FmWjJhNjJnOFcrTFJhRFRSYmk0c3JHNVhLV1NITGUKWSs0N1RJVjJrbkdWT1FEaXZDdml0OFZadkd0d2RNMHhwSWRFaWZJQnlwdUNPak1QVHVBZmJ2UjhWZml0TjQxdURwbW1OSkRva1Q1QQpPVk53UWVHWWVuY0ErM0dSWG1TcVdZS29KWW5BQTZtZ0JLN1B3eDREbDFTNXNHMU16UXczd2Y3TmJ3RE54UHQ3Z0VFS2hPUnVQSEdPCjROZEo0WThBVytrMlZ0ZWEvcDV2OWIxQUE2WG9vY3J4bmlXWGFjaGZicGpya2tBZXlhRG9HbS9EblNiM3hKNGl2VnVOWHVBRGMzUkgKQ2pva0VLOWxIQ2hSMTRIUUtBQVdOQjBiUS9oZjRVYTl1MHRyU1FRb3R3MElQenNNa0tPck9Tek5qT1Q4MkJ3QUJtNmZwYy9pTzlQagpieHNGdGRNc3daZE4weVp2M2R1Z0grdWxIUXVldnQ3OFlOTzB5NThSM3A4YitOc1dtbVdZTXVtNlpNMzd1M2pBL3dCZEwyTGtjK2dCCittTE52QmZmRVhXQnFFMDl4YitENFFQczFzcGVKdFJKVWJqS09ENVlKSzdUdzIzUFRxQVNpM2wrSTJvd1g1dUx5RHduQ255MnAzUmYKMmk1Nmx4d1RFTTQydDFJUGJyRHJHdDNmaXpVNS9DSGhPVTI5dGJBUmFscWNQQzI0NmVWRVIvSGpqajd2MUdDdXNhM2QrSzlTbjhJKwpFcGpiMjF0KzYxTFU0UmhiY2RERkVSL0hqamo3djFHRFBlWHVtZkQ3U3JQd3Q0WXNZNXRXdUYvMGF6US9NVDBNMHA2NDQ1SjlNRHNLCkFFdkw3U3ZoN3BsbjRWOEwyTWN1cjNDNXQ3TlB2RW5nelNucmpqN3g2NHdNNHhUZEwwYlN2aDNwMS80bjhRWG4yclc3em03dlpNczcKc2VrVVE1d3ZRQlIxd0J6Z1lOSzBiVFBoMXB1b2VKdkVGNmJ2V3IwaHJ1OWs1WjJQM1lvbDdMMkNqazhEb0FCQm8zaDI4OFRhNG5qTAp4ZURIREF1ZEwwcDIvZDJxL3dEUFdRZERJZjA5OExnQU5IOE9YZmlmWEU4WitMMTh1RzNYZHBlbFNITWRxdlh6WEhReUg5TURyaFNJCkx1YTgrS21vdllXY2t0dDROdG14ZFhTTVZiVVhCLzFhRWMrV081NzU0N0VGM05lZkZUVVpMQ3prbHR2QnRzMkxtNlJpcmFpdzZ4b1IKejVmcWUrZU9vSWRxRi9QNG12VzhGZURUOWgwbXpYeXRSMUszRzFZVjZlVENSMWZnNUk2ZlhJSUFYOS9QNGx2RDRLOEdZc2RJczE4cgpVZFN0eHRXRmVua3c0L2pQT1NPbnVjaXIybzZwcDNnU3dzZkNIaFN4amwxaTRRL1piTlA0QjBNMHA3RDNQSndjWnhpalVkVTAvd0FDCjJOajRSOEsyS1RheE9uK2kyaWM3QjBNMHA3RDNQSndjWnhpalQ5TTBuNGJhVGVlSWRjdXpkNnpla0c2dkpQbWtuYzlJb3h5UU9nQ2oKMEhYQW9BU3cwelIvaHRwVjU0aTF5NisxYTFlSC9TcjJRYnBaM1BTS01ja0x3QUZIOTBkY0NvZEk4TlQ2L3JjWGpYeGl1eHJaQzJuYQpiSTM3cXlUcjVqRG9aT001N2NkZHFrR2orR3JqWHRjajhiZU1Cc2EyUW5UdE5rYjkxWm9lZDdEb1pENjlCeDF3cEZXN1c4K0srb3JhCnd5eTJ2Z3UyZk04c2JGSDFOeC9BQ1A4QWxsNm52MjdNQUF2RXUvaXhxQzIwTXMxcjRNdHBNenlSc1VmVTJIOEFJLzVaZXA3OXV6VmUKMTdYYmhydUh3UjRJaWlqdlZRSmNYTWFnUTZiRGpyZ2Z4NHhoUjY1NHlEUnIrdlhMM3NYZ2p3VEZGSGVxZ1c1dVVYOTFwME9Pdkg4Wgp5TUw3NTR5RFZXYWV6K0g5bGJlRlBDdHNkUThTNmdTNU1qYm1KT2QxeE8vcG5QNDlCMUZBRXQ3ZlczZ2F6cy9DdmhpMFMrOFRYcWdaCjJLR2JqbTR1R0E1N25KNUp6MTVxSFhmRDNodlF2QTdONDdubDF5ZVIvd0RXM01qdks4ekVIeTdmbmRHQ1FQbFRIQTV6ZzFldExQUi8KaGhvZHpyV3MzYlhlc1hyajdSZHY4MDExS2VrY1k1T09PRkhRRHZpb3RIOE56YXRxeWVOdkdZQ1QyNmw3Q3hrZjkxWUpqN3hIUXZqawpudGdmM1FhQVBEZkcvd0FKdFYwTFR6cituMmt2OWtTQkpEYnlIZFBhN3Y0WEE0SUJ3TWc5L3dBYTgycjY1aHVOUytJdXRXOXhaM005Cmo0VXNadDVhTTdXMU5oL0NmV0hzUWNoaCtCcnkvd0NKUHcxMGFmVWI1L0JDczkzcDhmbTZoWVJsbVZRVDk1R09jTU01S1o2WUlBN2cKSExlQXZpVGYrRzlPdXRBbnY3bTMweThWbFM0aStaN05tL2pRZW5jZ2M5U09jR3ZmYlc5OFArQVBER20ySGgveTc2OTFaMUZtZCs1cgoyVnlCNTBqaitINWdXYm9Cd093cjVEWlNyRldCREE0SVBVVjZQOExmaVVuZzdVb2JiVm9CY2FadUlTUW9Ia3ROMzNpaDZoVDFJSFhuCmdtZ0QzbTQvczN3RHBrL2lQeEpKRnFPdXl5TXFYQ1EvdnBTYzdJWVFTU294eGhjRHFUM3FMUmZEOHQxZm54djQzTVVkM0RHWkxXMW0KZjl6cHNRNUo1NDM4Wkxkc2UyU3VqYUVsN3FEZU92RlY5YVhKaWpNdGdFbDNXdG5COTRTS1R3V0lBSmJ0Z2VtYXBTMjAzeGF1Vjgvego3ZndaQkp1RWFzWTIxSmdlQ2NjaU1IOHp6eGdFZ0JKYnpmRnU0VXorZkI0TWhrM0tnWm8yMUZnZUNjWUlqQjZlcDU0d0NibXY2dmQ2CnJPL2dyd1UwZHJMRkdJYnUraFhFZW54NHh0VGJqNThkQU1ZOXVNbmlIV0x6VjdoL0JmZ3QwdFpVUVJYZC9FdUVzSThZMnB0eDgrT2cKR01kZU9NdnVKOUorRnZodTIwVFFiSjczVmJqSXRiVUhNdDFLZXNraDlNbms4QWRCamdVQUUwMmsvQzd3NWFhQjRlc1d1OVRuQlcxdApBY3lYRW5lU1ErbVRrbmdEb01jQ2pROUZ0dkJOaGQrS3ZGdW9yZGE1Y3FEZFhibklqejBoaFhzTW5BQTVKUDBBTkUwYTI4RWFkZCtLCnZGK3BMZDY1T29OM2VQOEFkVDBpaFhzTW5BQUdTVDlBQmRHbTFpOWw4U2VPWXJlRFRyTUxQWVdNa3AyV2dBSlo1Y0VLejRPQ0NHQXcKY0htZ0NlejA2OTFPL3VmRUhqS0MxaHNJb3diR3dtYmV0c3VNczhuOEprN2REdHdjSEJyeS93Q05meFFtdVdsOExhUEtZN2NxQmV5bwozek5uckVjZE1kR0g0ZDZuK0lIeEZ1Yi9BRThhckdJNGRLT1JwVm5jeGt0ZXZuSDJobDZiRjZnTUNwT01qb1Q0RlFBVjZ2NEE4TVcyCmsybGpyOTVhalV0YnZpMzlqNlNRY2NFcjUwby91Z2pqdGpCNUpBSE4rQS9ERTJxWEIxTnRORi9ERklJYmUxODdaNTl4d1FEM0tLQ0cKYnB4Njhpdm9qUU5CMC80YzZOZCtJdkVsK0xuVjUxQnVib2poUi9EQkNuWlJuYUFCejBBQXdBQU8wWFJiTDRmNlpmOEFpanhScVAyegpXN3Y1N3U4a3ljWlB5d3hMMlVad0FPdjB3QlQwM1RibnhIZUh4dDQxSDJUVGJNTk5wdW1UTVBMdDR3UDlkTDJMa2M4OEFINllOTjAyCjU4UjNvOGErTmlMTFRiWE11bTZaTzRFZHVtUDlkTDJMa2M0T1FBZndHbkZGcVBqbldMaVdXNU1mZytNaElZWTEydHFETDk1bWJyNWUKN0l3RGh3UFQ3d0JGWk5xSHhCdjVycVdXU0R3YmhCYndiREhKZmtBRm1mT0dXTU5sZHY4QUZqbmpyRnJHdFhmaXZVcC9DUGhLWTIxdApiZnVkUzFPRVlXM0hlS0lqamZqamo3djFHREw0ZzFEVS9FV3BTZUVQRFhuV052RW9XLzFOWXlnaFQvbm5DY1lMWTR5UHU4OXhnejNrCmxwOFB2RDluNGY4QUMrbHRQZlRmSmJRZ0Vnc2Vza3IrbkI1UHBnZGhRQkhlWHVtL0Q3U2JQd3Y0WXNVbTFXZGY5R3RGT1NUME1zcDYKNDlTZlRBN0NvOUowYlRmaDFwdW9lSmZFTjgxNXJWOFE5M2VTY3M3Znd4UkwyWHNBT1R3T2dVQ1RRdkQxcDRDMDdVZkVldFhNMnBhNQplZnZMMjhLbDNZNDRqaVVkRkhRQWZ5QUFxYUo0ZnY4QXhMclk4WStNTXhRUWZOcFdsTTM3dTFUSCtza0hReUhuMXg3OGJRQTBUdzlmCmVKZGNYeGw0dkJpaGdHZEwwcDIvZDJxZjg5WkIwTWh6K0h2aGRzRjFQZWZGVFVaTEN6a2x0ZkJ0czIyNXVrYmEyb3NPc2FIcUkvVTkKODhkUVFYVTk1OFZOUmxzTE9TVzE4R1d6N2JtNlE3VzFKaDFSRDFFZlRMRHIyem5JZHFHb1hIaWE4ZndYNE5ZMk9sV1lFV282bkFNTApFTzhNUjd2MXllMzFHQ0FHb1g4L2lhOGJ3WDROSnNkS3MxRVdvNm5BTnF3anA1TVI3djF5ZTMxR0RmMUhVOVA4QzJGajRSOEsyVWMyCnNUcC9vMW9wenNIUXpTbnNQYzljY1p4aWpVTlRzUEEybjJYaEx3clpSemF2TW4raldpbk93ZEROS2V1T09wNjR3TTlLYnB1bGFWOE4KdEt2ZkVPdVhqM210WHhCdTd5UWxwSjMvQUlZNDE3RHNGSG9PdUJnQVhUdEwwbjRiYVRlK0lOYnUydTlhdlNEZDNrbVdrbmMvZGlqWApzT3dVZWc2NEZRYU40YnVkZTF5UHh0NHcrUnJkQ2ROMDEyL2RXU0hxN0RvWkNPL1FlK0ZJVFJmRFYxcnV1cDQyOFluWWJkQ2ROMDEyCi9kV1NIcTdkaklSK1h2aGNWcnI3ZDhWdFMreXdTeTJ2Z3EyYjkvSWhLdnFiaitGU09SRU81Nzl1eEFBWFl2Zml0cUl0WUpaYlh3WGIKdisva1JpcjZtNC9nVWprUmVwNzl1eEY3WDlldVh2WXZCSGdtT09PK1ZBTG02UmYzV25RK3ZIQmM1R0Y2ODU0em1qWDlldVpMMlB3VAo0SmpqanZsakF1YnBFekZwMFhxZXhjNTRYcjM0em1xczF4Wi9EK3p0dkNmaGFBNmg0bTFETWhNamJuSk9kMXhPM1laeitPY0E5S0FDCmFleitIOWxiZUZQQ3R1Mm9lSmRRSmN0STI1OG5PNjRuYnNNNS9IT0IxRlhiT3kwZjRZNkpjNnpyTjIxNXJGNjQrMFhVbnpUWFVwNlIKeGprNDQ0VWRoM3hSWldXa2ZESFJMbldkWnZHdk5Zdm5IMmk3azVtdXBUMGpqWHNPT0ZIWWQ4VkZvdmh1NDFYV0Y4YitNanRudDFMVwpGZzcvQUxxd2p4eXhIUXVSMUp6ampyZ0VBQm8zaHVmVmRYVHh0NHl3azl1cGF3c1hmOTFZUjQrOFIwTGtjazl1T3UwR3FkM2IzWHhhCnZVaTh5YTI4RjIwdTZUWVNqNm15OUJrZEl3ZWZmcVA0V291b0x2NHMzNlIrYk5hK0M3YVRkSUVKUjlUWWRCa2NpSUg4K28vaFlYZkUKV3QzMTdkcDRMOEVDT0M2VUJMdStSUjVXblJkOER1NUhBQTljOFpCb0FYeEZyZDdlM1MrQy9CSWpndWxVSmQzcUwrNjArTHZqSDhaSApRRHBuUEhCcTVidzZiOFB0SnROQjBXRDdYcTk2eDhtT1NUTXR6SjFlV1Z1dTBaTE1ldzRBNUFvZ2kwejRmYVRaNkRvc1AydlY3MWlJClk1Wk15M01uVjVaVzY3Unl6SDhBTWtDb1padFA4RGFKL3dBSkQ0bEszT3ZYQkFaaCs4a2VaaGdRd2NjTHlRQW9IR1NjbkpvQThzK0sKM3dzbHRkQlR4WEFJWTlRV05EcWxwQU1vem5BTHhnRGdBbmtZQXh6eGc1OFByNiswUFFMbTV2cHZHZmpTVlV1QkE2d1dUdjhBdUxHMwpZZk1HSFJtSSs4VG4wNXdEWGdQeEs4TFdGbE5ENGs4T1JTRHc1cUxsWW1mSTJ5ak9RQWVkcEFKVTg1d2UyS0FOcjRjK0liZnhiYldICmdMeFZlM1A5bHJNc2x2dHVmTEV1MzdzRG5xeUVrWUFPUVFNRVlGZXhlSXRZdmRZdUg4R2VDM1MxbFJCRmVhaEV1RXNJOFkycGpIejQKNkFZeDF5T0srUTYrbFBBL3hLc2wrSHcvc3pTb3JqeEs4cGphd3M0ZGdsbVkvTEkyTUJWUFVuZ0RvUFNnRHE3bTQwcjRYK0hMYlJOQwpzbnZ0V3VNaTF0ZDI2VzZsUFdTUnZUSnlUd0IwR09CVk8ydHJYNGU2ZGNlS3ZGVnkycCtKcjRCVDVZM01XL2hnZ1hzT3ZRZXBPQndKCk5PczdId0ZBL2lieGhxQnZQRU9vTXNieXFwa0trOUlZRUF6Z1pQUVpQSjRIQXVhTnBGekpJUEYvamlXMlM4dGtkN2FGZ3F4YWZFY0UKNVA4QUUzQUpZNXgyOVNBVjlPdFU4VTJ4OFdlTkxRMmxqYnQ5bzAreXVwZHNkdEVCbnpaRkdBWFBPZDJRQmpnY2lxYVFYSHhWdW83Ngo5OCsxOEdXNzc0Ylk1amJVR0I0ZCs0akdNZ2QrdllFckZiWFB4WHZJcnk4RTl0NE5nZmZCYW5LUHFMQThPL2NSanNPL1hzQ2MzNHhlClBOUDB6d1RkNkpwTTZDNXVXK3hGWXd1MVk4ZnZBQVJncmpLWkhRbWdEdy80aitMRjhYZUxKcm0xTzNUWUI1RmxHb0txc1E0QkNuN3AKSXhrREZZM2h2UUx2eFByOXBwRmxnVFhEN2Q3QTdVSGNuSGFzcXZmdmczb05uNE84TlhQajNYNVVpUzRqMldxa052Vk1rSEE3bHpqQQp3ZWdJUE5BSG91amFEb0h3djhNTGQzcjI0a3RZUkUxeWtXMW41NktNbGlXWWs0eWVXd01EQUdicG1uWFBpTzgvNFRieHVSWmFaYWd5CjZicGt6QVIyNmY4QVBhWHNYSTV3ZUFEK0FOTDArNjhSM1E4YmVOaUxMVExZR1hUdExtWUJMZVB0Tk42dVIyUFRKOWNDekJiNmo4UmQKVG5tMUFDRHdmQk50dDdYYXBPb3NqOFRGc1pFZVJsY0ViaDdkUUNWcks3K0lPcnlTWFV3LzRRNkYxOGkzRVlCdjVFSU84c1J1RVlZYwpiU04zWHAxK2UvR3ZqWHhSRjQzMXUzZzEvVWJhM3RyMmEzaGh0cmhvWTQ0MGNvcWhVSUF3QUIwNTcxOUNhanI5NzRpMW4vaEdmQ0VpClEyOW5JcTZqcUtMbElBcEdZVXh4dUlHRGo3dnNjWitYdkhIL0FDUC9BSWovQU93cGMvOEFvMXFBRC9oTi9Gbi9BRU5HdGY4QWd3bC8KK0tvLzRUZnhaLzBOR3RmK0RDWC9BT0tyQm9vQTN2OEFoTi9Gbi9RMGExLzRNSmYvQUlxdmEvaHpCcjN4SitIOFZwckd2WFRhZGI2bApMRmVmTVBOdUlSSEV5eEYvdllMTXhKSnpqajB4ODdWN3Y4Sk5QMTNXZmh0THBPajNmMkcydXRYbUY5ZUovckk0aEREOHNmb3paSXoyCjY5c0VBN3ZVTlF1UEU5NC9ndndZNXNkS3NnSXRSMU8zR0JFTzhNUjd2Nm50bnJrWU9scTE5WmZEN1E5TzhQZUc3R05yKzdZd1dVSmIKNWQ0WExQSTNzT1QzNDQ5S3ArSlBFZmgvNFllRlpORjBtTlJleDJqU3dXc2FNNTlQTWtLOGdFL3hIMHI1T3ZMMjYxRzZlNnZibWE1dQpaTWI1cHBDN3RnWUdTZVR3QUtBUHJUVExMUmZocm9sLzRqMXpVeGU2dmRZZSt2NUdCZVZ1MGFEK0Zld0E5QjZBQ3ZvT2h6ZUlOZUhqClh4ZmNvUEtRblM5TE1nOHV5VEhMdGpocENQeTk4THQrVEtLQVByRFVsdnZpVnEwVnFMbzJQZ3VKZDhycEtvZlZDVHdvSTVXTVlPZW0KYzk4Z2pROFFhMWRPVjhKK0N4QkRjSUZpdXJ3RmZMMDZOZ1NPTTh1UURnZlRPTWcxOGYwVUFmWE9xWHVuK0FMR3owUHd2WnhTNjNyTQpyK1NYa0xCbkF6SkxJN0VuQXpuQko2bkFQU25XVU9oZkREdy9lYTdyT3BDOTFXNk82N3ZwR0JrdUpDTWhFSFljY0tPdzlxK1JLS0FQCnJiUXRDZldOYVh4dDR3dUkvdEVLTTJuNmUwZzhxd2pJNVlnZmVjamtubjhjS1JTdVpKUGl6cVNScmZHMThGMmtwODBSeWJYMU9SVGoKYVNPUkdEK2YvZkxENVdvb0Erdi9BQkpyRi9kYlBDdmdzd1c4Z1pZYnZVQVY4dlQ0OFp3Rnp5NUhRRDE2aklOVFF0by93KzBpeTBQUgp3bDFxdCs1V0JaWlFaTG1YQlo1WlcvdWdaWW44QU1rQ3ZqcWlnRDYrRWVsZUR0T2s4WGErZnQzaUo0MWpsbGpjek1YWTRXS0ZRTUt1Cld3TUtEZzg1Sk9XNkg0ZHVMdlVtOGIrTlpGVzdpUXZaMmJ0KzUwNkxHU2NkQy9jc2MrM1FHdm0zNGM2cmU2WjQ5MFJiTzRhTkxtL3QKNFprd0NzaU5Jb0lJUEI2NUI2ZzRJd1FEWDBSZDJGOThVdFVFZDJiaXk4SDJjM3pRZmNmVXBGUDhYY1JnajhldjkxZ0FNbnRMbjR0WApzWm1rbnRmQmR2SUc4cFRzYlUyVTVHVDFFWXgyNjlSMFZxZjR4ZTM4WUZ2QWVpYWRhWE1hQUxkM1VnSWkwOEFmS1Yya1prSEJDNXdlCmg0TldmRW1zYWpxOXlmQnZnbVJMYVpRcVh1b292eVdNWGRWOVhJNkFkTTlSa0dwTDI3MHo0WStITGJSdER0SkwvV0xrN0xXMnp1bHUKcGoxa2tQcGs1WThBWjdaRkFIeXI0azBDNzhNYS9kNlJlNE0xdSszZW9PMXgySXoycmMrR2ZqRStDL0dOdGZTeU10aklmS3UxQllqWQplcmJSMUk1eFhkL0Yvd0FDNnBhK0Y3RHhMcWwybDNyQ3VWMUoweUJ0ZHZrQzVQQ29TRUFDak83Snh6WGlkQUgyTnBtaDNDWHNuaXp4CnJlMmN0eGFDUnJSVUNpQ3hoNmtoc0FzU0ZCM05uSGIxT1I5a3VQaTFkcFBkK2ZiK0RJWDNSVytURzJwTUR3emR4R093Nzlld05jcDgKTjQxK0p2aFBTOUcxYlZaZnNXaUhaZGFhZ1ZmdGFnanlTeFhCMktQbHgzSXpuSXpYYitJdFgxRHhEY3llRC9CazYyaGpBanZ0VGlYNQpMSlA3aVl4OCtPT01ZSE9RY0dnQThRYXZmK0k3eVR3aDRQbkZvc1lFZC9xY1MvTGFKM1NQSDhaSEhIUWVod2ErY2ZpS3RsWmVLSk5FCjBzWEM2ZnBTL1pZMWxtOHpjdysvSU93TEg1amdBWnI2VTFDOTBINFZlQ1piRFRURWsxclp2SkNzM1BteUJUdE1oR09XYkE3Wkp3TVYKOGZVQWFmaDdScC9FUGlDeTBtM0tDVzZsQ0x2YmFQVTg0T09CNkd2cEx3cjRla3VkUHNQRVhpNTJ0TkcwcTFSTkswMjZZQVFSSW9BbQpuNEFNaFVmUVpQQXpnY0YrenhvMXRQcitwNjFkcXlpeWlXT0YzQTh2Y3hPN2tqN3d3dU1IalB2WHJFS1h2eEV1Wnpmd3d4ZUVvYmdOCmJLb3krbzdEdzVZOUlzZ01NQUUrdU9vQWx1THo0alR6bS90NDRmQ2NOem0yVWN2cU94dUhKN1JFZ01NWUo0NXgxaTF2V0wzeFhmeSsKRXZDTng5bHRvRDVXcGFwQ09MZFJ3WW9pT04vYmo3dnNjWlRXOVl2dkZsL0w0VDhJWEF0YmFBK1ZxV3FRamkzVWNHS0xIRy90eDkzMgpPTTJMMjhzUGg5b2xuNFk4TFdLM0dyU3B0dExYcVNlOHNwR09NOGs4ZWc3Q2dDV1c4MG40ZmFmcHZoancvWStmZnpFTERhcHl4R2ZtCmxrUEhIY25qMEhZVjhyK09QK1IvOFIvOWhTNS85R3RYMUo0ZTBPejhCYWRjYTE0azFUN2RybC9JRGRYMHVNc3pIQ3hSanNvemdEMzcKREFIeTM0NC81SC94SC8yRkxuLzBhMUFHRFJSUlFBVjczOElQRUY3bzN3em50ZEpzbXZOV3Y5WGxpdFVJT3hTSVljdTU3S001L3dEcgo4VjRKWDBUOEVkYjAzdzc4TE5TMVBVV1ZSSHFraXhnREx1eGloK1ZSMUpKeHdQYWdEWThRK0dMTHdkOE1mRTE3cTJvL2JOZTFXM1lYCk45Y0VCcFpDTUNOQjJVZEFCL0xBSHk5WDFyb25ocSs4UTZyTDR2OEFHekJZZ2hHbjZTeC9kV2NSSDMzOVpDQ2NudGs5ZUF2RTZGOEkKL0IvakRWTlN1YkNQWGJmU0VtSWd1eGN4Q09ZazVJaVV4RTdCMHlUNll6emdBOEFvcjNlNCtFbmdwL0Y4Zmh2U3B0ZjFDNlJmTXZaRQp1b1ZqdEZQVGUzbEg1ajJVYzlPM0lkcjN3ajhFNlRyTmxvbG5jYS9xT3IzWjNDMWl1WVI1VWZReU9mS08xZjU4NDU0b0E4R29yNkgxCi93Q0NmZ1B3MW81MURVZFUxeGVpcEVrOFROSkllaUtQS3lTVFV1bWZBWHd0YzZJbW82bE5ybW1sazh4b3BMdUZqR3VQNGlJc1o5dWEKQVBuT2l2ZlBEWHdhOEkrS0picWEwYnhCSHBjVGJJTDJTNmhBdVQ2b3ZsZmQ2ODU1NHhuTlJTL0NQd1pONHZqOE82Vko0ZzFDWkZMMwp0d2wxQ3NWb09NQm04bzVZNTRVYzlPM0lBUENLSytoTmYrQ2ZnN1JoRkJieitJZFExTzR6NUZqQmNRaDNBR1dZa3g0VlFPNTR5UU9wCkZIaUw0TStBZkRHakRVTlIxUFhWWnlFaHQxbmlNazBoNklvOHJKUDBvQStlNksrakxENEMrRlpkRVhVdFV1TmIwMzVQTWtpa3U0V00KUzR6OHhFV00vU3FQaG40TWVFdkZIMmk1dG04UVJhWWpGYmU3a3VZUjlvLzJsWHl2dTllYzg5dURtZ0R4L3dBRC93REkvd0Roei9zSwpXMy9vMWErbnZFMnQ2bnJWNjNoRHdYSWx2Y0FoYi9VbFVGTEdQdUY3R1Fqb08yZW95Q1BPSCtGMmpRZU5MWFMvQjB0N2UzbHN4YTl1CjcyVUdDeUJVNEk4dFVZeWdrTW9EZFFNOEhOZWwzMTdwbnd5OFBXdWphSmFTWCtzWFIyV3R0bmRMZFNuckpJZU9NbkxIZ2ZUTkFCZTMKbW1mREx3N2E2Tm9scEpmNnhkSFphMjJkMHQxS2Vza2g0NHljc2VCejJ6VmV4c3Jmd0xZM1BpYnhUZkpmK0pyMVd4bGdOemJTVnRvQgpqOEJ4a2tuMXhTNmZaVy9nZXp1UEVuaXEvanZ2RTE4Q0FTY1piQksyOEF4MDdEakpKSjc0cXpwR2p5eTNQL0NiZU5CYjI5OURCbUszCjNueWJHTVpKYmtrZVlSamNSeHdNZE0wQVFQNGNQaUhSN25XL0h2a1draldNMEtReGxRdGhFNm5lMjVzNWt4Z2tuSUJIQTduNVg4UTYKUStnZUlMN1NwSkVrYTJsS2IwYmNDTzNPQm5pdnAzN0pkL0ZlL2p1THN5MjNneTNrRHhXNCtWdFNZSElaL3dEcG54d08vWDBOZVYvSApteTBaZkVWcGZhTTZNZGpXMTJzQUhsd3lMZ3F2QTRZZ2s4bm5GQUhNZkREVXJpMThWblRvTHllMC90YTNrc0JORklWOHA1RktySVFDCk03U2Nqa2ZVVjlGM3QzcDN3MThPMnVnZUhiRnI3VjVsSzJscGtHU2VUdkpLZU9NbkpQQTV3TVpGZkg5ZlcvaHJVUERtbitHSlBpTHEKTjJHdWRSZ1NhNW1kOTRoYmFBMEVRNmdCc2dMeWNrak5BSEFmRS9SdFE4Si9EWXlhcmVqVXRjMTI3alRVcnR3Y0tFQmtWSWdNQUtDdQpPbk9TY0RPQjRQWHJmeHAxYlZ0WHRQRGw5cU1OellDOGptbVhUcEdHSWxEZ0lTQi9FVklKejB5ZUJ5SzhuaGlhZWVPRk1icEdDalBUCkpPS0FQb3Y0V2ZEOU5WOEE2TzJvUEt1bVRYRWwvYzJqWlV6eUJ0a1lQVDkzdFZXeGdrbkJCQXJxOWQxZS93REZkL0o0VDhJWEF0YmEKQStWcVdxUkRpM1VjR0tMSEcvdC9zajBPRFdkSE5yZXA2VHAzZ0RRTGxiZDlPdEliVFdkV2l5VmdLSUZhT0k4WmM0NjloNkhCclp2NwoyeCtIMmgyZmhqd3JZcmM2dktteXp0VHpsdThzcEdPTW5KUEdlZ3hrVUFKZlhsajhQZENzL0MvaFd5VzUxZVZObHBiSGtsdThzeEdPCk1uSlBHZWd4a1UzUnRLc3ZoMW9sMzRnOFRhazEvclYwZk12THh4bG5ZL2RpaVgrNk00QUhVbmdBWUFORzB1eitIZWhYWGlEeFBxSnYKdGJ1ZjNsNWVNTXM3azhSUkQrNkNjQURHZlFad0lQRHVqYXA0bTFFZUwvR1NMYnd4a3ZwbWxOOTIxajdTU2VzaEg1YzlNN1FBSGg3UgpOVThTNm4vd2wvakpWZ2hqSmJUTkpQM0xXUHRKSjZ5RWZsazlNN1Y1YTQ4R2FIOFdmSE4zckVGcE5iYURCRzBMMzl1NFEzczRJRzVBClZJS2dBZ252eDc0NktlNnZQaXBxTWxuWVN2YStEYmFRcGMzUzhQcUxEcWlIdEhucWUvVG5KQXZlSlk5VHVtdFBDbmg4dzZQby9sZ1gKV29pVkFVaXdQM2NTaHNoaUQ5NCs1NjR5QWVjV253bjhIYTE0cW0wZlF6ck56YTJUaGI3VURkUmlLTnU4YS91L21mcDA0SE9lMlovRQpmd2s4RTZOZld1azJUYTNxR3NYWi9kMmtkMUdOcWQzYytYOHFqL1BKRmVtM1pqOEgrRVk5TThIV050UE9vOHVCV21SVVJqMWtrT1FUCnljbkhKN1ZGNFUwR3k4SjJGNXFOM2ZwcS9pQzhQblh0MlhUZkszWkV5Y0tvNkFmeUdBQURnOVcrQ25nWHczb0kxRFdOUTFaWFZGREoKRk9oTWtoSDNVSGw1T1R3Qlc5NEU4RFNSTkg0ZzhSUlIybHBhcWY3TDBuL2xuWngvODlKUDcwcDdudHoyd3EzZkR1a1h1dWErL2lqeApuZFdxU3h1UnBta3JNclIyYWROekVIRFNIMTU3ODRJQ3YxUzExcngvNGxuMHFSSDAvd0FKV0xxdHc0STh6VW53RzJxUWNDTUFqUHJ5Ck9ja0tBVlpaZFIrS2VzUGIyN3ZhZUNMVmdKWmxHSk5Ua0hWVlAvUExwazQ1NTY1K1hTMW54QksrcVErQ3ZCOFNmYW8xVDdiY1JqRWQKaEFUenpnanpDTTdRUWV4SUl6ZzhRYXpmUE5INFA4RlFMSGRiZGs5OTVaTUZnbkdlZWpTWUlJWDNCUEJ5S2s4OXI0Q3NZZkN2aFdBYQpoNG12Z1pTWlczTVdQV2VkdXUzT2ZyOWVvQXQxY1dmZ08xajhLK0VyYzMzaVMvM1NqejIzdmtubWVkaGpqUDB6empucmJzTlAwdjRaCjZIZGF4ckYyOTlyTjZ3TjFkdU15M01wKzdHaWpvT3dVZjRDaXdzTkwrR21oM1dzYXhkdmZhemVzRGRYYkxtVzVsUFNORkhRZGdvL3cKRlYvRC9oNi8xUFdIOGJlTlpFU1dORC9aK25IL0FGV254OTJQT0drSXhrL1hxTUJRQTBEdzVlNm5ySjhiK05KRVdhSkQvWituSEhsVwpFUi9pUHJJUmpKK3ZYamJVbFhVdmlucktxa3IybmdlMWI1OW94SnFrZ1BUUGFMK2ZQWElLa2cxTDRwNjBGUjN0UEE5cWZud01QcWtnClBUUGFJZnI3NUJXNzRoMSsrdmRRVHdWNEpXT082VkFMMi9DWmkwK0wrUmtJNkQvSElBRHhGcjE5ZTM2ZUN2QkN4eFhTcUJlM3dUTVcKbnhlM1l5SFBBL3h5THdTeCtIMmh4YVJvZG5McU9zWENzOFVHNEdXNWNETFN5TWNZR1R5VGpsZ09wcU9lWFRmaHQ0ZmkwM1NMT2JVTgpXdU1tS0Jmbm11WkNRREpJZXk3bUdXUEh6ZSthaWVEUy9BYVhIaXZYTHVhKzEyOWpXM3lmdk94NUVNRVl6dFVrRGpKUEdjazV5QUR3CjZaNENqdWZGV3UzMDk5cmwraXdaYmd1eDVFRUVZNkxrZFBtUEdjazV6SG9QaDY2dTlUYnh0NDFrUmJ1TkdOblpFanlkT2lQZjNrSTYKdC9nTUdnK0hydTcxTnZHM2pXU05idU5HTmxaRS91dFBpUDhBT1FqcTM4K01VbmcxRDRxYXRGSkpJOXA0SnRYM0NJQWg5VWNkTW50RQpQMTk4Z3FBSkpiWC9BTVZ0VmllU1NTMDhFMnNnYnlnQ0gxUngweWUwV2NmWG4xVWkzNGwxdlU5V3ZVOEcrQ0dqdDVWd3QvcVFUTWRoCkZqN3Erc2g0d1BmdGtNRjhTYTNxZXEzNmVEZkJCamdsWEM2aHFJVE1kaEZqb283eUhqQS9sbmNKdFF2OU0rR2VnMm1qYUxhUGZhemUKTnN0TFVIZExjeW43MGtoOUJ5eEp4K0djMEFGL2ZhWjhNdkQ5cm8yaTJqMytzM2JiTFcxenVsdVpUMWtrUEhBemxqd1BwbXE5bllwNApFMGk5OFcrSnBtMVR4SGNCZC9sTGtnc3dWSUlWNmhkekFaeG5rbnVSUzJsa25nWFNienhaNG1tT3FlSTdoVkQrU3VTQ3pCVWhoWHFGCjNNQm5IY25ISnExbzJqVHpYUThhZU5SYlFYOE1KOGkzVW55ckdQazVPU1FaQ01aSXdPQmdjQTBBSm8yalR6WFgvQ2ErTlJiUVg4TUoKOGkzVW55YkdQazVPU2N5RVkzRWNjREE0QnJNTm5lZkZmVUk3aTdNdHI0TXRwQThWdUJ0ZlVuVTVEUDhBOU11QmdkK3Y5MDB2MlM4KwpLMm94M0YzNWx0NEx0cEE4VnZqRDZrNm5JWi8rbVhUQTc5ZjdwRmp4THErcWVJYnB2Qi9ncVdPMUtZajFEVTFYNUxPTHVrZU9zaEhUCkhUMUdRd0FGOFNhdnFmaUc2YndkNExtUzAyWWoxRFUwWEsyY2VPVWp4ajk0UjZkQjZFZ2psL2kxNGI4UGFOOEwwMEt4a1lYMW15M2MKRUlZTkxPUWRza2o4Wk9GZG1KNHgxNlYxK3AzMWo4T1BEMXZvWGh1eE43clZ3Q2xuYS9lZWFROVpaVHh4azVZNUgxR2FvemVENXROOApFNjljNnZkcHFIaXJXTEtXMk14SVZUTEloVklZczR3dVdBSFRPU2VNMEFmSnRmUWZ3Y3RkTDFqd1REcVBpQ1JWcy9EbHpONUtPK0lmCm1Ba01rZ1BCWlN6QUhqZzR3YStmcEkyaWthTnhoMEpWaDZFVjdMOEN0TVR4UGI2MW9XcFR5dnBDTkRkUFpxRTJUUHUvakpVdGo1RjQKQkhTZ0RDK04ycnJyWGpPMHZiZVdWcktmVG9MaTNWeVJ0VjEzWngySkdNMTU5cDMvQUNFN1QvcnNuL29RcjBUNDd2QS94SWI3TTBiUgpMWndxUExJS2pBUEhGYy84TUkxbCtKbWdJNnF5bTZBS3NNZzhHZ0Q2ZzhUK0lZdkRFWDltYUJZeDNXdjZnN3ZiMnE5QzdITFN5SHNvCkp5ZVI2Y1pGVWRIMDIwK0htZzNQaUR4UnFQMjNXN2diN3k4SXlYYzlJb2g2RE9BQUJuMEdjQTBqVHJUNGVhRGMrSVBGT29pOTF1NEcKKzh2TVpMc2VrVVE5Qm5BQUF5ZWNET0tnOE9hUnFuaWUrVHhmNHlpVzFoVDU5TjBsajh0cW5hU1RQV1FqMjQ5c2tBQVR3NW8rcWVKNwo5ZkYvaktOYmFGTXZwbWxOOTIxajV4SkxucklSajZjOU1sUkJOZDNueFUxQjdPd2xlMThHMjhoUzV1bDRmVVdCd1VROW84OVQzNmVvCkJOZDNueFUxQ1N6c0pIdGZCdHZJVXVic1pENml3T0NpZWtlZXA3OVBVQjEvcUZ6NG11ajROOEZNbGxwTm5pRFVkVGhIeXdxT0RERmoKcS9ZblBIMXdTQVB1OVR1UEVPb0w0UjhGK1hhNlZZTUl0UjFGRnlrYWpyQkZnakxub1Ruam5vY0UvTS9qVUZQSEd1d2huTWNGL05CRQpHWXRzalJ5cUtDZXdVQUQyRmZWTjFxT25lQmJUVGZDdmh2VHhjYWhLUXNOcEhqS3JuNTVaRCtKUGJKNDR5SytWL0hIL0FDUC9BSWovCkFPd3BjLzhBbzFxQU1HaWlpZ0FyM3Y0VmFoNG91dmhwL1pPZ3NUYzNPcVRRZmJaMkxKWXdpS0lraFQxT1dPQjB5ZW5VandTdmVmaEgKcjJwYVQ4TTU3UFJMQTNtcjZocThzVnNHL3dCVkZpR0hMeUhzb3puMzZkY1VBZDdjM2R2NEMwMkh3bjRXai90RHhIZWJwejV6azRadQpHdUp6MkhINDR4MTYxUERXdGVDZkJzTjlMZStLYkcvOFF6c1cxQzZsa0FlU1JlTmcvdXFEd0IyL0lDYS8wSWVBL2g1NGgxTnRSRng0Cmx1clo1cmpVWlF1K1dRTHdGQjZLT3kvL0FLaDhuVUFmUytoK0lQRGVvK0pwUEZIaTd4YnBFOXlueTZicDhNcE1Oa2g3OGdicERuQk8KT3g3WUNyNGc4WGFMNHc4UnJaWHZpM1NiUHdsYW45OUJITWZPdjN3Q0F4eGdSODQ0Snp0WUhPUnQrWjZLQVBxanhSOFI5SE5qYTZINApVOFJhTlplZWpDUytra095MGpVb01Lb0hMa01TQWNENURTMjNqbndKNEk4TXJhNkhxMW5lM2NrZ1VzMDJXbGxZOHlTdGduR2Nrbm12CmxhaWdENncwYnhmNE0wUVgycTNQaSt6MUxWN3FNTk94bENybFFjSkV1Q1VYbnBrK3B5YzFrYUhyL2hlODhTTjRwOFcrTE5JdU5RVGMKbW4yY014TU5sR2ZUSUdYSTZ0ajE3WXg4elVVQWZTL2lEeFRvWGpMeEpGYmFqNHUwcTA4SjJiN250WTV6NXQvSUJ4dk9BQkh6MDV6Zwo1NmdyZjhXZkVUU3JpeHRkRThLK0o5RXNGbkJFOTlMSVNMYUlGUVJHb0dDNTNaR1NCaFQzd1I4czBVQWZWMXQ0MjhEZUQvQ3JXbmg3CldkTnVib0ZRdm5YSE1zak1BWkpHQUpPTWxqN0ExbitHL0V2aExRb2IzeEJySGlyVE5XOFRUeE0wanBMaFZBQkloaXlPRjdaeHoxeHkKYStZYUtBUHEzd25ySGgzeGZyUjhXNmhxRmsrb1FXdSszc0ZsTGl3aXhsbWJQV1E4NUlBNEFIT00wOFd0NzhWZFNqdUx2ZmJlQzdhUQpQRmJFWWZVM0J5R2YwaUJ4Z2Qrdm9SODRlQkpaSXZIL0FJZTh1UmszNmpCRzIwNDNLMGlxeW4xQkJJSTdnMTlNZUp0YTFieERmbndoCjRLa2p0aXBDNmpxb1hLV2NmZEVBNE1oSGJ0N1pEQUFQRXVzYXA0Z3ZENFA4RXl4MnhUQ2FocWdYS1djZmRFeDFrSS9JZW1Rd20xWFUKTEg0YitIN2JRdkRsaWI3V3JuNUxPMCs4ODBoNnl5bmo1UVRsaVNQcU01cGRWMUd3K0crZzJ1aCtIYkEzMnRYUjJXZG1EbDVwQ2VaWgpXOUJuSkp4OVJuTkdtYWZhZUE5SHZQRlhpN1VJN25XSlUzM2QxamhmU0dJSHNNNEhUSjU0eWFBRFM5T3RQQWVqM25pcnhkcUtYT3NTCnB2dTd2SEMra1VROUJuQTZaSnp4bW9ORDB6VWZGT3JRK0x2RlEreFdkdXdrMHJTM2JhSWZTV1VucTU3RHQ3WklxRFQ3RzU4UjNQOEEKd21uallKWTZWWmd6NmZwa3grV0JSejUwMmVyNDZESEg0a1UyQzF2UGlwcUNYdW9SdmJlRFlIRFcxbXd3K29zRHc3K2tmb08vWDBOQQpIeXhxQkIxTzZJT1I1ei96TmR4OEg3WFZOVDhXWFdsYVpxcDA1cnl3bWplYll6NEdNWkFWMStZWnlEbmc5cXhmaUpZV21sL0VIVzdHCnhnU0MxaHVTc2NTRGhSZ2NDdDM0TXkzOEhqTzdtMHFCSjlSVFM3bHJXSi91dktGK1ZUeU9DY2R4OWFBRDQwNlZhNko0NGcweXlRcmIKMnVuVzhVWVBVaFZJQko3bmpyV0Y4T3I2MjAzNGg2SGVYa3l3MjhWeUdkMjZBWU5kQjhhTFBWTFh4ZFkvMnUzbTNuOW1XNlRYQ3FRawowcXJoeXB3TTgrdzY5QlhBNmQveUU3VC9BSzdKL3dDaENnRDZ2OE9hUnFuaWU5ajhYK000RXRJMEhtYWRwTE5sYlZQK2VraE9NdVI2CmdZSHBrZ1Y1cnU4K0ttb1NXZGc3MjNnMjNjcmNYYW5ENml3T0NpZWtmcWUvVDFGV05VVFZmaUZyMTFveXBMWWVGckdWb2IyY25FbDkKSXB3WTA5SXgzUGZwNmlvYisvdWZFbDEvd2huZ3JaWTZSWmdRYWhxY0l3c0tnWThtSEhWOGRUbmdmVUdnQXY3KzQ4UzNYL0NHZUNpbApqcEZsKzQxRFU0ZnV3cU9QSmh4MWZzVG5qNmtHcjJxYWphK0JkSnMvQ3ZoSFQ0N2pXSlUyMnRybmhQV2FVanNNNVBUSjQ0eUtOVTFHCjE4Q2FSWmVGUENHblIzR3NTcHN0TFhQQ2VzMHBIYm5KOVNjY1pGR21hZnAvdzIwQzUxenhEZk5mYXpkSGZkM1pHNlNlUTlJNHg2QW4KQUF4OUJuRkFFbWg2UllmRDdTcGRWOFFhajlzMXEra0J1NzEvdlN5TWNMSEdEMFVad0J3UFlad1Bsbnh4L3dBai93Q0kvd0RzS1hQLwpBS05hdnB2d3pvdXE2L2ZEeGY0MWpqdG1VbHRPMHN0bExPUHN6azhHUWp2Mkhwa3FQbWZ4M0ZKRjQvOEFFSG1Sc20vVVo1RTNERzVHCmtabFllb0lJSVBjR2dEbnFLS0tBQ3ZvZjRKNi9wM2hyNFY2bHFPb0g3dXF5TEVpak1rakdLSENJT3BKT0srZUsra1BnVm9kbTNnVCsKMU5YdHRvdE5Tbm50bm5YQ0FORkVwa0dldjNTTS9XZ0N6cTNndlh2Ri9oclhQRVhpYUJYMU9hMFlhVHBDUGxMSmNaQkpPQVpEM1A4QQpRNFg1bXI2enRMN1dQaVA0aTg2MGVYVC9BQWRZU0FwT3BLeTZsS1BUMGlINisrU0Z5UEVlamVITlc4V040ZDhNZUZ0SnU5VUxlYnFkCi9QRVREWnF4Sk9jRWJwRHpnWkg1WndBZk1kRmZWdmlMd3g0RDhNMmxsWkR3MXAxNXJGMlZndExmeWlESy9RdTJNa0tPcE9EZ1pxcy8KZ1R3VjRFOE5UWFBpSFRyTFVycWFkbmlWTGJETzc0eERHdVNTQWVCOVJRQjh0MFY5VStHUGh6bzM5bjNXdCtLL0RtaTJYbklySlpSeApuYmF4cVdQek1UOHprTUFTQUI4b3JQOEFEL2hEUmZHSGlJMzFuNFQwbXo4SjJ4UGt6UENmT3Yzd1JrRE9CRnpubkpKVlNPcHdBZk0xCkZmUzJ1ZUh2RG1wZUpvL0MvaEh3bHBFMDZmTnFXb3pRa3cyU2Vnd1J1a09jZ1o5TzJTdWo0dDBEd0w0V3M3V3p0L0NkaHFXdTNuN3EKeXNvNHdHbGZITE4vZFVkU2YvcmtBSHl4UlgxSmNlRVBDUGcvd2l1bytLUEQybFhHcFR5QlZ0N0szT0htWWZMREVDU1QwUDY4ZHFuMApYNGJlSEZobjhSZUpQRHVtNmNza0F4cHluZkZhb09jczNBYVE5eUFCMjU2MEFmS2xGZlRYaDd3WG9uakRYVjFPMzhMYVpZK0ZyWnliCmN0QWZPMUE3R1hKNXdzV1dERGdrbEFlaHFMVy9EWGgvV1BFU2VHdkIvaFRSM1pDUnFlcHl4RXgyYUVkRndSdWs1eU9lT004SElBUEQKUEFVRTF4OFF2RHFReFBLeTZsYnVRaWxpRldSU3g0N0FBa25zQlgxRHJ1c1dQdy8wcUxTZkQybWk5MXUra0l0TEZEODByc2N0SklSMApVWkpKT0I3ak9SUzFvK0h2aHlJWXZEUGgyMW44VFg0RUZwYTI2N1drOVhjL3dxT3BQNFpBSkl0NmJwOW40RTBpODhWZUxiK09mVjVVCjNYZDEyWDBpaUI3Wk9CMHoxT01tZ0EwelQ3VHdKcEY1NHE4VzZoSGNheEttNjd1dXkra1VRUGJKd09tZXZHVFZDd3NManhIY2Y4Sm4KNDJWTEhTckxNK242Wk1mbGdVY2lhWFBWKzRHT1Bya1VhZllYSGlTNUhqUHhxaVdPbDJlWjlPMHlZL0xDbzVFMHVlcjl3TzMxeUMyQwowdlBpcHFDWHVvUlBhK0RiZVFQYldqY1BxTEE1RHlEdEhub08vWDBJQUMzdGJ6NHA2Z2w3cUVUMnZnMjNjTmJXamNQcUxBNUR5ZWtmCm9PL1gwSXNlSXRYMVB4VGZ2NFI4SFRMYXdSank5UzFaQjh0cW4vUE9MSFZ5UGZnZW1RUWVJdFkxUHhUcUQrRVBCMHEyMEVmeWFucXkKZmR0VTd4eFk2eUVmbDdaQkYyK3ZMSHdMcGxqNFk4TTIwVXVzWFo4dTBobExFQmoxbW1LZ3R0R2NrOS9iT2FBUG1MNGpYbHRxSHhEMQp5NnRKbG10NUxrbEpGNk1NQVZ2ZkJUVVlOSDhjWEdwM1c3N1BhYWJjenk3Qms3VlVFNEhyZ1Z3Rjc1bjI2NDgzYjVubXR1MjlNNTV4CjdWNlg4QTRTM3hEYWFTTW0yanNwUk03TDhpZ2dmZVBRWndldEFGejQxWHVzYTFwZmhmV05XMGlUVHBabzU4d0hMZVVDNE1hczJQdkYKQURnNFBYZ1lyeVNHVm9KNDVreHVqWU1NOU1nNXIzajR2NnRkK09mQjgycmFTdHVQRGVsWFlIMmlYZUpicVE0VGRFTnUweGd1UmtuTwpRZUJqbndTZ0Q2dE9zK0l2SEduNlZvMmxSZjJjbDNZUVhlcjZuR3BWWS9OakRtT0VaenVPVHpuSUh1UWEwOVUxSzE4Q2FSWmVGUENHCm5KYzZ4S215MHRBZUU5WlpqNkRPVDZrOXMxeG53NjhhWDF2OElyR3owVFRwOVIxMzdWSllSQ1QvQUZhdHk2c3paenNWR1VkdW0zamcKMTJXbTJWaDhOdkR0eHJ2aUs4TjlyVndBOTVkRDVubmxQU0tJSEhHVGhSZ2RlZ3pRQWFaWVdIdzI4UFhPdWVJcjFyN1dybjU3eTYrOAo4OHA2UlJEajVjbkNnWStnemlvZkRXajZwcjE0UEdIamFLTzFaTXZwK21Gc3BaeGRuZlBXUWp2Mkhwa3FEdzFwR3A2L2REeGo0MWlqCnRXWE1tbjZZemZKWlJkbWt6L3kwSTY1NmVpNUtpcXQzZWZGZlVaSWJWWmJYd1hiU0ZKTGduYStwdXB3VlQvcGx3Y252MC92QUFBTHUKOCtLMnBTUVdva3R2QmR0SVVrdU00ZlUzVTRLcjZSWnprOStuOTRDMTRqMWQ3clUwOEllRHJTMmZVMFJWdXJ4b3cwZW5SQVlHY2c1ZgpBd3EvendhazE3WDdwNzJQd1Q0SWhqVytSQXR6ZEFmdWRPaTZaUHErT2krdlhvYTU3VWZHL2hINFQyTS9oelQzdUxuVnlyU1QzS1JpClV0TzNKYVVsd1NlK01uampOQUhSZUlkWC9zRzJ0UERta1cwV3MrS0xoTVIrYkdvQ0R2Tkx0R0ZVWjZmUWR4bTgwbHA0SDhJcGNlSkwKdE5SdkFQbWNXNkI1cEQwU05WQXp6Z0QvQU92aXZNZkNueFo4Q2VHRnVyaDAxMi8xVzlrTWwzcUU5dEVKSlQySCtzNFVEZ0FjVlh0ZgppMTRTdXZGRW5pRFgvd0MyTDJhTm1XeHRCYXhpRzBUY1FDQjVuek9WeGtub1N3SEZBSHB2aEN5MXFTRzk4UWVMQmEyY1Z3ZDl2cGFSCnBzdElnT043YmNsejM1eDlNNEdSQTk3OFVOVWtoaGhheThEV2o3UXdHMTlUY2RjRHRGL1AzeVF2SCtKZmpKNFc4VVhrTnJkdHJVT2gKeGhYbXRvcmFQZGRObHNxNTh6aE1iZUIxNUI0cnRybnhoTDRtdHJMUXZoN0NURlBHQlBxWmoyd1dLREdWQnhneWdFZkw3ZzhqT0FDegpyM2lLN3ZkVVh3UjRLalJicU5GRjdmQWZ1ZFBpUGIza0k2TC9BRDV4YWxuMGo0YmFOYTZScHNYMm5WcitUYkRFU1RKY3pOMWtrSUJPCjBkU2NIZ0hyelVpRFMvaDlwbHBvZWtRcmM2eGZ1ZkppZVFLOXpLUmxwSkdQT0Jna25rOGNBbXEwRHI0RDBPNjF6eFhjdzMrdTNrdVQKOW1qeXpub2tFSU9DVkdUanB5eHp5Y2tBbmRyVHdIcHQ1cmZpQzdHbzZ0ZHlncTZRNGtjNHdrRVM1SndDVGovZTU1UE5QdzlvRjdkNgpnL2pieHUwVWQ0cUUyZGlXekZwMFgxNkdRanFmL3dCUVh3OW9GN2QzNytOZkc3UngzYW9UWjJKZk1XblJmeU1oenlmOGNDakVkUytLCmVzbDVJcExUd1BhbjVBeHcrcVNBOVNPMFEvWGpya2hRQVFhbDhVOWE4eVJYdFBBOXFma1VuRDZwSUQxSTdSRG42KytmbHQrSVBFT28KYXBxNmVDdkJjYUk2S0JxR3BBZnVyQ1BqNVY3TklSbkErbmJKVTEveEZmNnBySytDZkJjYUxKR2cvdEhVaC9xckNQOEF1ci9la0l6ZwpmVHJ5VnNhaHFPbC9EVFJMWFJ0R3MzdnRadldLMnRvaHpMY3luNzBrakhvTzVZLzRtZ0ExRFVOTCtHbWgydWphTlp2ZmF6ZXNWdGJSCld6TGN5bmxwSkdQUWR5eC94TlY3UzB0ZkFkbEo0cjhXVE5mZUlMNWxnWjRJeTdCbTVFRUMrbkh0bkhyMUxTMHRmQWRoTDRzOFZ5UGYKK0lMMHJDelc4ZTlnekg1WUlGT09PUGJPUFhyYjBYUmJuN1pjZUwvRjkxaVlaZTF0SGJFVmpGenRKWEpIbTdTY25uRzRnRWcwQVM2YgpvN05xVno0djhUeXRFUU45clpUUzdvN0dNQWdNUU9ESVFXeWVTTnhVRWlzV09DLytLbXFwYzNTdmErQ3JWOTBNQkpENm00Nk00N1JlCmc3OWVjakJGRHFIeFUxWkxxNlNTMDhGV3I3b1lHT0gxTngwWmgvenk2NEhmM3o4dG54RHIycDY3cTYrRGZCYXJFa2VGMVBWQVAzZG4KSC9jVDFrSS9MajFKVUFQRVd1NnBydXFwNE84RmhJbFRDNm5xZ0g3dXlqL3VKNnlFZmx4NjdsbjFiVmRQK0craVdlaGVIN0JyL1dyeAp2THM3SlcrZVp6eTBramVnNUpKL01ja0dyYXJwM3cyMFd5MEhRTEJyL1dyMXZMczdOR3k4em5scFpHUFFEa2xqL0xKRHRPc0xQd0pwCk4zNHE4V1gwYzJyeklEZFhYVUxucEZFRDJ6d09tZXA3bWdBMDNUN1B3SnBOMzRxOFdYOGMrcnlvR3VycnN1ZWtVUVBiSndPbWVwNm0KcU9uMkZ4NGt1UjR6OGFvdGpwZG5tYlR0TW1QRUtqcE5LUDcvQUhBN2NkRG5LYWZZWEhpVzVYeG40MWpGanBkbm1iVHRNbVBFS2pwTgpLUDcvQUtEdHgzemx0dmEzbnhVMUNPOTFDRjdYd2JiU0I3VzBmaDlSWUhoM0gvUFBQUWQrdk9SZ0FMZTB2UGlwcUNYdW9SUGErRGJlClFQYTJqY1BxTEE1RHVPMGVlZzc5ZWVDSi9FV3M2cDRvMUJ2Q0hnMTF0NEl5RTFQVmw0VzJqN3h4WTZ5RWZseDB6dUI0aDFyVlBFK3AKSHdoNE5aYmVDTWhOVTFaZUV0bys4Y1hySVIrV1IwemtUNjFxdHA4TzlEdFBEM2hmVFRmYTNkZnU3T3pVNUxNZXNzcC91Z25KSjY1NQpJQkpBQXVzYW5hZkQzUXJYdzk0VzA3N2JyZHdObG5aZzVMTWVzc3A5Qm5KSkl5ZTR6a0piNlBQNEo4SmF6NGp2N2lHLzhVTll6WE10CnhMa29YU05uRWFEZzdCam9NWkdUeGswNnh0TEg0ZWFEZWVKL0ZONnR6cThxYjd5NUhKWnUwVVFPT01uQUhIcWNaTmVkL0VmVWRhdWYKQVY1ci9pR0tXd2sxT1JMYlNkUFEvTmJSazdtYVU1R0dkQXdJNTRJQkF5YUFQQnBwV25ua21mRzZSaXh4MHlUbXZaUGdmNFRmeEpvLwppU0M2YWFIVGJyeUlKSlluMnMrMXQ3eDhISXlwQUo2WVBldkdLOTMrRm1qK0lMNzRlalN0SHZGdEk5V3ZKSmJxOWpPV3RvRkFqS2owCmtZcngxK1U1eURpZ0R0ZGN1VjhYMjE5NEc4SzZSWnphWGIyclFYRjdNL2wyMXZKdC9kckh0VWxtVTRiZ2RoenptdmxPdnIvVjlVdGYKQWVrMlhoWHdocGkzV3N6THNzN05laWVzc3A0NEdja25razlzNUh6MThXZkQ5N29QaldWcjRxODE3R3R6SkpGRVVoTWpENXhIbnFvUAo0K3RBSFJmQXp4YlplRzdyWFV2eGNTTDlrTnpGSEhnNU1ZTzRLQ1I4N0FxQmpyaXZYdkRla2Fqcjl5bmpIeHBDbG95QXlXR21PM3lXClVmWm56L3kwSTllZzdBa2l2bGp3N3JFbmgveERZNnRFaVNQYXlpVGE2N2dSMzR5TzFmVUxOcTN4UG5nU1N5dXRLOEpHR09kdk9kQk4KZmgxREt2eU13Vk1FWjU1emc5eFFCRWw1ZC9GaS9saHRsbXRmQmx0SVVrblB5dnFiS2NFSi93Qk11T3ZmcC9lRmFtcjZ6TGNYWjhGZQpER3Q0TDZHQWVmY2xUNU5qR01BS01BanpDTTdRZU9EbnBpb2RkMTY0YThpOEVlQ0lZMHZZNHdseGNvb0VPbXhZd00rcjhZQyszZkJGClZaNXJiNGY2ZmIrRmZDbHFkUzhTM3hMa3Vja3NmdlhFN1o2ZTJjOUI2R2dDVVQySHcraHN2Qy9oeXprMVBYcjJUekp1Y3Vja2VaUE0KeFBUNm4wSGZOZk12amova2YvRWYvWVV1Zi9SclY5VDZUcHVsL0RuU0pOUzFxK04xcTkvS3YycThrNWt1SldPQWlEakNnbkFIQUh0bQp2bGp4eC95UC9pUC9BTENsei82TmFnREJvb29vQUsraFBnbnI0MGI0ZFRXOEVQMm5VNy9XWlliSzMzQlE3aUdJa2xqMFVEazlUZ2NBCm5pdm51dm9UNE0rSXROOE1mQ25VZFIxQUYyWFZwRmdoalhkTE01aWhBVkIzSk9CUUI2Tm85bVBDbHBjYWw0bzFLenVOYzFDVXMwMzMKVkcxVHRpako1Q0tNa2U3SE9TY255cTMrTG5nK2J4WTNpUFdJdGV2N3BFQ1dsdWJhRVEyZlhkc0htOGs1KzhlZXZRY0RmOFNlRjlTMQpqd1Q0aThXK01FWCswRFl1YkRUdDI2UFQ0d01qMk1oN3QvTG9QbXVnRDN6eEw4WlBDUGlpYTBodkY4UUpwVVRiNTdHTzFoQXVUMkR0CjV1ZHZUakhQT2M1cS9xbng2OEwzV2lQcDJteGE1cHBaZkxXYU8waFlvdVA0UVpjQSsvTmZPbEZBSDBSb1B4czhCK0c5SEduNmJwZXUKSjFaNVhnaVpwSFBWMlBtNUpKcWhvUHhkOEU2UnE5N3JWNWI2L3FPcjNSMm03bHRvUVk0K29qUWVhZHEvejc4ODE0TlJRQjcvQUcveApwOEtOcjdhcnFnOFFYN1JzVFoyN1dzS1JXdVFBU0FKZm1iQTZua1piR00xRjRsK01QaER4VGQyUzN3OFFqU2JkL01sMCtPMmhDM0xkCnZNYnpjbFIvZDZIbk9lTWVDMFVBZlJXcy9Ibnd4ZjZJK25hY211NllYWFo1MFZwQ3pJdU9pZ3k0QjkrYVRSUGpmNEU4TzZNdW5hWnAKV3R4QlFUNWpRUk16dWVydCs5eXhKNVBQTmZPMUZBSHZmaC80d2VDZEcxQzgxVzZ0OWYxRFZydGp2dTVyYUVGVTdJbzgzNVZIb1A1NQpxTy8rTGZndldmRk5yckdyUTYvZDI5bDgxcFlHMWhFVVVuL1BRL3ZmbWIwejA0eGpuUGhGRkFIMFZOOFJmQ0h4SzhWYVBwRjVQcTl2CnB4bkdMR2UzaldHNGwvZ0VqTElTUnV4aGNZeWVmVWRiNGcxdlUvRStxSHdoNE9iN1BieFlYVk5XWEd5MlR2SEg2eUVmbGtldVI4emUKQi84QWtmOEF3NS8yRkxiL0FOR3JYMUo0aDEyMDhCNmZiNko0YjB2N2RybC9JUmEyTVdNc3pITFN5SHNvemtrL29Na0FFZXRhdFovRAp2UmJQdzk0WTB4ci9BRnE2UGwybG1oeXpNZXNzcmRsR2NrbnFUeVFNc0gyZHBZZkR2UXIzeFA0b3ZSZGF0S20rN3VSeVhidEZFRGpqClBBSEhxY2NtaXp0TlArSG1pWHZpZnhQZkxjYXJLdTY2dXNaTE4yaWlCN1o0QTQ5VDNOUWFKbzk3NHF2b3ZGdmkrM0ZyYndIemRPMHUKWThXeWprU3k1NDM5K2Z1K3h6a0FOQzBpL3dERk45SDR0OFh3QzF0NFQ1dW5hWEtlTFpSeUpaYzhiOGM4L2Q5am12S1BqLzRvc2RiMQpYUjdQVGJscG9JYmN6dXl0KzdmZmphUnoxQURkUU1aOTY5SDFmeEZQNHgrM1hWdkhLbmduUjFlNHZwOWdMYW41UUxOREdwSXlueWtFCm5HZW5ZZy9OSGlIVjMxL3hCZmFySkdrYlhNcGZZaTdRQjI0eWNjVUFabGZXY3VwUDhQUENHa2VGZEMwK0hVUEU4bHVzY2RyYjhJWk4Kdnp6U0U0d3Vjbm5HU1IwemtlQS9DM1RiaTk4WndYVnZaejNiMkNtNWppalFsWlpRUGtqZHNFSUdQRzV1QjFyNk10cmJUUGhyNGZ2ZgpFZmlPOU4zcWtxNzd1NjRMeXYyaWpCeHhrNEE0SGM0eWFBRXM3WFRmaG40ZHV0ZThRM3pYMnJUQU5kM2VBWkxpVHRIR09PTW5BSEE1CnljYzF3M2o3dzlyL0FJeCtHVno0bjFyVDBzOVN0cERkMjFtQ044RnJnYmtjbkhPTXVSd2M0R0FSaXUwOE82UmY2L2N4K01mR2NDMmoKUnFaTExUWlcrU3lUKysrY2ZQam5uQkhUQU9SU2FYcm1vZkVQWG9yclN2TXR2Q2xqTnUrMHlKZzZqSXA2S0R5SXdlL2M4ZGlLQVBrVwp2YmZoTjR2OFNhcDRldWZCMm1YVUtYcWtOYlhOeklTME1CSURoRjJrSGJ5UmsveEFBRURGY0I4U1BDYStFUEY5MVpXd3pZT3pQYXVDCldHM09OdTQ5V1hvZlExamVHOWZ1L0RHdjJtcjJXRE5idnUyTVR0Y2R3Y2RxQVBxTyt2YmJ3TlpXdmhqd3JZcGYrSnJ4VnpoUU56YlEKR3ViZy9rVHpra2oxelZpenROTCtHSGgyNTFuV3J1Uy8xaTZPKzZ1Y2JwcnFZOUk0eHh4azRVY0FaN1pyUDhPZUlmQ2VpK0Q3cnh3SgptbnV0VmxhYWRRVEpQNXpNU0xaQWNIQ2s3UjBHT2VoelZ2dzNvK29hdGNEeG40MlJMYWRRejJlbnlNUExzSXVjRnZWeU9TVDB6MEhJCm9BZDRaMFBVdFp2RjhZZU5JMHQ3a1pheDA1bUJTeGo3RnV4a0k2azlNOUJraXZtRHh4L3lQL2lQL3NLWFAvbzFxK2s3TFVMMzRwNm0KWnJVWEZsNFBzNXZrbVB5UHFVaW4rSHVJd1IrUFE5R1d2QmZHUGhMeERkK1BQRWIyZWkzMTVIL2FVN0dTemhNNmpjNWNBc21RRHRaUwpRZVJua0NnRGlLSzN2K0VJOFdmOUN2clgvZ3ZsL3dEaWFQOEFoQ1BGbi9RcjYxLzRMNWYvQUltZ0RCcjZNK0F0aHBrdmdTZlZOU1NMCi9pWGFwUEpISkxqYkVURENDM1BmQXhuM05lSS84SVI0cy82RmZXdi9BQVh5L3dEeE5lMmZDN3dCcTkxNE9qMHZ4QmFYbW42Y2I5NzIKV0NRcXYydFNpS3FNdWR5Z0ZHSkRBWkJIVUU0QU5IV2w4UWZGNngxTmRNZVRTL0RNQ0ZiU1dSU0gxR1VkV3gxRVhweHpuNmhmbXU4cwpyclRycDdXOXRwcmE1anh2aG1qS091UmtaQjVIQkJyNnkxdnhMYzZ0cmJlQ1BCcUZaWUVVYWhxS0tQSnNJei9DRDNrSUhBOSsrR0FuCjFiVU5LK0h1aldta2FkWnZxZXQzaDIydHI5K2E1a3hqZTdIT0ZBSExIc1BZMEFmSDlGZlhPbVdlbi9EK3d2TmI4VFhrVXV1YXpJbm4KQkl5d2VRQWlPS05GQk9CdXhrRHVNazlhbjBEUkxsbVBpM3hvWUlybU5Xa3RyTWhmSzA2TmdNak9PWElBQlAxeGpKRkFIeC9SWDFocAp2Mjc0bGF0SmR0Ym14OEZ4S1VpaWVKUStxSFAzbUJHVmpHT09tYzk4a0IrdmEzUDRoMTQrQy9DTnNnRVM0MVRWUkdQTHMweDl4U2VHCmtJL0wzdzIwQStUS0srdTlVdnRGK0cyaTZmNGMwTFN4ZTZ4ZFpTeHNJMUJlUnU4anNmdXIzSlB2MkJJc2FaWVdIdy84UDZqcjNpYTkKaWt2YnRoUGV5N2ZsTGdZVkkxOWh3UHB6M05BSHg1UlgxbG8ybnpheHFrZmo3eFZFdWwyZGpISWROc1pBRk1FYmpCa2wvd0JwaC9EMgp5T01qSk5OaXZQaVZmbStudGpaK0RrNGd0bmlVUHFXQ0NIY0VaRWVRQ0J4bnZrSEFBUGsyaXZyWFd0Y3Z2RVhpQmZDM2cyTklvN2R4Ci9hbXNMR3BTMVVjK1hIbmhuUEE3Z1orcFdmeERyT25lQTlQc3RBMEhTMTFIWHI5eXRuWklvM081NWFXUTloMUpKL1FBa0FIemY4TmQKRzFIV1BpQm92OW4ya2s0dGIyRzRuWlI4c2NhT0dabUo0SEFQMTZESnI2YWp0TkkrSG1uYWo0bjhRWHBudnBpV211bitaMnlmbGlqSApwMkE0OVQzTlFhZllhVDhOTkQxRHhONGl1NDMxTzZ3MTdkS25NakhBV09OUjI2QUQyeWU1cUxSTkd2UEZWL0Y0dThYVy93Qmx0N2NtClhUdE1uSTIyeWprU3lEcHZ4eno5MzJPY2dCb21qM25pcStpOFcrTDdmN0xid0h6ZE8weWNqYmJLT1JMS0R4dnh6ejkzMk9jeFBmWHYKeEwxZ1dtbmhvUENGbk92MnE1WmYrUWt5dGt4S0QveXo0d3g3OGpzUVM5YS8rSjkwdG5ZeVBhK0RVY2k0dkk1QXNsK3lOaG9sQU81VQp5TUVrRFBianJpZU4vSEZ2WTZiY2FKNGJTS0RSdE1RSmYzYU1ZMElHTVdzTEtDZDdqNWR5ZzdRYys0QU1iNDZlSzdmU05FMC93aG9MCnBid1N4aVNkYlk3VkVJR0ZRWUdDcmRlRC9Eam9hK2ZxdjYxcXNtdGFyTmZTUnBDSE9FaGp6c2pVZEZYUFFDdFB3ZG90dnF1cXlYR28KbzUwblQ0V3U3MHJrRm8xR2RnYmdCMnhoY2taTkFIdW53d3Q5TStHdnd0ZnhUcmY3cWEvWHo4QUtaSFEvNnRFd2Vkd3dRRGpCWTV4egpYVGVIOUl2L0FCRmR4K0wvQUJqQUxRUmd5V0dteXQ4dG1uWjVNL3hrYzg5T25CelNlSHRHdk5mdVl2RjNpNkFXYVFneWFmcGt4QVd6ClFkSGZQRy9IUFAzZW5CelZSN200K0xOM0xhMmhudHZCc0w3SnJrWmpmVVdCNVJPNGpIYzkrbllnZ0FMdWY0dFhMeFdubjIvZ3lGOXMKazVCamZVV0I1VlFjRVJqdWU1NDdFRzdydXZ6dGVKNEk4RHhScGZSeGhMaTVqVEVPbXhkQjdiK01CZmIyd1RYZGZuYThUd1I0SGlqUworampDVDNNYWZ1ZE5pNkRweHY0d0Y5dmJCcTNGeGEvRDdUN2J3cDRVdG0xTHhOZTViNS9tWXR4dW5uYnNPblUrZ0dCeUFERDhlK0ZkCkdsOEo2ZjRCMCs1bXU5ZmlEWFZydjNTTXo1TE8wakRoZDVac2JpQUMzcFh6UlgxL2JXK2xmQzd3NWM2enJsNDk5cTF5UWJxNTI3cHIKdVk5STQxOU1uQUhBSFU0NU5lUC9BQkY4QWE1ZjZJdmp0OUtXem11UTA5OXAwU2ZOYnFXSlZpTVpKMjRMRWpJT2NnWW9BeC9oSjR6cwpQRCt2d1dPdXJHK2xTUytiRXp4Yi9zOXdRRkVnUFVaSEJQUGIzcjNLNGgxUDRpNjFjV2R4YlhGaDRVc3BpakdRYlcxTmgzWDFoUEJCCkhEQWozRmZJMWUwL0RYNGszay9oeGZCRDZoRnAxMngyV09wVEFzRlZtSlpENk5nbmFUeDBCNmNnSHFtdCtJWjczVWg0SjhGcXEzVUsKQkx5OGpYOXpwOGZUR2VoZnNCMndmUWlya1VOajhQdERpMFRRYktTLzFhNUx5eDI0Zjk1Y3luNzBzcm43cTV4bG1Qb0JuZ1VRMituLwpBQSswV0hSZEJzM3Z0WHV0MGtjTzc5NWN5ZnhTeXVmdXJucXpjRGdEUEFxR2FYVFBBMmtIeEw0aHpjNjljTGhtQ2g1bmtmSDdpSUQrCkVFS29BNDR5VGtrMEFOanU0dkEzaHB0ZThWUy9hTmR1bUxTTEJsMmtrWWdKREV1ZWdBUmNEaklKSjVKbzhNNlhxa2x4UDR4OFkzSDIKYTRkQ2Jldzh6RVZqQ09tN3N6OXlUNjl1UlVYaDNRNzI3dTM4YStOMmpodTFVdmFXVHNQSzA2SHRrbnE1SEpKOVNPT1JWSzBtdXZpegpmUE1ZcHJYd1hiUzdZdzZsSDFOaDFiQjZSWi9Qb2Y0bEFBL1Q3elVQaWpxcHU0MXViRHdmWnkvdUdPWTVOU2NmeGRpSXgrdmYrSlJhCjF6eFBkYTFya25ndndnU0xpQlFOUjFGVi9kV0tFZmRCNk5JUjBIT09ldUdBVFdmRWsrcjZ3L2dud2I4azF1b1hVTDlFL2RXS2YzVlAKUXlFZEIyNTY0SUV0N2ZhUDhNdEZ0dEUwYTBOM3JGOC8rajJrZk10MUtlc3NoNUlISExIc08rS0FDK3Y5SStHV2kydWk2Tlp0ZWF6ZQp1ZnMxcEh6TGN5bnJKSTNZY1pMSHNEMXhVRmxhYWY0RmpsOFRlTEw1Ymp4SHFSRVhtQkdrSUorN0JDaWduYmtqb1BUSlBXa3NiUFQvCkFBSkhMNG04VzM2M1BpUFVpSS9NQ001QlAzWUlVVUU3YzQ2QTg0eVR3YXQ2Tm8wODEwUEd2alFXOEYvREFWdDdmZCs2c1lzc2NuSncKWkNHd1c0NEFISElvQVhRdEt2cENmRm5qYWFKTGlMZExhMmpsZkswMUNBRGc5M0lBeWZ5eGtpc3ExRjk4VmRURjNjUlMybmdxMmJOdgpFNDJ2cWI1Kyt3NmlNZGgzenozQVcxRjc4VmRTKzEzRVV0cjRMdDIvMGVKMUt2cVRqK05nZVJGNkR2MzdnV05aOFNYV3Y2Ni9nbndmCjhuMmRBTlQxSkYvZDJhSGdSb2Voa1BQMDk4TUFBR3RlSkx6WDlkYndWNFBYWUlFQTFQVTBYOTNaSjJqVHMwaEg1ZStHMno2bnEybC8KRGZTckh3OW9kazk1clY4U0xTemp5WG1mK0tXUnV3N2xqNzljRWcxTFZ0SytHK2wyUGgzUTdOcnZXcjRrV2xuR0N6elAvRkxJM1lkeQp4OUQxd2NPMC9UZFA4Q2FmZStMZkZWN0hOcTg2ZjZUZHNNN1IxRU1RNmdjZEIxeGs1eG1nQTAvVGRQOEFBbW5Ydml6eFZleHphdk1uCitrM2JESlVkUkRFT3VPT2c2NHlmV3FGaHA4L2lXOFR4cjR6VTJPbDJRTXVuYVpjSEN3anROS083K2c3WjlSa3JZYWZQNGt2RThhK00Kd2JIUzdOVExwMm0zQndzSTdUU2p1L1RBN2ZVWkxMVzN1L2lwcU1Xb1hzY3R0NE50bjNXdHE2bFcxRmgwa2NmODgrdUY3OTg1d0FBdApiZTcrS21vUmFoZXhUV3ZnMjJmZmEycmphMm9zT2tqai9ubjZLZXZmT2NDZlc5ZjFEeFByVGVEL0FBZ1RGYncvTHF1ckt2N3UyVEgrCnFqUFJwRHg2NDkrZHByZmlDLzhBRSt0dDRPOElFeFc4SHk2cnFxTCs3dGt4L3FvejBNaC9ISHZ6aWZWOWEwMzRkNmJwL2hudzdZTmUKYTNla3BaMmNmTE0zOFVzcmRsN2tuazhub0dJQUUxald0TytIV21hZjRhOE8yRFh1dDNwS1dkbEh5ek4xYVdWdXdIVWs4bms5QXhFbApyYTZaOE85R3ZQRkhpaStXZlZKd1B0VjJWeXpFOUlvaDF4bm9COVQzTkxhV21tZkR6Ujd6eFA0bnZsbTFXY0Q3VmRzTXN4UFNLSWRjCmVnSHBrOXpWZlJ0RXUvRldvd2VMdkYwSnQ3ZTIvZmFicGt4d3RzTWNTeWc4YjhjOC9kK295UUEwWFJidnhWcUVQaTd4ZEI5bXQ3ZjkKOXAybVRuQzJ5OVJMS0R4dnh6ejkzMklKTWQ4Yjc0blhDV2xoTTF0NE9TUWk1dTRwQXNsOHlOZ3hxQjh5cGtjazR6MjQ2aHZwdmlkcQpjdGhhSktuZzYzWm83cTVETkUxOUlBUUZqSXdkaXRnazk4WTZkWXRSMUc0OFNYZi9BQWhQZ25GbnBsb0ZpMUxVNFVBU0JNZjZtTHNYCkk0eU9tZnFRQU0xWFZaZGVtZndkNE9kTlAwaXhVUjZwcTBZQ3hXMFFITVVSNkZ0dlU5QVB6SGlQeEw4VTZkZlRXL2h2dzJkdmg3VFQKbFBrd1pwdVEwaEo1YnFlVGdra25uZzExdnhSOGM2Um8yZ3Q0QThKSW90MHd0NWRJeDZnaGlvYitKaVI4emU1SE9UanhLZ0FyNnY4QQpoMzhNYkR3cDRldEx2V29iY2FnZyswM0xzUVZSaHl1V3pqQ0Q4TWpOY0w4RlBod3lOSDR6MTFJNGJPSkRKYXgzQ2dBZ2MrYWM5QU1aCkIvSG9hN3lXZTQrTEYzSmFXalQyL2c2Q1RaUGNES05xTEE4b25jUmc4RTkrbmJCQUVrdUxqNHNYY2xyYUdlMzhHd09VbnVCbU50UlkKSGxFNkVSZzhFOStuWWc3R3RUdmV3bndmNFl0Q2tBVVd0N2RXK0VqMCtGaGdoRGtBeUFkRlhsZUNld0szZXF0ZHBENGQ4RnhwNU1leQpLNHZyVXA1VmpFZVBrUDNXa0E2S000Nm5zRFQxdlZyVHdUREY0YzhJNllsMTRpditZb0Y1NUFBTTA3ZWdHT1Njbmo2Z0FxM0Z6YWZECjdUN2J3bjRVdGpxWGlhOUJZYnp1WXRqNXA1MjdEcDE5Z01Ea1hMYTMwbjRXK0hMbld0Y3ZIdmRXdVNEYzNSRzZhN2xQU09OZlRKNEgKQUhVNDVOSkJEcEh3czhOM090YTdldGU2cmNrRzV1aU16WGNwNlJ4cjZaNkRvT1NlNXB2aC9TTHZWSmw4YStOVmp0Wlk0ek5hMk16WQpqMCtQR2R6N3NmUGpxVGpIVGpuSUFlSHRIdk5WblR4cDQwVkxhWkVNdHBZU3RpUFQ0OFp5MmNmUGpxVGpIVGptb0xEVUxqNG82ajU4CkViUmVEYmFRcm1lTEg5cHNPRDhyRC9WajlUeHhnaW9vcmliNHRYTEdFVHdlRFlKTnBkbE1iYWt5bm5HY0VSZy9tZURqQkJ1YXo0Z2wKdkw4ZUNQQklqanVZSXhIZDNVSy91ZE9qSHk3ZU9OL0dBdmJCOU1VQWVCL0Vud0ZaK0c5VnZaOUF2RnZkTWdtOHVkRWZlOW01NUNQNwpkZ1QzR0NjNUZjQXJGV0RLU0dCeUNPb3I2OHZiWFEvQUhoTC9BSVIrdzBxVFdMMjlSdjhBUWdobGx2V2JoNUpjQTRYSitaandCd093CnJ3cjRsZkMyOThIUnc2dGJRUDhBMlpjQlRKR0c4ejdKSXc1akxkMUI0REhyeDNOQUhVZkN6NHJhVGF6aUR4WEhFdW9SeCtUYTZzMFcKWFpPQUluWURJSEF3ZW1CempHVDZkb0doM1Z6ZVNlTlBHYzlxTGhBejJkdWtvZTNzWWV6QnVqTVJ5VzkrTVpJcjVCcjBEd3Q4U3BMTApTb3ZEbmlTR1RVL0RnZmUwU05pVmVjZ0E1R1Z6bjVUMXllM0ZBSHQ5cFBjL0ZxOWVZeHpXM2d1MmxLeGh3VWJVMlhxMkQwakJ5TWQ4CllPUG1Xcm1zZUpKdFgxZC9CUGcwaEpyZFFsL2ZScCs2c1U2YlZQUXYyQTdZUDkwaXF6K01UNHd0TERSUEFiQkk3aTNEM040cWdEVDQKZ1N1d3IvREljSGFDT1FNaklGWGJ1OTBiNFk2SmE2SG8xb2JyV0wxejludEUrYWE2bFBXV1E4bkhITEhvQjdVQUxlWHVqL0RMUmJYUgpOR3REZDZ4ZXYvbzlwSDgwMTFLZXNzaDVPT09XUFlkOFZCWmFmYitCN1M5OFZlSkxsZFE4VFhxRWtCbDNuR01XOXVwUFRPT0J5VGpyCnhTV1ZqYStCYk84OFUrSnJ0TDd4TmZLVGplb2RzQVl0N2RTZWUzQTVKeDE0cTFvK2tUeXpqeHA0Mit5d1gwRUxlUkNUaU94aHlXK1kKazRNbUdJTGNjY1lITkFCbzJqVHpYUThhK05mczBGL0RBUmJ3WnhGWXhaWnNuSndaTU5ndHh3QU1EbXMyMCsyZkZiVWZ0ZHhGTGErQwo3ZC85SGlkU3I2azQvallIcEY2RHYzN2dKWm04K0srb203dUlwYlh3WmJTWXQ0cEZLUHFUaitOZ2YrV1hvTy9mdXRXZFg4U3orSWRjCmw4RmVEMjJHMlFMcVdwUnIrNnMwNmVXcDZHVGdqSGJCNjdXQUFGMWp4TGMrSU5jazhFK0R6c05zZ0dwYWxHdjdxelRwNWFub1pEengKMEhQWERBVDZqcXVrL0RmU3JMdzdvZG9idldyMGtXbGxIbHBKblBXV1E4NEhVbGo2SHJnMG1vYXJwSHczMHV6OE9hRmEvYXRhdkQvbwp0bEg4MGt6bnJMSWVTRjRKTEgwUFhCcGRQMHpUdkFkaGZlTHZGVjlITHJGd2crMVhqL3dqcUlZaDJIc09UZ1p6ak5BQzZmcG1uZUJOClB2dkZ2aXEram0xaWRQOEFTYngrZG82aUdJZGh4MEhYSE9jWnFoWWFmTjRrdkY4YStNeDloMHV6VXk2ZHB0d2Rxd2pyNTBvUFYrbUEKZW4xQUpMQ3dtOFIzaStOdkdmOEFvT2xXU21YVHROdUR0V0Jldm5TZzlYNEdBZW4xd2FiYVFYZnhVMUdQVUwyT1cyOEcyemJyVzFkUwpyYWl3NlNPRC93QXMvUWQ4ODlTQUFGcGIzZnhVMUdMVUwyT1cyOEcyemJyVzFkU3JhaXc2U09EL0FNcy9RZDg4OVNCUHJYaUc5OFQ2CjQzZzN3Z3hpZ2dHTlUxVkYvZDJ5Zjg4b3owTWh6K0h2aHNHcytJcnp4UnJqK0RmQ0RHT0NBYmRVMVdOY3gyeTlQS2pQUXlIOU9ldUcKeFBxdXRhWDhPOVAwL3dBTCtIclA3WHJkNmR0cFpSL016RTlacFQxQzlTV1BYQlBPQ1FBR3JhMXB2dzcwN1QvREhoNnhOM3JWNlNscApaUjhzekg3MDByZGw2a2s4bms5QXhEN1N6MHo0ZWFSZWVKL0U5OGsycTNBLzBtN1laWmoxRVVRNjQ0NEE5TW51YUxTejByNGQ2VmQrCktQRTkvSExxMXlNWEY0LzNuSjVFTVE2NDQ0VWVtVDBKcURSOUV1dkZXcFFlTC9Gc0p0N2UyL2U2YnBrM0MydzYrYktEL0hqbm43djEKR1NBR2o2SmRlS3RSZzhYK0xZVGIyOXQrKzAzVEpqaGJZWXlKWlFlTitPZWZ1L1VaTVRYcy93QVQ5VmV4czFrajhHMnpzbDNjaG1qYQovY0FnSkd3d2RpdGdranJ0eDA2bDgrby9FdlVocDlvTG14OElRc0d1THZZMGJhbDNDeEU0L2QrckRyMkk0SnhQSEhqZXlzYlJQRGVpClhVZWxhTkFoUzYxR05jQW9oQ3RCYWpwSStTRllya0xubnZnQTFOVjFXVFhwMzhIZURwRXNOSXNWQ2FwcTBZQ3hXMFlITVVaNkZzZFQKMEFQMXg1OTQ1K0tPbGFONGZUd2w0QWZaYmhTbHplcXBCNi9NRkxETE14emwvZmduT1J5WGluNGx5WDJqbnczNGJ0anBmaDVkdnlILwpBRjh4SEpMc0NlcDVQVWtqazhrVjUvUUFyTVdZc3hKWW5KSjZtdlN2aGY4QUM4K0xXYldkWlpyWHcvYkV0Skt4MkNZTHl3REhvdkJCCmJ0enprVWZDL3dDRjU4V3MyczZ5eld2aCsySmFTUmpzRXdYbGdHUFJlT1c3YzhnaXZYNG9oOFNndWs2U3IyUGdheVlSUEpDcGorMzcKRC9xNC9TTVl3U092dGprQVdKUCtGbGJkSzB0SHNmQTFrUkM3eEtZL3Qyemp5NCttSXhqQkk2NHh4am5vZFJ2cDNaUEMvaEdBUmlBcApCZDNVQVZZOVBpUEdFejhwa0E2S09uQlBZRTFLL25rWmZDL2hDRlkvczVqZ3U3cURhcWFmRWNBaE0vS1pBdklUdHdTT2dPZnJPczIvCmdpenQvQ25oUzJlKzErOExOYld6dTBubGJpUzBzekhKQ0Frbm5yMDRHU0FCTlkxT3c4QzI4UGhud2RwVVUvaUMrNWl0bzE0QndBWjUKMjlCeHllVCtaRWtNV2tmQzN3NWQ2LzRndlRkNm5QOEFOZFhaR1pibVR0SEdQVFBRY0Fjazl6UkZIby93dDhPWGV2OEFpQytOMXFkeAp6YzNSR1pibVR0SEdQVDBIUURKUGMwM1FkSXV0WHVVOGFlTTFTMWFKRE5aMk01MngyRWVNN24zWXcrT1NUamI3YzVBRFFkSHU5U3VGCjhhK05sanRab296TGEyVXpZajArUEdkekU0K2ZIVW5HUGJuTk9PZWI0dFhCTVhuUWVESVpNRmlDamFpeW5rRE9DSXdSOVNSampCQkUKbGwrTGN4OG96UWVESXBNRnNHTjlSWlR5T3hFWUkrcEk3WTV1YTFyMDEzZmY4SVQ0SjhxSzZnakVkMWRSS1BLMDZMb0FNY2I4REFYdApqMndRQTFyWDVyeSsvd0NFSThFaUtPNWdqRWQxZFFxUEswNlBvRkdPTitCZ0wyeDdZTXhHbS9EUHc1RnBPaVdNMm82dE1DOGR2R0M4CjkxSndHbGtJNUM1eGxqd0JnRHNLZWlhWDhOZkQ4T2o2TFp6WDJwemd1a0NEZlBjdndHbGt4emdjWlBZWUE3Q2k1bDAzNGU2ZGMrSWQKZHZaTHZWN3hWamxaU2MzRW1TVmpoakp3QU1rQWVnR1R4bWdDTDdSWmVBZEZrOFNlSTdpV2JYYitORXVFVjl4bG01SWhoVE9NQXNWRwpPd0JKNzFXMHJ3NUpyRU54NHArSVVkdCs4aUxSNmRjWU52WXdEa2J3M0JmSEpKNmUzTlNlSDlGdXJxYytOL0c1aWd1MFJwYmEwa2JFCldtdzllU2Y0OGRXT01jOU9jMDdhV2I0dFhQbjdaWVBCa0VwQ0JnVmJVbVU0eVIxRWVSMDZub2NZSUlCNVQ0aCtITVBpMjB2UEZYZ0wKVHJsTkw4NlVmWnBVMmVhRjZ2QXZVb1RrQmVDQ0NNREdLOGxyNjgxanhGTHJHcFA0TDhHUEdrdHNvanZyMklEeTdCT213WTQzOEVBZApzSFBURmN2OFN2QS9oRmROMDNUTVR5ZUpaMFMxc25pSmVhVUx4dWRlNmdEa25vQmdkcUFQQU5BOFNhdDRZMUQ3YnBGNUpiVEViVzI5CkhYT2NFZWxlcitCZmkvb2RycmwxcW5pWFRwRjFpNlhhK3BxelNyajVqdDJkWTF4c1hDZzV3Q2VtYTRUeGo4TS9FZmd0cEpiNjFNdGkKR3d0NUNNeDQzWVhjZjRTZlQzcmpxQVBydnc0K25lSVQvd0FKN3JkMXBqU1dzUGx4SkJjckxEWUtCdWJjK2NlWWR4SlBCQUlIcm1wYQpmYS9pdmZtN3VJcGJid1pieWY2UEU2bFcxSmgvR3dQL0FDejlCMzc5eFh6RnBIaUhWOUFsZVRTdFFudFdkU2plVzNCQnhuanAyRmVrCjJYeDUxaGZEcmFOZldTWlpSQ3Q1YVA1Y2tNZUFQbFVnZ3NNRTVKR2MwQWV1NnY0a244UTYxTjRMOEhPRSt5cUYxTFVZd1BMczE1SGwKb2VoazRJeDBIUFVnZ1QzMnA2UjhPTkxzL0RlaFdvdWRhdkQvQUtMWkljeXpPZXNzaDVJSEJ5eC91bnJpdVE4Ti9GcndObzNoR1N4MApLTjdHK0RFUlc5NmhVenlrRDk1Skt1NVJrOVN4NHh6eFhRK0Q1dkRHbTNOenE5ejRpMDdXL0ZWK3BNeHRiaEpwU0FNK1ZER3BKMmpIClFkY2M1eFFCZTA3UzlPOEIyRi80dThWWDBjdXNYQ0Q3VmVTZndqcUlZaDJIc09UZ1p6aXFOanA4L2lPOUhqYnhwaXkwcXlYemRPMDIKNE8xWUY2K2RMbmd1ZU1EdDc4R3A5TTBQVVBGT3NEeFY0dWdlMnM3UExhYnBFaS82bkhKbGxIZCtCZ2RzZDhBMVd0WUx2NHFhaW1vWApzY2x2NE50MjNXbHE0S3RxTGovbG80LzU1anNPK2VlNG9BTFczdS9pbnFNZW9Yc2NsdDROdG0zV3RxNmxXMUYvK2VqZy93RExNZGgzCnp6M0FzYXg0aXUvRk90eWVEdkNEK1hCYmpicW1xUmo1TFZlbmxSbm9aRHo5TWQ4RUExZnhGZCtLZGJsOEhlRVpCSEJiTHQxVFZJL3UKV3E5UEtqN0Z6Zyt3eDN3UUx0NWZXUGdYVExmd3o0WTA4M21zU1JtU0d6aUc1Z0N3VXp6TjJYY1JsajE1NjROQUVPcDZ4cGZ3OXNMRAp3dDRldEJjNjNlWkZwWlI4c3hQV1dVOWh3U1dQSndldURoYlN4MHI0ZWFYZWVLZkU5OUhMcTl3TVhON0o5NWllUkRFT3VPT0ZIcGs1CnhtbTZQYitIL0JOMVBmOEFpUFhkTmJ4UmV4ZVpjVFhWekhFNVFuaEl3eCtWTXJqME8zbk9NMTU3cVB4SDhKM1BpU0x4RHI5OUxxc2wKbEp0c2RIdElTWTdadWN5c3pZU1J1Qmdna2NnanBtZ0R2dEkwSzY4VTZwQjR2OFd4R0MzdGdaZE4weVk0VzJIWHpaQWY0OGM4L2Qrbwp6V2Y0aTFmL0FJVEc1anQ3clVFMFR3U2pyNTEvY3lpRCswMndTc2NUTVI4bkJPNGRjSEdPQ2ZPUEZIeC92OWIweTQwMnowUzFnZ2xZCnF6M0RlYnZqNTRLNEFCNkhPVGpGZVg2djRoMWZYNVVrMVhVSjdwa1VJdm1Od0FNNDQ2ZHpRQjduNHgrT0drNkxaTG9YZ3kwdDdxR08KSHl2T1pDc01RQnh0VmNEZU1BOU1Ea1lKcndqVmRhdjlhbWprdnB6SUlsMlJJT0ZqVE9kcWpzS29WMFdpK0RyL0FGVzBUVWJpV0RUdApKTGJUZjNqaU9OaUQ4eXBuNzdnQW5hT1RnMEFjN1h1dnc0K0NoUjAxM3huRkhGWnhJSjB0Sld3Q01ic3k1NkFkd2ZUbml1NitHUHc3CjBmd3BwTVd0WGRtRTFBUWxtdXJvNFpGd2R4Mm5oQmo2SEhXblR5M0h4WXUydExTV1czOEhRUzRudUVKVnRSWlQ5eFQxRWVSeVIxOXUKTWdFS1JmOEFDeXR1bDZVcldIZ2F6Y1J1OEE4djdkc1Arcmp4MGpCR0NSMTdZeHowTi9xUmt1b2ZDSGhkRGIrV3ZrM041Ync1aTA5QQp1ZGdJK1VTRmZ1ZzlPQ2V3SmZhaVh1b2ZDUGhlTTI0akFodWJ5M2l6RnA2QmM3QmpnU0ZlRkhiSUo3QTUrczZ6YitDTFMzOEtlRkxaCnIzWDcxbWEydG5rTW5sYjJ5MDByRWtoQVNUejErZ0pBQWF6ck52NEp0TGZ3cDRVdG12ZGZ2Q3pXOXM4alNlVnVKTFRTc2NrSUNTZWUKdjBCSWZISG8vd0FMZkR0M3IrdjN2MnJVN2ptNXVpTXkzTXZVUnhnOXZRZEFNazl6UkhIby93QUxmRHQ1cit2M3YyblU3bm01dWlNeQozTXZVUnhnOXZRZEFNazl6VGRGMFc0MVM4SGpQeG1JN2RyZEROWjJVN0FSMkVZR2Q3NTQzNDVKUFQ4eVFBMFRScm5WYm9lTlBHaXBiCk5BaG10TEtkc1IyRWVNNzN6eHZ4eVNlbnR6bW1aWmZpMU84Y0xUUWVESXBDcnlETWJhaXlua0RvUkdEMzZrK21PUm5sK0xVN1JSTk4KQjROaGtLdklwS05xTEtlUUQxRVlJNjlTUjJ4emMxM1hyaTR1L3dEaENQQTRoaXZZWXhIY1hNYUR5dE5peGdjRGpmZ2NMMng5QVFBMQp2WHA3dTkvNFFud1Q1VU4zQkdJN3E2aVVlVnBzWFFBQWNiOERBWHRqNkEyVWowdjRhZUhvZEgwU3lsdnRUbUJlTzNUNTU3cCtBMHNoCkhPQnhrOWhnRHNLaGhrMFQ0YjZJUEQvaCszT29henQ4d1dVVEI3aWR5T1paY2NnZXA2WUdCMkZUVDNGajhPdEp2ZGU4UWFpMTlxVjYKeTduQ0tIbGsyZ0NHRWRkdWNrQWs0eVNUakpvQWlsTmg4T3JPL3dERW12NnBOZmFwZjdFYkhIbXVCOHNVS2Roa25IY0E4bkE0ajBEUgpMcTZ1VDQyOGJtS0M3ampNbHRhU05pTFRZc1o1SjQzNDZzZW50emswSFE3bTZ1ajQzOGIrVkJkeFJtUzJ0WkcvZGFiRmpQSlBHL0hWCmowL1BOT0I1ZmkzY0NZaVdId1pES2Rpa0ZXMUZsT01rZFJHQ09uVWtkc0VFQVMza20rTGR4NTVXV0R3WkJLUWlzQ3JhaXl0akpIVVIKNUhUcWUrTUVHNXJIaUdYVjlSZndYNExlT09XMlVSWDE1Q0I1ZGdnK1hZdU9OL0JBSGJCejB3VFY5ZmwxVy9id1Y0S2VLS1cyUVJYdAo1QUI1ZW54ajVkaTQ0MzhFQWRzSDB3WHozR2pmQzNRTFBRZEV0UHRPcTNqRVcxcURtVzZsUFdSejF4eHlld0dCMEFvQUxpNTBiNFg2CkZhYUZvbHA5cDFhOFkvWnJWVG1XNmxQM3BIUFhISEpQUURBNkFWWHM5T2k4QmFYZmVNUEUwajZsNGh1eUZsa2lUY1ZMRUJJSWgvQ00KN1IxNVBVNEF4SGJXMW44UGJHNDhWZUtyb1gvaWJVVzJaUUFzV1AzYmVCZXdIQS9ESk9BTWFHa2FNOGw3SjQ0OFhpTzF2RmdCaXRaSgp0ME9ueGhlVGtnZk1lU1NlbWNldVFCK2g2WmNwZDNualh4WktMTzRsdHRxMmJ6NWhzWUFvM0FrNHlTUVdKUFRPUFhQbnNmdzMwRDRtCnBxV3JhTnBCMEd5OHpacDkzSGxVdThMdExHSEdFVEk0eGdubk9EbXVydFB0SHhhdS90Yzhja0hneTNsLzBlSnNxMnBNcHh2WWRvd1EKY0R2am5ISXE1cS9pS2J4RHEwM2d6d2ZLc1p0UUk5UnY0aDhsa3ZUWW5ZdndSeHdNSHVDS0FQbm5VdmhocjFyZDNjR25HMTFuN0xLMApjdzA2WlpuaXdTQVpGSEtad2VENkVkcTRxdnNDN3ZkSCtHdWoyZmgzUUxOSjlYdkNmc3RtaC9lVHlFY3l5SHJqamxqMlhBempGVnRRCjhOYUhwL2c2NjFINGl5MjJwM0xCbWx1cDQxM1FodWtNTEFiZ0FjNEFPY2s0b0ErU0tkSEk4VGg0M1pISFJsT0NLK2diWDRPZUdkWTAKTi9FR293M25oaXpVTTZRZmFRLzdrY2lTUXlBbFdJUElCeHdQV3NQVFBnVkQ0bmltMUxRdGVlUFNIa0F0Skx5MWJmTW14U1gvQUllTgp4WWRQNGFBUElUcUY2UmczbHdSLzExYi9BQnJlc1BpSjR2MHV3aHNiSFg3eUMxZ1haSEVqRENqMEhGYlZyOEgvQUJCcWV0NmxwbWxYCmVsM3JhZVY4NlNPNkJBM002Z0hHY04rN09WUEl5S2ZMOEdmRXNHcXc2Vk5lYUxIcU15NzRyVnI5Uks2ODhoZXBIeXQrUm9Bdzd6NGoKZU1OUXM1YlM2OFFYc3R2S05yb1dHR0g0Q3VlKzIzWG0rYjlwbTh6RzNmNWh6ajB6NlYzK28vQlR4Um85cjlxMU81MGV6dDl3WHpiaQorV05jbm9Na1l6VnlINEIrTUdNY2t6NmRGYkhCZVlYSVlLbmR1bk9CelFCNWhMTkxPKythUjVHeGpMc1NjZmpUSzluOEovQS9UdkVrCmpYVUhpbjdYcHNValJTU1c5bzBlOWhrZkk3WlZzRURrWkdQcldoby93czhJWDNpeTcwZlNocUdzUjJxK1hlWGMwd1MzdG1QWlNnQmEKUUVBYmZ1OHRubGNVQWVFVjJ1bS9DM3hKZTNkcGIzVnVtbnZjeXFrVVYwd1dXVlNSdWVPUHE0VUhjMk9ncjM3VXBmRDN3OGtzZEM4Swo2TGFTK0o3K1B5TGFLS05SSVU2bVNaK3UwYmM4NUp3ZXVEaTliVzJrZkRYUkx2eEg0anYxbTFTNVArazNrbjM1WEl5SW94MXg4dkNqCnN1VG5HYUFPVXQvaGg0RStHdWlmMjM0cGtUVUpvdUI5cDVSNUNwR3hJdWpaNUlCQkl4bnRtdWwwYnc5UHIrb3dlTC9GMEt3SmFBeTYKZHAwcHhIWnFCbnpISFF2am5uN3VCamtacGRJOFAzSGlMVllmR1BpK0lSQzFCbDA3VDVUOGxtdlh6SEhRdnhubnBnWTVHYXAzTDNIeApadkRhV3Nza0hnMjNseGNUb1NyYWl5bjdpbnRHQ09UM3h4amdrQUxpUzQrTEYyYlMxbGxnOEcyOHVMaWRDVmJVV1UvY1U5b3dSeWUrCk9NY0U3T3EzYTNicDRMOE93Q09IWjltdkxtR0xNVmpGdHlVNDRFakx3bzdaQlBZR0dYWGhmM3NYaFR3aEVFdFlnc00rcDJnUjRMSkEKR3pHTnA0a3d1QUNNRGNEMndZZFcxdVB3VHArbitFZkRrUTFIeEZjcnRnaWJBUFAzcmlZZ1lBNnNUams1OThBRGRUMWlId0xwV20rRAp2RE1JMUR4Qk5HRXQ0VGpJSFJwNWlPZzZrbnVjKzVFa2NXamZDM3c3ZWVJTmZ2UHRPcDNKemMzVERNdHpMMUVjWTlQUWRBQVNlNW9pCmgwYjRXK0g3enhCcjE3OW8xTzZJTjFkc015WE1oNlJvT3VQUWRnQ1QwSnB1a2FETnE5OHZqUHhva2NMV3ltYXlzcHlQTHNFSHpiMnoKeHY0QkovaHg3WklBYU5vaytxM284YWVORmpnYTNReldkbk93RWRoR09kN1o0MzRHU1QweDdaTk4ybCtMVncwVVR5dytEWVpNU1NLUwpqYWl5bmtBOVJHQ092VWtkc2NrcGwrTFZ3WVkzbGg4R1F5NGtkU1ZiVVdVL2RCNmlNRWRlcEk3WTV1YTlydHhjWFk4RCtDUEpodllvCjFqdWJtTlI1V214ZEJ3T04rT2k5dnlCQURYZGR1TGk3L3dDRUk4RWVURGV4UmlPNXVZMUhsYWJGakE0SEcvQTRYdGo2QXczZmwvRHoKU0xQd3Y0U3NHdk5mMUVNMFR5ak81aGdQUE0zb01qajZBWUhRKzE2ZjhQSWJMd2w0WHNScWV2M1JFcnhQSmhtL3ZUVE9BY0Q4UFlEQQo0c0t1aWZDancxZDZ6ck40MXpxRnkyNjR1WE9aYnFVOGhFQjdlZzZBWko3bWdELy8yUUFqV1h5U0FBQUFKWFJGV0hSa1lYUmxPbU55ClpXRjBaUUF5TURJeUxUQXlMVEEyVkRJek9qSXdPakF4S3pBek9qQXd0ZU4xbndBQUFDVjBSVmgwWkdGMFpUcHRiMlJwWm5rQU1qQXkKTWkwd01pMHdObFF5TXpveU1Eb3dNU3N3TXpvd01NUyt6U01BQUFBYWRFVllkR1Y0YVdZNlFtbDBjMUJsY2xOaGJYQnNaUUE0TENBNApMQ0E0RXUwK0p3QUFBQkYwUlZoMFpYaHBaanBEYjJ4dmNsTndZV05sQURFUG13SkpBQUFBSVhSRldIUmxlR2xtT2tSaGRHVlVhVzFsCkFESXdNakk2TURJNk1EWWdNVFU2TVRNNk1qajZRd0dnQUFBQUUzUkZXSFJsZUdsbU9rVjRhV1pQWm1aelpYUUFNVGt3VEk3endnQUEKQUJSMFJWaDBaWGhwWmpwSmJXRm5aVXhsYm1kMGFBQXlNalU5Z3dGUkFBQUFFM1JGV0hSbGVHbG1Pa2x0WVdkbFYybGtkR2dBTWpJMQo3djhSM0FBQUFCcDBSVmgwWlhocFpqcFRiMlowZDJGeVpRQkhTVTFRSURJdU1UQXVNamdJeXc3d0FBQUFKSFJGV0hSbGVHbG1PblJvCmRXMWlibUZwYkRwQ2FYUnpVR1Z5VTJGdGNHeGxBRGdzSURnc0lEZ2dHL1JUQUFBQUhIUkZXSFJsZUdsbU9uUm9kVzFpYm1GcGJEcEQKYjIxd2NtVnpjMmx2YmdBMitXVndWd0FBQUI1MFJWaDBaWGhwWmpwMGFIVnRZbTVoYVd3NlNXMWhaMlZNWlc1bmRHZ0FNalUyVUhBdwpBd0FBQUIxMFJWaDBaWGhwWmpwMGFIVnRZbTVoYVd3NlNXMWhaMlZYYVdSMGFBQXlOVGFJQnZvVUFBQUFLSFJGV0hSbGVHbG1PblJvCmRXMWlibUZwYkRwS1VFVkhTVzUwWlhKamFHRnVaMlZHYjNKdFlYUUFNekk0bDhmaHdRQUFBREIwUlZoMFpYaHBaanAwYUhWdFltNWgKYVd3NlNsQkZSMGx1ZEdWeVkyaGhibWRsUm05eWJXRjBUR1Z1WjNSb0FESTVPRGN6Y2IxUk53QUFBQ3AwUlZoMFpYaHBaanAwYUhWdApZbTVoYVd3NlVHaHZkRzl0WlhSeWFXTkpiblJsY25CeVpYUmhkR2x2YmdBMkVoV0tHZ0FBQUNCMFJWaDBaWGhwWmpwMGFIVnRZbTVoCmFXdzZVMkZ0Y0d4bGMxQmxjbEJwZUdWc0FEUGgxODFhQUFBQUczUkZXSFJwWTJNNlkyOXdlWEpwWjJoMEFGQjFZbXhwWXlCRWIyMWgKYVc2MmtURmJBQUFBSW5SRldIUnBZMk02WkdWelkzSnBjSFJwYjI0QVIwbE5VQ0JpZFdsc2RDMXBiaUJ6VWtkQ1RHZEJFd0FBQUJWMApSVmgwYVdOak9tMWhiblZtWVdOMGRYSmxjZ0JIU1UxUVRKNlF5Z0FBQUE1MFJWaDBhV05qT20xdlpHVnNBSE5TUjBKYllFbERBQUFBCkNYUkZXSFIxYm10dWIzZHVBREhhSVZWOEFBQUFBRWxGVGtTdVFtQ0MiIC8+Cjwvc3ZnPgo=" + loadIcon.style.width = "38px"; + loadIcon.style.height = "38px"; + + toggleButton.appendChild(loadIcon); + toggleButton.classList.add("ovo-levelselector-button"); + toggleButton.style.top = "calc(50% + 50px)"; + toggleButton.style.right = "0%"; + toggleButton.style.transform = "translateY(-50%)"; + toggleButton.style.width = "50px"; + toggleButton.style.height = "50px"; + toggleButton.style.zIndex = "3"; + toggleButton.onclick = this.openLevelMenu; + document.body.appendChild(toggleButton); + }, + + keyDown(event) { + if (event.code === "KeyT") { + if (event.shiftKey) { + this.openLevelMenu(); + } + } + }, + + openLevelMenu() { + if (this.levelSelectorWindow == null || this.levelSelectorWindow.closed) { + let levelSelector = window.open("", "OvO Level Selector"); + levelSelector.c2_runtime = runtime; + + levelSelector.document.open(); + levelSelector.document.write(`OvO Level Selector`); + + levelSelector.document.write(` + + `); + + levelSelector.document.write(`
`); + + Object.keys(runtime.layouts).forEach((levelName) => { + levelSelector.document.write(``); + }); + + levelSelector.document.write(`
`); + + levelSelector.document.write(``) + levelSelector.document.close(); + + notify("Level Selector", "Window Opened"); + } else { + notify("Level Selector", "Window Already Opened"); + this.levelSelectorWindow.focus(); + } + } + }; + + levelSelector.init(); +})(); \ No newline at end of file diff --git a/games/ovo/modloader/mods/v1/modapi.js b/games/ovo/modloader/mods/v1/modapi.js new file mode 100644 index 00000000..562ada81 --- /dev/null +++ b/games/ovo/modloader/mods/v1/modapi.js @@ -0,0 +1,198 @@ +// new features: onLevelLoad +// onbboxchanged +// speed +// Math.round(Math.sqrt(Math.pow(player.behavior_insts[0].dx, 2) + Math.pow(player.behavior_insts[0].dy, 2))); + +(function () { + const modapi = { + init() { + this.game.init(); + this.ui.init(); + this.keybind.init(); + + globalThis.ovoModAPI = this; + }, + + game: { + init() { + this.runtime = cr_getC2Runtime(); + }, + + tick(functionToTick) { + const tick = { + tick() { + functionToTick(); + } + } + + this.runtime.tickMe(tick); + }, + + getGameValues() { + return { + tickCount: this.runtime.tickcount, + fps: this.runtime.fps, + frameCount: this.runtime.framecount, + deltaTime: this.runtime.dt, + width: this.runtime.width, + height: this.runtime.height, + }; + }, + + notify(title, text, image = "./speedrunner.png") { + cr.plugins_.sirg_notifications.prototype.acts.AddSimpleNotification.call( + this.runtime.types_by_index.find( + (type) => type.plugin instanceof cr.plugins_.sirg_notifications + ).instances[0], + title, + text, + image + ); + }, + + getPlayer() { + return this.runtime.types_by_index + .filter( + (x) => + !!x.animations && + x.animations[0].frames[0].texture_file.includes("collider") + )[0] + .instances.filter( + (x) => x.instance_vars[17] === "" && x.behavior_insts[0].enabled + )[0]; + }, + + getFlag() { + return this.runtime.types_by_index.find( + (x) => + x.name === "EndFlag" || + (x.plugin instanceof cr.plugins_.Sprite && + x.all_frames && + x.all_frames[0].texture_file.includes("endflag")) + ).instances[0]; + }, + + getCoin() { + return this.runtime.types_by_index.find( + (x) => + x.name === "Coin" || + (x.plugin instanceof cr.plugins_.Sprite && + x.all_frames && + x.all_frames[0].texture_file.includes("coin")) + ).instances[0]; + }, + + getLayout(layoutName) { + return this.runtime.layouts[layoutName] || this.runtime.running_layout; + }, + + setLayout(layout) { + this.runtime.changelayout = layout; + }, + + getLayer(layerName = "Layer 0") { + return this.runtime.running_layout.layers.find(x => x.name === layerName) + }, + + layerScale(layer, scale) { + layer.scale = scale; + return layer; + }, + + //platformScale(platform, scale) { + // platform.behavior.my_types[0].all_frames.forEach((frame) => { + // frame.height /= scale; + // frame.width /= scale; + // }); + // + // platform.inst.height *= scale; + // platform.inst.width *= scale; + // + // return platform; + //}, + + moveInstance(instance, x, y) { + instance.x = x; + instance.y = y; + instance.set_bbox_changed(); + return instance; + }, + + rotateInstance(instance, angle) { + instance.angle = modapi.math.degreeToRadian(angle); + instance.set_bbox_changed(); + return instance; + }, + + resizeInstance(instance, width, height) { + instance.width = width; + instance.height = height; + instance.set_bbox_changed(); + return instance; + }, + + instanceOpacity(instance, opacity) { + instance.opacity = opacity; + return instance; + }, + + destroyInstance(instance) { + this.runtime.DestroyInstance(instance); + }, + + createSolid(x, y, width, height, angle, layer) { + const solidType = this.runtime.types_by_index.find(x => x.plugin instanceof cr.plugins_.TiledBg && x.texture_file && x.texture_file.includes("/solid.png") && x.behs_count === 2); + + const solid = this.runtime.createInstance(solidType, layer, x, y); + solid.width = width || solid.width; + solid.height = height || solid.height;; + solid.angle = angle || solid.angle; + solid.set_bbox_changed(); + return solid; + }, + + createSprite(x, y, width, height, angle, spriteName, layer) { + const spriteType = this.runtime.types_by_index.find(x => x.plugin instanceof cr.plugins_.Sprite && x.all_frames && x.all_frames[0].texture_file.includes(spriteName)); + + const sprite = this.runtime.createInstance(spriteType, layer, x, y); + sprite.width = width || sprite.width; + sprite.height = height || sprite.height;; + sprite.angle = angle || sprite.angle; + sprite.set_bbox_changed(); + return sprite; + }, + + isInLevel() { + return this.runtime.running_layout.name.startsWith("Level") + }, + + isPaused() { + if (this.isInLevel()) return this.runtime.running_layout.layers.find(function (a) { + return "Pause" === a.name + }).visible + }, + }, + + ui: { + init() { + + } + }, + + keybind: { + init() { + this.events = []; + + document.addEventListener("keydown", (event) => { + this.events.forEach((keybind) => { + if (event.key.toLowerCase() == keybind.key.toLowerCase() && !event.isComposing && (!!keybind.modifiers.alt == event.altKey && !!keybind.modifiers.ctrl == event.ctrlKey && !!keybind.modifiers.meta == event.metaKey && !!keybind.modifiers.shift == event.shiftKey)) { + keybind.callback(event); + } + }); + }); + } + } + }; + + modapi.init(); +})(); \ No newline at end of file diff --git a/games/ovo/modloader/mods/v1/multiplayer.js b/games/ovo/modloader/mods/v1/multiplayer.js new file mode 100644 index 00000000..52aa9ef8 --- /dev/null +++ b/games/ovo/modloader/mods/v1/multiplayer.js @@ -0,0 +1,7274 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if (typeof exports === "object" && typeof module === "object") + module.exports = factory(); + else if (typeof define === "function" && define.amd) define([], factory); + else if (typeof exports === "object") exports["CBFjs"] = factory(); + else root["CBFjs"] = factory(); +})(window, function () { + return /******/ (function (modules) { + // webpackBootstrap + /******/ // The module cache + /******/ var installedModules = {}; + /******/ + /******/ // The require function + /******/ function __webpack_require__(moduleId) { + /******/ + /******/ // Check if module is in cache + /******/ if (installedModules[moduleId]) { + /******/ return installedModules[moduleId].exports; + /******/ + } + /******/ // Create a new module (and put it into the cache) + /******/ var module = (installedModules[moduleId] = { + /******/ i: moduleId, + /******/ l: false, + /******/ exports: {}, + /******/ + }); + /******/ + /******/ // Execute the module function + /******/ modules[moduleId].call( + module.exports, + module, + module.exports, + __webpack_require__ + ); + /******/ + /******/ // Flag the module as loaded + /******/ module.l = true; + /******/ + /******/ // Return the exports of the module + /******/ return module.exports; + /******/ + } + /******/ + /******/ + /******/ // expose the modules object (__webpack_modules__) + /******/ __webpack_require__.m = modules; + /******/ + /******/ // expose the module cache + /******/ __webpack_require__.c = installedModules; + /******/ + /******/ // define getter function for harmony exports + /******/ __webpack_require__.d = function (exports, name, getter) { + /******/ if (!__webpack_require__.o(exports, name)) { + /******/ Object.defineProperty(exports, name, { + enumerable: true, + get: getter, + }); + /******/ + } + /******/ + }; + /******/ + /******/ // define __esModule on exports + /******/ __webpack_require__.r = function (exports) { + /******/ if (typeof Symbol !== "undefined" && Symbol.toStringTag) { + /******/ Object.defineProperty(exports, Symbol.toStringTag, { + value: "Module", + }); + /******/ + } + /******/ Object.defineProperty(exports, "__esModule", { value: true }); + /******/ + }; + /******/ + /******/ // create a fake namespace object + /******/ // mode & 1: value is a module id, require it + /******/ // mode & 2: merge all properties of value into the ns + /******/ // mode & 4: return value when already ns object + /******/ // mode & 8|1: behave like require + /******/ __webpack_require__.t = function (value, mode) { + /******/ if (mode & 1) value = __webpack_require__(value); + /******/ if (mode & 8) return value; + /******/ if ( + mode & 4 && + typeof value === "object" && + value && + value.__esModule + ) + return value; + /******/ var ns = Object.create(null); + /******/ __webpack_require__.r(ns); + /******/ Object.defineProperty(ns, "default", { + enumerable: true, + value: value, + }); + /******/ if (mode & 2 && typeof value != "string") + for (var key in value) + __webpack_require__.d( + ns, + key, + function (key) { + return value[key]; + }.bind(null, key) + ); + /******/ return ns; + /******/ + }; + /******/ + /******/ // getDefaultExport function for compatibility with non-harmony modules + /******/ __webpack_require__.n = function (module) { + /******/ var getter = + module && module.__esModule + ? /******/ function getDefault() { + return module["default"]; + } + : /******/ function getModuleExports() { + return module; + }; + /******/ __webpack_require__.d(getter, "a", getter); + /******/ return getter; + /******/ + }; + /******/ + /******/ // Object.prototype.hasOwnProperty.call + /******/ __webpack_require__.o = function (object, property) { + return Object.prototype.hasOwnProperty.call(object, property); + }; + /******/ + /******/ // __webpack_public_path__ + /******/ __webpack_require__.p = ""; + /******/ + /******/ + /******/ // Load entry module and return exports + /******/ return __webpack_require__( + (__webpack_require__.s = "./src/cbfjs.js") + ); + /******/ + })( + /************************************************************************/ + /******/ { + /***/ "./node_modules/webpack/buildin/amd-define.js": + /*!***************************************!*\ + !*** (webpack)/buildin/amd-define.js ***! + \***************************************/ + /*! no static exports found */ + /***/ function (module, exports) { + module.exports = function () { + throw new Error("define cannot be used indirect"); + }; + + /***/ + }, + + /***/ "./node_modules/webpack/buildin/amd-options.js": + /*!****************************************!*\ + !*** (webpack)/buildin/amd-options.js ***! + \****************************************/ + /*! no static exports found */ + /***/ function (module, exports) { + /* WEBPACK VAR INJECTION */ (function (__webpack_amd_options__) { + /* globals __webpack_amd_options__ */ + module.exports = __webpack_amd_options__; + + /* WEBPACK VAR INJECTION */ + }.call(this, {})); + + /***/ + }, + + /***/ "./node_modules/webpack/buildin/module.js": + /*!***********************************!*\ + !*** (webpack)/buildin/module.js ***! + \***********************************/ + /*! no static exports found */ + /***/ function (module, exports) { + module.exports = function (module) { + if (!module.webpackPolyfill) { + module.deprecate = function () { }; + + module.paths = []; // module.parent = undefined by default + + if (!module.children) module.children = []; + Object.defineProperty(module, "loaded", { + enumerable: true, + get: function () { + return module.l; + }, + }); + Object.defineProperty(module, "id", { + enumerable: true, + get: function () { + return module.i; + }, + }); + module.webpackPolyfill = 1; + } + + return module; + }; + + /***/ + }, + + /***/ "./src/cbfjs.js": + /*!**********************!*\ + !*** ./src/cbfjs.js ***! + \**********************/ + /*! no static exports found */ + /***/ function (module, exports, __webpack_require__) { + /* WEBPACK VAR INJECTION */ (function (module) { + function _typeof(obj) { + if ( + typeof Symbol === "function" && + typeof Symbol.iterator === "symbol" + ) { + _typeof = function _typeof(obj) { + return typeof obj; + }; + } else { + _typeof = function _typeof(obj) { + return obj && + typeof Symbol === "function" && + obj.constructor === Symbol && + obj !== Symbol.prototype + ? "symbol" + : typeof obj; + }; + } + return _typeof(obj); + } + + /* + CBFjs is library for cross-browser fingerprinting + It generates fingerprint based on device and hardware level features. + Library was inspired by Song Li's https://github.com/Song-Li/dynamic_fingerprinting dynamic fingerprinting tool + */ + (function (scope) { + "use strict"; + /* Helpers */ + // murmurhash3 non crypto hash library for hash generation + // core estimator to estimate number of cores of CPU + + var murmurHash3 = __webpack_require__( + /*! ./vendors/murmurhash3/murmurHash3.js */ "./src/vendors/murmurhash3/murmurHash3.js" + ); // font detector + + var Detector = __webpack_require__( + /*! ./vendors/font-detect/fontdetect.js */ "./src/vendors/font-detect/fontdetect.js" + ); // User agent parser + + var UAParser = __webpack_require__( + /*! ./vendors/ua-parser/UAParser.js */ "./src/vendors/ua-parser/UAParser.js" + ); + + var CBFjs = function CBFjs() { }; + + CBFjs.prototype = { + /* + Get screen resolution + */ + getScreenResolution: function getScreenResolution() { + var fixed_width = window.screen.width; + var fixed_height = window.screen.height; + var res = + Math.round((fixed_width / fixed_height) * 100) / 100; + return res; + }, + // /* + // Get number of CPU cores + // Future async function TODO implement with core_estimator library + // */ + // getCPUCores: function (done) { + // if (!navigator.getHardwareConcurrency) { + // return done(-1); + // } else { + // navigator.getHardwareConcurrency(done); + // return; + // } + // }, + + /* + Get number of CPU cores + */ + getCPUCores: function getCPUCores() { + return navigator.hardwareConcurrency; + }, + + /* + Get touch support + */ + getTouchSupport: function getTouchSupport() { + return ( + "ontouchstart" in window || + navigator.MaxTouchPoints > 0 || + navigator.msMaxTouchPoints > 0 + ); + }, + + /* + [DISABLED - unsupported by IE] Audio card info + audioFingerPrinting: function () { + try { + var audioCtx = new (window.AudioContext || window.webkitAudioContext), + oscillator = audioCtx.createOscillator(), + analyser = audioCtx.createAnalyser(), + gainNode = audioCtx.createGain(), + scriptProcessor = audioCtx.createScriptProcessor(4096, 1, 1); + var destination = audioCtx.destination; + return (audioCtx.sampleRate).toString() + '_' + destination.maxChannelCount + "_" + destination.numberOfInputs + '_' + destination.numberOfOutputs + '_' + destination.channelCount + '_' + destination.channelCountMode + '_' + destination.channelInterpretation; + } + catch (e) { + return "not supported"; + } + }, + */ + + /* + Get color depth of the device's screen + */ + getColorDepth: function getColorDepth() { + return screen.colorDepth; + }, + + /* + Get timezone offset in minutes. Calculated as UTC - device's time zone + */ + getTimezoneOffset: function getTimezoneOffset() { + var currentDate = new Date(); + return currentDate.getTimezoneOffset(); + }, + + /* + Get list of fonts + */ + getFonts: function getFonts(done) { + var handler = () => { + var fontDetective = new Detector(); + var fonts = fontDetective.testAllFonts(); + done(fonts); + }; + if ( + document.readyState === "complete" || + document.readyState === "loaded" || + document.readyState === "interactive" + ) { + handler(); + } else { + } + document.addEventListener( + "DOMContentLoaded", + function (event) { + handler(); + } + ); + }, + + /* + Get OS + */ + getOS: function getOS() { + var uap = new UAParser(); + return uap.getOS().name; + }, + + /* + Get OS version + */ + getOSVersion: function getOSVersion() { + var uap = new UAParser(); + return uap.getOS().version; + }, + + /* + Detects if device is a mobile + */ + isMobile: function isMobile() { + // detectmobilebrowsers.com JavaScript Mobile Detection Script + var uap = new UAParser(); + var browserData = uap.getResult(); + var dataString = + browserData.ua || navigator.vendor || window.opera; + return ( + /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test( + dataString + ) || + /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test( + dataString.substr(0, 4) + ) + ); + }, + + /* + Get CPU architecture + */ + getCPUarchitecture: function getCPUarchitecture() { + var uap = new UAParser(); + return uap.getCPU().architecture; + }, + // /* + // Helper function to handle asynchronous call + // */ + generateAsyncHash: function generateAsyncHash( + parameters, + done + ) { + // this.getCPUCores(function(cores) { + // parameters.push(cores); + // done(parameters); + // }); + this.getFonts(function (fonts) { + parameters.push(fonts); + done(parameters); + }); + }, + + /* + Generate hash from all features + */ + get: function get(done) { + var parameters = []; + parameters.push(this.getScreenResolution()); + parameters.push(this.getTouchSupport()); + parameters.push(this.getColorDepth()); + parameters.push(this.getTimezoneOffset()); // Removed from here as it is async function + // parameters.push(this.getFonts()); + + parameters.push(this.getOS()); + parameters.push(this.getOSVersion()); + parameters.push(this.isMobile()); + parameters.push(this.getCPUarchitecture()); // Disabled as it is not supported by IE + //parameters.push(this.audioFingerPrinting()); + + parameters.push(this.getCPUCores()); // Async version of generating hash + + this.generateAsyncHash(parameters, function (newParameters) { + var hash = murmurHash3.x86.hash32( + newParameters.join("~~~") + ); + return done(hash, newParameters); + }); // var hash = murmurHash3.x86.hash32((parameters).join("~~~")); + // return done(hash, parameters); + }, + }; + + if ( + (false ? undefined : _typeof(module)) === "object" && + typeof exports !== "undefined" + ) { + module.exports = CBFjs; + } else { + scope.CBFjs = CBFjs; + } + })(this); + /* WEBPACK VAR INJECTION */ + }.call( + this, + __webpack_require__( + /*! ./../node_modules/webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js" + )(module) + )); + + /***/ + }, + + /***/ "./src/vendors/font-detect/fontdetect.js": + /*!***********************************************!*\ + !*** ./src/vendors/font-detect/fontdetect.js ***! + \***********************************************/ + /*! no static exports found */ + /***/ function (module, exports, __webpack_require__) { + /* WEBPACK VAR INJECTION */ (function (module) { + function _typeof(obj) { + if ( + typeof Symbol === "function" && + typeof Symbol.iterator === "symbol" + ) { + _typeof = function _typeof(obj) { + return typeof obj; + }; + } else { + _typeof = function _typeof(obj) { + return obj && + typeof Symbol === "function" && + obj.constructor === Symbol && + obj !== Symbol.prototype + ? "symbol" + : typeof obj; + }; + } + return _typeof(obj); + } + + /* Edited by Lukas Matta (Add module export) */ + + /** + * JavaScript code to detect available availability of a + * particular font in a browser using JavaScript and CSS. + * + * Author : Lalit Patel + * Website: http://www.lalit.org/lab/javascript-css-font-detect/ + * License: Apache Software License 2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * Version: 0.15 (21 Sep 2009) + * Changed comparision font to default from sans-default-default, + * as in FF3.0 font of child element didn't fallback + * to parent element if the font is missing. + * Version: 0.2 (04 Mar 2012) + * Comparing font against all the 3 generic font families ie, + * 'monospace', 'sans-serif' and 'sans'. If it doesn't match all 3 + * then that font is 100% not available in the system + * Version: 0.3 (24 Mar 2012) + * Replaced sans with serif in the list of baseFonts + */ + + /** + * Usage: d = new Detector(); + * d.detect('font name'); + */ + (function (scope) { + "use strict"; + /** + * JavaScript code to detect available availability of a + * particular font in a browser using JavaScript and CSS. + * + * Author : Lalit Patel + * Website: http://www.lalit.org/lab/javascript-css-font-detect/ + * License: Apache Software License 2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * Version: 0.15 (21 Sep 2009) + * Changed comparision font to default from sans-default-default, + * as in FF3.0 font of child element didn't fallback + * to parent element if the font is missing. + * Version: 0.2 (04 Mar 2012) + * Comparing font against all the 3 generic font families ie, + * 'monospace', 'sans-serif' and 'sans'. If it doesn't match all 3 + * then that font is 100% not available in the system + * Version: 0.3 (24 Mar 2012) + * Replaced sans with serif in the list of baseFonts + */ + + /** + * Usage: d = new Detector(); + * d.detect('font name'); + */ + + var Detector = function Detector() { + // a font will be compared against all the three default fonts. + // and if it doesn't match all 3 then that font is not available. + var baseFonts = ["monospace", "sans-serif", "serif"]; + var fontList = [ + "Andale Mono", + "Arial", + "Arial Black", + "Arial Hebrew", + "Arial MT", + "Arial Narrow", + "Arial Unicode MS", + "Bitstream Vera Sans Mono", + "Book Antiqua", + "Bookman Old Style", + "Calibri", + "Cambria", + "Cambria Math", + "Century", + "Century Gothic", + "Century Schoolbook", + "Comic Sans", + "Comic Sans MS", + "Consolas", + "Courier", + "Courier New", + "Garamond", + "Geneva", + "Georgia", + "Helvetica", + "Helvetica Neue", + "Impact", + "Lucida Bright", + "Lucida Calligraphy", + "Lucida Console", + "Lucida Fax", + "LUCIDA GRANDE", + "Lucida Handwriting", + "Lucida Sans", + "Lucida Sans Typewriter", + "Lucida Sans Unicode", + "Microsoft Sans Serif", + "Monaco", + "Monotype Corsiva", + "MS Gothic", + "MS Outlook", + "MS PGothic", + "MS Reference Sans Serif", + "MS Sans Serif", + "MS Serif", + "MYRIAD", + "MYRIAD PRO", + "Palatino", + "Palatino Linotype", + "Segoe Print", + "Segoe Script", + "Segoe UI", + "Segoe UI Light", + "Segoe UI Semibold", + "Segoe UI Symbol", + "Tahoma", + "Times", + "Times New Roman", + "Times New Roman PS", + "Trebuchet MS", + "Verdana", + "Wingdings", + "Wingdings 2", + "Wingdings 3", + ]; + var moreFonts = [ + "Abadi MT Condensed Light", + "Academy Engraved LET", + "ADOBE CASLON PRO", + "Adobe Garamond", + "ADOBE GARAMOND PRO", + "Agency FB", + "Aharoni", + "Albertus Extra Bold", + "Albertus Medium", + "Algerian", + "Amazone BT", + "American Typewriter", + "American Typewriter Condensed", + "AmerType Md BT", + "Andalus", + "Angsana New", + "AngsanaUPC", + "Antique Olive", + "Aparajita", + "Apple Chancery", + "Apple Color Emoji", + "Apple SD Gothic Neo", + "Arabic Typesetting", + "ARCHER", + "ARNO PRO", + "Arrus BT", + "Aurora Cn BT", + "AvantGarde Bk BT", + "AvantGarde Md BT", + "AVENIR", + "Ayuthaya", + "Bandy", + "Bangla Sangam MN", + "Bank Gothic", + "BankGothic Md BT", + "Baskerville", + "Baskerville Old Face", + "Batang", + "BatangChe", + "Bauer Bodoni", + "Bauhaus 93", + "Bazooka", + "Bell MT", + "Bembo", + "Benguiat Bk BT", + "Berlin Sans FB", + "Berlin Sans FB Demi", + "Bernard MT Condensed", + "BernhardFashion BT", + "BernhardMod BT", + "Big Caslon", + "BinnerD", + "Blackadder ITC", + "BlairMdITC TT", + "Bodoni 72", + "Bodoni 72 Oldstyle", + "Bodoni 72 Smallcaps", + "Bodoni MT", + "Bodoni MT Black", + "Bodoni MT Condensed", + "Bodoni MT Poster Compressed", + "Bookshelf Symbol 7", + "Boulder", + "Bradley Hand", + "Bradley Hand ITC", + "Bremen Bd BT", + "Britannic Bold", + "Broadway", + "Browallia New", + "BrowalliaUPC", + "Brush Script MT", + "Californian FB", + "Calisto MT", + "Calligrapher", + "Candara", + "CaslonOpnface BT", + "Castellar", + "Centaur", + "Cezanne", + "CG Omega", + "CG Times", + "Chalkboard", + "Chalkboard SE", + "Chalkduster", + "Charlesworth", + "Charter Bd BT", + "Charter BT", + "Chaucer", + "ChelthmITC Bk BT", + "Chiller", + "Clarendon", + "Clarendon Condensed", + "CloisterBlack BT", + "Cochin", + "Colonna MT", + "Constantia", + "Cooper Black", + "Copperplate", + "Copperplate Gothic", + "Copperplate Gothic Bold", + "Copperplate Gothic Light", + "CopperplGoth Bd BT", + "Corbel", + "Cordia New", + "CordiaUPC", + "Cornerstone", + "Coronet", + "Cuckoo", + "Curlz MT", + "DaunPenh", + "Dauphin", + "David", + "DB LCD Temp", + "DELICIOUS", + "Denmark", + "DFKai-SB", + "Didot", + "DilleniaUPC", + "DIN", + "DokChampa", + "Dotum", + "DotumChe", + "Ebrima", + "Edwardian Script ITC", + "Elephant", + "English 111 Vivace BT", + "Engravers MT", + "EngraversGothic BT", + "Eras Bold ITC", + "Eras Demi ITC", + "Eras Light ITC", + "Eras Medium ITC", + "EucrosiaUPC", + "Euphemia", + "Euphemia UCAS", + "EUROSTILE", + "Exotc350 Bd BT", + "FangSong", + "Felix Titling", + "Fixedsys", + "FONTIN", + "Footlight MT Light", + "Forte", + "FrankRuehl", + "Fransiscan", + "Freefrm721 Blk BT", + "FreesiaUPC", + "Freestyle Script", + "French Script MT", + "FrnkGothITC Bk BT", + "Fruitger", + "FRUTIGER", + "Futura", + "Futura Bk BT", + "Futura Lt BT", + "Futura Md BT", + "Futura ZBlk BT", + "FuturaBlack BT", + "Gabriola", + "Galliard BT", + "Gautami", + "Geeza Pro", + "Geometr231 BT", + "Geometr231 Hv BT", + "Geometr231 Lt BT", + "GeoSlab 703 Lt BT", + "GeoSlab 703 XBd BT", + "Gigi", + "Gill Sans", + "Gill Sans MT", + "Gill Sans MT Condensed", + "Gill Sans MT Ext Condensed Bold", + "Gill Sans Ultra Bold", + "Gill Sans Ultra Bold Condensed", + "Gisha", + "Gloucester MT Extra Condensed", + "GOTHAM", + "GOTHAM BOLD", + "Goudy Old Style", + "Goudy Stout", + "GoudyHandtooled BT", + "GoudyOLSt BT", + "Gujarati Sangam MN", + "Gulim", + "GulimChe", + "Gungsuh", + "GungsuhChe", + "Gurmukhi MN", + "Haettenschweiler", + "Harlow Solid Italic", + "Harrington", + "Heather", + "Heiti SC", + "Heiti TC", + "HELV", + "Herald", + "High Tower Text", + "Hiragino Kaku Gothic ProN", + "Hiragino Mincho ProN", + "Hoefler Text", + "Humanst 521 Cn BT", + "Humanst521 BT", + "Humanst521 Lt BT", + "Imprint MT Shadow", + "Incised901 Bd BT", + "Incised901 BT", + "Incised901 Lt BT", + "INCONSOLATA", + "Informal Roman", + "Informal011 BT", + "INTERSTATE", + "IrisUPC", + "Iskoola Pota", + "JasmineUPC", + "Jazz LET", + "Jenson", + "Jester", + "Jokerman", + "Juice ITC", + "Kabel Bk BT", + "Kabel Ult BT", + "Kailasa", + "KaiTi", + "Kalinga", + "Kannada Sangam MN", + "Kartika", + "Kaufmann Bd BT", + "Kaufmann BT", + "Khmer UI", + "KodchiangUPC", + "Kokila", + "Korinna BT", + "Kristen ITC", + "Krungthep", + "Kunstler Script", + "Lao UI", + "Latha", + "Leelawadee", + "Letter Gothic", + "Levenim MT", + "LilyUPC", + "Lithograph", + "Lithograph Light", + "Long Island", + "Lydian BT", + "Magneto", + "Maiandra GD", + "Malayalam Sangam MN", + "Malgun Gothic", + "Mangal", + "Marigold", + "Marion", + "Marker Felt", + "Market", + "Marlett", + "Matisse ITC", + "Matura MT Script Capitals", + "Meiryo", + "Meiryo UI", + "Microsoft Himalaya", + "Microsoft JhengHei", + "Microsoft New Tai Lue", + "Microsoft PhagsPa", + "Microsoft Tai Le", + "Microsoft Uighur", + "Microsoft YaHei", + "Microsoft Yi Baiti", + "MingLiU", + "MingLiU_HKSCS", + "MingLiU_HKSCS-ExtB", + "MingLiU-ExtB", + "Minion", + "Minion Pro", + "Miriam", + "Miriam Fixed", + "Mistral", + "Modern", + "Modern No. 20", + "Mona Lisa Solid ITC TT", + "Mongolian Baiti", + "MONO", + "MoolBoran", + "Mrs Eaves", + "MS LineDraw", + "MS Mincho", + "MS PMincho", + "MS Reference Specialty", + "MS UI Gothic", + "MT Extra", + "MUSEO", + "MV Boli", + "Nadeem", + "Narkisim", + "NEVIS", + "News Gothic", + "News GothicMT", + "NewsGoth BT", + "Niagara Engraved", + "Niagara Solid", + "Noteworthy", + "NSimSun", + "Nyala", + "OCR A Extended", + "Old Century", + "Old English Text MT", + "Onyx", + "Onyx BT", + "OPTIMA", + "Oriya Sangam MN", + "OSAKA", + "OzHandicraft BT", + "Palace Script MT", + "Papyrus", + "Parchment", + "Party LET", + "Pegasus", + "Perpetua", + "Perpetua Titling MT", + "PetitaBold", + "Pickwick", + "Plantagenet Cherokee", + "Playbill", + "PMingLiU", + "PMingLiU-ExtB", + "Poor Richard", + "Poster", + "PosterBodoni BT", + "PRINCETOWN LET", + "Pristina", + "PTBarnum BT", + "Pythagoras", + "Raavi", + "Rage Italic", + "Ravie", + "Ribbon131 Bd BT", + "Rockwell", + "Rockwell Condensed", + "Rockwell Extra Bold", + "Rod", + "Roman", + "Sakkal Majalla", + "Santa Fe LET", + "Savoye LET", + "Sceptre", + "Script", + "Script MT Bold", + "SCRIPTINA", + "Serifa", + "Serifa BT", + "Serifa Th BT", + "ShelleyVolante BT", + "Sherwood", + "Shonar Bangla", + "Showcard Gothic", + "Shruti", + "Signboard", + "SILKSCREEN", + "SimHei", + "Simplified Arabic", + "Simplified Arabic Fixed", + "SimSun", + "SimSun-ExtB", + "Sinhala Sangam MN", + "Sketch Rockwell", + "Skia", + "Small Fonts", + "Snap ITC", + "Snell Roundhand", + "Socket", + "Souvenir Lt BT", + "Staccato222 BT", + "Steamer", + "Stencil", + "Storybook", + "Styllo", + "Subway", + "Swis721 BlkEx BT", + "Swiss911 XCm BT", + "Sylfaen", + "Synchro LET", + "System", + "Tamil Sangam MN", + "Technical", + "Teletype", + "Telugu Sangam MN", + "Tempus Sans ITC", + "Terminal", + "Thonburi", + "Traditional Arabic", + "Trajan", + "TRAJAN PRO", + "Tristan", + "Tubular", + "Tunga", + "Tw Cen MT", + "Tw Cen MT Condensed", + "Tw Cen MT Condensed Extra Bold", + "TypoUpright BT", + "Unicorn", + "Univers", + "Univers CE 55 Medium", + "Univers Condensed", + "Utsaah", + "Vagabond", + "Vani", + "Vijaya", + "Viner Hand ITC", + "VisualUI", + "Vivaldi", + "Vladimir Script", + "Vrinda", + "Westminster", + "WHITNEY", + "Wide Latin", + "ZapfEllipt BT", + "ZapfHumnst BT", + "ZapfHumnst Dm BT", + "Zapfino", + "Zurich BlkEx BT", + "Zurich Ex BT", + "ZWAdobeF", + ]; //we use m or w because these two characters take up the maximum width. + // And we use a LLi so that the same matching fonts can get separated + + var testString = "mmmmmmmmmmlli"; //we test using 72px font size, we may use any size. I guess larger the better. + + var testSize = "72px"; + var h = document.getElementsByTagName("body")[0]; // create a SPAN in the document to get the width of the text we use to test + + var s = document.createElement("span"); + s.style.fontSize = testSize; + s.innerHTML = testString; + var defaultWidth = {}; + var defaultHeight = {}; + + for (var index in baseFonts) { + //get the default width for the three base fonts + s.style.fontFamily = baseFonts[index]; + h.appendChild(s); + defaultWidth[baseFonts[index]] = s.offsetWidth; //width for the default font + + defaultHeight[baseFonts[index]] = s.offsetHeight; //height for the defualt font + + h.removeChild(s); + } + + this.testAllFonts = function () { + var detected = []; + + for (var font in fontList) { + if (this.detect(fontList[font])) + detected.push(fontList[font]); + } // for (var font in moreFonts) { + // if (this.detect(moreFonts[font])) + // detected.push(moreFonts[font]); + // } + + return detected; + }; + + this.detect = function (font) { + var detected = false; + + for (var index in baseFonts) { + s.style.fontFamily = font + "," + baseFonts[index]; // name of the font along with the base font for fallback. + + h.appendChild(s); + var matched = + s.offsetWidth != defaultWidth[baseFonts[index]] || + s.offsetHeight != defaultHeight[baseFonts[index]]; + h.removeChild(s); + detected = detected || matched; + } + + return detected; + }; + }; + + if ( + (false ? undefined : _typeof(module)) === "object" && + typeof exports !== "undefined" + ) { + module.exports = Detector; + } else { + scope.Detector = Detector; + } + })(window); + /* WEBPACK VAR INJECTION */ + }.call( + this, + __webpack_require__( + /*! ./../../../node_modules/webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js" + )(module) + )); + + /***/ + }, + + /***/ "./src/vendors/murmurhash3/murmurHash3.js": + /*!************************************************!*\ + !*** ./src/vendors/murmurhash3/murmurHash3.js ***! + \************************************************/ + /*! no static exports found */ + /***/ function (module, exports, __webpack_require__) { + // +----------------------------------------------------------------------+ + // | murmurHash3.js v2.1.2 (http://github.com/karanlyons/murmurHash.js) | + // | A javascript implementation of MurmurHash3's x86 hashing algorithms. | + // |----------------------------------------------------------------------| + // | Copyright (c) 2012 Karan Lyons | + // | Freely distributable under the MIT license. | + // +----------------------------------------------------------------------+ + (function (root, undefined) { + "use strict"; // Create a local object that'll be exported or referenced globally. + + var library = { + version: "2.1.2", + x86: {}, + x64: {}, + }; // PRIVATE FUNCTIONS + // ----------------- + + function _x86Multiply(m, n) { + // + // Given two 32bit ints, returns the two multiplied together as a + // 32bit int. + // + return (m & 0xffff) * n + ((((m >>> 16) * n) & 0xffff) << 16); + } + + function _x86Rotl(m, n) { + // + // Given a 32bit int and an int representing a number of bit positions, + // returns the 32bit int rotated left by that number of positions. + // + return (m << n) | (m >>> (32 - n)); + } + + function _x86Fmix(h) { + // + // Given a block, returns murmurHash3's final x86 mix of that block. + // + h ^= h >>> 16; + h = _x86Multiply(h, 0x85ebca6b); + h ^= h >>> 13; + h = _x86Multiply(h, 0xc2b2ae35); + h ^= h >>> 16; + return h; + } + + function _x64Add(m, n) { + // + // Given two 64bit ints (as an array of two 32bit ints) returns the two + // added together as a 64bit int (as an array of two 32bit ints). + // + m = [m[0] >>> 16, m[0] & 0xffff, m[1] >>> 16, m[1] & 0xffff]; + n = [n[0] >>> 16, n[0] & 0xffff, n[1] >>> 16, n[1] & 0xffff]; + var o = [0, 0, 0, 0]; + o[3] += m[3] + n[3]; + o[2] += o[3] >>> 16; + o[3] &= 0xffff; + o[2] += m[2] + n[2]; + o[1] += o[2] >>> 16; + o[2] &= 0xffff; + o[1] += m[1] + n[1]; + o[0] += o[1] >>> 16; + o[1] &= 0xffff; + o[0] += m[0] + n[0]; + o[0] &= 0xffff; + return [(o[0] << 16) | o[1], (o[2] << 16) | o[3]]; + } + + function _x64Multiply(m, n) { + // + // Given two 64bit ints (as an array of two 32bit ints) returns the two + // multiplied together as a 64bit int (as an array of two 32bit ints). + // + m = [m[0] >>> 16, m[0] & 0xffff, m[1] >>> 16, m[1] & 0xffff]; + n = [n[0] >>> 16, n[0] & 0xffff, n[1] >>> 16, n[1] & 0xffff]; + var o = [0, 0, 0, 0]; + o[3] += m[3] * n[3]; + o[2] += o[3] >>> 16; + o[3] &= 0xffff; + o[2] += m[2] * n[3]; + o[1] += o[2] >>> 16; + o[2] &= 0xffff; + o[2] += m[3] * n[2]; + o[1] += o[2] >>> 16; + o[2] &= 0xffff; + o[1] += m[1] * n[3]; + o[0] += o[1] >>> 16; + o[1] &= 0xffff; + o[1] += m[2] * n[2]; + o[0] += o[1] >>> 16; + o[1] &= 0xffff; + o[1] += m[3] * n[1]; + o[0] += o[1] >>> 16; + o[1] &= 0xffff; + o[0] += m[0] * n[3] + m[1] * n[2] + m[2] * n[1] + m[3] * n[0]; + o[0] &= 0xffff; + return [(o[0] << 16) | o[1], (o[2] << 16) | o[3]]; + } + + function _x64Rotl(m, n) { + // + // Given a 64bit int (as an array of two 32bit ints) and an int + // representing a number of bit positions, returns the 64bit int (as an + // array of two 32bit ints) rotated left by that number of positions. + // + n %= 64; + + if (n === 32) { + return [m[1], m[0]]; + } else if (n < 32) { + return [ + (m[0] << n) | (m[1] >>> (32 - n)), + (m[1] << n) | (m[0] >>> (32 - n)), + ]; + } else { + n -= 32; + return [ + (m[1] << n) | (m[0] >>> (32 - n)), + (m[0] << n) | (m[1] >>> (32 - n)), + ]; + } + } + + function _x64LeftShift(m, n) { + // + // Given a 64bit int (as an array of two 32bit ints) and an int + // representing a number of bit positions, returns the 64bit int (as an + // array of two 32bit ints) shifted left by that number of positions. + // + n %= 64; + + if (n === 0) { + return m; + } else if (n < 32) { + return [(m[0] << n) | (m[1] >>> (32 - n)), m[1] << n]; + } else { + return [m[1] << (n - 32), 0]; + } + } + + function _x64Xor(m, n) { + // + // Given two 64bit ints (as an array of two 32bit ints) returns the two + // xored together as a 64bit int (as an array of two 32bit ints). + // + return [m[0] ^ n[0], m[1] ^ n[1]]; + } + + function _x64Fmix(h) { + // + // Given a block, returns murmurHash3's final x64 mix of that block. + // (`[0, h[0] >>> 1]` is a 33 bit unsigned right shift. This is the + // only place where we need to right shift 64bit ints.) + // + h = _x64Xor(h, [0, h[0] >>> 1]); + h = _x64Multiply(h, [0xff51afd7, 0xed558ccd]); + h = _x64Xor(h, [0, h[0] >>> 1]); + h = _x64Multiply(h, [0xc4ceb9fe, 0x1a85ec53]); + h = _x64Xor(h, [0, h[0] >>> 1]); + return h; + } // PUBLIC FUNCTIONS + // ---------------- + + library.x86.hash32 = function (key, seed) { + // + // Given a string and an optional seed as an int, returns a 32 bit hash + // using the x86 flavor of MurmurHash3, as an unsigned int. + // + key = key || ""; + seed = seed || 0; + var remainder = key.length % 4; + var bytes = key.length - remainder; + var h1 = seed; + var k1 = 0; + var c1 = 0xcc9e2d51; + var c2 = 0x1b873593; + + for (var i = 0; i < bytes; i = i + 4) { + k1 = + (key.charCodeAt(i) & 0xff) | + ((key.charCodeAt(i + 1) & 0xff) << 8) | + ((key.charCodeAt(i + 2) & 0xff) << 16) | + ((key.charCodeAt(i + 3) & 0xff) << 24); + k1 = _x86Multiply(k1, c1); + k1 = _x86Rotl(k1, 15); + k1 = _x86Multiply(k1, c2); + h1 ^= k1; + h1 = _x86Rotl(h1, 13); + h1 = _x86Multiply(h1, 5) + 0xe6546b64; + } + + k1 = 0; + + switch (remainder) { + case 3: + k1 ^= (key.charCodeAt(i + 2) & 0xff) << 16; + + case 2: + k1 ^= (key.charCodeAt(i + 1) & 0xff) << 8; + + case 1: + k1 ^= key.charCodeAt(i) & 0xff; + k1 = _x86Multiply(k1, c1); + k1 = _x86Rotl(k1, 15); + k1 = _x86Multiply(k1, c2); + h1 ^= k1; + } + + h1 ^= key.length; + h1 = _x86Fmix(h1); + return h1 >>> 0; + }; + + library.x86.hash128 = function (key, seed) { + // + // Given a string and an optional seed as an int, returns a 128 bit + // hash using the x86 flavor of MurmurHash3, as an unsigned hex. + // + key = key || ""; + seed = seed || 0; + var remainder = key.length % 16; + var bytes = key.length - remainder; + var h1 = seed; + var h2 = seed; + var h3 = seed; + var h4 = seed; + var k1 = 0; + var k2 = 0; + var k3 = 0; + var k4 = 0; + var c1 = 0x239b961b; + var c2 = 0xab0e9789; + var c3 = 0x38b34ae5; + var c4 = 0xa1e38b93; + + for (var i = 0; i < bytes; i = i + 16) { + k1 = + (key.charCodeAt(i) & 0xff) | + ((key.charCodeAt(i + 1) & 0xff) << 8) | + ((key.charCodeAt(i + 2) & 0xff) << 16) | + ((key.charCodeAt(i + 3) & 0xff) << 24); + k2 = + (key.charCodeAt(i + 4) & 0xff) | + ((key.charCodeAt(i + 5) & 0xff) << 8) | + ((key.charCodeAt(i + 6) & 0xff) << 16) | + ((key.charCodeAt(i + 7) & 0xff) << 24); + k3 = + (key.charCodeAt(i + 8) & 0xff) | + ((key.charCodeAt(i + 9) & 0xff) << 8) | + ((key.charCodeAt(i + 10) & 0xff) << 16) | + ((key.charCodeAt(i + 11) & 0xff) << 24); + k4 = + (key.charCodeAt(i + 12) & 0xff) | + ((key.charCodeAt(i + 13) & 0xff) << 8) | + ((key.charCodeAt(i + 14) & 0xff) << 16) | + ((key.charCodeAt(i + 15) & 0xff) << 24); + k1 = _x86Multiply(k1, c1); + k1 = _x86Rotl(k1, 15); + k1 = _x86Multiply(k1, c2); + h1 ^= k1; + h1 = _x86Rotl(h1, 19); + h1 += h2; + h1 = _x86Multiply(h1, 5) + 0x561ccd1b; + k2 = _x86Multiply(k2, c2); + k2 = _x86Rotl(k2, 16); + k2 = _x86Multiply(k2, c3); + h2 ^= k2; + h2 = _x86Rotl(h2, 17); + h2 += h3; + h2 = _x86Multiply(h2, 5) + 0x0bcaa747; + k3 = _x86Multiply(k3, c3); + k3 = _x86Rotl(k3, 17); + k3 = _x86Multiply(k3, c4); + h3 ^= k3; + h3 = _x86Rotl(h3, 15); + h3 += h4; + h3 = _x86Multiply(h3, 5) + 0x96cd1c35; + k4 = _x86Multiply(k4, c4); + k4 = _x86Rotl(k4, 18); + k4 = _x86Multiply(k4, c1); + h4 ^= k4; + h4 = _x86Rotl(h4, 13); + h4 += h1; + h4 = _x86Multiply(h4, 5) + 0x32ac3b17; + } + + k1 = 0; + k2 = 0; + k3 = 0; + k4 = 0; + + switch (remainder) { + case 15: + k4 ^= key.charCodeAt(i + 14) << 16; + + case 14: + k4 ^= key.charCodeAt(i + 13) << 8; + + case 13: + k4 ^= key.charCodeAt(i + 12); + k4 = _x86Multiply(k4, c4); + k4 = _x86Rotl(k4, 18); + k4 = _x86Multiply(k4, c1); + h4 ^= k4; + + case 12: + k3 ^= key.charCodeAt(i + 11) << 24; + + case 11: + k3 ^= key.charCodeAt(i + 10) << 16; + + case 10: + k3 ^= key.charCodeAt(i + 9) << 8; + + case 9: + k3 ^= key.charCodeAt(i + 8); + k3 = _x86Multiply(k3, c3); + k3 = _x86Rotl(k3, 17); + k3 = _x86Multiply(k3, c4); + h3 ^= k3; + + case 8: + k2 ^= key.charCodeAt(i + 7) << 24; + + case 7: + k2 ^= key.charCodeAt(i + 6) << 16; + + case 6: + k2 ^= key.charCodeAt(i + 5) << 8; + + case 5: + k2 ^= key.charCodeAt(i + 4); + k2 = _x86Multiply(k2, c2); + k2 = _x86Rotl(k2, 16); + k2 = _x86Multiply(k2, c3); + h2 ^= k2; + + case 4: + k1 ^= key.charCodeAt(i + 3) << 24; + + case 3: + k1 ^= key.charCodeAt(i + 2) << 16; + + case 2: + k1 ^= key.charCodeAt(i + 1) << 8; + + case 1: + k1 ^= key.charCodeAt(i); + k1 = _x86Multiply(k1, c1); + k1 = _x86Rotl(k1, 15); + k1 = _x86Multiply(k1, c2); + h1 ^= k1; + } + + h1 ^= key.length; + h2 ^= key.length; + h3 ^= key.length; + h4 ^= key.length; + h1 += h2; + h1 += h3; + h1 += h4; + h2 += h1; + h3 += h1; + h4 += h1; + h1 = _x86Fmix(h1); + h2 = _x86Fmix(h2); + h3 = _x86Fmix(h3); + h4 = _x86Fmix(h4); + h1 += h2; + h1 += h3; + h1 += h4; + h2 += h1; + h3 += h1; + h4 += h1; + return ( + ("00000000" + (h1 >>> 0).toString(16)).slice(-8) + + ("00000000" + (h2 >>> 0).toString(16)).slice(-8) + + ("00000000" + (h3 >>> 0).toString(16)).slice(-8) + + ("00000000" + (h4 >>> 0).toString(16)).slice(-8) + ); + }; + + library.x64.hash128 = function (key, seed) { + // + // Given a string and an optional seed as an int, returns a 128 bit + // hash using the x64 flavor of MurmurHash3, as an unsigned hex. + // + key = key || ""; + seed = seed || 0; + var remainder = key.length % 16; + var bytes = key.length - remainder; + var h1 = [0, seed]; + var h2 = [0, seed]; + var k1 = [0, 0]; + var k2 = [0, 0]; + var c1 = [0x87c37b91, 0x114253d5]; + var c2 = [0x4cf5ad43, 0x2745937f]; + + for (var i = 0; i < bytes; i = i + 16) { + k1 = [ + (key.charCodeAt(i + 4) & 0xff) | + ((key.charCodeAt(i + 5) & 0xff) << 8) | + ((key.charCodeAt(i + 6) & 0xff) << 16) | + ((key.charCodeAt(i + 7) & 0xff) << 24), + (key.charCodeAt(i) & 0xff) | + ((key.charCodeAt(i + 1) & 0xff) << 8) | + ((key.charCodeAt(i + 2) & 0xff) << 16) | + ((key.charCodeAt(i + 3) & 0xff) << 24), + ]; + k2 = [ + (key.charCodeAt(i + 12) & 0xff) | + ((key.charCodeAt(i + 13) & 0xff) << 8) | + ((key.charCodeAt(i + 14) & 0xff) << 16) | + ((key.charCodeAt(i + 15) & 0xff) << 24), + (key.charCodeAt(i + 8) & 0xff) | + ((key.charCodeAt(i + 9) & 0xff) << 8) | + ((key.charCodeAt(i + 10) & 0xff) << 16) | + ((key.charCodeAt(i + 11) & 0xff) << 24), + ]; + k1 = _x64Multiply(k1, c1); + k1 = _x64Rotl(k1, 31); + k1 = _x64Multiply(k1, c2); + h1 = _x64Xor(h1, k1); + h1 = _x64Rotl(h1, 27); + h1 = _x64Add(h1, h2); + h1 = _x64Add(_x64Multiply(h1, [0, 5]), [0, 0x52dce729]); + k2 = _x64Multiply(k2, c2); + k2 = _x64Rotl(k2, 33); + k2 = _x64Multiply(k2, c1); + h2 = _x64Xor(h2, k2); + h2 = _x64Rotl(h2, 31); + h2 = _x64Add(h2, h1); + h2 = _x64Add(_x64Multiply(h2, [0, 5]), [0, 0x38495ab5]); + } + + k1 = [0, 0]; + k2 = [0, 0]; + + switch (remainder) { + case 15: + k2 = _x64Xor( + k2, + _x64LeftShift([0, key.charCodeAt(i + 14)], 48) + ); + + case 14: + k2 = _x64Xor( + k2, + _x64LeftShift([0, key.charCodeAt(i + 13)], 40) + ); + + case 13: + k2 = _x64Xor( + k2, + _x64LeftShift([0, key.charCodeAt(i + 12)], 32) + ); + + case 12: + k2 = _x64Xor( + k2, + _x64LeftShift([0, key.charCodeAt(i + 11)], 24) + ); + + case 11: + k2 = _x64Xor( + k2, + _x64LeftShift([0, key.charCodeAt(i + 10)], 16) + ); + + case 10: + k2 = _x64Xor( + k2, + _x64LeftShift([0, key.charCodeAt(i + 9)], 8) + ); + + case 9: + k2 = _x64Xor(k2, [0, key.charCodeAt(i + 8)]); + k2 = _x64Multiply(k2, c2); + k2 = _x64Rotl(k2, 33); + k2 = _x64Multiply(k2, c1); + h2 = _x64Xor(h2, k2); + + case 8: + k1 = _x64Xor( + k1, + _x64LeftShift([0, key.charCodeAt(i + 7)], 56) + ); + + case 7: + k1 = _x64Xor( + k1, + _x64LeftShift([0, key.charCodeAt(i + 6)], 48) + ); + + case 6: + k1 = _x64Xor( + k1, + _x64LeftShift([0, key.charCodeAt(i + 5)], 40) + ); + + case 5: + k1 = _x64Xor( + k1, + _x64LeftShift([0, key.charCodeAt(i + 4)], 32) + ); + + case 4: + k1 = _x64Xor( + k1, + _x64LeftShift([0, key.charCodeAt(i + 3)], 24) + ); + + case 3: + k1 = _x64Xor( + k1, + _x64LeftShift([0, key.charCodeAt(i + 2)], 16) + ); + + case 2: + k1 = _x64Xor( + k1, + _x64LeftShift([0, key.charCodeAt(i + 1)], 8) + ); + + case 1: + k1 = _x64Xor(k1, [0, key.charCodeAt(i)]); + k1 = _x64Multiply(k1, c1); + k1 = _x64Rotl(k1, 31); + k1 = _x64Multiply(k1, c2); + h1 = _x64Xor(h1, k1); + } + + h1 = _x64Xor(h1, [0, key.length]); + h2 = _x64Xor(h2, [0, key.length]); + h1 = _x64Add(h1, h2); + h2 = _x64Add(h2, h1); + h1 = _x64Fmix(h1); + h2 = _x64Fmix(h2); + h1 = _x64Add(h1, h2); + h2 = _x64Add(h2, h1); + return ( + ("00000000" + (h1[0] >>> 0).toString(16)).slice(-8) + + ("00000000" + (h1[1] >>> 0).toString(16)).slice(-8) + + ("00000000" + (h2[0] >>> 0).toString(16)).slice(-8) + + ("00000000" + (h2[1] >>> 0).toString(16)).slice(-8) + ); + }; // INITIALIZATION + // -------------- + // Export murmurHash3 for CommonJS, either as an AMD module or just as part + // of the global object. + + if (true) { + if (typeof module !== "undefined" && module.exports) { + exports = module.exports = library; + } + + exports.murmurHash3 = library; + } else { + } + })(this); + + /***/ + }, + + /***/ "./src/vendors/ua-parser/UAParser.js": + /*!*******************************************!*\ + !*** ./src/vendors/ua-parser/UAParser.js ***! + \*******************************************/ + /*! no static exports found */ + /***/ function (module, exports, __webpack_require__) { + /* WEBPACK VAR INJECTION */ (function (module) { + var __WEBPACK_AMD_DEFINE_RESULT__; + function _typeof(obj) { + if ( + typeof Symbol === "function" && + typeof Symbol.iterator === "symbol" + ) { + _typeof = function _typeof(obj) { + return typeof obj; + }; + } else { + _typeof = function _typeof(obj) { + return obj && + typeof Symbol === "function" && + obj.constructor === Symbol && + obj !== Symbol.prototype + ? "symbol" + : typeof obj; + }; + } + return _typeof(obj); + } + + /*! + * UAParser.js v0.7.18 + * Lightweight JavaScript-based User-Agent string parser + * https://github.com/faisalman/ua-parser-js + * + * Copyright © 2012-2016 Faisal Salman + * Dual licensed under GPLv2 or MIT + */ + (function (window, undefined) { + "use strict"; ////////////// + // Constants + ///////////// + + var LIBVERSION = "0.7.18", + EMPTY = "", + UNKNOWN = "?", + FUNC_TYPE = "function", + UNDEF_TYPE = "undefined", + OBJ_TYPE = "object", + STR_TYPE = "string", + MAJOR = "major", + // deprecated + MODEL = "model", + NAME = "name", + TYPE = "type", + VENDOR = "vendor", + VERSION = "version", + ARCHITECTURE = "architecture", + CONSOLE = "console", + MOBILE = "mobile", + TABLET = "tablet", + SMARTTV = "smarttv", + WEARABLE = "wearable", + EMBEDDED = "embedded"; /////////// + // Helper + ////////// + + var util = { + extend: function extend(regexes, extensions) { + var margedRegexes = {}; + + for (var i in regexes) { + if (extensions[i] && extensions[i].length % 2 === 0) { + margedRegexes[i] = extensions[i].concat(regexes[i]); + } else { + margedRegexes[i] = regexes[i]; + } + } + + return margedRegexes; + }, + has: function has(str1, str2) { + if (typeof str1 === "string") { + return ( + str2.toLowerCase().indexOf(str1.toLowerCase()) !== -1 + ); + } else { + return false; + } + }, + lowerize: function lowerize(str) { + return str.toLowerCase(); + }, + major: function major(version) { + return _typeof(version) === STR_TYPE + ? version.replace(/[^\d\.]/g, "").split(".")[0] + : undefined; + }, + trim: function trim(str) { + return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""); + }, + }; /////////////// + // Map helper + ////////////// + + var mapper = { + rgx: function rgx(ua, arrays) { + //var result = {}, + var i = 0, + j, + k, + p, + q, + matches, + match; //, args = arguments; + + /*// construct object barebones + for (p = 0; p < args[1].length; p++) { + q = args[1][p]; + result[typeof q === OBJ_TYPE ? q[0] : q] = undefined; + }*/ + // loop through all regexes maps + + while (i < arrays.length && !matches) { + var regex = arrays[i], + // even sequence (0,2,4,..) + props = arrays[i + 1]; // odd sequence (1,3,5,..) + + j = k = 0; // try matching uastring with regexes + + while (j < regex.length && !matches) { + matches = regex[j++].exec(ua); + + if (!!matches) { + for (p = 0; p < props.length; p++) { + match = matches[++k]; + q = props[p]; // check if given property is actually array + + if (_typeof(q) === OBJ_TYPE && q.length > 0) { + if (q.length == 2) { + if (_typeof(q[1]) == FUNC_TYPE) { + // assign modified match + this[q[0]] = q[1].call(this, match); + } else { + // assign given value, ignore regex match + this[q[0]] = q[1]; + } + } else if (q.length == 3) { + // check whether function or regex + if ( + _typeof(q[1]) === FUNC_TYPE && + !(q[1].exec && q[1].test) + ) { + // call function (usually string mapper) + this[q[0]] = match + ? q[1].call(this, match, q[2]) + : undefined; + } else { + // sanitize match using given regex + this[q[0]] = match + ? match.replace(q[1], q[2]) + : undefined; + } + } else if (q.length == 4) { + this[q[0]] = match + ? q[3].call(this, match.replace(q[1], q[2])) + : undefined; + } + } else { + this[q] = match ? match : undefined; + } + } + } + } + + i += 2; + } // console.log(this); + //return this; + }, + str: function str(_str, map) { + for (var i in map) { + // check if array + if (_typeof(map[i]) === OBJ_TYPE && map[i].length > 0) { + for (var j = 0; j < map[i].length; j++) { + if (util.has(map[i][j], _str)) { + return i === UNKNOWN ? undefined : i; + } + } + } else if (util.has(map[i], _str)) { + return i === UNKNOWN ? undefined : i; + } + } + + return _str; + }, + }; /////////////// + // String map + ////////////// + + var maps = { + browser: { + oldsafari: { + version: { + "1.0": "/8", + 1.2: "/1", + 1.3: "/3", + "2.0": "/412", + "2.0.2": "/416", + "2.0.3": "/417", + "2.0.4": "/419", + "?": "/", + }, + }, + }, + device: { + amazon: { + model: { + "Fire Phone": ["SD", "KF"], + }, + }, + sprint: { + model: { + "Evo Shift 4G": "7373KT", + }, + vendor: { + HTC: "APA", + Sprint: "Sprint", + }, + }, + }, + os: { + windows: { + version: { + ME: "4.90", + "NT 3.11": "NT3.51", + "NT 4.0": "NT4.0", + 2000: "NT 5.0", + XP: ["NT 5.1", "NT 5.2"], + Vista: "NT 6.0", + 7: "NT 6.1", + 8: "NT 6.2", + 8.1: "NT 6.3", + 10: ["NT 6.4", "NT 10.0"], + RT: "ARM", + }, + }, + }, + }; ////////////// + // Regex map + ///////////// + + var regexes = { + browser: [ + [ + // Presto based + /(opera\smini)\/([\w\.-]+)/i, // Opera Mini + /(opera\s[mobiletab]+).+version\/([\w\.-]+)/i, // Opera Mobi/Tablet + /(opera).+version\/([\w\.]+)/i, // Opera > 9.80 + /(opera)[\/\s]+([\w\.]+)/i, // Opera < 9.80 + ], + [NAME, VERSION], + [ + /(opios)[\/\s]+([\w\.]+)/i, // Opera mini on iphone >= 8.0 + ], + [[NAME, "Opera Mini"], VERSION], + [ + /\s(opr)\/([\w\.]+)/i, // Opera Webkit + ], + [[NAME, "Opera"], VERSION], + [ + // Mixed + /(kindle)\/([\w\.]+)/i, // Kindle + /(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?([\w\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer + // Trident based + /(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?([\w\.]*)/i, // Avant/IEMobile/SlimBrowser/Baidu + /(?:ms|\()(ie)\s([\w\.]+)/i, // Internet Explorer + // Webkit/KHTML based + /(rekonq)\/([\w\.]*)/i, // Rekonq + /(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark)\/([\w\.-]+)/i, // Chromium/Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser + ], + [NAME, VERSION], + [ + /(trident).+rv[:\s]([\w\.]+).+like\sgecko/i, // IE11 + ], + [[NAME, "IE"], VERSION], + [ + /(edge|edgios|edgea)\/((\d+)?[\w\.]+)/i, // Microsoft Edge + ], + [[NAME, "Edge"], VERSION], + [ + /(yabrowser)\/([\w\.]+)/i, // Yandex + ], + [[NAME, "Yandex"], VERSION], + [ + /(puffin)\/([\w\.]+)/i, // Puffin + ], + [[NAME, "Puffin"], VERSION], + [ + /((?:[\s\/])uc?\s?browser|(?:juc.+)ucweb)[\/\s]?([\w\.]+)/i, // UCBrowser + ], + [[NAME, "UCBrowser"], VERSION], + [ + /(comodo_dragon)\/([\w\.]+)/i, // Comodo Dragon + ], + [[NAME, /_/g, " "], VERSION], + [ + /(micromessenger)\/([\w\.]+)/i, // WeChat + ], + [[NAME, "WeChat"], VERSION], + [ + /(qqbrowserlite)\/([\w\.]+)/i, // QQBrowserLite + ], + [NAME, VERSION], + [ + /(QQ)\/([\d\.]+)/i, // QQ, aka ShouQ + ], + [NAME, VERSION], + [ + /m?(qqbrowser)[\/\s]?([\w\.]+)/i, // QQBrowser + ], + [NAME, VERSION], + [ + /(BIDUBrowser)[\/\s]?([\w\.]+)/i, // Baidu Browser + ], + [NAME, VERSION], + [ + /(2345Explorer)[\/\s]?([\w\.]+)/i, // 2345 Browser + ], + [NAME, VERSION], + [ + /(MetaSr)[\/\s]?([\w\.]+)/i, // SouGouBrowser + ], + [NAME], + [ + /(LBBROWSER)/i, // LieBao Browser + ], + [NAME], + [ + /xiaomi\/miuibrowser\/([\w\.]+)/i, // MIUI Browser + ], + [VERSION, [NAME, "MIUI Browser"]], + [ + /;fbav\/([\w\.]+);/i, // Facebook App for iOS & Android + ], + [VERSION, [NAME, "Facebook"]], + [ + /safari\s(line)\/([\w\.]+)/i, // Line App for iOS + /android.+(line)\/([\w\.]+)\/iab/i, // Line App for Android + ], + [NAME, VERSION], + [ + /headlesschrome(?:\/([\w\.]+)|\s)/i, // Chrome Headless + ], + [VERSION, [NAME, "Chrome Headless"]], + [ + /\swv\).+(chrome)\/([\w\.]+)/i, // Chrome WebView + ], + [[NAME, /(.+)/, "$1 WebView"], VERSION], + [/((?:oculus|samsung)browser)\/([\w\.]+)/i], + [[NAME, /(.+(?:g|us))(.+)/, "$1 $2"], VERSION], + [ + // Oculus / Samsung Browser + /android.+version\/([\w\.]+)\s+(?:mobile\s?safari|safari)*/i, // Android Browser + ], + [VERSION, [NAME, "Android Browser"]], + [ + /(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?([\w\.]+)/i, // Chrome/OmniWeb/Arora/Tizen/Nokia + ], + [NAME, VERSION], + [ + /(dolfin)\/([\w\.]+)/i, // Dolphin + ], + [[NAME, "Dolphin"], VERSION], + [ + /((?:android.+)crmo|crios)\/([\w\.]+)/i, // Chrome for Android/iOS + ], + [[NAME, "Chrome"], VERSION], + [ + /(coast)\/([\w\.]+)/i, // Opera Coast + ], + [[NAME, "Opera Coast"], VERSION], + [ + /fxios\/([\w\.-]+)/i, // Firefox for iOS + ], + [VERSION, [NAME, "Firefox"]], + [ + /version\/([\w\.]+).+?mobile\/\w+\s(safari)/i, // Mobile Safari + ], + [VERSION, [NAME, "Mobile Safari"]], + [ + /version\/([\w\.]+).+?(mobile\s?safari|safari)/i, // Safari & Safari Mobile + ], + [VERSION, NAME], + [ + /webkit.+?(gsa)\/([\w\.]+).+?(mobile\s?safari|safari)(\/[\w\.]+)/i, // Google Search Appliance on iOS + ], + [[NAME, "GSA"], VERSION], + [ + /webkit.+?(mobile\s?safari|safari)(\/[\w\.]+)/i, // Safari < 3.0 + ], + [NAME, [VERSION, mapper.str, maps.browser.oldsafari.version]], + [ + /(konqueror)\/([\w\.]+)/i, // Konqueror + /(webkit|khtml)\/([\w\.]+)/i, + ], + [NAME, VERSION], + [ + // Gecko based + /(navigator|netscape)\/([\w\.-]+)/i, // Netscape + ], + [[NAME, "Netscape"], VERSION], + [ + /(swiftfox)/i, // Swiftfox + /(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i, // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror + /(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([\w\.-]+)$/i, // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix + /(mozilla)\/([\w\.]+).+rv\:.+gecko\/\d+/i, // Mozilla + // Other + /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir)[\/\s]?([\w\.]+)/i, // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir + /(links)\s\(([\w\.]+)/i, // Links + /(gobrowser)\/?([\w\.]*)/i, // GoBrowser + /(ice\s?browser)\/v?([\w\._]+)/i, // ICE Browser + /(mosaic)[\/\s]([\w\.]+)/i, // Mosaic + ], + [NAME, VERSION], + /* ///////////////////// + // Media players BEGIN + //////////////////////// + , [ + /(apple(?:coremedia|))\/((\d+)[\w\._]+)/i, // Generic Apple CoreMedia + /(coremedia) v((\d+)[\w\._]+)/i + ], [NAME, VERSION], [ + /(aqualung|lyssna|bsplayer)\/((\d+)?[\w\.-]+)/i // Aqualung/Lyssna/BSPlayer + ], [NAME, VERSION], [ + /(ares|ossproxy)\s((\d+)[\w\.-]+)/i // Ares/OSSProxy + ], [NAME, VERSION], [ + /(audacious|audimusicstream|amarok|bass|core|dalvik|gnomemplayer|music on console|nsplayer|psp-internetradioplayer|videos)\/((\d+)[\w\.-]+)/i, + // Audacious/AudiMusicStream/Amarok/BASS/OpenCORE/Dalvik/GnomeMplayer/MoC + // NSPlayer/PSP-InternetRadioPlayer/Videos + /(clementine|music player daemon)\s((\d+)[\w\.-]+)/i, // Clementine/MPD + /(lg player|nexplayer)\s((\d+)[\d\.]+)/i, + /player\/(nexplayer|lg player)\s((\d+)[\w\.-]+)/i // NexPlayer/LG Player + ], [NAME, VERSION], [ + /(nexplayer)\s((\d+)[\w\.-]+)/i // Nexplayer + ], [NAME, VERSION], [ + /(flrp)\/((\d+)[\w\.-]+)/i // Flip Player + ], [[NAME, 'Flip Player'], VERSION], [ + /(fstream|nativehost|queryseekspider|ia-archiver|facebookexternalhit)/i + // FStream/NativeHost/QuerySeekSpider/IA Archiver/facebookexternalhit + ], [NAME], [ + /(gstreamer) souphttpsrc (?:\([^\)]+\)){0,1} libsoup\/((\d+)[\w\.-]+)/i + // Gstreamer + ], [NAME, VERSION], [ + /(htc streaming player)\s[\w_]+\s\/\s((\d+)[\d\.]+)/i, // HTC Streaming Player + /(java|python-urllib|python-requests|wget|libcurl)\/((\d+)[\w\.-_]+)/i, + // Java/urllib/requests/wget/cURL + /(lavf)((\d+)[\d\.]+)/i // Lavf (FFMPEG) + ], [NAME, VERSION], [ + /(htc_one_s)\/((\d+)[\d\.]+)/i // HTC One S + ], [[NAME, /_/g, ' '], VERSION], [ + /(mplayer)(?:\s|\/)(?:(?:sherpya-){0,1}svn)(?:-|\s)(r\d+(?:-\d+[\w\.-]+){0,1})/i + // MPlayer SVN + ], [NAME, VERSION], [ + /(mplayer)(?:\s|\/|[unkow-]+)((\d+)[\w\.-]+)/i // MPlayer + ], [NAME, VERSION], [ + /(mplayer)/i, // MPlayer (no other info) + /(yourmuze)/i, // YourMuze + /(media player classic|nero showtime)/i // Media Player Classic/Nero ShowTime + ], [NAME], [ + /(nero (?:home|scout))\/((\d+)[\w\.-]+)/i // Nero Home/Nero Scout + ], [NAME, VERSION], [ + /(nokia\d+)\/((\d+)[\w\.-]+)/i // Nokia + ], [NAME, VERSION], [ + /\s(songbird)\/((\d+)[\w\.-]+)/i // Songbird/Philips-Songbird + ], [NAME, VERSION], [ + /(winamp)3 version ((\d+)[\w\.-]+)/i, // Winamp + /(winamp)\s((\d+)[\w\.-]+)/i, + /(winamp)mpeg\/((\d+)[\w\.-]+)/i + ], [NAME, VERSION], [ + /(ocms-bot|tapinradio|tunein radio|unknown|winamp|inlight radio)/i // OCMS-bot/tap in radio/tunein/unknown/winamp (no other info) + // inlight radio + ], [NAME], [ + /(quicktime|rma|radioapp|radioclientapplication|soundtap|totem|stagefright|streamium)\/((\d+)[\w\.-]+)/i + // QuickTime/RealMedia/RadioApp/RadioClientApplication/ + // SoundTap/Totem/Stagefright/Streamium + ], [NAME, VERSION], [ + /(smp)((\d+)[\d\.]+)/i // SMP + ], [NAME, VERSION], [ + /(vlc) media player - version ((\d+)[\w\.]+)/i, // VLC Videolan + /(vlc)\/((\d+)[\w\.-]+)/i, + /(xbmc|gvfs|xine|xmms|irapp)\/((\d+)[\w\.-]+)/i, // XBMC/gvfs/Xine/XMMS/irapp + /(foobar2000)\/((\d+)[\d\.]+)/i, // Foobar2000 + /(itunes)\/((\d+)[\d\.]+)/i // iTunes + ], [NAME, VERSION], [ + /(wmplayer)\/((\d+)[\w\.-]+)/i, // Windows Media Player + /(windows-media-player)\/((\d+)[\w\.-]+)/i + ], [[NAME, /-/g, ' '], VERSION], [ + /windows\/((\d+)[\w\.-]+) upnp\/[\d\.]+ dlnadoc\/[\d\.]+ (home media server)/i + // Windows Media Server + ], [VERSION, [NAME, 'Windows']], [ + /(com\.riseupradioalarm)\/((\d+)[\d\.]*)/i // RiseUP Radio Alarm + ], [NAME, VERSION], [ + /(rad.io)\s((\d+)[\d\.]+)/i, // Rad.io + /(radio.(?:de|at|fr))\s((\d+)[\d\.]+)/i + ], [[NAME, 'rad.io'], VERSION] + ////////////////////// + // Media players END + ////////////////////*/ + ], + cpu: [ + [ + /(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\)]/i, // AMD64 + ], + [[ARCHITECTURE, "amd64"]], + [ + /(ia32(?=;))/i, // IA32 (quicktime) + ], + [[ARCHITECTURE, util.lowerize]], + [ + /((?:i[346]|x)86)[;\)]/i, // IA32 + ], + [[ARCHITECTURE, "ia32"]], + [ + // PocketPC mistakenly identified as PowerPC + /windows\s(ce|mobile);\sppc;/i, + ], + [[ARCHITECTURE, "arm"]], + [ + /((?:ppc|powerpc)(?:64)?)(?:\smac|;|\))/i, // PowerPC + ], + [[ARCHITECTURE, /ower/, "", util.lowerize]], + [ + /(sun4\w)[;\)]/i, // SPARC + ], + [[ARCHITECTURE, "sparc"]], + [ + /((?:avr32|ia64(?=;))|68k(?=\))|arm(?:64|(?=v\d+[;l]))|(?=atmel\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i, // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC + ], + [[ARCHITECTURE, util.lowerize]], + ], + device: [ + [ + /\((ipad|playbook);[\w\s\);-]+(rim|apple)/i, // iPad/PlayBook + ], + [MODEL, VENDOR, [TYPE, TABLET]], + [ + /applecoremedia\/[\w\.]+ \((ipad)/, // iPad + ], + [MODEL, [VENDOR, "Apple"], [TYPE, TABLET]], + [ + /(apple\s{0,1}tv)/i, // Apple TV + ], + [ + [MODEL, "Apple TV"], + [VENDOR, "Apple"], + ], + [ + /(archos)\s(gamepad2?)/i, // Archos + /(hp).+(touchpad)/i, // HP TouchPad + /(hp).+(tablet)/i, // HP Tablet + /(kindle)\/([\w\.]+)/i, // Kindle + /\s(nook)[\w\s]+build\/(\w+)/i, // Nook + /(dell)\s(strea[kpr\s\d]*[\dko])/i, // Dell Streak + ], + [VENDOR, MODEL, [TYPE, TABLET]], + [ + /(kf[A-z]+)\sbuild\/.+silk\//i, // Kindle Fire HD + ], + [MODEL, [VENDOR, "Amazon"], [TYPE, TABLET]], + [ + /(sd|kf)[0349hijorstuw]+\sbuild\/.+silk\//i, // Fire Phone + ], + [ + [MODEL, mapper.str, maps.device.amazon.model], + [VENDOR, "Amazon"], + [TYPE, MOBILE], + ], + [ + /android.+aft([bms])\sbuild/i, // Fire TV + ], + [MODEL, [VENDOR, "Amazon"], [TYPE, SMARTTV]], + [ + /\((ip[honed|\s\w*]+);.+(apple)/i, // iPod/iPhone + ], + [MODEL, VENDOR, [TYPE, MOBILE]], + [ + /\((ip[honed|\s\w*]+);/i, // iPod/iPhone + ], + [MODEL, [VENDOR, "Apple"], [TYPE, MOBILE]], + [ + /(blackberry)[\s-]?(\w+)/i, // BlackBerry + /(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[\s_-]?([\w-]*)/i, // BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron + /(hp)\s([\w\s]+\w)/i, // HP iPAQ + /(asus)-?(\w+)/i, // Asus + ], + [VENDOR, MODEL, [TYPE, MOBILE]], + [ + /\(bb10;\s(\w+)/i, // BlackBerry 10 + ], + [MODEL, [VENDOR, "BlackBerry"], [TYPE, MOBILE]], + [ + // Asus Tablets + /android.+(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus 7|padfone)/i, + ], + [MODEL, [VENDOR, "Asus"], [TYPE, TABLET]], + [ + /(sony)\s(tablet\s[ps])\sbuild\//i, // Sony + /(sony)?(?:sgp.+)\sbuild\//i, + ], + [ + [VENDOR, "Sony"], + [MODEL, "Xperia Tablet"], + [TYPE, TABLET], + ], + [/android.+\s([c-g]\d{4}|so[-l]\w+)\sbuild\//i], + [MODEL, [VENDOR, "Sony"], [TYPE, MOBILE]], + [ + /\s(ouya)\s/i, // Ouya + /(nintendo)\s([wids3u]+)/i, // Nintendo + ], + [VENDOR, MODEL, [TYPE, CONSOLE]], + [ + /android.+;\s(shield)\sbuild/i, // Nvidia + ], + [MODEL, [VENDOR, "Nvidia"], [TYPE, CONSOLE]], + [ + /(playstation\s[34portablevi]+)/i, // Playstation + ], + [MODEL, [VENDOR, "Sony"], [TYPE, CONSOLE]], + [ + /(sprint\s(\w+))/i, // Sprint Phones + ], + [ + [VENDOR, mapper.str, maps.device.sprint.vendor], + [MODEL, mapper.str, maps.device.sprint.model], + [TYPE, MOBILE], + ], + [ + /(lenovo)\s?(S(?:5000|6000)+(?:[-][\w+]))/i, // Lenovo tablets + ], + [VENDOR, MODEL, [TYPE, TABLET]], + [ + /(htc)[;_\s-]+([\w\s]+(?=\))|\w+)*/i, // HTC + /(zte)-(\w*)/i, // ZTE + /(alcatel|geeksphone|lenovo|nexian|panasonic|(?=;\s)sony)[_\s-]?([\w-]*)/i, // Alcatel/GeeksPhone/Lenovo/Nexian/Panasonic/Sony + ], + [VENDOR, [MODEL, /_/g, " "], [TYPE, MOBILE]], + [ + /(nexus\s9)/i, // HTC Nexus 9 + ], + [MODEL, [VENDOR, "HTC"], [TYPE, TABLET]], + [ + /d\/huawei([\w\s-]+)[;\)]/i, + /(nexus\s6p)/i, // Huawei + ], + [MODEL, [VENDOR, "Huawei"], [TYPE, MOBILE]], + [ + /(microsoft);\s(lumia[\s\w]+)/i, // Microsoft Lumia + ], + [VENDOR, MODEL, [TYPE, MOBILE]], + [ + /[\s\(;](xbox(?:\sone)?)[\s\);]/i, // Microsoft Xbox + ], + [MODEL, [VENDOR, "Microsoft"], [TYPE, CONSOLE]], + [ + /(kin\.[onetw]{3})/i, // Microsoft Kin + ], + [ + [MODEL, /\./g, " "], + [VENDOR, "Microsoft"], + [TYPE, MOBILE], + ], + [ + // Motorola + /\s(milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?:?(\s4g)?)[\w\s]+build\//i, + /mot[\s-]?(\w*)/i, + /(XT\d{3,4}) build\//i, + /(nexus\s6)/i, + ], + [MODEL, [VENDOR, "Motorola"], [TYPE, MOBILE]], + [/android.+\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i], + [MODEL, [VENDOR, "Motorola"], [TYPE, TABLET]], + [ + /hbbtv\/\d+\.\d+\.\d+\s+\([\w\s]*;\s*(\w[^;]*);([^;]*)/i, // HbbTV devices + ], + [ + [VENDOR, util.trim], + [MODEL, util.trim], + [TYPE, SMARTTV], + ], + [/hbbtv.+maple;(\d+)/i], + [ + [MODEL, /^/, "SmartTV"], + [VENDOR, "Samsung"], + [TYPE, SMARTTV], + ], + [ + /\(dtv[\);].+(aquos)/i, // Sharp + ], + [MODEL, [VENDOR, "Sharp"], [TYPE, SMARTTV]], + [ + /android.+((sch-i[89]0\d|shw-m380s|gt-p\d{4}|gt-n\d+|sgh-t8[56]9|nexus 10))/i, + /((SM-T\w+))/i, + ], + [[VENDOR, "Samsung"], MODEL, [TYPE, TABLET]], + [ + // Samsung + /smart-tv.+(samsung)/i, + ], + [VENDOR, [TYPE, SMARTTV], MODEL], + [ + /((s[cgp]h-\w+|gt-\w+|galaxy\snexus|sm-\w[\w\d]+))/i, + /(sam[sung]*)[\s-]*(\w+-?[\w-]*)/i, + /sec-((sgh\w+))/i, + ], + [[VENDOR, "Samsung"], MODEL, [TYPE, MOBILE]], + [ + /sie-(\w*)/i, // Siemens + ], + [MODEL, [VENDOR, "Siemens"], [TYPE, MOBILE]], + [ + /(maemo|nokia).*(n900|lumia\s\d+)/i, // Nokia + /(nokia)[\s_-]?([\w-]*)/i, + ], + [[VENDOR, "Nokia"], MODEL, [TYPE, MOBILE]], + [ + /android\s3\.[\s\w;-]{10}(a\d{3})/i, // Acer + ], + [MODEL, [VENDOR, "Acer"], [TYPE, TABLET]], + [ + /android.+([vl]k\-?\d{3})\s+build/i, // LG Tablet + ], + [MODEL, [VENDOR, "LG"], [TYPE, TABLET]], + [ + /android\s3\.[\s\w;-]{10}(lg?)-([06cv9]{3,4})/i, // LG Tablet + ], + [[VENDOR, "LG"], MODEL, [TYPE, TABLET]], + [ + /(lg) netcast\.tv/i, // LG SmartTV + ], + [VENDOR, MODEL, [TYPE, SMARTTV]], + [ + /(nexus\s[45])/i, // LG + /lg[e;\s\/-]+(\w*)/i, + /android.+lg(\-?[\d\w]+)\s+build/i, + ], + [MODEL, [VENDOR, "LG"], [TYPE, MOBILE]], + [ + /android.+(ideatab[a-z0-9\-\s]+)/i, // Lenovo + ], + [MODEL, [VENDOR, "Lenovo"], [TYPE, TABLET]], + [ + /linux;.+((jolla));/i, // Jolla + ], + [VENDOR, MODEL, [TYPE, MOBILE]], + [ + /((pebble))app\/[\d\.]+\s/i, // Pebble + ], + [VENDOR, MODEL, [TYPE, WEARABLE]], + [ + /android.+;\s(oppo)\s?([\w\s]+)\sbuild/i, // OPPO + ], + [VENDOR, MODEL, [TYPE, MOBILE]], + [ + /crkey/i, // Google Chromecast + ], + [ + [MODEL, "Chromecast"], + [VENDOR, "Google"], + ], + [ + /android.+;\s(glass)\s\d/i, // Google Glass + ], + [MODEL, [VENDOR, "Google"], [TYPE, WEARABLE]], + [ + /android.+;\s(pixel c)\s/i, // Google Pixel C + ], + [MODEL, [VENDOR, "Google"], [TYPE, TABLET]], + [ + /android.+;\s(pixel [xl2]{1,2}|pixel)\s/i, // Google Pixel + ], + [MODEL, [VENDOR, "Google"], [TYPE, MOBILE]], + [ + /android.+;\s(\w+)\s+build\/hm\1/i, // Xiaomi Hongmi 'numeric' models + /android.+(hm[\s\-_]*note?[\s_]*(?:\d\w)?)\s+build/i, // Xiaomi Hongmi + /android.+(mi[\s\-_]*(?:one|one[\s_]plus|note lte)?[\s_]*(?:\d?\w?)[\s_]*(?:plus)?)\s+build/i, // Xiaomi Mi + /android.+(redmi[\s\-_]*(?:note)?(?:[\s_]*[\w\s]+))\s+build/i, // Redmi Phones + ], + [ + [MODEL, /_/g, " "], + [VENDOR, "Xiaomi"], + [TYPE, MOBILE], + ], + [ + /android.+(mi[\s\-_]*(?:pad)(?:[\s_]*[\w\s]+))\s+build/i, // Mi Pad tablets + ], + [ + [MODEL, /_/g, " "], + [VENDOR, "Xiaomi"], + [TYPE, TABLET], + ], + [ + /android.+;\s(m[1-5]\snote)\sbuild/i, // Meizu Tablet + ], + [MODEL, [VENDOR, "Meizu"], [TYPE, TABLET]], + [ + /android.+a000(1)\s+build/i, // OnePlus + /android.+oneplus\s(a\d{4})\s+build/i, + ], + [MODEL, [VENDOR, "OnePlus"], [TYPE, MOBILE]], + [ + /android.+[;\/]\s*(RCT[\d\w]+)\s+build/i, // RCA Tablets + ], + [MODEL, [VENDOR, "RCA"], [TYPE, TABLET]], + [ + /android.+[;\/\s]+(Venue[\d\s]{2,7})\s+build/i, // Dell Venue Tablets + ], + [MODEL, [VENDOR, "Dell"], [TYPE, TABLET]], + [ + /android.+[;\/]\s*(Q[T|M][\d\w]+)\s+build/i, // Verizon Tablet + ], + [MODEL, [VENDOR, "Verizon"], [TYPE, TABLET]], + [ + /android.+[;\/]\s+(Barnes[&\s]+Noble\s+|BN[RT])(V?.*)\s+build/i, // Barnes & Noble Tablet + ], + [[VENDOR, "Barnes & Noble"], MODEL, [TYPE, TABLET]], + [ + /android.+[;\/]\s+(TM\d{3}.*\b)\s+build/i, // Barnes & Noble Tablet + ], + [MODEL, [VENDOR, "NuVision"], [TYPE, TABLET]], + [ + /android.+;\s(k88)\sbuild/i, // ZTE K Series Tablet + ], + [MODEL, [VENDOR, "ZTE"], [TYPE, TABLET]], + [ + /android.+[;\/]\s*(gen\d{3})\s+build.*49h/i, // Swiss GEN Mobile + ], + [MODEL, [VENDOR, "Swiss"], [TYPE, MOBILE]], + [ + /android.+[;\/]\s*(zur\d{3})\s+build/i, // Swiss ZUR Tablet + ], + [MODEL, [VENDOR, "Swiss"], [TYPE, TABLET]], + [ + /android.+[;\/]\s*((Zeki)?TB.*\b)\s+build/i, // Zeki Tablets + ], + [MODEL, [VENDOR, "Zeki"], [TYPE, TABLET]], + [ + /(android).+[;\/]\s+([YR]\d{2})\s+build/i, + /android.+[;\/]\s+(Dragon[\-\s]+Touch\s+|DT)(\w{5})\sbuild/i, // Dragon Touch Tablet + ], + [[VENDOR, "Dragon Touch"], MODEL, [TYPE, TABLET]], + [ + /android.+[;\/]\s*(NS-?\w{0,9})\sbuild/i, // Insignia Tablets + ], + [MODEL, [VENDOR, "Insignia"], [TYPE, TABLET]], + [ + /android.+[;\/]\s*((NX|Next)-?\w{0,9})\s+build/i, // NextBook Tablets + ], + [MODEL, [VENDOR, "NextBook"], [TYPE, TABLET]], + [ + /android.+[;\/]\s*(Xtreme\_)?(V(1[045]|2[015]|30|40|60|7[05]|90))\s+build/i, + ], + [[VENDOR, "Voice"], MODEL, [TYPE, MOBILE]], + [ + // Voice Xtreme Phones + /android.+[;\/]\s*(LVTEL\-)?(V1[12])\s+build/i, // LvTel Phones + ], + [[VENDOR, "LvTel"], MODEL, [TYPE, MOBILE]], + [ + /android.+[;\/]\s*(V(100MD|700NA|7011|917G).*\b)\s+build/i, // Envizen Tablets + ], + [MODEL, [VENDOR, "Envizen"], [TYPE, TABLET]], + [ + /android.+[;\/]\s*(Le[\s\-]+Pan)[\s\-]+(\w{1,9})\s+build/i, // Le Pan Tablets + ], + [VENDOR, MODEL, [TYPE, TABLET]], + [ + /android.+[;\/]\s*(Trio[\s\-]*.*)\s+build/i, // MachSpeed Tablets + ], + [MODEL, [VENDOR, "MachSpeed"], [TYPE, TABLET]], + [ + /android.+[;\/]\s*(Trinity)[\-\s]*(T\d{3})\s+build/i, // Trinity Tablets + ], + [VENDOR, MODEL, [TYPE, TABLET]], + [ + /android.+[;\/]\s*TU_(1491)\s+build/i, // Rotor Tablets + ], + [MODEL, [VENDOR, "Rotor"], [TYPE, TABLET]], + [ + /android.+(KS(.+))\s+build/i, // Amazon Kindle Tablets + ], + [MODEL, [VENDOR, "Amazon"], [TYPE, TABLET]], + [ + /android.+(Gigaset)[\s\-]+(Q\w{1,9})\s+build/i, // Gigaset Tablets + ], + [VENDOR, MODEL, [TYPE, TABLET]], + [ + /\s(tablet|tab)[;\/]/i, // Unidentifiable Tablet + /\s(mobile)(?:[;\/]|\ssafari)/i, // Unidentifiable Mobile + ], + [[TYPE, util.lowerize], VENDOR, MODEL], + [ + /(android[\w\.\s\-]{0,9});.+build/i, // Generic Android Device + ], + [MODEL, [VENDOR, "Generic"]], + /*////////////////////////// + // TODO: move to string map + //////////////////////////// + /(C6603)/i // Sony Xperia Z C6603 + ], [[MODEL, 'Xperia Z C6603'], [VENDOR, 'Sony'], [TYPE, MOBILE]], [ + /(C6903)/i // Sony Xperia Z 1 + ], [[MODEL, 'Xperia Z 1'], [VENDOR, 'Sony'], [TYPE, MOBILE]], [ + /(SM-G900[F|H])/i // Samsung Galaxy S5 + ], [[MODEL, 'Galaxy S5'], [VENDOR, 'Samsung'], [TYPE, MOBILE]], [ + /(SM-G7102)/i // Samsung Galaxy Grand 2 + ], [[MODEL, 'Galaxy Grand 2'], [VENDOR, 'Samsung'], [TYPE, MOBILE]], [ + /(SM-G530H)/i // Samsung Galaxy Grand Prime + ], [[MODEL, 'Galaxy Grand Prime'], [VENDOR, 'Samsung'], [TYPE, MOBILE]], [ + /(SM-G313HZ)/i // Samsung Galaxy V + ], [[MODEL, 'Galaxy V'], [VENDOR, 'Samsung'], [TYPE, MOBILE]], [ + /(SM-T805)/i // Samsung Galaxy Tab S 10.5 + ], [[MODEL, 'Galaxy Tab S 10.5'], [VENDOR, 'Samsung'], [TYPE, TABLET]], [ + /(SM-G800F)/i // Samsung Galaxy S5 Mini + ], [[MODEL, 'Galaxy S5 Mini'], [VENDOR, 'Samsung'], [TYPE, MOBILE]], [ + /(SM-T311)/i // Samsung Galaxy Tab 3 8.0 + ], [[MODEL, 'Galaxy Tab 3 8.0'], [VENDOR, 'Samsung'], [TYPE, TABLET]], [ + /(T3C)/i // Advan Vandroid T3C + ], [MODEL, [VENDOR, 'Advan'], [TYPE, TABLET]], [ + /(ADVAN T1J\+)/i // Advan Vandroid T1J+ + ], [[MODEL, 'Vandroid T1J+'], [VENDOR, 'Advan'], [TYPE, TABLET]], [ + /(ADVAN S4A)/i // Advan Vandroid S4A + ], [[MODEL, 'Vandroid S4A'], [VENDOR, 'Advan'], [TYPE, MOBILE]], [ + /(V972M)/i // ZTE V972M + ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [ + /(i-mobile)\s(IQ\s[\d\.]+)/i // i-mobile IQ + ], [VENDOR, MODEL, [TYPE, MOBILE]], [ + /(IQ6.3)/i // i-mobile IQ IQ 6.3 + ], [[MODEL, 'IQ 6.3'], [VENDOR, 'i-mobile'], [TYPE, MOBILE]], [ + /(i-mobile)\s(i-style\s[\d\.]+)/i // i-mobile i-STYLE + ], [VENDOR, MODEL, [TYPE, MOBILE]], [ + /(i-STYLE2.1)/i // i-mobile i-STYLE 2.1 + ], [[MODEL, 'i-STYLE 2.1'], [VENDOR, 'i-mobile'], [TYPE, MOBILE]], [ + /(mobiistar touch LAI 512)/i // mobiistar touch LAI 512 + ], [[MODEL, 'Touch LAI 512'], [VENDOR, 'mobiistar'], [TYPE, MOBILE]], [ + ///////////// + // END TODO + ///////////*/ + ], + engine: [ + [ + /windows.+\sedge\/([\w\.]+)/i, // EdgeHTML + ], + [VERSION, [NAME, "EdgeHTML"]], + [ + /(presto)\/([\w\.]+)/i, // Presto + /(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m + /(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i, // KHTML/Tasman/Links + /(icab)[\/\s]([23]\.[\d\.]+)/i, // iCab + ], + [NAME, VERSION], + [ + /rv\:([\w\.]{1,9}).+(gecko)/i, // Gecko + ], + [VERSION, NAME], + ], + os: [ + [ + // Windows based + /microsoft\s(windows)\s(vista|xp)/i, // Windows (iTunes) + ], + [NAME, VERSION], + [ + /(windows)\snt\s6\.2;\s(arm)/i, // Windows RT + /(windows\sphone(?:\sos)*)[\s\/]?([\d\.\s\w]*)/i, // Windows Phone + /(windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i, + ], + [NAME, [VERSION, mapper.str, maps.os.windows.version]], + [/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i], + [ + [NAME, "Windows"], + [VERSION, mapper.str, maps.os.windows.version], + ], + [ + // Mobile/Embedded OS + /\((bb)(10);/i, // BlackBerry 10 + ], + [[NAME, "BlackBerry"], VERSION], + [ + /(blackberry)\w*\/?([\w\.]*)/i, // Blackberry + /(tizen)[\/\s]([\w\.]+)/i, // Tizen + /(android|webos|palm\sos|qnx|bada|rim\stablet\sos|meego|contiki)[\/\s-]?([\w\.]*)/i, // Android/WebOS/Palm/QNX/Bada/RIM/MeeGo/Contiki + /linux;.+(sailfish);/i, // Sailfish OS + ], + [NAME, VERSION], + [ + /(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]*)/i, // Symbian + ], + [[NAME, "Symbian"], VERSION], + [ + /\((series40);/i, // Series 40 + ], + [NAME], + [ + /mozilla.+\(mobile;.+gecko.+firefox/i, // Firefox OS + ], + [[NAME, "Firefox OS"], VERSION], + [ + // Console + /(nintendo|playstation)\s([wids34portablevu]+)/i, // Nintendo/Playstation + // GNU/Linux based + /(mint)[\/\s\(]?(\w*)/i, // Mint + /(mageia|vectorlinux)[;\s]/i, // Mageia/VectorLinux + /(joli|[kxln]?ubuntu|debian|suse|opensuse|gentoo|(?=\s)arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\/\s-]?(?!chrom)([\w\.-]*)/i, // Joli/Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware + // Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus + /(hurd|linux)\s?([\w\.]*)/i, // Hurd/Linux + /(gnu)\s?([\w\.]*)/i, // GNU + ], + [NAME, VERSION], + [ + /(cros)\s[\w]+\s([\w\.]+\w)/i, // Chromium OS + ], + [[NAME, "Chromium OS"], VERSION], + [ + // Solaris + /(sunos)\s?([\w\.\d]*)/i, // Solaris + ], + [[NAME, "Solaris"], VERSION], + [ + // BSD based + /\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/DragonFly + ], + [NAME, VERSION], + [ + /(haiku)\s(\w+)/i, // Haiku + ], + [NAME, VERSION], + [ + /cfnetwork\/.+darwin/i, + /ip[honead]{2,4}(?:.*os\s([\w]+)\slike\smac|;\sopera)/i, // iOS + ], + [ + [VERSION, /_/g, "."], + [NAME, "iOS"], + ], + [ + /(mac\sos\sx)\s?([\w\s\.]*)/i, + /(macintosh|mac(?=_powerpc)\s)/i, // Mac OS + ], + [ + [NAME, "Mac OS"], + [VERSION, /_/g, "."], + ], + [ + // Other + /((?:open)?solaris)[\/\s-]?([\w\.]*)/i, // Solaris + /(aix)\s((\d)(?=\.|\)|\s)[\w\.])*/i, // AIX + /(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms)/i, // Plan9/Minix/BeOS/OS2/AmigaOS/MorphOS/RISCOS/OpenVMS + /(unix)\s?([\w\.]*)/i, // UNIX + ], + [NAME, VERSION], + ], + }; ///////////////// + // Constructor + //////////////// + + /* + var Browser = function (name, version) { + this[NAME] = name; + this[VERSION] = version; + }; + var CPU = function (arch) { + this[ARCHITECTURE] = arch; + }; + var Device = function (vendor, model, type) { + this[VENDOR] = vendor; + this[MODEL] = model; + this[TYPE] = type; + }; + var Engine = Browser; + var OS = Browser; + */ + + var UAParser = function UAParser(uastring, extensions) { + if (_typeof(uastring) === "object") { + extensions = uastring; + uastring = undefined; + } + + if (!(this instanceof UAParser)) { + return new UAParser(uastring, extensions).getResult(); + } + + var ua = + uastring || + (window && window.navigator && window.navigator.userAgent + ? window.navigator.userAgent + : EMPTY); + var rgxmap = extensions + ? util.extend(regexes, extensions) + : regexes; //var browser = new Browser(); + //var cpu = new CPU(); + //var device = new Device(); + //var engine = new Engine(); + //var os = new OS(); + + this.getBrowser = function () { + var browser = { + name: undefined, + version: undefined, + }; + mapper.rgx.call(browser, ua, rgxmap.browser); + browser.major = util.major(browser.version); // deprecated + + return browser; + }; + + this.getCPU = function () { + var cpu = { + architecture: undefined, + }; + mapper.rgx.call(cpu, ua, rgxmap.cpu); + return cpu; + }; + + this.getDevice = function () { + var device = { + vendor: undefined, + model: undefined, + type: undefined, + }; + mapper.rgx.call(device, ua, rgxmap.device); + return device; + }; + + this.getEngine = function () { + var engine = { + name: undefined, + version: undefined, + }; + mapper.rgx.call(engine, ua, rgxmap.engine); + return engine; + }; + + this.getOS = function () { + var os = { + name: undefined, + version: undefined, + }; + mapper.rgx.call(os, ua, rgxmap.os); + return os; + }; + + this.getResult = function () { + return { + ua: this.getUA(), + browser: this.getBrowser(), + engine: this.getEngine(), + os: this.getOS(), + device: this.getDevice(), + cpu: this.getCPU(), + }; + }; + + this.getUA = function () { + return ua; + }; + + this.setUA = function (uastring) { + ua = uastring; //browser = new Browser(); + //cpu = new CPU(); + //device = new Device(); + //engine = new Engine(); + //os = new OS(); + + return this; + }; + + return this; + }; + + UAParser.VERSION = LIBVERSION; + UAParser.BROWSER = { + NAME: NAME, + MAJOR: MAJOR, + // deprecated + VERSION: VERSION, + }; + UAParser.CPU = { + ARCHITECTURE: ARCHITECTURE, + }; + UAParser.DEVICE = { + MODEL: MODEL, + VENDOR: VENDOR, + TYPE: TYPE, + CONSOLE: CONSOLE, + MOBILE: MOBILE, + SMARTTV: SMARTTV, + TABLET: TABLET, + WEARABLE: WEARABLE, + EMBEDDED: EMBEDDED, + }; + UAParser.ENGINE = { + NAME: NAME, + VERSION: VERSION, + }; + UAParser.OS = { + NAME: NAME, + VERSION: VERSION, + }; //UAParser.Utils = util; + /////////// + // Export + ////////// + // check js environment + + if ((false ? undefined : _typeof(exports)) !== UNDEF_TYPE) { + // nodejs env + if ( + (false ? undefined : _typeof(module)) !== UNDEF_TYPE && + module.exports + ) { + exports = module.exports = UAParser; + } // TODO: test!!!!!!!! + + /* + if (require && require.main === module && process) { + // cli + var jsonize = function (arr) { + var res = []; + for (var i in arr) { + res.push(new UAParser(arr[i]).getResult()); + } + process.stdout.write(JSON.stringify(res, null, 2) + '\n'); + }; + if (process.stdin.isTTY) { + // via args + jsonize(process.argv.slice(2)); + } else { + // via pipe + var str = ''; + process.stdin.on('readable', function() { + var read = process.stdin.read(); + if (read !== null) { + str += read; + } + }); + process.stdin.on('end', function () { + jsonize(str.replace(/\n$/, '').split('\n')); + }); + } + } + */ + + exports.UAParser = UAParser; + } else { + // requirejs env (optional) + if ( + (false + ? undefined + : _typeof( + __webpack_require__( + /*! !webpack amd define */ "./node_modules/webpack/buildin/amd-define.js" + ) + )) === FUNC_TYPE && + __webpack_require__( + /*! !webpack amd options */ "./node_modules/webpack/buildin/amd-options.js" + ) + ) { + !((__WEBPACK_AMD_DEFINE_RESULT__ = function () { + return UAParser; + }.call(exports, __webpack_require__, exports, module)), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && + (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else if (window) { + // browser env + window.UAParser = UAParser; + } + } // jQuery/Zepto specific (optional) + // Note: + // In AMD env the global scope should be kept clean, but jQuery is an exception. + // jQuery always exports to global scope, unless jQuery.noConflict(true) is used, + // and we should catch that. + + var $ = window && (window.jQuery || window.Zepto); + + if (_typeof($) !== UNDEF_TYPE) { + var parser = new UAParser(); + $.ua = parser.getResult(); + + $.ua.get = function () { + return parser.getUA(); + }; + + $.ua.set = function (uastring) { + parser.setUA(uastring); + var result = parser.getResult(); + + for (var prop in result) { + $.ua[prop] = result[prop]; + } + }; + } + })( + (typeof window === "undefined" + ? "undefined" + : _typeof(window)) === "object" + ? window + : this + ); + /* WEBPACK VAR INJECTION */ + }.call( + this, + __webpack_require__( + /*! ./../../../node_modules/webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js" + )(module) + )); + + /***/ + }, + + /******/ + } + ); +}); + +(() => { + globalThis.ovoMultiplayerClient = { + initMod() { + (function () { + // Get runtime + let runtime = cr_getC2Runtime(); + const VERSION = "0.3"; + const THIS_PROMPT_ID = "beta-multiplayer-prompt"; + let myUniqueHash = ""; + + let filterArrSpaces = [ + "2 girls 1 cup", + "alabama hot pocket", + "alaskan pipeline", + "ass hole", + "auto erotic", + "baby batter", + "baby juice", + "ball gag", + "ball gravy", + "ball kicking", + "ball licking", + "ball sack", + "ball sucking", + "barely legal", + "beaver cleaver", + "beaver lips", + "big black", + "big breasts", + "big knockers", + "big tits", + "black cock", + "blonde action", + "blonde on blonde action", + "blow job", + "blow your load", + "blue waffle", + "booty call", + "brown showers", + "brunette action", + "bull shit", + "bullet vibe", + "bung hole", + "bunny fucker", + "butt fuck", + "butt plug", + "camel toe", + "carpet muncher", + "chocolate rosebuds", + "cleveland steamer", + "clover clamps", + "cock sucker", + "date rape", + "deep throat", + "dirty pillows", + "dirty sanchez", + "dog style", + "doggie style", + "doggy style", + "donkey punch", + "double dong", + "double penetration", + "dp action", + "dry hump", + "dumb ass", + "eat my ass", + "f u c k", + "f u c k e r", + "female squirting", + "foot fetish", + "fuck buttons", + "fuck off", + "fudge packer", + "gang bang", + "gay sex", + "giant cock", + "girl on", + "girl on top", + "girls gone wild", + "god damn", + "golden shower", + "goo girl", + "group sex", + "hand job", + "hard core", + "hard on", + "hot carl", + "hot chick", + "how to kill", + "how to murder", + "huge fat", + "jack Off", + "jail bait", + "jelly donut", + "jerk off", + "jungle bunny", + "leather restraint", + "leather straight jacket", + "lemon party", + "make me come", + "male squirting", + "menage a trois", + "missionary position", + "mother fucker", + "mound of venus", + "mr hands", + "muff diver", + "nig nog", + "nob jokey", + "nsfw images", + "nut sack", + "one cup two girls", + "one guy one jar", + "phone sex", + "piece of shit", + "piss pig", + "pissed off", + "pleasure chest", + "pole smoker", + "poop chute", + "porch monkey", + "prince albert piercing", + "raging boner", + "reverse cowgirl", + "rosy palm", + "rosy palm and her 5 sisters", + "rusty trombone", + "s hit", + "sand nigger", + "shaved beaver", + "shaved pussy", + "splooge moose", + "spread legs", + "strap on", + "strip club", + "style doggy", + "suicide girls", + "sultry women", + "tainted love", + "taste my", + "tea bagging", + "tied up", + "tight white", + "tongue in a", + "tub girl", + "two girls one cup", + "urethra play", + "venus mound", + "violet wand", + "wet dream", + "white power", + "wrapping men", + "wrinkled starfish", + "yellow showers", + ]; + let filterArrNoSpaces = [ + "2g1c", + "4r5e", + "5h1t", + "5hit", + "a_s_s", + "a55", + "a55hole", + "acrotomophilia", + "aeolus", + "ahole", + "anal", + "analprobe", + "anilingus", + "anus", + "apeshit", + "ar5e", + "areola", + "areole", + "arian", + "arrse", + "arse", + "arsehole", + "aryan", + "ass", + "assbag", + "assbandit", + "assbang", + "assbanged", + "assbanger", + "assbangs", + "assbite", + "assclown", + "asscock", + "asscracker", + "asses", + "assface", + "assfuck", + "assfucker", + "ass-fucker", + "assfukka", + "assgoblin", + "assh0le", + "asshat", + "ass-hat", + "asshead", + "assho1e", + "asshole", + "assholes", + "asshopper", + "ass-jabber", + "assjacker", + "asslick", + "asslicker", + "assmaster", + "assmonkey", + "assmunch", + "assmuncher", + "assnigger", + "asspirate", + "ass-pirate", + "assshit", + "assshole", + "asssucker", + "asswad", + "asswhole", + "asswipe", + "asswipes", + "autoerotic", + "axwound", + "azazel", + "azz", + "b!tch", + "b00bs", + "b17ch", + "b1tch", + "babe", + "babeland", + "babes", + "balls", + "ballbag", + "ballsack", + "bampot", + "bang", + "bangbros", + "banger", + "bareback", + "barenaked", + "barf", + "bastard", + "bastardo", + "bastards", + "bastinado", + "bawdy", + "bbw", + "bdsm", + "beaner", + "beaners", + "beardedclam", + "beastial", + "beastiality", + "beatch", + "beater", + "beeyotch", + "bellend", + "beotch", + "bestial", + "bestiality", + "bi+ch", + "biatch", + "bigtits", + "bimbo", + "bimbos", + "birdlock", + "bitch", + "bitchass", + "bitched", + "bitcher", + "bitchers", + "bitches", + "bitchin", + "bitching", + "bitchtits", + "bitchy", + "blowjob", + "blowjobs", + "blumpkin", + "bod", + "bodily", + "boink", + "boiolas", + "bollock", + "bollocks", + "bollok", + "bollox", + "bondage", + "boned", + "boner", + "boners", + "bong", + "boob", + "boobies", + "boobs", + "booby", + "booger", + "bookie", + "booobs", + "boooobs", + "booooobs", + "booooooobs", + "bootee", + "bootie", + "booty", + "booze", + "boozer", + "boozy", + "bosom", + "bosomy", + "bra", + "brassiere", + "breast", + "breasts", + "breeder", + "brotherfucker", + "buceta", + "bugger", + "bukkake", + "bulldyke", + "bullshit", + "bullshits", + "bullshitted", + "bullturds", + "bum", + "bumblefuck", + "bung", + "bunghole", + "busty", + "butt", + "buttcheeks", + "buttfuck", + "buttfucka", + "buttfucker", + "butthole", + "buttmuch", + "butt-pirate", + "buttplug", + "c.0.c.k", + "c.o.c.k.", + "c.u.n.t", + "c0ck", + "c-0-c-k", + "c0cksucker", + "caca", + "cahone", + "cameltoe", + "camgirl", + "camslut", + "camwhore", + "carpetmuncher", + "cawk", + "cervix", + "chesticle", + "chinc", + "chincs", + "chink", + "choad", + "chode", + "chodes", + "cipa", + "circlejerk", + "cl1t", + "climax", + "clit", + "clitface", + "clitfuck", + "clitoris", + "clitorus", + "clits", + "clitty", + "clusterfuck", + "cnut", + "cocain", + "cocaine", + "cock", + "c-o-c-k", + "cockass", + "cockbite", + "cockblock", + "cockburger", + "cockeye", + "cockface", + "cockfucker", + "cockhead", + "cockholster", + "cockjockey", + "cockknocker", + "cockknoker", + "cocklump", + "cockmaster", + "cockmongler", + "cockmongruel", + "cockmonkey", + "cockmunch", + "cockmuncher", + "cocknose", + "cocknugget", + "cocks", + "cockshit", + "cocksmith", + "cocksmoke", + "cocksmoker", + "cocksniffer", + "cocksuck", + "cocksucked", + "cocksucker", + "cock-sucker", + "cocksucking", + "cocksucks", + "cocksuka", + "cocksukka", + "cockwaffle", + "coital", + "cok", + "cokmuncher", + "coksucka", + "commie", + "condom", + "coochie", + "coochy", + "coon", + "coons", + "cooter", + "coprolagnia", + "coprophilia", + "corksucker", + "cornhole", + "cox", + "crabs", + "crack", + "crackwhore", + "crap", + "crappy", + "creampie", + "crotte", + "cum", + "cumbubble", + "cumdumpster", + "cumguzzler", + "cumjockey", + "cummer", + "cummin", + "cumming", + "cums", + "cumshot", + "cumshots", + "cumslut", + "cumstain", + "cumtart", + "cunilingus", + "cunillingus", + "cunnie", + "cunnilingus", + "cunny", + "cunt", + "c-u-n-t", + "cuntass", + "cuntface", + "cunthole", + "cunthunter", + "cuntlick", + "cuntlicker", + "cuntlicking", + "cuntrag", + "cunts", + "cuntslut", + "cyalis", + "cyberfuc", + "cyberfuck", + "cyberfucked", + "cyberfucker", + "cyberfuckers", + "cyberfucking", + "d0ng", + "d0uch3", + "d0uche", + "d1ck", + "d1ld0", + "d1ldo", + "dago", + "dagos", + "darkie", + "damn", + "damned", + "dammit", + "daterape", + "dawgie-style", + "deepthroat", + "deggo", + "dendrophilia", + "dick", + "dickbag", + "dickbeaters", + "dickdipper", + "dickface", + "dickflipper", + "dickfuck", + "dickfucker", + "dickhead", + "dickheads", + "dickhole", + "dickish", + "dick-ish", + "dickjuice", + "dickmilk ", + "dickmonger", + "dickripper", + "dicks", + "dicksipper", + "dickslap", + "dick-sneeze", + "dicksucker", + "dicksucking", + "dicktickler", + "dickwad", + "dickweasel", + "dickweed", + "dickwhipper", + "dickwod", + "dickzipper", + "diddle", + "dike", + "dildo", + "dildos", + "diligaf", + "dillweed", + "dimwit", + "dingle", + "dingleberries", + "dingleberry", + "dink", + "dinks", + "dipship", + "dipshit", + "dirsa", + "dlck", + "dog-fucker", + "doggiestyle", + "doggie-style", + "doggin", + "dogging", + "doggystyle", + "doggy-style", + "dolcett", + "domination", + "dominatrix", + "dommes", + "dong", + "donkeyribber", + "doochbag", + "doofus", + "dookie", + "doosh", + "dopey", + "doublelift", + "douch3", + "douche", + "douchebag", + "douchebags", + "douche-fag", + "douchewaffle", + "douchey", + "drunk", + "duche", + "dumass", + "dumbass", + "dumbasses", + "dumbcunt", + "dumbfuck", + "dumbshit", + "dummy", + "dumshit", + "dvda", + "dyke", + "dykes", + "ecchi", + "ejaculate", + "ejaculated", + "ejaculates", + "ejaculating", + "ejaculatings", + "ejaculation", + "ejakulate", + "enlargement", + "erect", + "erection", + "erotic", + "erotism", + "escort", + "essohbee", + "eunuch", + "extacy", + "extasy", + "f.u.c.k", + "f_u_c_k", + "f4nny", + "fack", + "fag", + "fagbag", + "fagfucker", + "fagg", + "fagged", + "fagging", + "faggit", + "faggitt", + "faggot", + "faggotcock", + "faggs", + "fagot", + "fagots", + "fags", + "fagtard", + "faig", + "faigt", + "fanny", + "fannybandit", + "fannyflaps", + "fannyfucker", + "fanyy", + "fartknocker", + "fatass", + "fcuk", + "fcuker", + "fcuking", + "fecal", + "feck", + "fecker", + "felch", + "felcher", + "felching", + "fellate", + "fellatio", + "feltch", + "feltcher", + "femdom", + "figging", + "fingerbang", + "fingerfuck", + "fingerfucked", + "fingerfucker", + "fingerfuckers", + "fingerfucking", + "fingerfucks", + "fingering", + "fisted", + "fistfuck", + "fistfucked", + "fistfucker", + "fistfuckers", + "fistfucking", + "fistfuckings", + "fistfucks", + "fisting", + "fisty", + "flamer", + "flange", + "floozy", + "foad", + "foah", + "fondle", + "foobar", + "fook", + "fooker", + "footjob", + "foreskin", + "freex", + "frigg", + "frigga", + "frotting", + "fubar", + "fuck", + "f-u-c-k", + "fucka", + "fuckass", + "fuckbag", + "fuckboy", + "fuckbrain", + "fuckbutt", + "fuckbutter", + "fucked", + "fucker", + "fuckers", + "fuckersucker", + "fuckface", + "fuckhead", + "fuckheads", + "fuckhole", + "fuckin", + "fucking", + "fuckings", + "fuckingshitmotherfucker", + "fuckme", + "fucknugget", + "fucknut", + "fucknutt", + "fuckoff", + "fucks", + "fuckstick", + "fucktard", + "fuck-tard", + "fucktards", + "fucktart", + "fucktwat", + "fuckup", + "fuckwad", + "fuckwhit", + "fuckwit", + "fuckwitt", + "fudgepacker", + "fuk", + "fuker", + "fukker", + "fukkin", + "fuks", + "fukwhit", + "fukwit", + "futanari", + "fux", + "fux0r", + "fvck", + "fxck", + "gae", + "gai", + "gangbang", + "gangbanged", + "gangbangs", + "ganja", + "gay", + "gayass", + "gaybob", + "gaydo", + "gayfuck", + "gayfuckist", + "gaylord", + "gays", + "gaysex", + "gaytard", + "gaywad", + "genitals", + "gey", + "gfy", + "ghay", + "ghey", + "gigolo", + "glans", + "goatcx", + "goatse", + "godamn", + "godamnit", + "goddam", + "god-dam", + "goddammit", + "goddamn", + "goddamned", + "god-damned", + "goddamnit", + "gokkun", + "goldenshower", + "gonad", + "gonads", + "gooch", + "goodpoop", + "gook", + "gooks", + "goregasm", + "gringo", + "grope", + "gspot", + "g-spot", + "gtfo", + "guido", + "guro", + "h0m0", + "h0mo", + "handjob", + "hardcore", + "hardcoresex", + "he11", + "heeb", + "hemp", + "hentai", + "heroin", + "herp", + "herpes", + "herpy", + "heshe", + "hitler", + "hiv", + "ho", + "hoar", + "hoare", + "hobag", + "hoe", + "hoer", + "hom0", + "homey", + "homo", + "homodumbshit", + "homoerotic", + "homoey", + "honkey", + "honky", + "hooch", + "hookah", + "hooker", + "hoor", + "hootch", + "hooter", + "hooters", + "hore", + "horniest", + "horny", + "hotsex", + "hump", + "humped", + "humping", + "hussy", + "hymen", + "inbred", + "incest", + "injun", + "intercourse", + "j3rk0ff", + "jackass", + "jackhole", + "jackoff", + "jack-off", + "jaggi", + "jagoff", + "jailbait", + "jap", + "japs", + "jerk", + "jerk0ff", + "jerkass", + "jerked", + "jerkoff", + "jerk-off", + "jigaboo", + "jiggaboo", + "jiggerboo", + "jism", + "jiz", + "jizm", + "jizz", + "jizzed", + "juggs", + "junglebunny", + "junkie", + "junky", + "kawk", + "kike", + "kikes", + "kinbaku", + "kinkster", + "kinky", + "kkk", + "knob", + "knobbing", + "knobead", + "knobed", + "knobend", + "knobhead", + "knobjocky", + "knobjokey", + "kock", + "kondum", + "kondums", + "kooch", + "kooches", + "kootch", + "kraut", + "kum", + "kummer", + "kumming", + "kums", + "kunilingus", + "kunja", + "kunt", + "kyke", + "l3i+ch", + "l3itch", + "labia", + "lameass", + "lardass", + "lech", + "leper", + "lesbian", + "lesbians", + "lesbo", + "lesbos", + "lez", + "lezbian", + "lezbians", + "lezbo", + "lezbos", + "lezzie", + "lezzies", + "lezzy", + "lmao", + "lmfao", + "loin", + "loins", + "lolita", + "lovemaking", + "lube", + "lust", + "lusting", + "lusty", + "m0f0", + "m0fo", + "m45terbate", + "ma5terb8", + "ma5terbate", + "mams", + "masochist", + "massa", + "masterb8", + "masterbat", + "masterbat3", + "masterbate", + "master-bate", + "masterbating", + "masterbation", + "masterbations", + "masturbate", + "masturbating", + "masturbation", + "maxi", + "mcfagget", + "menses", + "menstruate", + "menstruation", + "meth", + "m-fucking", + "mick", + "milf", + "minge", + "mof0", + "mofo", + "mo-fo", + "molest", + "moolie", + "moron", + "mothafuck", + "mothafucka", + "mothafuckas", + "mothafuckaz", + "mothafucked", + "mothafucker", + "mothafuckers", + "mothafuckin", + "mothafucking", + "mothafuckings", + "mothafucks", + "motherfuck", + "motherfucka", + "motherfucked", + "motherfucker", + "motherfuckers", + "motherfuckin", + "motherfucking", + "motherfuckings", + "motherfuckka", + "motherfucks", + "mtherfucker", + "mthrfucker", + "mthrfucking", + "muff", + "muffdiver", + "muffdiving", + "munging", + "murder", + "mutha", + "muthafecker", + "muthafuckaz", + "muthafucker", + "muthafuckker", + "muther", + "mutherfucker", + "mutherfucking", + "muthrfucking", + "n1gga", + "n1gger", + "nad", + "nads", + "naked", + "nambla", + "napalm", + "nappy", + "nawashi", + "nazi", + "nazism", + "negro", + "neonazi", + "nigaboo", + "nigg3r", + "nigg4h", + "nigga", + "niggah", + "niggas", + "niggaz", + "nigger", + "niggers", + "niggle", + "niglet", + "nimphomania", + "nimrod", + "ninny", + "nipple", + "nipples", + "nob", + "nobhead", + "nobjocky", + "nobjokey", + "nooky", + "nude", + "nudity", + "numbnuts", + "nutsack", + "nympho", + "nymphomania", + "octopussy", + "omorashi", + "opiate", + "opium", + "oral", + "orally", + "organ", + "orgasim", + "orgasims", + "orgasm", + "orgasmic", + "orgasms", + "orgies", + "orgy", + "ovary", + "ovum", + "ovums", + "p.u.s.s.y.", + "p0rn", + "paddy", + "paedophile", + "paki", + "panooch", + "pantie", + "panties", + "panty", + "pastie", + "pasty", + "pawn", + "pcp", + "pecker", + "peckerhead", + "pedo", + "pedobear", + "pedophile", + "pedophilia", + "pedophiliac", + "peepee", + "pegging", + "penetrate", + "penetration", + "penial", + "penile", + "penis", + "penisbanger", + "penisfucker", + "penispuffer", + "perversion", + "peyote", + "phalli", + "phallic", + "phonesex", + "phuck", + "phuk", + "phuked", + "phuking", + "phukked", + "phukking", + "phuks", + "phuq", + "pigfucker", + "pillowbiter", + "pimp", + "pimpis", + "pinko", + "pissed", + "pisser", + "pissers", + "pisses", + "pissflaps", + "pissin", + "pissing", + "pissoff", + "piss-off", + "pisspig", + "playboy", + "pms", + "polack", + "polesmoker", + "pollock", + "ponyplay", + "poof", + "poon", + "poonani", + "poonany", + "poontang", + "poop", + "poopchute", + "poopuncher", + "porchmonkey", + "porn", + "porno", + "pornography", + "pornos", + "potty", + "prick", + "pricks", + "prig", + "pron", + "prostitute", + "prude", + "pthc", + "pube", + "pubes", + "pubic", + "pubis", + "punanny", + "punany", + "punkass", + "punky", + "punta", + "puss", + "pusse", + "pussi", + "pussies", + "pussy", + "pussylicking", + "pussypounder", + "pussys", + "pust", + "puto", + "queaf", + "queef", + "queer", + "queerbait", + "queerhole", + "queero", + "queers", + "quicky", + "quim", + "racy", + "raghead", + "rape", + "raped", + "raper", + "raping", + "rapist", + "raunch", + "rectal", + "rectum", + "rectus", + "reefer", + "reetard", + "reich", + "renob", + "retard", + "retarded", + "revue", + "rimjaw", + "rimjob", + "rimming", + "ritard", + "rtard", + "r-tard", + "rump", + "rumprammer", + "ruski", + "s&m", + "s.h.i.t.", + "s.o.b.", + "s_h_i_t", + "s0b", + "sadism", + "sadist", + "sandler", + "sandnigger", + "sanger", + "santorum", + "scag", + "scantily", + "scat", + "schizo", + "schlong", + "scissoring", + "screw", + "screwed", + "screwing", + "scroat", + "scrog", + "scrot", + "scrote", + "scrotum", + "scrud", + "scum", + "seaman", + "seamen", + "seduce", + "seks", + "semen", + "sex", + "sexo", + "sexual", + "sexy", + "sh!+", + "sh!t", + "sh1t", + "s-h-1-t", + "shag", + "shagger", + "shaggin", + "shagging", + "shamedame", + "shemale", + "shi+", + "shibari", + "shit", + "s-h-i-t", + "shitass", + "shitbag", + "shitbagger", + "shitblimp", + "shitbrains", + "shitbreath", + "shitcanned", + "shitcunt", + "shitdick", + "shite", + "shiteater", + "shited", + "shitey", + "shitface", + "shitfaced", + "shitfuck", + "shitfull", + "shithead", + "shithole", + "shithouse", + "shiting", + "shitings", + "shits", + "shitspitter", + "shitstain", + "shitt", + "shitted", + "shitter", + "shitters", + "shittiest", + "shitting", + "shittings", + "shitty", + "shiz", + "shiznit", + "shota", + "shrimping", + "sissy", + "skag", + "skank", + "skeet", + "skullfuck", + "slag", + "slanteye", + "slave", + "sleaze", + "sleazy", + "slut", + "slutbag", + "slutdumper", + "slutkiss", + "sluts", + "smeg", + "smegma", + "smut", + "smutty", + "snatch", + "snowballing", + "snuff", + "s-o-b", + "sodom", + "sodomize", + "sodomy", + "son-of-a-bitch", + "souse", + "soused", + "spac", + "sperm", + "spic", + "spick", + "spik", + "spiks", + "splooge", + "spooge", + "spook", + "spunk", + "steamy", + "stfu", + "stiffy", + "stoned", + "strapon", + "strappado", + "strip", + "stroke", + "stupid", + "suck", + "suckass", + "sucked", + "sucking", + "sucks", + "sumofabiatch", + "swastika", + "swinger", + "t1t", + "t1tt1e5", + "t1tties", + "tampon", + "tard", + "tawdry", + "teabagging", + "teat", + "teets", + "teez", + "terd", + "teste", + "testee", + "testes", + "testical", + "testicle", + "testis", + "threesome", + "throating", + "thrust", + "thug", + "thundercunt", + "tinkle", + "tit", + "titfuck", + "titi", + "tits", + "titt", + "tittie5", + "tittiefucker", + "titties", + "titty", + "tittyfuck", + "tittyfucker", + "tittywank", + "titwank", + "toke", + "toots", + "topless", + "tosser", + "towelhead", + "tramp", + "tranny", + "transsexual", + "trashy", + "tribadism", + "tubgirl", + "turd", + "tush", + "tushy", + "tw4t", + "twat", + "twathead", + "twatlips", + "twats", + "twatty", + "twatwaffle", + "twink", + "twinkie", + "twunt", + "twunter", + "ugly", + "unclefucker", + "undies", + "undressing", + "unwed", + "upskirt", + "urinal", + "urine", + "urophilia", + "uterus", + "uzi", + "v14gra", + "v1gra", + "vag", + "vagina", + "vajayjay", + "va-j-j", + "valium", + "viagra", + "vibrator", + "virgin", + "vixen", + "vjayjay", + "vodka", + "vomit", + "vorarephilia", + "voyeur", + "vulgar", + "vulva", + "w00se", + "wad", + "wang", + "wank", + "wanker", + "wankjob", + "wanky", + "wazoo", + "wedgie", + "weed", + "weenie", + "weewee", + "weiner", + "weirdo", + "wench", + "wetback", + "wh0re", + "wh0reface", + "whitey", + "whiz", + "whoar", + "whoralicious", + "whore", + "whorealicious", + "whorebag", + "whored", + "whoreface", + "whorehopper", + "whorehouse", + "whores", + "whoring", + "wigger", + "willies", + "willy", + "womb", + "woody", + "wop", + "wtf", + "xrated", + "x-rated", + "xxx", + "yaoi", + "yeasty", + "yiffy", + "yobbo", + "zoophile", + "zoophilia", + "zubb", + ]; + + let skinsData = []; + (async () => { + skinsData = await (await fetch("./skins.json")).json(); + })(); + + let getSkinIconFromSkinName = (skinName = "") => { + let skin = skinsData.find((skin) => skin.skin === skinName); + if (skin) { + return "./" + skin.icon; + } else { + return "./default.png"; + } + }; + + // Util stuff + let notify = (title, text, image = "./speedrunner.png") => { + cr.plugins_.sirg_notifications.prototype.acts.AddSimpleNotification.call( + runtime.types_by_index.find( + (type) => type.plugin instanceof cr.plugins_.sirg_notifications + ).instances[0], + title, + text, + image + ); + }; + + let removeProfanity = (text, listWords, listSentences) => { + let newText = ""; + text = text.toLowerCase(); + if (!listWords) { + listWords = filterArrNoSpaces; + } + if (!listSentences) { + listSentences = filterArrSpaces; + } + + // check if sentences from listSentences are in text + + listSentences.forEach((sentence) => { + if (text.includes(sentence)) { + // replace letters with * + text = text.replace(sentence, sentence.replace(/[^\s]/g, "*")); + } + }); + let words = text.split(" "); + + for (let i = 0; i < words.length; i++) { + if (listWords.includes(words[i])) { + newText += "*".repeat(words[i].length) + " "; + } else { + newText += words[i] + (i == words.length - 1 ? "" : " "); + } + } + return newText; + }; + + let disableClick = () => { + // debugger; + let map = []; + let mapUI = []; + let types = runtime.types_by_index.filter((x) => + x.behaviors.some( + (y) => y.behavior instanceof cr.behaviors.aekiro_button + ) + ); + types.forEach((type) => { + type.instances.forEach((inst) => { + let behavior = inst.behavior_insts.find( + (x) => x.behavior instanceof cr.behaviors.aekiro_button + ); + map.push({ + inst, + oldState: behavior.isEnabled, + }); + behavior.isEnabled = 0; + }); + }); + let layer = runtime.running_layout.layers.find((x) => x.name == "UI"); + if (layer) { + layer.instances.forEach((inst) => { + //save state to mapUI + mapUI.push({ + inst, + oldState: { + width: inst.width, + height: inst.height, + }, + }); + // set size to 0 + inst.width = 0; + inst.height = 0; + inst.set_bbox_changed(); + }); + } + return { + map, + mapUI, + }; + }; + + let enableClick = ({ map, mapUI }) => { + map.forEach((x) => { + let inst = x.inst.behavior_insts.find( + (x) => x.behavior instanceof cr.behaviors.aekiro_button + ); + inst.isEnabled = inst.isEnabled ? 1 : x.oldState; + }); + mapUI.forEach((x) => { + x.inst.width = x.oldState.width; + x.inst.height = x.oldState.height; + x.inst.set_bbox_changed(); + }); + }; + + // get all query strings + function getQueryString(url) { + var queryString = ""; + let result = {}; + // if url is given, get query string from url, else use location.search.substring(1); + if (url) { + queryString = url.indexOf("?") != -1 ? url.split("?")[1] : ""; + } else { + queryString = location.search.substring(1); + } + let re = /([^&=]+)=([^&]*)/g; + let m; + while ((m = re.exec(queryString)) !== null) { + result[decodeURIComponent(m[1])] = decodeURIComponent(m[2]); + } + return result; + } + + function setQueryString(query) { + // set url to have query string + let url = new URL(window.location.href); + url.search = new URLSearchParams(query); + window.history.replaceState({}, "", url.href); + } + + notiePending = []; + function addNotie() { + // add notie stylesheet to head from unpkg + let link = document.createElement("link"); + link.rel = "stylesheet"; + link.href = "https://unpkg.com/notie/dist/notie.min.css"; + document.head.appendChild(link); + + // add stylesheet tag to head + let style = document.createElement("style"); + style.innerHTML = ` + /* override styles here */ + .notie-container { + box-shadow: none; + font-family: Retron2000; + z-index: 9999999999 !important; + font-size: 14pt; + } + .notie-background-info { + background-color: black; + } + .notie-background-success { + background-color: black; + border: solid 4px limegreen; + } + .notie-background-error { + background-color: black; + border: solid 4px red; + } + `; + document.head.appendChild(style); + + // add notie to bottom of body + let notieScript = document.createElement("script"); + notieScript.src = "https://unpkg.com/notie"; + document.body.appendChild(notieScript); + notieScript.onload = () => { + // call every pending functions + notiePending.forEach((func) => func()); + notiePending = []; + }; + } + addNotie(); + + async function waitForNotie(fn) { + if (window.notie) fn(); + else notiePending.push(fn); + } + + async function getDialogPrompt({ + type = "text", + text = "Enter your name", + submitText = "Ok", + cancelText = "Cancel", + position = "top", + value = "", + } = {}) { + let response = new Promise((resolve, reject) => { + waitForNotie(() => { + let map = disableClick(); + notie.input( + { + type, + text, + submitText, + cancelText, + position, + value, + }, + (...args) => { + enableClick(map); + resolve(...args); + }, + () => { + enableClick(map); + resolve(null); + } + ); + // disable spellcheck from notie textbox + let textbox = document.querySelector(".notie-input-field"); + textbox.setAttribute("spellcheck", "false"); + textbox.onkeydown = (e) => { + // prevent default + e.stopPropagation(); + }; + }); + }); + return response; + } + + async function getDialogAlert({ + text = "", + type = "info", + position = "top", + buttonText = "Ok", + } = {}) { + await new Promise((resolve, reject) => { + waitForNotie(() => { + let map = disableClick(); + notie.force( + { + text, + type, + position, + buttonText, + }, + (...args) => { + enableClick(map); + resolve(...args); + } + ); + }); + }); + return; + } + + async function getDialogConfirm({ + text = "", + type = "info", + position = "top", + buttonText = "Ok", + cancelText = "Cancel", + } = {}) { + let response = await new Promise((resolve, reject) => { + waitForNotie(() => { + let map = disableClick(); + notie.confirm( + { + text, + type, + position, + buttonText, + cancelText, + }, + () => { + enableClick(map); + resolve(true); + }, + () => { + enableClick(map); + resolve(false); + } + ); + }); + }); + return response; + } + + let playerType = runtime.types_by_index.find( + (x) => + !!x.animations && + x.animations[0].frames[0].texture_file.includes("collider") + ); + + let textType = runtime.types_by_index.find( + (x) => + x.name === "TextAlign" || + (x.plugin instanceof cr.plugins_.TextModded && + x.vars_count === 8 && + !x.is_family) + ); + + let ghostArrType = runtime.types_by_index.find( + (x) => + x.plugin instanceof cr.plugins_.Arr && + x.default_instance[5][1] === 6 + ); + + let globalType = runtime.types_by_index.find( + (x) => + x.plugin instanceof cr.plugins_.Globals && + x.instvar_sids.length === 24 + ); + + let getPlayer = () => + playerType.instances.filter( + (x) => x.instance_vars[17] === "" && x.behavior_insts[0].enabled + )[0]; + + let getFlag = () => + runtime.types_by_index.find( + (x) => + x.name === "EndFlag" || + (x.plugin instanceof cr.plugins_.Sprite && + x.all_frames && + x.all_frames[0].texture_file.includes("endflag")) + ).instances[0]; + + let addScript = (src, id, onload) => { + if (document.getElementById(id)) return; + let fjs = document.getElementsByTagName("script")[0]; + let js = document.createElement("script"); + js.id = id; + fjs.parentNode.insertBefore(js, fjs); + js.onload = onload; + js.src = src; + }; + + let getCurLayout = () => runtime.running_layout.name; + let curLayout = runtime.running_layout.name; + + // Multiplayer methods + + const DATA_TYPES = { + PLAYER_DATA: "PLAYER_DATA", + HOST_DATA: "HOST_DATA", + CHAT: "CHAT", + PLAYER_JOIN: "PLAYER_JOIN", + PLAYER_LEAVE: "PLAYER_LEAVE", + }; + + const types = { + TitleLogo: runtime.types_by_index.find( + (x) => + x.name === "TitleLogo" || + (x.plugin instanceof cr.plugins_.Sprite && + x.all_frames && + x.all_frames[0].texture_file.includes("titlelogo")) + ), + Text: runtime.types_by_index.find( + (x) => + x.name === "TextAlign" || + (x.plugin instanceof cr.plugins_.TextModded && + x.vars_count === 8 && + !x.is_family) + ), + SpriteFont: runtime.types_by_index.find( + (x) => + x.plugin instanceof cr.plugins_.SkymenSFPlusPLus && + x.behaviors.some( + (y) => y.behavior instanceof cr.behaviors.SkymenPin + ) + ), + }; + + globalThis.spawnTextOnTitleLogo = () => { + // spawna text on title logo + let titleLogo = types.TitleLogo.instances[0]; + if (!titleLogo) return; + titleLogo.angle = 0; + titleLogo.update_bbox(); + let inst = runtime.createInstance( + types.SpriteFont, + titleLogo.layer, + titleLogo.x, + titleLogo.y - 10 + ); + inst.text = "Online Beta " + VERSION; + inst.width = titleLogo.width / 2; + inst.height = titleLogo.height; + inst.hotspotX = titleLogo.hotspotX; + inst.hotspotY = titleLogo.hotspotY; + inst.halign = 0.5; + inst.valign = 0; + inst.characterScale = 1; + inst.update_bbox(); + let pinToInst = (self, otherinst) => { + self.pinObject = otherinst; + self.pinAngle = + cr.angleTo(otherinst.x, otherinst.y, self.inst.x, self.inst.y) - + otherinst.angle; + self.pinDist = cr.distanceTo( + otherinst.x, + otherinst.y, + self.inst.x, + self.inst.y + ); + self.myStartAngle = self.inst.angle; + self.lastKnownAngle = self.inst.angle; + self.theirStartAngle = otherinst.angle; + self.mode = 0; + }; + pinToInst( + inst.behavior_insts.find( + (x) => x.behavior instanceof cr.behaviors.SkymenPin + ), + titleLogo + ); + }; + + function convertBase(value, from_range, to_range) { + var from_base = BigInt(from_range.length); + var to_base = BigInt(to_range.length); + + var dec_value = value + .split("") + .reverse() + .reduce(function (carry, digit, index) { + if (from_range.indexOf(digit) === -1) + throw new Error( + "Invalid digit `" + digit + "` for base " + from_base + "." + ); + return (carry += + BigInt(from_range.indexOf(digit)) * from_base ** BigInt(index)); + }, BigInt(0)); + + var new_value = ""; + while (dec_value > 0n) { + new_value = + to_range[Number(dec_value % BigInt(to_base))] + new_value; + dec_value = + (dec_value - (dec_value % BigInt(to_base))) / BigInt(to_base); + } + return new_value || "0"; + } + + function hexToBase64(value) { + return convertBase( + value, + "0123456789abcdef", + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_" + ); + } + + function base64ToHex(value) { + return convertBase( + value, + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_", + "0123456789abcdef" + ); + } + + function bigHexToUuid(value) { + if (value.length !== 32) { + // if value is under 32 characters, pad it with zeroes + if (value.length < 32) { + value = + "00000000000000000000000000000000".slice(0, 32 - value.length) + + value; + } else { + throw new Error("Invalid value length."); + } + } + // get first 8 chars, then 4, then 4, then 4, then 12 and join them with - + return ( + value.substring(0, 8) + + "-" + + value.substring(8, 12) + + "-" + + value.substring(12, 16) + + "-" + + value.substring(16, 20) + + "-" + + value.substring(20, 32) + ); + } + + function uuidToBase64(value) { + return hexToBase64(value.replace(/\-/g, "")); + } + + function base64ToUuid(value) { + return bigHexToUuid(base64ToHex(value)); + } + + let multiplayer = { + init() { + // Init code + // notify("Mod loaded", "Multiplayer mod loaded"); + + this.username = ""; + this.initialUsername = ""; + this.notifyWhenChatIsHidden = true; + this.bannedUsers = []; + this.permaBannedUsers = []; + this.mutedUsers = []; + // get username from localstorage + this.loadPreferences(); + this.usernameInsts = null; + this.connections = []; + this.initDomUI(); + this.updateDomContainers(); + this.updateDomUsername(); + this.updateUserList(); + this.chat = []; + this.initialised = true; + this.sendPlayerData = true; + + runtime.tickMe(this); + // only send player data 30 times a second + this.tickMe = setInterval(() => { + this.sendPlayerData = true; + }, 1000 / 30); + + //this.initWorker(); + + globalThis.ovoMultiplayerClient = this; + + let thisPromptId = THIS_PROMPT_ID; + let lastPromptTime = localStorage.getItem("lastPromptTime"); + let lastPromptId = localStorage.getItem("lastPromptId"); + + let afterPrompt = () => { + //click "ovo-multiplayer-toggle-button" + let button = document.getElementById( + "ovo-multiplayer-toggle-button" + ); + if (button) + button.onclick(true).then(() => { + // if query string has a roomCode, join it + let queryStrings = getQueryString(); + if (queryStrings.roomCode) { + this.joinRoom(queryStrings.roomCode); + } + }); + }; + + if ( + !this.lastPromptId || + this.lastPromptId !== thisPromptId || + !this.lastPromptTime || + Date.now() - parseInt(this.lastPromptTime) > + 1000 * 60 * 60 * 24 * 7 + ) { + getDialogAlert({ + type: "success", + text: "OvO Online is currently in open beta.
We will do our best to fix any issue as quickly as we can.
Thank you for playing!", + }).then(() => { + this.lastPromptId = thisPromptId; + this.lastPromptTime = Date.now(); + this.savePreferences(); + afterPrompt(); + }); + } else { + afterPrompt(); + } + // if layout is main menu, call spawnTextOnTitleLogo + if (getCurLayout() === "Main Menu") { + spawnTextOnTitleLogo(); + } + }, + + loadPreferences() { + // Load preferences + let data = localStorage.getItem("ovoMultiplayerData"); + if (data) { + try { + data = JSON.parse(data); + if ( + data.username && + data.username.length < 20 && + data.username.toLowerCase() === removeProfanity(data.username) + ) { + this.username = data.username; + } + if (data.notifyWhenChatIsHidden) { + this.notifyWhenChatIsHidden = data.notifyWhenChatIsHidden; + } + if (data.lastPromptTime) { + this.lastPromptTime = data.lastPromptTime; + } + if (data.lastPromptId) { + this.lastPromptId = data.lastPromptId; + } + if (data.permaBannedUsers) { + this.permaBannedUsers = data.permaBannedUsers; + } + } catch (e) { + console.error(e); + } + } + }, + + canUserJoin(user) { + return this.userIsOnMyVersion(user) && !this.userIsBanned(user); + }, + + canIJoinHost() { + if (!this.connectedToRoom) { + return false; + } + if (this.isHost) { + return true; + } + // find host in connections + let host = this.connections.find((c) => c.data.isHost); + if (host) { + return host.data.version === VERSION; + } + return false; + }, + + userIsOnMyVersion(user) { + if (!user) { + return false; + } + return user.version === VERSION; + }, + + userIsBanned(user) { + if (!user) { + return false; + } + let bannedUser = this.bannedUsers.find((u) => u.UID === user.UID); + if (bannedUser) { + return true; + } + bannedUser = this.permaBannedUsers.find((u) => u.UID === user.UID); + if (bannedUser) { + return true; + } + return false; + }, + + savePreferences() { + // Save preferences + let data = { + username: this.username, + notifyWhenChatIsHidden: this.notifyWhenChatIsHidden, + lastPromptId: this.lastPromptId, + lastPromptTime: this.lastPromptTime, + permaBannedUsers: this.permaBannedUsers, + }; + localStorage.setItem("ovoMultiplayerData", JSON.stringify(data)); + }, + + initWorker() { + this.wakerWorker = new Worker( + "data:text/javascript;base64,77u/InVzZSBzdHJpY3QiOw0KDQp2YXIgdGltZXJfaWQgPSAtMTsNCnZhciB0aW1lcl9ydW5uaW5nID0gZmFsc2U7DQoNCmZ1bmN0aW9uIHN0YXJ0VGltZXIoKQ0Kew0KCWlmICh0aW1lcl9ydW5uaW5nKQ0KCQlyZXR1cm47DQoJDQoJdGltZXJfcnVubmluZyA9IHRydWU7DQoJdGltZXJfaWQgPSBzZXRJbnRlcnZhbCh0aWNrLCAxNik7DQp9Ow0KDQpmdW5jdGlvbiBzdG9wVGltZXIoKQ0Kew0KCWlmICghdGltZXJfcnVubmluZykNCgkJcmV0dXJuOw0KCQ0KCXRpbWVyX3J1bm5pbmcgPSBmYWxzZTsNCgljbGVhckludGVydmFsKHRpbWVyX2lkKTsNCgl0aW1lcl9pZCA9IC0xOw0KfTsNCg0KZnVuY3Rpb24gdGljaygpDQp7DQoJaWYgKCF0aW1lcl9ydW5uaW5nKQ0KCQlyZXR1cm47DQoJDQoJc2VsZi5wb3N0TWVzc2FnZSgidGljayIpOw0KfTsNCg0Kc2VsZi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24gKGUpDQp7DQoJdmFyIGNtZCA9IGUuZGF0YTsNCgkNCglpZiAoIWNtZCkNCgkJcmV0dXJuOw0KCQ0KCWlmIChjbWQgPT09ICJzdGFydCIpDQoJew0KCQlzdGFydFRpbWVyKCk7DQoJfQ0KCWVsc2UgaWYgKGNtZCA9PT0gInN0b3AiKQ0KCXsNCgkJc3RvcFRpbWVyKCk7DQoJfQ0KCQ0KfSwgZmFsc2UpOw==" + ); + + this.wakerWorker.addEventListener( + "message", + function (e) { + if (e.data === "tick" && runtime.isSuspended) { + runtime.tick(true); + } + }, + false + ); + + this.wakerWorker.postMessage(""); + + runtime.addSuspendCallback((s) => { + // Suspending and is currently host: use a web worker to keep the game alive + if (s) { + this.wakerWorker.postMessage("start"); + } + // Resuming and is currently host: stop using web worker to keep running, will revert to rAF + else { + this.wakerWorker.postMessage("stop"); + } + }); + }, + + startOfLayout() { + if (!this.initialised) return; + this.usernameInsts = null; + this.connections.forEach((connection) => { + connection.player = null; + }); + // remove all players instances from memory + if (!getFlag()) { + // not in a level, do nothing? + } else { + // in a level, create other players + this.connections.forEach((connection) => { + if (connection.data) + connection.player = this.createGhostPlayer(connection.data); + }); + } + }, + + updateDomUsername() { + let text = document.getElementById("ovo-multiplayer-username"); + if (text) text.innerText = "Username: " + this.username; + }, + + initDomUI() { + // inject button css + let style = document.createElement("style"); + style.type = "text/css"; + style.innerHTML = ` + .ovo-multiplayer-toggle-button { + background-color: transparent; + position: absolute; + top: 0; + left: 0; + color: white; + border: none; + font-family: "Retron2000"; + z-index: 9999999999999999; + cursor: pointer; + transition: opacity 0.23s; + font-size: 10pt; + padding: 2px; + opacity: 0.5; + } + .ovo-multiplayer-toggle-button:hover { + opacity: 1; + } + .ovo-multiplayer-toggle-button:active { + opacity: 0.7; + } + .ovo-multiplayer-toggle-icon { + width: 38px; + height: 38px; + } + .ovo-multiplayer-button { + background-color: black; + color: white; + border: none; + margin-left: 2px; + font-family: "Retron2000"; + z-index: 99998; + cursor: pointer; + transition: background-color 0.23s; + font-size: 10pt; + min-width: 50px; + padding: 5px 10px; + } + .ovo-multiplayer-button:hover { + background-color: rgba(40, 40, 40, 1); + } + .ovo-multiplayer-button:active { + background-color: rgba(80, 80, 80, 1); + } + .ovo-multiplayer-button-holder { + position: absolute; + z-index: 99999; + left: 0; + bottom: 0; + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: end; + flex-wrap: nowrap; + } + .ovo-multiplayer-text-box { + background-color: #d7d7d74d; + border: solid; + border-color: black; + border-width: 6px; + font-family: "Retron2000"; + position: absolute; + z-index: 99998; + transition: background-color 0.23s; + scrollbar-color: #888 #f1f1f1; + scrollbar-width: thin; + } + .ovo-multiplayer-text-box:hover { + background-color: #ffffffd7; + } + .ovo-multiplayer-chat-input { + background-color: white; + border: none; + font-family: "Retron2000"; + position: absolute; + z-index: 99998; + bottom: 30px; + left: 0; + width: 400px; + height: 35px; + resize: none; + display: none; + } + .ovo-multiplayer-chat-element{ + display: flex; + flex-direction: row; + width: 100%; + white-space: pre; + background-color: rgba(255, 255, 255, 0.6); + border: solid; + border-color: rgba(0, 0, 0, 0.6); + border-width: 0px 0px 2px; + font-family: "Retron2000"; + } + + .ovo-multiplayer-chat-sub-element{ + display: flex; + flex-direction: column; + width: 100%; + margin: 0px 6px 2px 2px; + } + + .ovo-multiplayer-chat-sub-sub-element{ + display: flex; + flex-direction: row; + width: 100%; + align-items: center; + justify-content: space-between; + } + + .ovo-multiplayer-chat-text{ + font-size: 10pt; + width: 100%; + margin-top: 2px; + word-wrap: break-word; + white-space: pre-wrap; + word-break: break-word; + } + + .ovo-multiplayer-chat-username{ + font-weight: bold; + font-size: 11pt; + } + + .ovo-multiplayer-chat-timestamp{ + font-size: 8pt; + white-space: initial; + margin-left: 6px; + text-align: end; + } + + .ovo-multiplayer-chat-icon{ + width: 32px; + height: 32px; + margin: 6px; + } + .ovo-multiplayer-user-element{ + display: flex; + flex-direction: row; + width: 100%; + white-space: pre; + background-color: rgba(255, 255, 255, 0.6); + border: solid; + border-color: rgba(0, 0, 0, 0.6); + border-width: 0px 0px 2px; + font-family: "Retron2000"; + align-items: center; + } + + .ovo-multiplayer-user-sub-element{ + display: flex; + flex-direction: row; + width: 100%; + margin: 0px 6px 2px 2px; + justify-content: space-between; + align-items: center; + } + + .ovo-multiplayer-user-sub-sub-element{ + display: flex; + flex-direction: column; + width: 100%; + align-items: center; + justify-content: center; + justify-content: space-between; + } + + .ovo-multiplayer-user-buttons{ + font-size: 10pt; + width: 100%; + margin-top: 2px; + display: flex; + flex-direction: row; + justify-content: center; + } + + .ovo-multiplayer-user-button { + background-color: white; + border: solid; + border-color: black; + border-width: 2px; + font-family: "Retron2000"; + margin-left: 6px; + padding: 0px 2px; + cursor: pointer; + min-width: 50px; + transition: background-color 0.23s; + } + + .ovo-multiplayer-user-button:hover { + background-color: rgba(230, 230, 230, 1); + } + + .ovo-multiplayer-user-button:active { + background-color: rgba(200, 200, 200, 1); + } + + .ovo-multiplayer-user-username{ + font-weight: bold; + font-size: 11pt; + } + + .ovo-multiplayer-user-extra{ + font-size: 8pt; + white-space: initial; + margin-left: 6px; + text-align: center; + + } + + .ovo-multiplayer-user-icon{ + width: 32px; + height: 32px; + margin: 6px; + } + + .ovo-multiplayer-banlist-sub-sub-element{ + display: flex; + flex-direction: row; + width: 100%; + align-items: center; + justify-content: center; + justify-content: space-between; + } + + .ovo-multiplayer-banlist-buttons{ + font-size: 10pt; + margin-top: 2px; + display: flex; + flex-direction: row; + justify-content: center; + } + /* width */ + ::-webkit-scrollbar { + width: 6px; + } + + /* Track */ + ::-webkit-scrollbar-track { + background: #22222222; + } + + /* Handle */ + ::-webkit-scrollbar-thumb { + background: #eeeeeecc; + } + + /* Handle on hover */ + ::-webkit-scrollbar-thumb:hover { + background: #eee; + } + `; + document.head.appendChild(style); + + // user interface with create room button, join room button, set username button and chat box + let container = document.createElement("div"); + container.id = "ovo-multiplayer-container"; + container.style.position = "absolute"; + container.style.top = "0"; + container.style.left = "0"; + container.style.width = "100%"; + container.style.height = "100%"; + container.style.backgroundColor = "rgba(0,0,0,0)"; + container.style.zIndex = "9999999999"; + + //first container, only visible when not in a room + let disconnectedContainer = document.createElement("div"); + disconnectedContainer.id = "ovo-multiplayer-disconnected-container"; + disconnectedContainer.style.position = "absolute"; + disconnectedContainer.style.top = "0"; + disconnectedContainer.style.left = "0"; + disconnectedContainer.style.width = "100%"; + disconnectedContainer.style.height = "100%"; + disconnectedContainer.style.backgroundColor = "rgba(0,0,0,0)"; + disconnectedContainer.style.zIndex = "9999999999"; + container.appendChild(disconnectedContainer); + this.connectContainer = disconnectedContainer; + + let buttonsHolder = document.createElement("div"); + buttonsHolder.classList.add("ovo-multiplayer-button-holder"); + disconnectedContainer.appendChild(buttonsHolder); + + let createRoomButton = document.createElement("button"); + createRoomButton.innerText = "Create Room"; + //apply common style + createRoomButton.classList.add("ovo-multiplayer-button"); + createRoomButton.onclick = () => { + this.createRoom(); + //remove focus from button + createRoomButton.blur(); + }; + // stop immediate propagation + createRoomButton.addEventListener("click", (e) => { + e.stopImmediatePropagation(); + }); + + buttonsHolder.appendChild(createRoomButton); + + let joinRoomButton = document.createElement("button"); + joinRoomButton.innerText = "Join Room"; + //apply common style + joinRoomButton.classList.add("ovo-multiplayer-button"); + joinRoomButton.onclick = async () => { + //prompt for room code + let roomCode = await getDialogPrompt({ text: "Enter room code" }); + if (roomCode) this.joinRoom(roomCode); + + //remove focus from button + joinRoomButton.blur(); + }; + // stop immediate propagation + joinRoomButton.addEventListener("click", (e) => { + e.stopImmediatePropagation(); + }); + + buttonsHolder.appendChild(joinRoomButton); + + let setUsernameButton = document.createElement("button"); + setUsernameButton.innerText = "Change Username"; + //apply common style + setUsernameButton.classList.add("ovo-multiplayer-button"); + setUsernameButton.onclick = async () => { + //prompt user for username + await this.setUsernamePrompt(); + + //remove focus from button + setUsernameButton.blur(); + }; + // stop immediate propagation + setUsernameButton.addEventListener("click", (e) => { + e.stopImmediatePropagation(); + }); + buttonsHolder.appendChild(setUsernameButton); + + //text displaying current room id and user name at the bottom right corner + let text = document.createElement("p"); + text.id = "ovo-multiplayer-username"; + text.style.backgroundColor = "white"; + text.style.zIndex = "9999999999"; + text.style.fontSize = "14px"; + text.style.color = "black"; + text.style.textAlign = "left"; + text.style.paddingLeft = "5px"; + text.style.paddingBottom = "4px"; + text.style.fontFamily = "Retron2000"; + this.updateDomUsername(); + buttonsHolder.appendChild(text); + + // other container, only visible when connected to a room + let connectedContainer = document.createElement("div"); + connectedContainer.id = "ovo-multiplayer-other-container"; + connectedContainer.style.position = "absolute"; + connectedContainer.style.top = "0"; + connectedContainer.style.left = "0"; + connectedContainer.style.width = "100%"; + connectedContainer.style.height = "100%"; + connectedContainer.style.backgroundColor = "rgba(0,0,0,0)"; + connectedContainer.style.zIndex = "9999999999"; + container.appendChild(connectedContainer); + this.connectedContainer = connectedContainer; + + let buttonsHolder2 = document.createElement("div"); + buttonsHolder2.classList.add("ovo-multiplayer-button-holder"); + connectedContainer.appendChild(buttonsHolder2); + + let leaveRoomButton = document.createElement("button"); + leaveRoomButton.innerText = "Leave Room"; + //apply common style + leaveRoomButton.classList.add("ovo-multiplayer-button"); + leaveRoomButton.onclick = () => { + this.leaveRoom(); + + chatInput.value = ""; + chatInput.blur(); + container.style.backgroundColor = "rgba(0,0,0,0)"; + chatInput.style.display = "none"; + if (globalThis.ovoMultiplayerChatStateMap) { + enableClick(globalThis.ovoMultiplayerChatStateMap); + globalThis.ovoMultiplayerChatStateMap = null; + } + //remove focus from button + leaveRoomButton.blur(); + }; + // stop immediate propagation + leaveRoomButton.addEventListener("click", (e) => { + e.stopImmediatePropagation(); + }); + buttonsHolder2.appendChild(leaveRoomButton); + + //copy room code button + let copyRoomCodeButton = document.createElement("button"); + copyRoomCodeButton.innerText = "Invite Friends"; + //apply common style + copyRoomCodeButton.classList.add("ovo-multiplayer-button"); + copyRoomCodeButton.onclick = () => { + this.copyRoomCode(); + + chatInput.value = ""; + chatInput.blur(); + container.style.backgroundColor = "rgba(0,0,0,0)"; + chatInput.style.display = "none"; + if (globalThis.ovoMultiplayerChatStateMap) { + enableClick(globalThis.ovoMultiplayerChatStateMap); + globalThis.ovoMultiplayerChatStateMap = null; + } + + //remove focus from button + copyRoomCodeButton.blur(); + }; + // stop immediate propagation + copyRoomCodeButton.addEventListener("click", (e) => { + e.stopImmediatePropagation(); + }); + buttonsHolder2.appendChild(copyRoomCodeButton); + + // set username button + let setUsernameButton2 = document.createElement("button"); + setUsernameButton2.innerText = "Change Username"; + //apply common style + setUsernameButton2.classList.add("ovo-multiplayer-button"); + setUsernameButton2.onclick = async () => { + chatInput.value = ""; + chatInput.blur(); + container.style.backgroundColor = "rgba(0,0,0,0)"; + chatInput.style.display = "none"; + if (globalThis.ovoMultiplayerChatStateMap) { + enableClick(globalThis.ovoMultiplayerChatStateMap); + globalThis.ovoMultiplayerChatStateMap = null; + } + //prompt user for username + await this.setUsernamePrompt(); + + //remove focus from button + setUsernameButton2.blur(); + }; + // stop immediate propagation + setUsernameButton2.addEventListener("click", (e) => { + e.stopImmediatePropagation(); + }); + // buttonsHolder2.appendChild(setUsernameButton2); + + let chatBox = document.createElement("div"); + let chatInput = document.createElement("textarea"); + + // create 3 tabs + let tabContainer = document.createElement("div"); + tabContainer.id = "ovo-multiplayer-tab-container"; + tabContainer.style.position = "absolute"; + tabContainer.style.bottom = "320px"; + tabContainer.style.left = "0"; + tabContainer.style.width = "388px"; + tabContainer.style.height = "20px"; + tabContainer.style.display = "flex"; + tabContainer.style.flexDirection = "row"; + tabContainer.style.justifyContent = "flex-start"; + tabContainer.style.backgroundColor = "rgba(0,0,0,0)"; + tabContainer.style.zIndex = "9999999999"; + connectedContainer.appendChild(tabContainer); + + let tabIndex = 0; + this.selectedTab = -1; + let tabs = []; + let tabContents = []; + let addTab = (name, content) => { + let thisIndex = tabIndex; + let tab = document.createElement("div"); + tab.id = "ovo-multiplayer-tab-" + tabIndex; + tab.classList.add("ovo-multiplayer-tab"); + tab.innerText = name; + tab.style.height = "20px"; + tab.style.left = "0"; + tab.style.top = "0"; + tab.style.backgroundColor = "rgba(0,0,0,1)"; + tab.style.color = "white"; + tab.style.fontSize = "10pt"; + tab.style.fontFamily = "Retron2000"; + tab.style.cursor = "pointer"; + tab.style.paddingLeft = "10px"; + tab.style.paddingRight = "10px"; + tab.style.paddingTop = "3px"; + tab.style.paddingBottom = "3px"; + tab.style.textAlign = "center"; + tab.style.cursor = "pointer"; + tab.style.zIndex = "9999999999"; + tab.onclick = () => { + if (this.selectedTab === thisIndex) { + return; + } + //hide all tabs + for (let i = 0; i < tabContents.length; i++) { + tabContents[i].style.display = "none"; + } + //show this tab + content.style.display = "block"; + //change tab color + for (let i = 0; i < tabs.length; i++) { + tabs[i].style.backgroundColor = "rgba(255,255,255,0.8)"; + tabs[i].style.color = "black"; + } + tab.style.backgroundColor = "rgba(0,0,0,1)"; + tab.style.color = "white"; + this.selectedTab = thisIndex; + + chatInput.value = ""; + chatInput.blur(); + container.style.backgroundColor = "rgba(0,0,0,0)"; + chatInput.style.display = "none"; + if (globalThis.ovoMultiplayerChatStateMap) { + enableClick(globalThis.ovoMultiplayerChatStateMap); + globalThis.ovoMultiplayerChatStateMap = null; + } + + if (thisIndex === 0) { + //scroll to bottom + let chatBox = document.getElementById( + "ovo-multiplayer-chat-box" + ); + if (chatBox) { + chatBox.scrollTop = chatBox.scrollHeight; + } + } + }; + tabContainer.appendChild(tab); + tabs.push(tab); + tabContents.push(content); + tabIndex++; + }; + + let selectTab = (index) => { + if ( + index === this.selectedTab || + index < 0 || + index >= tabContents.length + ) { + return; + } + tabs[index].onclick(); + }; + + // chat tab + let chatTab = document.createElement("div"); + addTab("Chat", chatTab); + connectedContainer.appendChild(chatTab); + + // user list tab + let userListTab = document.createElement("div"); + addTab("User list", userListTab); + connectedContainer.appendChild(userListTab); + + // settings tab + let settingsTab = document.createElement("div"); + addTab("Ban list", settingsTab); + connectedContainer.appendChild(settingsTab); + + let tipsTab = document.createElement("div"); + addTab("Info", tipsTab); + connectedContainer.appendChild(tipsTab); + + selectTab(0); + + //show chat messages in a read only text area + chatBox.id = "ovo-multiplayer-chat-box"; + //apply common style + chatBox.classList.add("ovo-multiplayer-text-box"); + chatBox.style.border = "none"; + chatBox.style.padding = "6px"; + chatBox.style.bottom = "65px"; + chatBox.style.color = "black"; + chatBox.style.left = "0"; + chatBox.style.width = "388px"; + chatBox.style.height = "238px"; + chatBox.style.resize = "none"; + chatBox.style.display = "block"; + chatBox.style.textShadow = "0 0 5px white"; + chatBox.innerHTML = "No chat messages yet..."; + chatBox.style.overflow = "auto scroll"; + chatBox.style.textAlign = "left"; + + chatBox.addEventListener("wheel", (e) => { + e.stopImmediatePropagation(); + }); + chatTab.appendChild(chatBox); + + chatInput.id = "ovo-multiplayer-chat-input"; + //apply common style + chatInput.classList.add("ovo-multiplayer-chat-input"); + chatInput.placeholder = "Type here..."; + chatInput.onkeydown = (e) => { + if (e.key === "Enter") { + // if shift is pressed do nothing + e.stopImmediatePropagation(); + if (e.shiftKey) return; + this.sendChat({ + message: chatInput.value.trim(), + }); + + //wait for a bit before clearing the input + setTimeout(() => { + chatInput.value = ""; + // chatInput.blur(); + // container.style.backgroundColor = "rgba(0,0,0,0)"; + // chatInput.style.display = "none"; + // if (globalThis.ovoMultiplayerChatStateMap) { + // enableClick(globalThis.ovoMultiplayerChatStateMap); + // globalThis.ovoMultiplayerChatStateMap = null; + // } + }, 100); + } + if (e.key === "Escape") { + chatInput.blur(); + container.style.backgroundColor = "rgba(0,0,0,0)"; + chatInput.style.display = "none"; + if (globalThis.ovoMultiplayerChatStateMap) { + enableClick(globalThis.ovoMultiplayerChatStateMap); + globalThis.ovoMultiplayerChatStateMap = null; + } + } + + e.stopPropagation(); + }; + chatTab.appendChild(chatInput); + + //show user list in a read only text area + let userList = document.createElement("div"); + userList.id = "ovo-multiplayer-user-list"; + //apply common style + userList.classList.add("ovo-multiplayer-text-box"); + userList.style.border = "none"; + userList.style.padding = "6px"; + userList.style.bottom = "50px"; + userList.style.color = "black"; + userList.style.left = "0"; + userList.style.width = "388px"; + userList.style.height = "252px"; + userList.style.resize = "none"; + userList.style.display = "block"; + userList.style.textShadow = "0 0 5px white"; + userList.style.overflow = "auto scroll"; + userList.style.textAlign = "left"; + + userList.addEventListener("wheel", (e) => { + e.stopImmediatePropagation(); + }); + userListTab.appendChild(userList); + + //show user list in a read only text area + let settings = document.createElement("div"); + settings.id = "ovo-multiplayer-settings"; + //apply common style + settings.classList.add("ovo-multiplayer-text-box"); + settings.style.border = "none"; + settings.style.padding = "6px"; + settings.style.bottom = "50px"; + settings.style.color = "black"; + settings.style.left = "0"; + settings.style.width = "388px"; + settings.style.height = "252px"; + settings.style.resize = "none"; + settings.style.display = "block"; + settings.style.textShadow = "0 0 5px white"; + settings.style.overflow = "auto scroll"; + settings.style.textAlign = "left"; + settings.innerHTML = "No banned users (yet)."; + + settings.addEventListener("wheel", (e) => { + e.stopImmediatePropagation(); + }); + settingsTab.appendChild(settings); + + //show user list in a read only text area + let tips = document.createElement("div"); + tips.id = "ovo-multiplayer-tips"; + //apply common style + tips.classList.add("ovo-multiplayer-text-box"); + tips.style.border = "none"; + tips.style.padding = "6px"; + tips.style.bottom = "50px"; + tips.style.color = "black"; + tips.style.left = "0"; + tips.style.width = "388px"; + tips.style.height = "252px"; + tips.style.resize = "none"; + tips.style.display = "block"; + tips.style.textShadow = "0 0 5px white"; + tips.style.overflow = "auto scroll"; + tips.style.textAlign = "left"; + // display tips + tips.innerHTML = ` +

Info & Tips

+
+

+ - You can press "Enter" to open the chat, and "Escape" to close it +

+
+

+ - Click the globe icon at the top left of the screen to toggle the multiplayer UI. +

+
+

+ - You can change your username in a room in the user list. +

+
+

+ - If you are the host, you can kick, ban and perma ban players from the game. +

+
+

+ - Perma bans will persist accross rooms, but this is not the case for bans. +

+
+

+ - If someone is spamming the chat, you can mute them from the user list. +

+ `; + + tips.addEventListener("wheel", (e) => { + e.stopImmediatePropagation(); + }); + tipsTab.appendChild(tips); + + let chatButton = document.createElement("button"); + chatButton.innerText = "Open Chat"; + //apply common style + chatButton.classList.add("ovo-multiplayer-button"); + let toggleChatBox = () => { + //do nothing if not connected to room + if (!this.connectedToRoom) return; + + // if (chatInput.value) { + // this.sendChat({ + // username: this.username, + // message: chatInput.value, + // }); + + // //wait for a bit before clearing the input + // setTimeout(() => { + // chatInput.value = ""; + // chatInput.blur(); + // container.style.backgroundColor = "rgba(0,0,0,0)"; + // chatInput.style.display = "none"; + // if (globalThis.ovoMultiplayerChatStateMap) { + // enableClick(globalThis.ovoMultiplayerChatStateMap); + // globalThis.ovoMultiplayerChatStateMap = null; + // } + // }, 100); + // } + + if (chatInput.style.display === "none") { + selectTab(0); + chatInput.style.display = "block"; + container.style.backgroundColor = "rgba(0,0,0,0.5)"; + globalThis.ovoMultiplayerChatStateMap = disableClick(); + setTimeout(() => { + chatInput.focus(); + }, 100); + } else { + chatInput.style.display = "none"; + chatInput.blur(); + container.style.backgroundColor = "rgba(0,0,0,0)"; + if (globalThis.ovoMultiplayerChatStateMap) { + enableClick(globalThis.ovoMultiplayerChatStateMap); + globalThis.ovoMultiplayerChatStateMap = null; + } + } + }; + chatButton.onclick = () => { + toggleChatBox(); + //remove focus from button + chatButton.blur(); + }; + // stop immediate propagation + chatButton.addEventListener("click", (e) => { + e.stopImmediatePropagation(); + }); + // open chatbox on T key only if chatInput is not focused + document.addEventListener("keydown", (e) => { + if (e.key === "Enter" && chatInput.style.display === "none") { + toggleChatBox(); + } + }); + buttonsHolder2.appendChild(chatButton); + + document.body.appendChild(container); + + // a button at the top left corner that toggles the entire UI + let toggleButton = document.createElement("button"); + toggleButton.id = "ovo-multiplayer-toggle-button"; + toggleButton.innerText = ""; + // little globe icon in the button + let globeIcon = document.createElement("img"); + // use web icon from material design icons + globeIcon.src = + "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE2LjM2LDE0QzE2LjQ0LDEzLjM0IDE2LjUsMTIuNjggMTYuNSwxMkMxNi41LDExLjMyIDE2LjQ0LDEwLjY2IDE2LjM2LDEwSDE5Ljc0QzE5LjksMTAuNjQgMjAsMTEuMzEgMjAsMTJDMjAsMTIuNjkgMTkuOSwxMy4zNiAxOS43NCwxNE0xNC41OSwxOS41NkMxNS4xOSwxOC40NSAxNS42NSwxNy4yNSAxNS45NywxNkgxOC45MkMxNy45NiwxNy42NSAxNi40MywxOC45MyAxNC41OSwxOS41Nk0xNC4zNCwxNEg5LjY2QzkuNTYsMTMuMzQgOS41LDEyLjY4IDkuNSwxMkM5LjUsMTEuMzIgOS41NiwxMC42NSA5LjY2LDEwSDE0LjM0QzE0LjQzLDEwLjY1IDE0LjUsMTEuMzIgMTQuNSwxMkMxNC41LDEyLjY4IDE0LjQzLDEzLjM0IDE0LjM0LDE0TTEyLDE5Ljk2QzExLjE3LDE4Ljc2IDEwLjUsMTcuNDMgMTAuMDksMTZIMTMuOTFDMTMuNSwxNy40MyAxMi44MywxOC43NiAxMiwxOS45Nk04LDhINS4wOEM2LjAzLDYuMzQgNy41Nyw1LjA2IDkuNCw0LjQ0QzguOCw1LjU1IDguMzUsNi43NSA4LDhNNS4wOCwxNkg4QzguMzUsMTcuMjUgOC44LDE4LjQ1IDkuNCwxOS41NkM3LjU3LDE4LjkzIDYuMDMsMTcuNjUgNS4wOCwxNk00LjI2LDE0QzQuMSwxMy4zNiA0LDEyLjY5IDQsMTJDNCwxMS4zMSA0LjEsMTAuNjQgNC4yNiwxMEg3LjY0QzcuNTYsMTAuNjYgNy41LDExLjMyIDcuNSwxMkM3LjUsMTIuNjggNy41NiwxMy4zNCA3LjY0LDE0TTEyLDQuMDNDMTIuODMsNS4yMyAxMy41LDYuNTcgMTMuOTEsOEgxMC4wOUMxMC41LDYuNTcgMTEuMTcsNS4yMyAxMiw0LjAzTTE4LjkyLDhIMTUuOTdDMTUuNjUsNi43NSAxNS4xOSw1LjU1IDE0LjU5LDQuNDRDMTYuNDMsNS4wNyAxNy45Niw2LjM0IDE4LjkyLDhNMTIsMkM2LjQ3LDIgMiw2LjUgMiwxMkExMCwxMCAwIDAsMCAxMiwyMkExMCwxMCAwIDAsMCAyMiwxMkExMCwxMCAwIDAsMCAxMiwyWiIgLz48L3N2Zz4="; + globeIcon.classList.add("ovo-multiplayer-toggle-icon"); + toggleButton.appendChild(globeIcon); + //apply common style + toggleButton.classList.add("ovo-multiplayer-toggle-button"); + toggleButton.onclick = async (mute = false) => { + // on first click, prompt for username + if (this.username === "") { + await this.setUsernamePrompt(); + } + container.style.display = + container.style.display === "none" ? "block" : "none"; + if (!mute) { + notify( + "OvO Online", + "OvO Online is now " + + (container.style.display === "none" ? "hidden" : "visible") + ); + } + //remove focus from button when clicked + toggleButton.blur(); + }; + // stop immediate propagation + toggleButton.addEventListener("click", (e) => { + e.stopImmediatePropagation(); + }); + // set containter style to none + container.style.display = "none"; + document.body.appendChild(toggleButton); + }, + + updateUserList(force = false) { + if (!force && this.selectedTab !== 1) { + return; + } + // update user list + const userList = document.getElementById( + "ovo-multiplayer-user-list" + ); + + let createUserElement = () => { + let userElement = document.createElement("div"); + userElement.className = "ovo-multiplayer-user-element"; + let userSubElement = document.createElement("div"); + userSubElement.className = "ovo-multiplayer-user-sub-element"; + let userSubSubElement = document.createElement("div"); + userSubSubElement.className = + "ovo-multiplayer-user-sub-sub-element"; + let userButtonsDiv = document.createElement("div"); + userButtonsDiv.className = "ovo-multiplayer-user-buttons"; + + // add kick, ban and perma ban buttons + let muteButton = document.createElement("button"); + muteButton.className = "ovo-multiplayer-user-button"; + muteButton.innerHTML = "Mute"; + userButtonsDiv.appendChild(muteButton); + + // add kick, ban and perma ban buttons + let kickButton = document.createElement("button"); + kickButton.className = "ovo-multiplayer-user-button"; + kickButton.innerHTML = "Kick"; + kickButton.disabled = true; + userButtonsDiv.appendChild(kickButton); + + let banButton = document.createElement("button"); + banButton.className = "ovo-multiplayer-user-button"; + banButton.innerHTML = "Ban"; + banButton.disabled = true; + userButtonsDiv.appendChild(banButton); + + let permaBanButton = document.createElement("button"); + permaBanButton.className = "ovo-multiplayer-user-button"; + permaBanButton.innerHTML = "Perma Ban"; + permaBanButton.disabled = true; + userButtonsDiv.appendChild(permaBanButton); + + let changeUsername = document.createElement("button"); + changeUsername.className = "ovo-multiplayer-user-button"; + changeUsername.innerHTML = "Change Username"; + changeUsername.disabled = true; + userButtonsDiv.appendChild(changeUsername); + + let userUsername = document.createElement("div"); + userUsername.className = "ovo-multiplayer-user-username"; + let userExtraData = document.createElement("div"); + userExtraData.className = "ovo-multiplayer-user-extra"; + let userIcon = document.createElement("img"); + userIcon.className = "ovo-multiplayer-chat-icon"; + userElement.appendChild(userIcon); + userElement.appendChild(userSubElement); + userSubElement.appendChild(userUsername); + userSubElement.appendChild(userSubSubElement); + userSubSubElement.appendChild(userExtraData); + userSubSubElement.appendChild(userButtonsDiv); + return { + elementDiv: userElement, + usernameDiv: userUsername, + extraDataDiv: userExtraData, + buttonsDiv: userButtonsDiv, + muteButton: muteButton, + kickButton: kickButton, + banButton: banButton, + permaBanButton: permaBanButton, + changeUsername: changeUsername, + iconElement: userIcon, + }; + }; + + let updateUserElementData = ( + userElement, + user, + isMe = false, + connection + ) => { + userElement.usernameDiv.innerHTML = user.username; + userElement.extraDataDiv.innerHTML = + (user.isHost ? "(host) - " : "") + + (user.username === user.initialUsername + ? "" + : "(" + user.initialUsername + ") - ") + + (isMe ? "You - " : (user.ping || "?") + "ms - ") + + user.UID; + userElement.iconElement.src = getSkinIconFromSkinName(user.skin); + if (!isMe) { + userElement.muteButton.innerHTML = this.userIsMuted( + connection.id + ) + ? "Unmute" + : "Mute"; + } + // set buttons + if (this.isHost && !isMe) { + userElement.muteButton.style.display = "block"; + userElement.muteButton.disabled = false; + userElement.kickButton.style.display = "block"; + userElement.kickButton.disabled = false; + userElement.banButton.style.display = "block"; + userElement.banButton.disabled = false; + userElement.permaBanButton.style.display = "block"; + userElement.permaBanButton.disabled = false; + userElement.changeUsername.style.display = "none"; + userElement.changeUsername.disabled = true; + // add click listeners + userElement.muteButton.onclick = () => { + this.toggleMuteUser(connection.id); + }; + userElement.kickButton.onclick = () => { + this.kickUser(user, connection); + }; + userElement.banButton.onclick = () => { + this.banUser(user, connection); + }; + userElement.permaBanButton.onclick = () => { + this.permaBanUser(user, connection); + }; + userElement.changeUsername.onclick = () => { }; + } else if (!isMe) { + // only show mute button + userElement.muteButton.style.display = "block"; + userElement.muteButton.disabled = false; + userElement.kickButton.style.display = "none"; + userElement.kickButton.disabled = true; + userElement.banButton.style.display = "none"; + userElement.banButton.disabled = true; + userElement.permaBanButton.style.display = "none"; + userElement.permaBanButton.disabled = true; + userElement.changeUsername.style.display = "none"; + userElement.changeUsername.disabled = true; + // add click listener + userElement.muteButton.onclick = () => { + this.toggleMuteUser(connection.id); + }; + userElement.kickButton.onclick = () => { }; + userElement.banButton.onclick = () => { }; + userElement.permaBanButton.onclick = () => { }; + userElement.changeUsername.onclick = () => { }; + } else { + // hide all buttons + userElement.muteButton.style.display = "none"; + userElement.muteButton.disabled = true; + userElement.kickButton.style.display = "none"; + userElement.kickButton.disabled = true; + userElement.banButton.style.display = "none"; + userElement.banButton.disabled = true; + userElement.permaBanButton.style.display = "none"; + userElement.permaBanButton.disabled = true; + userElement.changeUsername.style.display = "block"; + userElement.changeUsername.disabled = false; + // add click listeners + userElement.muteButton.onclick = () => { }; + userElement.kickButton.onclick = () => { }; + userElement.banButton.onclick = () => { }; + userElement.permaBanButton.onclick = () => { }; + userElement.changeUsername.onclick = async () => { + let chatInput = document.getElementById( + "ovo-multiplayer-chat-input" + ); + let container = document.getElementById( + "ovo-multiplayer-container" + ); + chatInput.value = ""; + chatInput.blur(); + container.style.backgroundColor = "rgba(0,0,0,0)"; + chatInput.style.display = "none"; + if (globalThis.ovoMultiplayerChatStateMap) { + enableClick(globalThis.ovoMultiplayerChatStateMap); + globalThis.ovoMultiplayerChatStateMap = null; + } + //prompt user for username + await this.setUsernamePrompt(); + //update user element + user.username = this.username; + updateUserElementData(userElement, user, isMe, connection); + + //remove focus from button + userElement.blur(); + }; + } + }; + + if (!this.roomUsers) { + this.roomUsers = [ + { + connection: null, // my user element + userElement: createUserElement(), + }, + ]; + } + // add all connection users if they don't already exist in the list + for (let i = 0; i < this.connections.length; i++) { + let connection = this.connections[i]; + let userExists = false; + for (let j = 0; j < this.roomUsers.length; j++) { + if (this.roomUsers[j].connection === connection) { + userExists = true; + break; + } + } + if (!userExists) { + this.roomUsers.push({ + connection: connection, + userElement: createUserElement(), + }); + } + } + + // remove all users that don't have a connection + for (let i = 0; i < this.roomUsers.length; i++) { + let user = this.roomUsers[i]; + if (user.connection) { + // if connection is in connections list, skip + let connectionExists = false; + for (let j = 0; j < this.connections.length; j++) { + if (this.connections[j] === user.connection) { + connectionExists = true; + break; + } + } + if (!connectionExists) { + // remove userElement from parent + if (user.userElement.elementDiv.parentNode) { + user.userElement.elementDiv.parentNode.removeChild( + user.userElement.elementDiv + ); + } + // remove user from list + this.roomUsers.splice(i, 1); + i--; + } + } + } + + if (this.roomUsers && this.roomUsers.length > 0) { + this.roomUsers.forEach((user) => { + if (user.connection && !user.connection.data) return; // skip if no data + updateUserElementData( + user.userElement, + user.connection ? user.connection.data : this.getMyData(), + !user.connection, + user.connection + ); + // append element if it's not already in the list + if (user.userElement.elementDiv.parentNode !== userList) { + userList.appendChild(user.userElement.elementDiv); + } + }); + } + }, + + updateBanlist() { + // update user list + const settings = document.getElementById( + "ovo-multiplayer-settings" + ); + settings.innerHTML = ""; + + let createUserElement = () => { + let userElement = document.createElement("div"); + userElement.className = "ovo-multiplayer-user-element"; + let userSubElement = document.createElement("div"); + userSubElement.className = "ovo-multiplayer-user-sub-element"; + let userSubSubElement = document.createElement("div"); + userSubSubElement.className = + "ovo-multiplayer-banlist-sub-sub-element"; + let userButtonsDiv = document.createElement("div"); + userButtonsDiv.className = "ovo-multiplayer-banlist-buttons"; + + // add kick, ban and perma ban buttons + let unbanButton = document.createElement("button"); + unbanButton.className = "ovo-multiplayer-user-button"; + unbanButton.innerHTML = "Unban"; + userButtonsDiv.appendChild(unbanButton); + + let userUsername = document.createElement("div"); + userUsername.className = "ovo-multiplayer-user-username"; + let userExtraData = document.createElement("div"); + userExtraData.className = "ovo-multiplayer-user-extra"; + let userIcon = document.createElement("img"); + userIcon.className = "ovo-multiplayer-chat-icon"; + userElement.appendChild(userIcon); + userElement.appendChild(userSubElement); + userSubElement.appendChild(userUsername); + userSubElement.appendChild(userSubSubElement); + userSubSubElement.appendChild(userButtonsDiv); + userSubSubElement.appendChild(userExtraData); + return { + elementDiv: userElement, + usernameDiv: userUsername, + extraDataDiv: userExtraData, + buttonsDiv: userButtonsDiv, + unbanButton: unbanButton, + iconElement: userIcon, + }; + }; + + let updateUserElementData = (userElement, user, type) => { + userElement.usernameDiv.innerText = user.username; + userElement.extraDataDiv.innerText = + (user.username === user.initialUsername + ? "" + : "(" + user.initialUsername + ") - ") + + " Type: " + + (type === "ban" ? "Session Ban" : "Perma Ban"); + userElement.iconElement.src = getSkinIconFromSkinName(user.skin); + userElement.unbanButton.onclick = () => { + this.unbanUser(user); + }; + }; + + let banList = [ + ...this.bannedUsers.map((user) => { + return { + type: "ban", + user: user, + }; + }), + ...this.permaBannedUsers.map((user) => { + return { + type: "permaBan", + user: user, + }; + }), + ]; + + if (banList && banList.length > 0) { + // create elements for each user + banList.forEach((ban) => { + let userElement = createUserElement(); + updateUserElementData(userElement, ban.user, ban.type); + settings.appendChild(userElement.elementDiv); + }); + } else { + settings.innerHTML = "No banned users (yet)."; + } + }, + + toggleMuteUser(UID) { + if (this.mutedUsers.includes(UID)) { + this.mutedUsers.splice(this.mutedUsers.indexOf(UID), 1); + } else { + this.mutedUsers.push(UID); + } + }, + + userIsMuted(UID) { + return this.mutedUsers.includes(UID); + }, + + async kickUser(user, connection, force = false) { + if (!force) { + if ( + await getDialogConfirm({ + text: `Are you sure you want to kick ${user.username}? This will remove them from the room.`, + buttonText: "Yes", + cancelText: "No", + }) + ) { + this.kickUser(user, connection, true); + } + } else { + // force close connection + connection.conn.close(); + } + }, + + async banUser(user, connection) { + if ( + !(await getDialogConfirm({ + text: `Are you sure you want to ban ${user.username}? This will ban them from this room.`, + buttonText: "Yes", + cancelText: "No", + })) + ) { + return; + } + // kick user and add it to banned list + this.kickUser(user, connection, true); + this.bannedUsers.push(JSON.parse(JSON.stringify(user))); + this.updateBanlist(); + }, + + async permaBanUser(user, connection) { + if ( + !(await getDialogConfirm({ + text: `Are you sure you want to ban ${user.username}? This will also ban them from all future rooms you create.`, + buttonText: "Yes", + cancelText: "No", + })) + ) { + return; + } + // kick user and add it to banned list + this.kickUser(user, connection, true); + this.permaBannedUsers.push(JSON.parse(JSON.stringify(user))); + this.updateBanlist(); + this.savePreferences(); + }, + + async unbanUser(user) { + if ( + !(await getDialogConfirm({ + text: `Are you sure you want to unban ${user.username}?`, + buttonText: "Yes", + cancelText: "No", + })) + ) { + return; + } + // remove user from banned list + this.bannedUsers = this.bannedUsers.filter((bannedUser) => { + return bannedUser.UID !== user.UID; + }); + this.permaBannedUsers = this.permaBannedUsers.filter( + (bannedUser) => { + return bannedUser.UID !== user.UID; + } + ); + this.updateBanlist(); + this.savePreferences(); + }, + + getRoomCode() { + let roomCode; + if (!this.connectedToRoom) return; + if (this.isHost) { + roomCode = this.peer.id; + } else { + roomCode = this.conn.peer; + } + let base64RoomCode = uuidToBase64(roomCode); + if (base64ToUuid(base64RoomCode) !== roomCode) { + return roomCode; + } else { + return base64RoomCode; + } + }, + + copyRoomCode() { + let toCopy = this.getRoomCode(); + if ( + WebSdkWrapper.currentSdk && + WebSdkWrapper.currentSdk.name === "CrazyGames" + ) { + toCopy = WebSdkWrapper.currentSdk.sdk.inviteLink({ + roomCode: toCopy, + }); + } + if (toCopy) { + let textArea = document.createElement("textarea"); + textArea.value = toCopy; + document.body.appendChild(textArea); + textArea.select(); + document.execCommand("copy"); + textArea.remove(); + notify("Room code copied to clipboard"); + } + }, + + tick() { + if (!this.initialised) return; + let player = getPlayer(); + if (player && getFlag()) { + if (!this.usernameInsts) { + this.usernameInsts = this.createUsernameInstances( + player.layer, + player.x, + player.y, + this.username + ); + } + + this.updateUsernamePosition( + this.usernameInsts, + player.x - 100, + player.y - 55, + this.username + ); + } + + if (this.connectedToRoom && this.sendPlayerData) { + this.sendPlayerData = false; + this.destroyNonPlayerGhosts(); + this.connections.forEach((connection) => { + if (!connection.data) return; + if (!connection.player) { + connection.player = this.createGhostPlayer(connection.data); + } else if (connection.data.layout !== getCurLayout()) { + //destroy player + this.destroyGhostPlayer(connection.player); + connection.player = null; + } else { + this.loadPlayerData(connection.player, connection.data); + } + }); + if (this.isHost) { + let otherData = {}; + this.connections.forEach((connection) => { + otherData[connection.id] = connection.data; + }); + //add my data with my id to other data + otherData[this.peer.id] = this.getMyData(); + + //send all player data you received + this.connections.forEach((connection) => { + connection.conn.send({ + type: DATA_TYPES.HOST_DATA, + payload: otherData, + }); + }); + } else { + //send only your player data + this.conn.send({ + type: DATA_TYPES.PLAYER_DATA, + payload: this.getMyData(), + }); + } + } + }, + + updateUsernamePosition(usernames, x, y, username) { + usernames[0].x = x - 2; + usernames[0].y = y; + usernames[0].text = username; + usernames[0].updateFont(); + usernames[0].set_bbox_changed(); + usernames[1].x = x + 2; + usernames[1].y = y; + usernames[1].text = username; + usernames[1].updateFont(); + usernames[1].set_bbox_changed(); + usernames[2].x = x; + usernames[2].y = y - 2; + usernames[2].text = username; + usernames[2].updateFont(); + usernames[2].set_bbox_changed(); + usernames[3].x = x; + usernames[3].y = y + 2; + usernames[3].text = username; + usernames[3].updateFont(); + usernames[3].set_bbox_changed(); + usernames[4].x = x; + usernames[4].y = y; + usernames[4].text = username; + usernames[4].updateFont(); + usernames[4].set_bbox_changed(); + }, + + updateDomContainers() { + this.updateChatBox(); + if (this.connectedToRoom) { + this.connectedContainer.style.display = "block"; + this.connectContainer.style.display = "none"; + } else { + this.connectedContainer.style.display = "none"; + this.connectContainer.style.display = "block"; + } + }, + + async setUsernamePrompt() { + let defaultName = + this.username === "" ? "OvO Player" : this.username; + let isDone = false; + while (!isDone) { + let username = await getDialogPrompt({ + text: "Enter your username", + value: defaultName, + }); + // if username is empty, or if username has profanity, show error message and try again + if (username === "") { + await getDialogAlert({ + type: "error", + text: "Username cannot be empty", + }); + } else if (username === null) { + //if user clicks cancel, check if this.username is empty + if (this.username === "") { + await getDialogAlert({ + type: "error", + text: "Username cannot be empty", + }); + } else { + isDone = true; + } + } else if (username.length > 20) { + defaultName = username; + await getDialogAlert({ + type: "error", + text: "Username cannot be longer than 20 characters", + }); + } else if (username.toLowerCase() !== removeProfanity(username)) { + defaultName = username; + await getDialogAlert({ + type: "error", + text: "Username cannot contain profanity", + }); + } else { + isDone = true; + this.setUsername(username); + } + } + }, + + setUsername(name) { + this.username = name; + if (this.usernameInsts) + this.usernameInsts.forEach((inst) => { + inst.text = name; + inst.updateFont(); + }); + this.updateDomUsername(); + this.savePreferences(); + // save username to local storage + }, + + sendChat(data) { + if (!this.connectedToRoom || data.message.trim() === "") return; + this.pushChat( + { + username: this.username, + initialUsername: this.initialUsername, + message: data.message, + timestamp: Date.now(), + id: this.peer.id, + skin: globalType.instances[0].instance_vars[8], + }, + true + ); + }, + + updateChatBox() { + let chatBox = document.getElementById("ovo-multiplayer-chat-box"); + chatBox.innerHTML = ""; + let createChatElement = (chat) => { + let chatElement = document.createElement("div"); + chatElement.className = "ovo-multiplayer-chat-element"; + let chatSubElement = document.createElement("div"); + chatSubElement.className = "ovo-multiplayer-chat-sub-element"; + let chatSubSubElement = document.createElement("div"); + chatSubSubElement.className = + "ovo-multiplayer-chat-sub-sub-element"; + let chatText = document.createElement("div"); + chatText.className = "ovo-multiplayer-chat-text"; + chatText.innerHTML = chat.message; + let chatUsername = document.createElement("div"); + chatUsername.className = "ovo-multiplayer-chat-username"; + chatUsername.innerText = chat.username; + let chatTimestamp = document.createElement("div"); + chatTimestamp.className = "ovo-multiplayer-chat-timestamp"; + chatTimestamp.innerText = + (chat.username === chat.initialUsername + ? "" + : "(" + chat.initialUsername + ") - ") + + new Date(chat.timestamp).toLocaleTimeString(); + let chatIcon = document.createElement("img"); + chatIcon.className = "ovo-multiplayer-chat-icon"; + chatIcon.src = getSkinIconFromSkinName(chat.skin); + chatElement.appendChild(chatIcon); + chatElement.appendChild(chatSubElement); + chatSubElement.appendChild(chatSubSubElement); + chatSubElement.appendChild(chatText); + chatSubSubElement.appendChild(chatUsername); + chatSubSubElement.appendChild(chatTimestamp); + return chatElement; + }; + if (this.chat && this.chat.length > 0) { + this.chat.forEach((chat) => { + chatBox.appendChild(createChatElement(chat)); + }); + } else { + chatBox.innerHTML = "No chat messages yet..."; + } + //scroll to bottom + chatBox.scrollTop = chatBox.scrollHeight; + }, + + pushChat(data, transmit = false) { + data.message = data.message.toString().replace(/<[^>]*>/g, ""); + data.message = removeProfanity(data.message); + let chatData = { + username: data.username, + initialUsername: data.initialUsername, + message: data.message, + id: data.id, + skin: data.skin, + timestamp: data.timestamp, + }; + // forward chat if host + if (this.isHost) { + if (!this.userIsMuted(data.id)) { + this.chat.push(chatData); + this.updateChatBox(); + this.maybeNotifyChat(data); + } + this.connections.forEach((connection) => { + connection.conn.send({ + type: DATA_TYPES.CHAT, + payload: data, + }); + }); + } else if (transmit) { + this.conn.send({ + type: DATA_TYPES.CHAT, + payload: data, + }); + } else { + // if user is muted, ignore + if (this.userIsMuted(data.id)) return; + this.chat.push(chatData); + this.updateChatBox(); + this.maybeNotifyChat(data); + } + }, + + maybeNotifyChat(data) { + if (data.id === this.peer.id) return; + //Only notify if "ovo-multiplayer-container" is display none + if ( + (this.notifyWhenChatIsHidden && + document.getElementById("ovo-multiplayer-container").style + .display === "none") || + this.selectedTab !== 0 + ) { + notify( + data.username + " sent:", + data.message, + getSkinIconFromSkinName(data.skin) + ); + } + }, + + notifyPlayerUpdate(name, skin, hasJoined = true) { + let skinImage = getSkinIconFromSkinName(skin); + if (hasJoined) { + notify(name, "has joined the room", skinImage); + } else { + notify(name, "has left the room", skinImage); + } + }, + + createRoom() { + this.connectedToRoom = true; + this.isHost = true; + this.chat = []; + this.bannedUsers = []; + this.mutedUsers = []; + this.updateBanlist(); + // this.peer = new Peer(undefined, { + // host: "localhost", + // port: 9000, + // path: "/", + // secure: false, + // debug: 3, + // }); + this.peer = new Peer(); + this.peer.on("open", (id) => { + // Show the ID on screen and allow players to copy it; + this.copyRoomCode(); + notify("Room created", "Room ID: " + this.getRoomCode()); + this.updateDomContainers(); + this.updateQueryStrings(); + this.initialUsername = this.username; + this.updateUserList(true); + }); + this.peer.on("connection", (conn) => { + let myConnObject = { + conn, + id: conn.peer, + data: null, + player: null, + }; + this.connections.push(myConnObject); + let isBannedUser = false; + conn.on("open", () => { + // Receive messages + conn.on("data", (data) => { + if (data.type === DATA_TYPES.CHAT) { + this.pushChat(data.payload, true); + } else if (data.type === DATA_TYPES.PLAYER_DATA) { + if (myConnObject.data === null) { + //check if user can join + if (!this.canUserJoin(data.payload)) { + isBannedUser = true; + conn.close(); + return; + } + + this.notifyPlayerUpdate( + data.payload.username, + data.payload.skin, + true + ); + // let every one else know they joined + this.connections.forEach((connection) => { + if (connection.conn !== conn) { + connection.conn.send({ + type: DATA_TYPES.PLAYER_JOIN, + payload: { + username: data.payload.username, + skin: data.payload.skin, + }, + }); + } + }); + } + myConnObject.data = data.payload; + if (data.payload && data.payload.timestamp) { + myConnObject.data.ping = + Date.now() - data.payload.timestamp; + } + this.updateUserList(); + // create/delete/update player + } + }); + let closeConn = () => { + if (!isBannedUser) { + this.notifyPlayerUpdate( + myConnObject?.data?.username ?? "Player", + myConnObject?.data?.skin ?? "default", + false + ); + } + this.destroyGhostPlayer(myConnObject.player); + //remove connection from list + this.connections.splice( + this.connections.findIndex((x) => x.id === conn.peer), + 1 + ); + this.updateUserList(); + // let other connections know this one dropped + this.connections.forEach((connection) => { + connection.conn.send({ + type: DATA_TYPES.PLAYER_LEAVE, + payload: { + id: conn.peer, + }, + }); + }); + }; + conn.on("close", closeConn); + conn.on("error", closeConn); + }); + }); + }, + + joinRoom(roomId) { + // check if roomid is url using regex + if ( + roomId.match( + /[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/ + ) + ) { + roomId = getQueryString(roomId).roomCode; + } + if (!roomId) return; + + var initRoomId = roomId; + + if (roomId.length <= 22) { + roomId = base64ToUuid(roomId); + } + + this.isHost = false; + // this.peer = new Peer(undefined, { + // host: "localhost", + // port: 9000, + // path: "/", + // secure: false, + // debug: 3, + // }); + this.peer = new Peer(); + this.peer.on("open", (id) => { + this.conn = this.peer.connect(roomId); + + this.conn.on("open", () => { + this.initialUsername = this.username; + this.connectedToRoom = true; + let firstData = true; + this.updateQueryStrings(); + this.updateDomContainers(); + notify("Joined room", "Connected to room " + roomId); + // Receive messages + this.conn.on("data", (data) => { + if (data.type === DATA_TYPES.HOST_DATA) { + //update other players besides me + let otherData = data.payload; + Object.keys(otherData).forEach((id) => { + if (id === this.peer.id) return; + let connection = this.connections.find( + (connection) => connection.id === id + ); + let playerData = otherData[id]; + playerData.ping = Date.now() - playerData.timestamp; + + // if (connection.data === null) { + // // user first joined, notify + // notify("Player joined", `${playerData.username} joined`); + // } + + if (!connection) { + connection = { + id: id, + data: playerData, + player: null, + }; + this.connections.push(connection); + } else { + connection.data = playerData; + } + //create player if needed + if (!connection.player) { + connection.player = this.createGhostPlayer(playerData); + } else if (playerData.layout !== getCurLayout()) { + //destroy player + this.destroyGhostPlayer(connection.player); + connection.player = null; + } else { + this.loadPlayerData(connection.player, playerData); + } + }); + this.updateUserList(); + if (firstData) { + firstData = false; + if (!this.canIJoinHost()) { + this.conn.close(); + } + } + } else if (data.type === DATA_TYPES.CHAT) { + console.log(data); + this.pushChat(data.payload, false); + } else if (data.type === DATA_TYPES.PLAYER_JOIN) { + this.notifyPlayerUpdate( + data.payload.username, + data.payload.skin, + true + ); + } else if (data.type === DATA_TYPES.PLAYER_LEAVE) { + let connectionId = this.connections.findIndex( + (connection) => connection.id === data.payload.id + ); + let connection = this.connections[connectionId]; + + this.notifyPlayerUpdate( + connection.data.username, + connection.data.skin, + false + ); + this.destroyGhostPlayer(connection.player); + // remove connection from list + this.connections.splice(connectionId, 1); + this.updateUserList(); + } + }); + let closeConn = () => { + if (!this.connectedToRoom) return; + notify( + "Connection lost", + "Host left the room, or you left the room" + ); + this.leaveRoom(); + }; + this.conn.on("close", closeConn); + }); + }); + + this.peer.on("error", (err) => { + notify( + "Connection error", + "Could not connect to room " + initRoomId + ); + this.leaveRoom(); + }); + }, + + leaveRoom() { + if (!this.connectedToRoom) return; + this.isHost = false; + this.connectedToRoom = false; + this.updateQueryStrings(); + this.peer.destroy(); + this.peer = null; + this.conn = null; + this.connections.forEach((connection) => { + this.destroyGhostPlayer(connection.player); + }); + this.connections = []; + this.updateDomContainers(); + this.updateUserList(); + notify("Left room"); + if ( + this.initialUsername && + this.initialUsername !== this.username + ) { + this.username = this.initialUsername; + } + }, + + updateQueryStrings() { + let queryStrings = {}; + if (this.connectedToRoom) { + queryStrings.roomCode = this.getRoomCode(); + } + if ( + WebSdkWrapper.currentSdk && + WebSdkWrapper.currentSdk.name === "CrazyGames" + ) { + WebSdkWrapper.currentSdk.sdk.inviteLink(queryStrings); + } else { + setQueryString(queryStrings); + } + }, + + getMyData() { + let player = getPlayer(); + if (!player) + return { + layout: getCurLayout(), + skin: globalType.instances[0].instance_vars[8], + username: this.username, + UID: myUniqueHash, + initialUsername: this.initialUsername, + isHost: this.isHost, + timestamp: Date.now(), + version: VERSION, + }; + return { + x: player.x, + y: player.y, + angle: player.angle, + state: player.instance_vars[0], + layout: getCurLayout(), + layer: player.layer.name, + username: this.username, + UID: myUniqueHash, + initialUsername: this.initialUsername, + isHost: this.isHost, + timestamp: Date.now(), + version: VERSION, + side: player.instance_vars[2], + skin: player.instance_vars[12], + frame: player.cur_frame, + }; + }, + + destroyGhostPlayer(player) { + if (!player) return; + if (player.instance) { + player.instance.siblings.forEach((sibling) => { + cr.behaviors.SkymenSkin.prototype.acts.UseDefault.call( + sibling.behaviorSkins[0] + ); + }); + runtime.DestroyInstance(player.instance); + } + if (player.usernames) + player.usernames.forEach((username) => { + runtime.DestroyInstance(username); + }); + }, + + destroyNonPlayerGhosts() { + if (!getFlag()) return; + let ghosts = playerType.instances.filter( + (x) => x.instance_vars[16] && x.instance_vars[17] !== "" + ); + if (!ghosts) return; + ghosts.forEach((ghost) => { + runtime.DestroyInstance(ghost); + ghost.siblings.forEach((sibling) => { + cr.behaviors.SkymenSkin.prototype.acts.UseDefault.call( + sibling.behaviorSkins[0] + ); + }); + }); + let ghostArr = ghostArrType.instances[0]; + ghostArr.setSize(0, ghostArr.cy, ghostArr.cz); + runtime.eventsheets.Player.events[2].subevents[2].subevents[1].actions.length = 0; + }, + + createGhostPlayer(data) { + if (!data || data.layout !== getCurLayout()) return null; + let layer = runtime.running_layout.layers.find( + (layer) => layer.name === data.layer + ); + if (!layer) return null; + this.destroyNonPlayerGhosts(); + let instance = runtime.createInstance( + playerType, + layer, + data.x, + data.y + ); + instance.visible = false; + instance.instance_vars[16] = 1; + instance.instance_vars[17] = ""; + instance.instance_vars[12] = data.skin; + setTimeout(() => { + if (!getFlag()) return; + instance.siblings.forEach((sibling) => { + if (data.skin === "") { + cr.behaviors.SkymenSkin.prototype.acts.UseDefault.call( + sibling.behaviorSkins[0] + ); + } else { + cr.behaviors.SkymenSkin.prototype.acts.SetSkin.call( + sibling.behaviorSkins[0], + data.skin + ); + } + }); + }, 200); + + let usernames = this.createUsernameInstances( + layer, + data.x - 100, + data.y - 55, + data.username + ); + return { + instance, + usernames, + }; + }, + + createUsernameInstances(layer, x, y, username) { + let ret = []; + + let inst = runtime.createInstance(textType, layer, x - 2, y); + inst.text = username; + inst.height = 25; + inst.width = 200; + inst.facename = "Retron2000"; + inst.halign = 50; + inst.valign = 50; + inst.color = "rgb(0,0,0)"; + inst.fontstyle = "bold"; + inst.updateFont(); + inst.set_bbox_changed(); + ret.push(inst); + + inst = runtime.createInstance(textType, layer, x + 2, y); + inst.text = username; + inst.height = 25; + inst.width = 200; + inst.facename = "Retron2000"; + inst.halign = 50; + inst.valign = 50; + inst.color = "rgb(0,0,0)"; + inst.fontstyle = "bold"; + inst.updateFont(); + inst.set_bbox_changed(); + ret.push(inst); + + inst = runtime.createInstance(textType, layer, x, y - 2); + inst.text = username; + inst.height = 25; + inst.width = 200; + inst.facename = "Retron2000"; + inst.halign = 50; + inst.valign = 50; + inst.color = "rgb(0,0,0)"; + inst.fontstyle = "bold"; + inst.updateFont(); + inst.set_bbox_changed(); + ret.push(inst); + + inst = runtime.createInstance(textType, layer, x, y + 2); + inst.text = username; + inst.height = 25; + inst.width = 200; + inst.facename = "Retron2000"; + inst.halign = 50; + inst.valign = 50; + inst.color = "rgb(0,0,0)"; + inst.fontstyle = "bold"; + inst.updateFont(); + inst.set_bbox_changed(); + ret.push(inst); + + inst = runtime.createInstance(textType, layer, x, y); + inst.text = username; + inst.height = 25; + inst.width = 200; + inst.facename = "Retron2000"; + inst.halign = 50; + inst.valign = 50; + inst.color = "rgb(255,255,255)"; + inst.fontstyle = ""; + inst.updateFont(); + inst.set_bbox_changed(); + ret.push(inst); + + return ret; + }, + + loadPlayerData(player, data) { + if (data.layout !== getCurLayout()) return; + this.updateUsernamePosition( + player.usernames, + data.x - 100, + data.y - 55, + data.username + ); + player.instance.x = data.x; + player.instance.y = data.y; + player.instance.angle = data.angle; + player.instance.instance_vars[0] = data.state; + player.instance.instance_vars[2] = data.side; + if (data.side > 0) { + c2_callFunction("Player > Unmirror", [player.instance.uid]); + } + if (data.side < 0) { + c2_callFunction("Player > Mirror", [player.instance.uid]); + } + cr.plugins_.Sprite.prototype.acts.SetAnimFrame.call( + player.instance, + data.frame + ); + player.instance.y = data.y; + player.instance.set_bbox_changed(); + }, + }; + + // Override layout code to instantiate distant players if any + Object.values(runtime.layouts).forEach((layout) => { + let oldFn = layout.startRunning.bind(layout); + layout.startRunning = () => { + oldFn(); + curLayout = layout.name; + multiplayer.startOfLayout(); + if (globalThis.WebSdkWrapper && getFlag()) { + globalThis.WebSdkWrapper.interstitial(); + } + spawnTextOnTitleLogo(); + }; + }); + + addScript( + "//unpkg.com/peerjs@1.3.2/dist/peerjs.min.js", + "peerJs", + () => { + new CBFjs().get(function (hash, components) { + console.log(hash); + myUniqueHash = hash; + multiplayer.init(); + }); + } + ); + })(); + }, + }; + + if (globalThis.cr_getC2Runtime) { + let runtime = cr_getC2Runtime(); + if (runtime && runtime.loadingprogress) { + globalThis.ovoMultiplayerClient.initMod(); + } + } +})(); \ No newline at end of file diff --git a/games/ovo/modloader/mods/v1/oldflymod.js b/games/ovo/modloader/mods/v1/oldflymod.js new file mode 100644 index 00000000..9452373b --- /dev/null +++ b/games/ovo/modloader/mods/v1/oldflymod.js @@ -0,0 +1,80 @@ +(function () { + let old = globalThis.sdk_runtime; + c2_callFunction("execCode", ["globalThis.sdk_runtime = this.runtime"]); + let runtime = globalThis.sdk_runtime; + globalThis.sdk_runtime = old; + + let stored = [1500, true]; + let go = false; + let held = [false, false, false, false]; + let xSpeed = 10; + let ySpeed = 10; + let getPlayer = () => { + return runtime.types_by_index + .filter( + (x) => + !!x.animations && + x.animations[0].frames[0].texture_file.includes("collider") + )[0] + .instances.filter( + (x) => x.instance_vars[17] === "" && x.behavior_insts[0].enabled + )[0]; + } + let ba = { + tick() { + try { + let player = getPlayer(); + if (go) { + moveX = held[2] - held[0]; + moveY = held[3] - held[1]; + player.behavior_insts[0].dx = 0; + player.behavior_insts[0].dy = 0; + player.behavior_insts[0].g = 0; + player.collisionsEnabled = false + player.x += moveX * xSpeed; + player.y += moveY * ySpeed; + } else { } + } catch (err) { } + }, + }; + + g = globalThis.FlyMod = { + xSpeed: function (a) { + xSpeed = a; + }, + + ySpeed: function (a) { + ySpeed = a; + }, + } + + runtime.tickMe(ba); + + + document.addEventListener("keydown", function (event) { + if (event.keyCode >= 37 && event.keyCode <= 40) { + held[event.keyCode - 37] = true; + } + if (event.keyCode == 16) { + let player = getPlayer(); + if (player) { + stored = [player.behavior_insts[0].g, player.collisionsEnabled]; + } + go = true; + } + }); + + document.addEventListener("keyup", function (event) { + if (event.keyCode >= 37 && event.keyCode <= 40) { + held[event.keyCode - 37] = false; + } + if (event.keyCode == 16) { + go = false; + let player = getPlayer(); + if (player) { + player.behavior_insts[0].g = stored[0]; + player.collisionsEnabled = stored[1]; + } + } + }); +})(); \ No newline at end of file diff --git a/games/ovo/modloader/mods/v1/picture.js b/games/ovo/modloader/mods/v1/picture.js new file mode 100644 index 00000000..f082ac9c --- /dev/null +++ b/games/ovo/modloader/mods/v1/picture.js @@ -0,0 +1,77 @@ +(function () { + const imagePosition = { + x: 0, + y: 0 + }; + const pixelSize = 5; + const collisionsEnabled = false; + const advancedCollisions = true; + const enableAlpha = true; + const layerName = "Layer 0"; + + const inputElement = document.createElement("input"); + inputElement.type = "file"; + inputElement.accept = "image/webp, image/png, image/jpeg"; + inputElement.addEventListener("change", handleFiles, false); + + function handleFiles() { + const fileList = this.files; + if (fileList.length > 0) { + const file = fileList[0]; + const reader = new FileReader(); + reader.onload = function (e) { + const img = new Image(); + img.onload = function () { + const canvas = document.createElement("canvas"); + canvas.width = img.width; + canvas.height = img.height; + const ctx = canvas.getContext("2d"); + + const newWidth = 120; + const newHeight = Math.round(img.height * 120 / img.width); + ctx.drawImage(img, 0, 0, newWidth, newHeight); + const data = ctx.getImageData(0, 0, newWidth, newHeight).data; + + const layer = ovoModAPI.game.getLayer(layerName); + + if (!enableAlpha) { + const solidType = cr_getC2Runtime().types_by_index.find(x => x.texture_file && x.texture_file.includes("solid2")); + const whiteSolid = cr_getC2Runtime().createInstance(solidType, layer, 0, 0); + ovoModAPI.game.resizeInstance(whiteSolid, newWidth * pixelSize + imagePosition.x, newHeight * pixelSize + imagePosition.y); + whiteSolid.collisionsEnabled = collisionsEnabled; + } + + for (let x = 0; x < newWidth; x++) { + for (let y = 0; y < newHeight; y++) { + const position = (y * newWidth + x) * 4; + const average = (data[position] + data[position + 1] + data[position + 2]) / 3; + + if (average === 255) continue; + + const inst = ovoModAPI.game.createSolid(x * pixelSize + imagePosition.x, y * pixelSize + imagePosition.y, pixelSize, pixelSize, 0, layer); + + if (advancedCollisions && average < 127) { + inst.collisionsEnabled = true; + } else { + inst.collisionsEnabled = false; + } + + inst.opacity = 1 - average / 255; + } + } + }; + img.src = e.target.result; + }; + reader.readAsDataURL(file); + } + } + + const button = document.createElement("button"); + button.innerText = "Open file picker"; + button.style.position = "absolute"; + button.style.top = "0"; + button.style.left = "0"; + button.style.zIndex = "99999"; + button.addEventListener("click", () => inputElement.click()); + document.body.appendChild(button); +})(); \ No newline at end of file diff --git a/games/ovo/modloader/mods/v1/randomkeys.js b/games/ovo/modloader/mods/v1/randomkeys.js new file mode 100644 index 00000000..1f3b40cb --- /dev/null +++ b/games/ovo/modloader/mods/v1/randomkeys.js @@ -0,0 +1,25 @@ +(function () { + let old = globalThis.sdk_runtime; + c2_callFunction("execCode", ["globalThis.sdk_runtime = this.runtime"]); + let runtime = globalThis.sdk_runtime; + globalThis.sdk_runtime = old; + + let notify = (title, text, image = "./speedrunner.png") => { + cr.plugins_.sirg_notifications.prototype.acts.AddSimpleNotification.call( + runtime.types_by_index.find( + (type) => type.plugin instanceof cr.plugins_.sirg_notifications + ).instances[0], + title, + text, + image + ); + }; + + let randomKeys = { + init() { + this.availibleKeys = [] + + globalThis.ovoRandomKeys = this; + } + } +})(); \ No newline at end of file diff --git a/games/ovo/modloader/mods/v1/randomlevel.js b/games/ovo/modloader/mods/v1/randomlevel.js new file mode 100644 index 00000000..01683ae7 --- /dev/null +++ b/games/ovo/modloader/mods/v1/randomlevel.js @@ -0,0 +1,51 @@ +(function () { + let old = globalThis.sdk_runtime; + c2_callFunction("execCode", ["globalThis.sdk_runtime = this.runtime"]); + let runtime = globalThis.sdk_runtime; + globalThis.sdk_runtime = old; + + let notify = (title, text, image = "./speedrunner.png") => { + cr.plugins_.sirg_notifications.prototype.acts.AddSimpleNotification.call( + runtime.types_by_index.find( + (type) => type.plugin instanceof cr.plugins_.sirg_notifications + ).instances[0], + title, + text, + image + ); + }; + + let randomlevel = { + init() { + document.addEventListener("keydown", (event) => { + if (event.code === "KeyY") { + if (event.shiftKey) { + this.loadRandomLevel(); + } + } + }); + + this.interval = null; + globalThis.ovoRandomLevel = this; + }, + + loadRandomLevel() { + runtime.changelayout = runtime.layouts[Object.keys(runtime.layouts)[Math.floor(Math.random() * Object.keys(runtime.layouts).length)]] + }, + + startCycle(time) { + if (!this.interval) { + this.interval = setInterval(this.loadRandomLevel, time); + } + }, + + stopCycle() { + if (this.interval) { + clearInterval(this.interval); + this.interval = null; + } + } + } + + randomlevel.init(); +})() \ No newline at end of file diff --git a/games/ovo/modloader/mods/v1/savestate.js b/games/ovo/modloader/mods/v1/savestate.js new file mode 100644 index 00000000..a190cd8b --- /dev/null +++ b/games/ovo/modloader/mods/v1/savestate.js @@ -0,0 +1,252 @@ +(function () { + let old = globalThis.sdk_runtime; + c2_callFunction("execCode", ["globalThis.sdk_runtime = this.runtime"]); + let runtime = globalThis.sdk_runtime; + globalThis.sdk_runtime = old; + targetY = null; + let showPosition = { + tick() { + let playerInstances = runtime.types_by_index + .filter( + (x) => + !!x.animations && + x.animations[0].frames[0].texture_file.includes("collider") + )[0] + .instances.filter( + (x) => x.instance_vars[17] === "" && x.behavior_insts[0].enabled + ); + let player = playerInstances[0]; + try { + document.getElementById("pos").innerHTML = + Math.round(player.x.toString()) + + ", " + + Math.round(player.y.toString()); + } catch (err) { } + }, + }; + + let fly = { + tick() { + let playerInstances = runtime.types_by_index + .filter( + (x) => + !!x.animations && + x.animations[0].frames[0].texture_file.includes("collider") + )[0] + .instances.filter( + (x) => x.instance_vars[17] === "" && x.behavior_insts[0].enabled + ); + let player = playerInstances[0]; + try { + player.y = targetY; + } catch (err) { } + }, + }; + + var b = document.createElement("div"), + c = { + backgroundColor: "white", + border: "solid", + borderColor: "black", + borderWidth: "6px", + fontFamily: "Retron2000", + position: "absolute", + top: "115px", + left: "86px", + padding: "10px", + color: "black", + fontSize: "20pt", + }; + Object.keys(c).forEach(function (a) { + b.style[a] = c[a]; + }); + b.id = "pos"; + const newContent = document.createTextNode("N/A"); + + // add the text node to the newly created div + b.appendChild(newContent); + + document.body.appendChild(b); + + g = globalThis.ovoExplorer = { + init: function () { + runtime.tickMe(showPosition); + }, + + trackOvO: function (a) { + a ? runtime.tickMe(showPosition) : runtime.untickMe(showPosition); + }, + + warp: function (x, y) { + targetY = y; + let playerInstances = runtime.types_by_index + .filter( + (x) => + !!x.animations && + x.animations[0].frames[0].texture_file.includes("collider") + )[0] + .instances.filter( + (x) => x.instance_vars[17] === "" && x.behavior_insts[0].enabled + ); + let player = playerInstances[0]; + player.x = x; + player.y = y; + }, + + levitate: function (a) { + let playerInstances = runtime.types_by_index + .filter( + (x) => + !!x.animations && + x.animations[0].frames[0].texture_file.includes("collider") + )[0] + .instances.filter( + (x) => x.instance_vars[17] === "" && x.behavior_insts[0].enabled + ); + let player = playerInstances[0]; + targetY = player.y; + a ? runtime.tickMe(fly) : runtime.untickMe(fly); + }, + }; + g.init(); +})(); + +(function () { + let old = globalThis.sdk_runtime; + c2_callFunction("execCode", ["globalThis.sdk_runtime = this.runtime"]); + let runtime = globalThis.sdk_runtime; + globalThis.sdk_runtime = old; + + //Get all valid players on the layout + // Ghosts don't count as valid players, and replays don't count either + + let notify = (text, title = "Save state", image = "./speedrunner.png") => { + cr.plugins_.sirg_notifications.prototype.acts.AddSimpleNotification.call( + runtime.types_by_index.find( + (type) => type.plugin instanceof cr.plugins_.sirg_notifications + ).instances[0], + title, + text, + image + ); + }; + + notify( + "Save state with Shift+S, load with S, reset with R, reset sate with Shift+R, skip level with Shift+N, go back in level with Shift+B", + "Mod loaded" + ); + + let getPlayer = () => + runtime.types_by_index + .filter( + (x) => + !!x.animations && + x.animations[0].frames[0].texture_file.includes("collider") + )[0] + .instances.filter( + (x) => x.instance_vars[17] === "" && x.behavior_insts[0].enabled + )[0]; + let getFlag = () => + runtime.types_by_index.find( + (x) => + x.name === "EndFlag" || + (x.plugin instanceof cr.plugins_.Sprite && + x.all_frames && + x.all_frames[0].texture_file.includes("endflag")) + ).instances[0]; + let getCoin = () => + runtime.types_by_index.find( + (x) => + x.name === "Coin" || + (x.plugin instanceof cr.plugins_.Sprite && + x.all_frames && + x.all_frames[0].texture_file.includes("coin")) + ).instances[0]; + let curState = null; + let curLayout = null; + let saveState = () => { + notify("Saved player state", "State Saved"); + let state = runtime.saveInstanceToJSON(getPlayer(), true); + return state; + }; + let loadState = (state) => { + let player = getPlayer(); + player.y -= 10; + player.set_bbox_changed(); + player.behavior_insts[0].lastFloorObject = null; + notify("Loaded player state", "State Loaded"); + runtime.loadInstanceFromJSON(player, state, true); + }; + document.addEventListener("keydown", (event) => { + if (!getFlag()) { + return; + } + if (event.code === "KeyS") { + if (event.shiftKey) { + curState = saveState(); + } else if (curState != null) { + loadState(curState); + } + } + if (event.code === "KeyR" && event.shiftKey) { + curState = null; + runtime.changeLayout = runtime.runningLayout; + notify("State reset by soft level reset (Shift + R)", "State Reset"); + } + if (event.code === "KeyN") { + if (event.shiftKey) { + runtime.changelayout = runtime.layouts["Level " + String(parseInt(runtime.running_layout.name.split(' ')[1]) + 1)] + setTimeout(() => { + notify("Going to next level bypass (Shift + N)", "Next Level"); + }, 300); + } + } + if (event.code === "KeyM") { + if (event.shiftKey) { + let player = getPlayer(); + let flag = getFlag(); + player.x = flag.x; + player.y = flag.y; + player.set_bbox_changed(); + setTimeout(() => { + notify("Going to next level (Shift + M)", "Next Level"); + }, 300); + } + } + if (event.code === "KeyB") { + if (event.shiftKey) { + runtime.changelayout = runtime.layouts["Level " + String(parseInt(runtime.running_layout.name.split(' ')[1]) - 1)] + setTimeout(() => { + notify("Going to next level (Shift + N)", "Next Level"); + }, 300); + } + } + if (event.code === "KeyC") { + if (event.shiftKey) { + let player = getPlayer(); + let flag = getCoin(); + player.x = flag.x; + player.y = flag.y; + player.set_bbox_changed(); + setTimeout(() => { + notify("Going to coin (Shift + C)", "Coin"); + }, 300); + } + } + }); + + Object.values(runtime.layouts).forEach((layout) => { + let oldFn = layout.startRunning.bind(layout); + layout.startRunning = () => { + oldFn(); + if (!getFlag()) { + curLayout = layout.name; + curState = null; + } else { + if (curState && curLayout === layout.name) loadState(curState); + else curState = null; + curLayout = layout.name; + } + }; + }); +})(); \ No newline at end of file diff --git a/games/ovo/modloader/mods/v1/tas.js b/games/ovo/modloader/mods/v1/tas.js new file mode 100644 index 00000000..1536dcb4 --- /dev/null +++ b/games/ovo/modloader/mods/v1/tas.js @@ -0,0 +1,106 @@ +var $jscomp = $jscomp || {}; +$jscomp.scope = {}; +$jscomp.arrayIteratorImpl = function (a) { + var b = 0; + return function () { + return b < a.length ? { + done: !1, + value: a[b++] + } : { + done: !0 + } + } +}; +$jscomp.arrayIterator = function (a) { + return { + next: $jscomp.arrayIteratorImpl(a) + } +}; +$jscomp.makeIterator = function (a) { + var b = "undefined" != typeof Symbol && Symbol.iterator && a[Symbol.iterator]; + return b ? b.call(a) : $jscomp.arrayIterator(a) +}; +$jscomp.arrayFromIterator = function (a) { + for (var b, c = []; !(b = a.next()).done;) c.push(b.value); + return c +}; +$jscomp.arrayFromIterable = function (a) { + return a instanceof Array ? a : $jscomp.arrayFromIterator($jscomp.makeIterator(a)) +}; +$jscomp.ASSUME_ES5 = !1; +$jscomp.ASSUME_NO_NATIVE_MAP = !1; +$jscomp.ASSUME_NO_NATIVE_SET = !1; +$jscomp.defineProperty = $jscomp.ASSUME_ES5 || "function" == typeof Object.defineProperties ? Object.defineProperty : function (a, b, c) { + a != Array.prototype && a != Object.prototype && (a[b] = c.value) +}; +$jscomp.getGlobal = function (a) { + return "undefined" != typeof window && window === a ? a : "undefined" != typeof global && null != global ? global : a +}; +$jscomp.global = $jscomp.getGlobal(this); +$jscomp.SYMBOL_PREFIX = "jscomp_symbol_"; +$jscomp.initSymbol = function () { + $jscomp.initSymbol = function () { }; + $jscomp.global.Symbol || ($jscomp.global.Symbol = $jscomp.Symbol) +}; +$jscomp.Symbol = function () { + var a = 0; + return function (b) { + return $jscomp.SYMBOL_PREFIX + (b || "") + a++ + } +}(); +$jscomp.initSymbolIterator = function () { + $jscomp.initSymbol(); + var a = $jscomp.global.Symbol.iterator; + a || (a = $jscomp.global.Symbol.iterator = $jscomp.global.Symbol("iterator")); + "function" != typeof Array.prototype[a] && $jscomp.defineProperty(Array.prototype, a, { + configurable: !0, + writable: !0, + value: function () { + return $jscomp.iteratorPrototype($jscomp.arrayIteratorImpl(this)) + } + }); + $jscomp.initSymbolIterator = function () { } +}; +$jscomp.initSymbolAsyncIterator = function () { + $jscomp.initSymbol(); + var a = $jscomp.global.Symbol.asyncIterator; + a || (a = $jscomp.global.Symbol.asyncIterator = $jscomp.global.Symbol("asyncIterator")); + $jscomp.initSymbolAsyncIterator = function () { } +}; +$jscomp.iteratorPrototype = function (a) { + $jscomp.initSymbolIterator(); + a = { + next: a + }; + a[$jscomp.global.Symbol.iterator] = function () { + return this + }; + return a +}; +$jscomp.iteratorFromArray = function (a, b) { + $jscomp.initSymbolIterator(); + a instanceof String && (a += ""); + var c = 0, + e = { + next: function () { + if (c < a.length) { + var d = c++; + return { + value: b(d, a[d]), + done: !1 + } + } + e.next = function () { + return { + done: !0, + value: void 0 + } + }; + return e.next() + } + }; + e[Symbol.iterator] = function () { + return e + }; + return e +}; \ No newline at end of file diff --git a/games/ovo/modloader/mods/v2.json b/games/ovo/modloader/mods/v2.json new file mode 100644 index 00000000..7ccf7dd5 --- /dev/null +++ b/games/ovo/modloader/mods/v2.json @@ -0,0 +1,30 @@ +{ + "chaos": { + "name": "Chaos", + "author": "drakeerv", + "description": "CHAOS!", + "advanced": false, + "url": "chaos.js" + }, + "levelselector": { + "name": "Level Selector", + "author": "drakeerv", + "description": "Load any level in the game.", + "advanced": false, + "url": "levelselector.js" + }, + "dark": { + "name": "Dark", + "author": "drakeerv", + "description": "Dark Mode for OvO!", + "advanced": false, + "url": "dark.js" + }, + "resetbutton": { + "name": "Reset Button", + "author": "drakeerv", + "description": "Allows you to reset using R.", + "advanced": false, + "url": "resetbutton.js" + } +} \ No newline at end of file diff --git a/games/ovo/modloader/mods/v2/chaos.js b/games/ovo/modloader/mods/v2/chaos.js new file mode 100644 index 00000000..88a47de1 --- /dev/null +++ b/games/ovo/modloader/mods/v2/chaos.js @@ -0,0 +1,118 @@ +let chaosPresets = { + "original": { + "sin": "random", + "cos": "random", + "tan": "random" + }, + "funky": { + "sin": "sinh", + "cos": "cosh", + "tan": "tanh" + }, + "size": { + "sin": "fib" + } +}; + +(function() { + let chaos = { + init() { + this.random = Math.random; + + this.abs = Math.abs; + this.acos = Math.acos; + this.acosh = Math.acosh; + this.asin = Math.asin; + this.asinh = Math.asinh; + this.atan = Math.atan; + this.atanh = Math.atanh; + this.cbrt = Math.cbrt; + this.ceil = Math.ceil; + this.clz32 = Math.clz32; + this.cos = Math.cos; + this.cosh = Math.cosh; + this.exp = Math.exp; + this.expm1 = Math.expm1; + this.floor = Math.floor; + this.fround = Math.fround; + this.log = Math.log; + this.log1p = Math.log1p; + this.log10 = Math.log10; + this.log2 = Math.log2; + this.sign = Math.sign; + this.sin = Math.sin; + this.sinh = Math.sinh; + this.sqrt = Math.sqrt; + this.tan = Math.tan; + this.tanh = Math.tanh; + this.trunc = Math.trunc; + + this.atan2 = Math.atan2; + this.hypot = Math.hypot; + this.imul = Math.imul; + this.max = Math.max; + this.min = Math.min; + this.pow = Math.pow; + + this.fib = (n) => {for(var r,c=1,f=0;n>=0;)r=c,c+=f,f=r,n--;return f}; + this.carea = (a) => {return a*a*Math.PI}; + this.fix = (n) => {return n<0?Math.ceil(n):n>0?Math.floor(n):n}; + this.cat = (n) => {if(n<=1)return 1;let t=0;for(let a=0;a {(Math.random()-0.5)*2} + + this.start("original"); + globalThis.ovoChaos = this; + }, + + start(presetName="original") { + let preset = chaosPresets[presetName]; + + if (preset) { + for (const [key, value] of Object.entries(preset)) { + eval(`Math.${key} = this.${value}`) + } + } + }, + + stop() { + Math.random = this.random; + + Math.abs = this.abs; + Math.acos = this.acos; + Math.acosh = this.acosh; + Math.asin = this.asin; + Math.asinh = this.asinh; + Math.atan = this.atan; + Math.atanh = this.atanh; + Math.cbrt = this.cbrt; + Math.ceil = this.ceil; + Math.clz32 = this.clz32; + Math.cos = this.cos; + Math.cosh = this.cosh; + Math.exp = this.exp; + Math.expm1 = this.expm1; + Math.floor = this.floor; + Math.fround = this.fround; + Math.log = this.log; + Math.log1p = this.log1p; + Math.log10 = this.log10; + Math.log2 = this.log2; + Math.sign = this.sign; + Math.sin = this.sin; + Math.sinh = this.sinh; + Math.sqrt = this.sqrt; + Math.tan = this.tan; + Math.tanh = this.tanh; + Math.trunc = this.trunc; + + Math.atan2 = this.atan2; + Math.hypot = this.hypot; + Math.imul = this.imul; + Math.max = this.max; + Math.min = this.min; + Math.pow = this.pow; + } + } + + chaos.init(); +})(); \ No newline at end of file diff --git a/games/ovo/modloader/mods/v2/dark.js b/games/ovo/modloader/mods/v2/dark.js new file mode 100644 index 00000000..ffcf80cc --- /dev/null +++ b/games/ovo/modloader/mods/v2/dark.js @@ -0,0 +1,18 @@ +(function() { + // create a div element + const div = document.createElement("div"); + + // set styles for the div element + div.style.width = "100%"; + div.style.height = "100%"; + div.style.position = "fixed"; + div.style.top = "0"; + div.style.left = "0"; + div.style.mixBlendMode = "difference"; + div.style.backgroundColor = "white"; + div.style.zIndex = "99999"; // set an extremely high z-index value + div.style.pointerEvents = "none"; // make the div pass events to the items below it + + // add the div element to the body of the webpage + document.body.appendChild(div); +})(); \ No newline at end of file diff --git a/games/ovo/modloader/mods/v2/levelselector.js b/games/ovo/modloader/mods/v2/levelselector.js new file mode 100644 index 00000000..e22c766e --- /dev/null +++ b/games/ovo/modloader/mods/v2/levelselector.js @@ -0,0 +1,147 @@ +(function() { + let runtime = c3_runtimeInterface._GetLocalRuntime(); + let notify = () => {}; + + let levelSelector = { + init() { + document.addEventListener("keydown", (event) => { + this.keyDown(event) + }); + + this.initDomUI(); + this.levelSelectorWindow = null; + + globalThis.ovoLevelSelector = this; + notify("Mod Loaded", "Level Selector mod loaded"); + }, + + initDomUI() { + let style = document.createElement("style"); + style.type = "text/css"; + style.innerHTML = ` + .ovo-levelselector-button { + background-color: white; + border: solid; + border-color: black; + border-width: 6px; + font-family: "Retron2000"; + position: absolute; + z-index: 3; + cursor: pointer; + } + + .ovo-levelselector-button img { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + } + + .ovo-levelselector-button:hover { + background-color: rgba(200, 200, 200, 1); + } + ` + document.head.appendChild(style); + + let toggleButton = document.createElement("button"); + toggleButton.id = "ovo-levelselector-toggle-button"; + toggleButton.innerText = ""; + + let loadIcon = document.createElement("img"); + loadIcon.src = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyMjVweCIgaGVpZ2h0PSIyMjVweCIgdmlld0JveD0iMCAwIDIyNSAyMjUiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDIyNSAyMjUiIHhtbDpzcGFjZT0icHJlc2VydmUiPiAgPGltYWdlIGlkPSJpbWFnZTAiIHdpZHRoPSIyMjUiIGhlaWdodD0iMjI1IiB4PSIwIiB5PSIwIgogICAgaHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFPRUFBQURoQWdNQUFBQkQzVHJwQUFBQmZHbERRMUJwWTJNQUFDaVJmWkU5U01OQUhNVmYKVTdVcUZRY3ppQ2hrcUU0V1JFVWNwWXBGc0ZEYUNxMDZtRno2QlUwYWtoUVhSOEcxNE9ESFl0WEJ4VmxYQjFkQkVQd0FjWFJ5VW5TUgpFditYRkZyRWVuRGNqM2YzSG5mdkFLRldZcHJWTVFGb3VtMG1vaEVwblZtVkFxOFEwQVVSUFJpUm1XWEVrb3NwdEIxZjkvRHg5UzdNCnM5cWYrM1AwcVZtTEFUNkplSTRacGsyOFFUeXphUnVjOTRsRlZwQlY0blBpY1pNdVNQeklkY1hqTjg1NWx3V2VLWnFweER5eFNDemwKVzFocFlWWXdOZUpwNHBDcTZaUXZwRDFXT1c5eDFrb1YxcmduZjJFd3E2OGt1VTV6R0ZFc0lZWTRKQ2lvb0lnU2JJUnAxVW14a0tEOQpTQnYva091UGswc2hWeEdNSEFzb1E0UHMrc0gvNEhlM1ZtNXEwa3NLUm9ET0Y4ZjVHQVVDdTBDOTZqamZ4NDVUUHdIOHo4Q1YzdlNYCmE4RHNKK25WcGhZNkF2cTNnWXZycHFic0FaYzd3T0NUSVp1eUsvbHBDcmtjOEg1RzM1UUJCbTZCM2pXdnQ4WStUaCtBRkhXMWZBTWMKSEFKamVjcGViL1B1N3RiZS9qM1Q2TzhITkE1eWpwYUNWWTBBQUFBZ1kwaFNUUUFBZWlZQUFJQ0VBQUQ2QUFBQWdPZ0FBSFV3QUFEcQpZQUFBT3BnQUFCZHduTHBSUEFBQUFBbFFURlJGQUFnS0FRRUJBQWdLa25wVFhRQUFBQUYwVWs1VEFFRG0yR1lBQUFBQllrdEhSQUNJCkJSMUlBQUFBQ1hCSVdYTUFBQXNTQUFBTEVnSFMzWDc4QUFBQUIzUkpUVVVINWdJSEFoUUJzZk1LU3dBQUEwWkpSRUZVYU43dG1rdUMKNVNBSVJjT0FKYkNmTENHRDUvNjMwcFBFK0VHNFluV2xVdDJPWHBVZXZKQ1BpTm0ySDlVNHBVK0VTMmZiSnpsS3VSMnpRdTgySTdrQwpaMUJLVFlNRnA2NkJZWktlVERHdHNONmtOa0J2RWRkUCtSdWY4bWkwdTVOZTAzU20zRW1WV0FvMEtXc1hRWkJKUlRVUFhGUFNMOTdnCjM3M1lrUlEzUHZ0TVJ6bmxaNjZuRUtWYmR1UWFodG1VYS9hYWNzWHFaRXV1ZWRISUVNUjJFQXhGWXQ4bk5EYnNQUkREZnZLZUJ4NXAKWXUrbUhwb1c5K2tkT2VvL3ZLemJKdit0T2hqQ3J0aVJMQUhXQUgwTXNnU1Fwb3NBc2JwNWhoWXNVUndWYU9uUTdHTXJuZUlUNXFZMgpBWUhyc25Ra2d4bElQMDdBQmIzWEJ1Y2YzY0F3aVFhb2R3c05VRDhTRFZDdlR2QTh0aUh4MUs0ZENnZW9sVWNUT1N4WEllR0pGTGFlCkpVNW03WG82MUlXby80T1FGSzhLVVpqTTBpR3lERXFjekw4aHNnd3VYOG9oY2lzR2lFSWF1NERpc3NqMTh5YXRyWWZjWkpvbTkxWTQKUnVhd0ZNR0N5U09QUDJaSStnS3kwZzJRZDF6aTVIMTlRRElEVDVEM0hReVNPVEFyNU5HUm0wWFNTWkpLV3UwaWxzaDlqcno4NHdqNQpXU2EzU1ZKV1NjRlgzWnRNcStSMGhZMmZJd1Axd1BNV21LM29MWkgwR0VreDhsZ2s5L3l2K24wemJoMkpQaXYveVNYU1doMU9rbFdTClBQTHpUNUJ5a3R1cnlMaWY3N2dxaTJUOFdmbEJUL2F2SnFmWEZYOWswMVpYd1hmbENVdjVVRFFIZTFldUtROWs0L3pBcnFONGJYN2IKN2lxK0YzeGk1eHJmWno5U0ZaQlgxVTN1bStqN0trdFBWTkRpOWI1NGpYR2hyaW5oV21vMk1sMi9aWVUwV2wxdFBuQ3lyRk0vVVZWLwo0dlRnL3FPSy9qQzB4UXJHRTduQ1Y1M014TStSNG1kWEMrZGxNa1UyRXNBUXRlZUNIRDZMako5L1BuRmF1M0Myaklhb0h4Yy9ReWZRCjBkUjdsU0JIdFFray9IMENRNDVxOWpGSFZaOFFSM1h6QXNqVnh6QWdWMytqa2k5M05NUmZ4RWF5QkhsSHA1RkZVeTZOVkpFbmQyemEKVzFMRy9XTExwVFM4NHB6TW0wRU1iNUkxS1ZuT1dGWnRSV3ladFJkem81ZnR5TXU0TzluaDQrR2tuSno3WkpoZ3VKa0hEMFNKSTNibAp1OVRUZUNzcnVWUG1MRXd6NTcyT1U0OEtrcG5kM3hudnJTMmtyRllsN1RtaDk2YXN2cWMraW4wQXNyb210ZmxUcm53M2ZzV3lhaEM0CjhIMThyeGZUMnNRWGphdUt6aFc3S0NLMUNSTWFuRWJ5ZEZYdUw3Yy94TFk0ckhuSG43d0FBSFg2WlZoSlprbEpLZ0FJQUFBQUNnQUEKQVFRQUFRQUFBT0VBQUFBQkFRUUFBUUFBQU9FQUFBQUNBUU1BQXdBQUFJWUFBQUFTQVFNQUFRQUFBQUVBQUFBYUFRVUFBUUFBQUl3QQpBQUFiQVFVQUFRQUFBSlFBQUFBb0FRTUFBUUFBQUFJQUFBQXhBUUlBRFFBQUFKd0FBQUF5QVFJQUZBQUFBS29BQUFCcGh3UUFBUUFBCkFMNEFBQURRQUFBQUNBQUlBQWdBU0FBQUFBRUFBQUJJQUFBQUFRQUFBRWRKVFZBZ01pNHhNQzR5T0FBQU1qQXlNam93TWpvd05pQXgKTlRveE16b3lPQUFCQUFHZ0F3QUJBQUFBQVFBQUFBQUFBQUFKQVA0QUJBQUJBQUFBQVFBQUFBQUJCQUFCQUFBQUFBRUFBQUVCQkFBQgpBQUFBQUFFQUFBSUJBd0FEQUFBQVFnRUFBQU1CQXdBQkFBQUFCZ0FBQUFZQkF3QUJBQUFBQmdBQUFCVUJBd0FCQUFBQUF3QUFBQUVDCkJBQUJBQUFBU0FFQUFBSUNCQUFCQUFBQXNYUUFBQUFBQUFBSUFBZ0FDQUQvMlAvZ0FCQktSa2xHQUFFQkFBQUJBQUVBQVAvYkFFTUEKQ0FZR0J3WUZDQWNIQndrSkNBb01GQTBNQ3dzTUdSSVREeFFkR2g4ZUhSb2NIQ0FrTGljZ0lpd2pIQndvTnlrc01ERTBORFFmSnprOQpPREk4TGpNME12L2JBRU1CQ1FrSkRBc01HQTBOR0RJaEhDRXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5Ck1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU12L0FBQkVJQVFBQkFBTUJJZ0FDRVFFREVRSC94QUFmQUFBQkJRRUJBUUVCQVFBQUFBQUEKQUFBQUFRSURCQVVHQndnSkNndi94QUMxRUFBQ0FRTURBZ1FEQlFVRUJBQUFBWDBCQWdNQUJCRUZFaUV4UVFZVFVXRUhJbkVVTW9HUgpvUWdqUXJIQkZWTFI4Q1F6WW5LQ0NRb1dGeGdaR2lVbUp5Z3BLalExTmpjNE9UcERSRVZHUjBoSlNsTlVWVlpYV0ZsYVkyUmxabWRvCmFXcHpkSFYyZDNoNWVvT0VoWWFIaUltS2twT1VsWmFYbUptYW9xT2twYWFucUttcXNyTzB0YmEzdUxtNndzUEV4Y2JIeU1uSzB0UFUKMWRiWDJObmE0ZUxqNU9YbTUranA2dkh5OC9UMTl2ZjQrZnIveEFBZkFRQURBUUVCQVFFQkFRRUJBQUFBQUFBQUFRSURCQVVHQndnSgpDZ3YveEFDMUVRQUNBUUlFQkFNRUJ3VUVCQUFCQW5jQUFRSURFUVFGSVRFR0VrRlJCMkZ4RXlJeWdRZ1VRcEdoc2NFSkl6TlM4QlZpCmN0RUtGaVEwNFNYeEZ4Z1pHaVluS0NrcU5UWTNPRGs2UTBSRlJrZElTVXBUVkZWV1YxaFpXbU5rWldabmFHbHFjM1IxZG5kNGVYcUMKZzRTRmhvZUlpWXFTazVTVmxwZVltWnFpbzZTbHBxZW9xYXF5czdTMXRyZTR1YnJDdzhURnhzZkl5Y3JTMDlUVjF0ZlkyZHJpNCtUbAo1dWZvNmVyeTgvVDE5dmY0K2ZyLzJnQU1Bd0VBQWhFREVRQS9BTy8xelhMaSt2UCtFSzhGZVZCY1FSaU82dTRsQWkwNlBHQXFnY2I4CkRBQTZma0NTUzZKOEtQRFZwb2VpV1p1dFR1VHR0YlZlWnJ1WG9YY2p0Nm5vQmdEc0tKWk5GK0ZIaHExMFRRN0kzV3AzSjIydG92TTEKM0wwTHVmVHBrOUFNQWRoVlMydHJYd0JZVCtMdkYxd3Q5NG12UUVKakdUazlJSUIySC82emdEZ0FMYTN0UEFGaGNlTHZGMXd0NzRsdgpnRUpqR1RrL2R0NEI2ZjhBNnpnRGkxb0doWEU5MGZISGpjd3czMGNiU1c5dEl3OHJUWXV2VThiOGRXN2ZuazBIUXJpZTdQamp4dVlZCmI2S015Vzl0SXc4clRZdXA1UEcvSFZ1MzVrMDRsbStMVndzOHlTd2VEWVpNeHhzQ2phaXluaGlPb2pCSEE2bjJ4eUFKQ0p2aTNjQ2UKYU9XRHdiQkxtS053VmJVV1Z1R0k2aU1FY0RxZStNRUc3ckd2VDYxcUQrRGZCc2tjVFd5aUsrdm9RUExzVUhHeGNjYitDQU8yUGJCTgpYMXlmV0wxdkJuZ3Q0NFRiS0liMjlnQTh1d1FmTDVhWTQzOFlBSDNjZTJDNldiUnZoZDRmcy9EL0FJZnN2dEdwM0pJdHJSVG1TNGtQCldTUTljZXA3QUFEc0tBQ2FiUnZoZG9GbjRlMEN5RStwM1JJdGJSVG1TNGtQV1NROWNjY25zQUFPZ0ZHamFKWitDTFBVUEYvaXE5UzQKMXk2RzY3dkN2M0IvRERFT1RnWUF3T1NRUFFBR2k2SGErQ2JPKzhXK0tyMWJyWExsZDExZGxjK1dPME1TOG5BNEdCeVNCN0FHakxkYQp4Y3grT2ZFa3kyT25RUXZKWmFmY0lBTFJja2VjN0hJM2xBRGtZd0dJNW9BTEMxajhSUXhlTXZGUVdDeGlSNWJYVHJ5TlBMdFl3UnRsCmZkbjk0UXU3Y0RnQnNkczFRdG9ybjRyM292THlHU0R3YmJ5NXRvSEJEYWl5bjc3anRHQ09CM3h6amtGSUVuK0t0Mzl0dm8zdHZCbHQKTG0zZ2t5cmFneW43N2p0R0NPQjN4emprSE84ZWZHTHd4cG1remFUb2w2OTFjaFJHcHNNQ05WMmdnZVowMjQ0eWhKRkFHN3EvaUM0OApSNnRONFA4QUNFb2lXMUFqMUxVWWg4bG92VHkwUFF2eGpqZ1lQY0VWTmU2aDRaK0ZYaFgremJDYlQ3U1pJL05XQ1NaVmtsendaU3VkCnpuNWUyU2NZSFN2bXRmaUxydGxwbjlsNkpLdWo2ZXMwa2l4V1kyczI3czc5WElHQms4NEFya3FBUGVORytKL2d2d25xMTNxc2pYL2kKRFhOUUcrNjFPT0FSaFJuQWlSWkNDcWdLdnJuakpPQmpDMWI0MDIrcjYvRnFOOTRYaXZSWlRtVFQxbnVuVlloZ0FFb01xV3p6bm5ISApvRFhrbFBpaGxuZlpERzhqWXpoRkpPUHdvQTlIMWY0M2VKZGFTVzN2YkxTTGl5YVRldHRjMmF5cXZQR2M5U1BYRlBmNDcrTkh0V3R0CituckV5R1BhdHFCaGNZd09hODcvQUxPdnYrZk80Lzc5Ti9oWFNSL0REeHRLaXVuaHUrWldBWUVLT1FmeG9BMTlLK05QaWpSTEZMTFQKSU5JdExkZVJIRFpLZ0o3bkFQVSt0UHMvalI0aHRkY2JWLzdQMGI3WkxoYmlkTEpVbG1USXlwa0hQUlI2OUI2Vno5OThPdkdHbTJVdAo1ZWVIN3lHM2lHNTNaUmdEODZ3ZjdPdnYrZk80L3dDL1RmNFVBZXEzdnhxc05hOFJhWHEyc2VFWVo1ZFBmTUorMk93aXlSdVpZeUFwCmJnRUU5d09SaXQzVnZpLzRkOGMzNjZUcTA5L28vaHNRK1pQdFhkSmRTaDF4RTJ3TmlQYnVKeGc1eHlNYytEeXd5d1BzbWplTnNadzYKa0hINDB5Z0Q2c3VkY2g4WHBwZmhYd05xRmxiYVhOYk5MZVhGdTZpUzN0MTJyNWF4OVVaaXdIekFkK0R6V25xbXI2ZjREc2RPOEllRgpiQkp0WnVSdHRMS1ArQWM1bWxQWWNFNU9TU0Qxd2NmSUZkMTRmK0xQaWJRZFROODAwTjlNNFNPU1c2UVBLWWxPZkxEOVZYcitQTkFICjBOYTJlai9EUFJyenhEcjE0cytyWGpEN1ZlTVAzbHhJZWtVWTY0NDRVZGhrOU0xRnBIaDJiWDlWaDhaK01ZbGphMUJrMDZ3bFB5V1MKZGQ3OWkvQU9Ud0NCamtBMXhmaDd4OTRJOFkrSzdIV3ZFOTNMYTZsYUxpMHRiMGdXa0Q0M0YxYkdNOERCYzV5RndNZ1YyZXVhWHF2eApEMWIreXJxSzQwL3dwYnVyM0c0RkpOUkk1Q2p1c2VjRW5xY2R1RFFCVnV4TjhXcnI3SkU4a1BneUNVR2FSY3Eyb3VweUZVOW93UU9lCnB4eGpnbTdyK3UzRFhVZmdmd1FrTWQ4aUtseGNJdjdyVFllblFmeDQ2TDlPbkdaZFgxcHByNVBBM2c5bzdXN1NFclBkUnhib3RPakMKOERBSStZOEFBZE01OU0wTGk0dFBoOVkyL2hUd3BhaS84VGFnZC96bkxGajk2NG5iMEhKL0RBR0FjQUJjM0ZwOFByQzM4S2VFN1VYLwpBSW0xQTc4T1FXTEg3MXhPM1lEay9oZ0RBT0xjTUdqZkN6dzllYTdyVjBiclZidGdibTZJek5kekhwR2c2NDQ0SFlESjZFMHR2YmFOCjhMZEF1OWMxcTZOMXExNHdOemRFWm11NVQwalFkY2NjRHNCazlDYVpwSGgrWFZMOWZHdmpWSW81YlpETFpXazVIbDZmR1BtM25QRy8KZ0VudGdlbVNBTG8rZ3phbGZqeHQ0MVdLR2EyUXkyZHBNUjVlbnhqNWl6WjQzOEFrOXNlMlRUbFNYNHR6bUxNc1BneUdUNWlDVWJVVwpVOWoxRVlJNjlTUjJ4eVR4eS9GcTQ4b21XSHdaREtDeEJLTnFMS2M0QjZpTUVkZXBJNHhnRTNOZTFxNnU3bi9oQ2ZCUGxXOTFGR0lyCm03aVg5MXAwV01ZQUhHL0hSUjA5dU1nQnIydDNOM2RmOElUNEo4cUM3aWpFZHpkeHIrNjAyTEdBQUJ4dngwVWRQeUJmSkRwbnczOE4KUWVIL0FBK0UvdG0vSmpzeEpndlBjTU1lYktmUUhHVDB4Z0RzS21qVFNQaHBvZHBvbWp3TFBxZDdKc2dqa2JEM1V6Y0dTVmdPQm5xMwpRY0FkaFJjVDZmOEFEclM3L3dBUWE5ZnZmYWxlRlF6ZVd2bVN1RjRoaEE1MjV5UXBKeGtrbkdUUUJtVzl0YWVBTENmeGQ0dXVSZjhBCmlXOEFRbU1aYko2UVFMMkgvd0JjbkFIRnJRdEJ1SjdzK04vSEJoaXZvb3pKYjIwamZ1dE5pNm5rOGI4ZFc3WStwSm9XZ1R6M1o4YisKT0RERmZSUmw3ZTJrZjl6cHNYVTllTitPcmRzZmlhYXhUZkZxNFNhZFpvUEJzTWdhT0pzbzJvc3A0WmgxRVlJNmR6Nlk1QUJFbStMTgp3czB5U3dlRFlaTjBjYkFvMm9zcDRaaDFFWUk2ZFNmVEhOeldkYXVOV3ZHOEdlREdqdHpicUlieTlnVUNPd2pIR3hNY2I4REFBKzdqCjJBSnJXczNPclhiZURQQmpKYkdCQkRlWHNDZ1IyRVlHTmlZNDM0NEFIM2Z5QmRKSm8vd3U4TzJmaC93L1pmYWRVdU9MYTFCekxjeWQKREpJUjI5VDBBd0IyRkFCSkxvL3d1OFBXZmgvdy9aZmFkVXVlTGExVTVrdVpPaGtrUHA2bm9CZ0RzS1RSdEZzL0E5amZlTHZGdCtseApyZHd1Njd2SEdSR0QwaGlIVUFjQUFjazQ5Z0UwWFJiVHdOWVh2aTd4ZGZwYzY1Y0x1dTd4K1JHQ2VJWVIxQ2c0QUE1Sng3QVB0dE1iClhMbUx4ZDRybXRVMG1PMzg2MDA2NFJXaXRsUHpDV1F0eDVtMEE1R051V0dUUUJOcDFuZDZucVVQakx4QmRSUTJFVnVaYkd3SUJXMlYKditXanNmOEFsb1Z4eU1iZHpESkZlZCtQUGlCcG1vYXRGSHIzbS8ySEVxWEVHbFFuTXQ2Yy9LMHc2SXVBcmhTY2tNcDlSVlA0b2ZHdApybTRrMGZ3dEtodDR5Vmt2Z3VkemRNeEh0anN3L0N2Q2FBT3U4V2ZFZlgvRnlHMXVaeGI2YXZFZGpiL0xFcWc1VUVEZ2tjRFB0WEkxCnE2QjRiMWJ4UHFIMkxTTE9TNW1BM050Nkl1Y1pKOUs5bDBmNEw2UjRTc1ArRWc4ZGFpa2tkdVEvMk9IL0FGYk5rNFVucStmbHdCam4Kam1nRHhqUnZEMnIrSWJrMitrMkUxM0tGTGJZeDJHTThuNmo4NjlWMGI5bmpWcDdJWGV0YXJCWWdOdWFDT015TjVlQVQ4MlJodW94Zwo0eDNydmZEM2hXMHVaWDhYZUl0T3N0SDBhMVkzT242UWtheFF3REEvZnpLTUtaQ0FQb0FPVGdZMXJWYnI0azMwV296RzhzL0NrU3NpCjJjbnlIVVczSEx1QWMrVmpiOHJkVG5JQXlDQWNsOFAvQUlXZUU5VmpmVUcwUzZuMHhaTjFyZGFsTXl5emtIcUkwd3ZsNEF4dUdTU3cKSXdLMnBvN0RVL0UxeG9IZ0RUTEhUSGdIbDZwcmRsYXBHWUZKNWhqWlJ5L3k4OWhqMUJGYU9yNjdkK0s5V244SWVFNVRCYld3RWVwYQpwRHd0dU9ubFJuKy9nWTQ0WDZnaXJGN2Y2WDhQdE1zdkN2aGl4amwxZTRYTnRaUi9lT2VETktldU9QdkhyakF6akZBRnp4RDRuVHd4CkJaNkJwaGsxTFg3bE50dGJ5U2wzSS81NnlNY2tMMTVQb2NaeGlxT25hUnBYdzgwKy93REZQaUM3RnpyZDRCOXJ2WDVkejJpaUhZY0EKQlJ5Y0RPY0NqVGRIMHI0ZWFmZitLUEVGMkxuVzd6QnU3MlRsM0o2UlJEbkE0QUNqcmdkY0RFR2tlSExyeFBya1hqTHhlZ2podGwzYQpYcGNoK1MxWHI1cmpvWkRnZlRIZkNrQUJwSGh5NThUNjVENHo4WHhpT08xVXRwZW1TWTJXcW5reXYyTG5BUG9NRHJnRUNhcHF2eEMxCjFGMGE4bjAvd3RZeVptdm9IS1NYMGcvZ2pZZEl4emx1L2JzYXIzYzE1OFZOUmV3czVKTGJ3YmJOaTZ1VUpWdFJjZjhBTE5DUCtXWTcKbnZuanNhZGYzOC9pUzgvNFFyd1ppeDBpelh5dFIxSzNBVllWSEhreFk0TG5uSjZEMzVGQUVXc20wOGNlTUk5SzBiUjlMdkVzTUpxVwpzM3RuSGNlV29KeEJHWEIzTmtuUFlIUFU1RmMvNDArSFh3OXQ5VXNORXM5UHZocnQvTjVnaTAyYjUxajUzT3l1U2lKbjBBNmNkQ0s3ClBVdFUwL3dKWVdIaER3cFl4emF4Y0xpMXM0LzRCM21sUFllNTVPRDF4U1dXbTZQOE50S3UvRVd1M1MzT3RYaHhjM3JqTXM3bmtSUmoKazQrVVlVZjNSMXhRQjQ1NHQrQmsvaHZUUmZwNGhzQ3J6Ykk0YnNpRW5JWWhRMmNNL0dNQURQTmViYXg0ZDFmdy9La1dyYWZQYU82aAoxOHhlQ0RuSFBUc2ErcDlJOE56Ni9yRVhqVHhpZ1JyVlMrbmFmS2YzZGt2WHpHSFF5Y0E1NkRBNmtBMUN6Uy9FL1g3T1JMZTNQaExUCkxocGQ5ekFzb3Y1ZGpKOHFzQ05nRG5uSFBVZGpRQjhsMTEzaFA0a2VJdkNDQzJzcnQ1TEE4TmFPeDI0SnkyM0gzR1A5NGNqTmVpZU4KUGhWb21zZU1aTkw4RlNMQmZSVzdTM1Z0OHpRSTVaZG9MOCtXU0dZNDZjS0FCbm55TFgvRGVyZUdOUSt4YXZaeVcweEc1ZDNSMXpqSQpQcFFCNzk0TThlNlBMNFVrc1BCV2x3d2VKcnA5OGxuUEtlWkdiRFNtUnNtUUtDVzdrQWRCWFdXOXRvM3d1MEc2MXpXYm8zV3JYckQ3ClRkTU4wMTNLZnV4b09UampoUjBBeWVoTmZJRmV2K0FQaUxwbC93Q0o5TmZ4Mm91cHJRTEhZWDl3N01sdTNHR1pTZHVTUUR2SXlDQWMKakZBSHJ1aitIcGRWMUZmR25qUkkwbXQxTWxsWnpFZVhwNkQ1dDV6eHY0Qko3WUdPbWFwM0VVM3hhdVBKTFRXL2cyQ1VGaXBLTnFUSwpjNHoxRWVSMTZucU1ZQk11b1dGNThVYnVPQ2Z6clh3Ykd5VEhhMjF0VDZNdkk2UjlQYzlzWUJxZnhCck4zZVRqd1Q0SUVWdmNvZ2l1CmJ5SmNSYWRGMCtYSDhlT2lqR09PbkZBQzYvclYxZVhIL0NFK0NCRmIzTWNZaXVidUpjUmFkRmpHQUIvSGpvb3hqMjR6WlJOSStHdWgKMnVpNlBBSjlUdlpBa01idDg5ek8zSG1Tc0J3TTlXNkRvT3dwZ09qZkRQUmJQUk5KaVdmVnIrWFpieHlOKzh1cDJPREpLd0dkdVNDVwo2QWNEc0tmTGMyZnc5MFc4MTN4RGRMZmF2ZE9WYVdLTWlTNE9TWTRZMUpPQUJ4Z2NkVzQ1b0FpTXR2OEFEclN0UjEveEpxUDlvNnBlCnkvZWppQWVYKzVCRXZYSGZHY0FsandPa2VoNkRQZFh2L0NiK056RkZkd3htUzJ0cFdIbGFiRjFKNTQzNEdTM2JIdGttaWFCTmRYeDgKYitOakZIZHdSbVMxdFpXSGxhYkYxSjU0MzRHUzNiSHRrMDNnbCtMYzRNd21nOEdSU1pWQVRHK29zcDRKNkVSZy9pU004WUJJQWdobQorTGR4SE5PSjRQQnNNZ2VPSTdvMjFGZ2VDdzRJakI2RHVlZU1BbTdybXIzV3NYTCtDL0JqSmFtRkJEZVgwQTJwWVI0eHNUYmpENDRBCkgzZmJqSnIyc1hldFhUK0RmQnJyYXRFZ2l2YitFWVN4anhqYW1NZlBqb0JqSFhqakxwcGRJK0YzaHl6OFArSDdJM2Vwei9MYTJvT1oKTGlUdkpJZlRQVTlCd0IyRkFCTEpvL3d1OE8ybmgvdy9aZmF0VXVPTGExQnpMY3lkNUpDTzNxZWdHQU93cHVpNkxhZUJ0UHZmRjNpNgovUzUxeTRYZGQzajVZUmc5SVlSMlhQQUE1Si9BQmRGMGExOEQ2ZGUrTGZGMm9MYzYzY0x1dTd4dVJHTzBNSTdESndBT1Nmd0FkcGx0Ck5yankrSy9GMFZwRnBLd0xQcDluUHl0dEVWM0dTVUg1Zk13UURrSGJnNFBKb0FmWjJhNjJnOFcrTFJhRFRSYmk0c3JHNVhLV1NITGUKWSs0N1RJVjJrbkdWT1FEaXZDdml0OFZadkd0d2RNMHhwSWRFaWZJQnlwdUNPak1QVHVBZmJ2UjhWZml0TjQxdURwbW1OSkRva1Q1QQpPVk53UWVHWWVuY0ErM0dSWG1TcVdZS29KWW5BQTZtZ0JLN1B3eDREbDFTNXNHMU16UXczd2Y3TmJ3RE54UHQ3Z0VFS2hPUnVQSEdPCjROZEo0WThBVytrMlZ0ZWEvcDV2OWIxQUE2WG9vY3J4bmlXWGFjaGZicGpya2tBZXlhRG9HbS9EblNiM3hKNGl2VnVOWHVBRGMzUkgKQ2pva0VLOWxIQ2hSMTRIUUtBQVdOQjBiUS9oZjRVYTl1MHRyU1FRb3R3MElQenNNa0tPck9Tek5qT1Q4MkJ3QUJtNmZwYy9pTzlQagpieHNGdGRNc3daZE4weVp2M2R1Z0grdWxIUXVldnQ3OFlOTzB5NThSM3A4YitOc1dtbVdZTXVtNlpNMzd1M2pBL3dCZEwyTGtjK2dCCittTE52QmZmRVhXQnFFMDl4YitENFFQczFzcGVKdFJKVWJqS09ENVlKSzdUdzIzUFRxQVNpM2wrSTJvd1g1dUx5RHduQ255MnAzUmYKMmk1Nmx4d1RFTTQydDFJUGJyRHJHdDNmaXpVNS9DSGhPVTI5dGJBUmFscWNQQzI0NmVWRVIvSGpqajd2MUdDdXNhM2QrSzlTbjhJKwpFcGpiMjF0KzYxTFU0UmhiY2RERkVSL0hqamo3djFHRFBlWHVtZkQ3U3JQd3Q0WXNZNXRXdUYvMGF6US9NVDBNMHA2NDQ1SjlNRHNLCkFFdkw3U3ZoN3BsbjRWOEwyTWN1cjNDNXQ3TlB2RW5nelNucmpqN3g2NHdNNHhUZEwwYlN2aDNwMS80bjhRWG4yclc3em03dlpNczcKc2VrVVE1d3ZRQlIxd0J6Z1lOSzBiVFBoMXB1b2VKdkVGNmJ2V3IwaHJ1OWs1WjJQM1lvbDdMMkNqazhEb0FCQm8zaDI4OFRhNG5qTAp4ZURIREF1ZEwwcDIvZDJxL3dEUFdRZERJZjA5OExnQU5IOE9YZmlmWEU4WitMMTh1RzNYZHBlbFNITWRxdlh6WEhReUg5TURyaFNJCkx1YTgrS21vdllXY2t0dDROdG14ZFhTTVZiVVhCLzFhRWMrV081NzU0N0VGM05lZkZUVVpMQ3prbHR2QnRzMkxtNlJpcmFpdzZ4b1IKejVmcWUrZU9vSWRxRi9QNG12VzhGZURUOWgwbXpYeXRSMUszRzFZVjZlVENSMWZnNUk2ZlhJSUFYOS9QNGx2RDRLOEdZc2RJczE4cgpVZFN0eHRXRmVua3c0L2pQT1NPbnVjaXIybzZwcDNnU3dzZkNIaFN4amwxaTRRL1piTlA0QjBNMHA3RDNQSndjWnhpalVkVTAvd0FDCjJOajRSOEsyS1RheE9uK2kyaWM3QjBNMHA3RDNQSndjWnhpalQ5TTBuNGJhVGVlSWRjdXpkNnpla0c2dkpQbWtuYzlJb3h5UU9nQ2oKMEhYQW9BU3cwelIvaHRwVjU0aTF5NisxYTFlSC9TcjJRYnBaM1BTS01ja0x3QUZIOTBkY0NvZEk4TlQ2L3JjWGpYeGl1eHJaQzJuYQpiSTM3cXlUcjVqRG9aT001N2NkZHFrR2orR3JqWHRjajhiZU1Cc2EyUW5UdE5rYjkxWm9lZDdEb1pENjlCeDF3cEZXN1c4K0srb3JhCnd5eTJ2Z3UyZk04c2JGSDFOeC9BQ1A4QWxsNm52MjdNQUF2RXUvaXhxQzIwTXMxcjRNdHBNenlSc1VmVTJIOEFJLzVaZXA3OXV6VmUKMTdYYmhydUh3UjRJaWlqdlZRSmNYTWFnUTZiRGpyZ2Z4NHhoUjY1NHlEUnIrdlhMM3NYZ2p3VEZGSGVxZ1c1dVVYOTFwME9Pdkg4Wgp5TUw3NTR5RFZXYWV6K0g5bGJlRlBDdHNkUThTNmdTNU1qYm1KT2QxeE8vcG5QNDlCMUZBRXQ3ZlczZ2F6cy9DdmhpMFMrOFRYcWdaCjJLR2JqbTR1R0E1N25KNUp6MTVxSFhmRDNodlF2QTdONDdubDF5ZVIvd0RXM01qdks4ekVIeTdmbmRHQ1FQbFRIQTV6ZzFldExQUi8KaGhvZHpyV3MzYlhlc1hyajdSZHY4MDExS2VrY1k1T09PRkhRRHZpb3RIOE56YXRxeWVOdkdZQ1QyNmw3Q3hrZjkxWUpqN3hIUXZqawpudGdmM1FhQVBEZkcvd0FKdFYwTFR6cituMmt2OWtTQkpEYnlIZFBhN3Y0WEE0SUJ3TWc5L3dBYTgycjY1aHVOUytJdXRXOXhaM005Cmo0VXNadDVhTTdXMU5oL0NmV0hzUWNoaCtCcnkvd0NKUHcxMGFmVWI1L0JDczkzcDhmbTZoWVJsbVZRVDk1R09jTU01S1o2WUlBN2cKSExlQXZpVGYrRzlPdXRBbnY3bTMweThWbFM0aStaN05tL2pRZW5jZ2M5U09jR3ZmYlc5OFArQVBER20ySGgveTc2OTFaMUZtZCs1cgoyVnlCNTBqaitINWdXYm9Cd093cjVEWlNyRldCREE0SVBVVjZQOExmaVVuZzdVb2JiVm9CY2FadUlTUW9Ia3ROMzNpaDZoVDFJSFhuCmdtZ0QzbTQvczN3RHBrL2lQeEpKRnFPdXl5TXFYQ1EvdnBTYzdJWVFTU294eGhjRHFUM3FMUmZEOHQxZm54djQzTVVkM0RHWkxXMW0KZjl6cHNRNUo1NDM4Wkxkc2UyU3VqYUVsN3FEZU92RlY5YVhKaWpNdGdFbDNXdG5COTRTS1R3V0lBSmJ0Z2VtYXBTMjAzeGF1Vjgvego3ZndaQkp1RWFzWTIxSmdlQ2NjaU1IOHp6eGdFZ0JKYnpmRnU0VXorZkI0TWhrM0tnWm8yMUZnZUNjWUlqQjZlcDU0d0NibXY2dmQ2CnJPL2dyd1UwZHJMRkdJYnUraFhFZW54NHh0VGJqNThkQU1ZOXVNbmlIV0x6VjdoL0JmZ3QwdFpVUVJYZC9FdUVzSThZMnB0eDgrT2cKR01kZU9NdnVKOUorRnZodTIwVFFiSjczVmJqSXRiVUhNdDFLZXNraDlNbms4QWRCamdVQUUwMmsvQzd3NWFhQjRlc1d1OVRuQlcxdApBY3lYRW5lU1ErbVRrbmdEb01jQ2pROUZ0dkJOaGQrS3ZGdW9yZGE1Y3FEZFhibklqejBoaFhzTW5BQTVKUDBBTkUwYTI4RWFkZCtLCnZGK3BMZDY1T29OM2VQOEFkVDBpaFhzTW5BQUdTVDlBQmRHbTFpOWw4U2VPWXJlRFRyTUxQWVdNa3AyV2dBSlo1Y0VLejRPQ0NHQXcKY0htZ0NlejA2OTFPL3VmRUhqS0MxaHNJb3diR3dtYmV0c3VNczhuOEprN2REdHdjSEJyeS93Q05meFFtdVdsOExhUEtZN2NxQmV5bwozek5uckVjZE1kR0g0ZDZuK0lIeEZ1Yi9BRThhckdJNGRLT1JwVm5jeGt0ZXZuSDJobDZiRjZnTUNwT01qb1Q0RlFBVjZ2NEE4TVcyCmsybGpyOTVhalV0YnZpMzlqNlNRY2NFcjUwby91Z2pqdGpCNUpBSE4rQS9ERTJxWEIxTnRORi9ERklJYmUxODdaNTl4d1FEM0tLQ0cKYnB4Njhpdm9qUU5CMC80YzZOZCtJdkVsK0xuVjUxQnVib2poUi9EQkNuWlJuYUFCejBBQXdBQU8wWFJiTDRmNlpmOEFpanhScVAyegpXN3Y1N3U4a3ljWlB5d3hMMlVad0FPdjB3QlQwM1RibnhIZUh4dDQxSDJUVGJNTk5wdW1UTVBMdDR3UDlkTDJMa2M4OEFINllOTjAyCjU4UjNvOGErTmlMTFRiWE11bTZaTzRFZHVtUDlkTDJMa2M0T1FBZndHbkZGcVBqbldMaVdXNU1mZytNaElZWTEydHFETDk1bWJyNWUKN0l3RGh3UFQ3d0JGWk5xSHhCdjVycVdXU0R3YmhCYndiREhKZmtBRm1mT0dXTU5sZHY4QUZqbmpyRnJHdFhmaXZVcC9DUGhLWTIxdApiZnVkUzFPRVlXM0hlS0lqamZqamo3djFHREw0ZzFEVS9FV3BTZUVQRFhuV052RW9XLzFOWXlnaFQvbm5DY1lMWTR5UHU4OXhnejNrCmxwOFB2RDluNGY4QUMrbHRQZlRmSmJRZ0Vnc2Vza3IrbkI1UHBnZGhRQkhlWHVtL0Q3U2JQd3Y0WXNVbTFXZGY5R3RGT1NUME1zcDYKNDlTZlRBN0NvOUowYlRmaDFwdW9lSmZFTjgxNXJWOFE5M2VTY3M3Znd4UkwyWHNBT1R3T2dVQ1RRdkQxcDRDMDdVZkVldFhNMnBhNQplZnZMMjhLbDNZNDRqaVVkRkhRQWZ5QUFxYUo0ZnY4QXhMclk4WStNTXhRUWZOcFdsTTM3dTFUSCtza0hReUhuMXg3OGJRQTBUdzlmCmVKZGNYeGw0dkJpaGdHZEwwcDIvZDJxZjg5WkIwTWh6K0h2aGRzRjFQZWZGVFVaTEN6a2x0ZkJ0czIyNXVrYmEyb3NPc2FIcUkvVTkKODhkUVFYVTk1OFZOUmxzTE9TVzE4R1d6N2JtNlE3VzFKaDFSRDFFZlRMRHIyem5JZHFHb1hIaWE4ZndYNE5ZMk9sV1lFV282bkFNTApFTzhNUjd2MXllMzFHQ0FHb1g4L2lhOGJ3WDROSnNkS3MxRVdvNm5BTnF3anA1TVI3djF5ZTMxR0RmMUhVOVA4QzJGajRSOEsyVWMyCnNUcC9vMW9wenNIUXpTbnNQYzljY1p4aWpVTlRzUEEybjJYaEx3clpSemF2TW4raldpbk93ZEROS2V1T09wNjR3TTlLYnB1bGFWOE4KdEt2ZkVPdVhqM210WHhCdTd5UWxwSjMvQUlZNDE3RHNGSG9PdUJnQVhUdEwwbjRiYVRlK0lOYnUydTlhdlNEZDNrbVdrbmMvZGlqWApzT3dVZWc2NEZRYU40YnVkZTF5UHh0NHcrUnJkQ2ROMDEyL2RXU0hxN0RvWkNPL1FlK0ZJVFJmRFYxcnV1cDQyOFluWWJkQ2ROMDEyCi9kV1NIcTdkaklSK1h2aGNWcnI3ZDhWdFMreXdTeTJ2Z3EyYjkvSWhLdnFiaitGU09SRU81Nzl1eEFBWFl2Zml0cUl0WUpaYlh3WGIKdisva1JpcjZtNC9nVWprUmVwNzl1eEY3WDlldVh2WXZCSGdtT09PK1ZBTG02UmYzV25RK3ZIQmM1R0Y2ODU0em1qWDlldVpMMlB3VAo0SmpqanZsakF1YnBFekZwMFhxZXhjNTRYcjM0em1xczF4Wi9EK3p0dkNmaGFBNmg0bTFETWhNamJuSk9kMXhPM1laeitPY0E5S0FDCmFleitIOWxiZUZQQ3R1Mm9lSmRRSmN0STI1OG5PNjRuYnNNNS9IT0IxRlhiT3kwZjRZNkpjNnpyTjIxNXJGNjQrMFhVbnpUWFVwNlIKeGprNDQ0VWRoM3hSWldXa2ZESFJMbldkWnZHdk5Zdm5IMmk3azVtdXBUMGpqWHNPT0ZIWWQ4VkZvdmh1NDFYV0Y4YitNanRudDFMVwpGZzcvQUxxd2p4eXhIUXVSMUp6ampyZ0VBQm8zaHVmVmRYVHh0NHl3azl1cGF3c1hmOTFZUjQrOFIwTGtjazl1T3UwR3FkM2IzWHhhCnZVaTh5YTI4RjIwdTZUWVNqNm15OUJrZEl3ZWZmcVA0V291b0x2NHMzNlIrYk5hK0M3YVRkSUVKUjlUWWRCa2NpSUg4K28vaFlYZkUKV3QzMTdkcDRMOEVDT0M2VUJMdStSUjVXblJkOER1NUhBQTljOFpCb0FYeEZyZDdlM1MrQy9CSWpndWxVSmQzcUwrNjArTHZqSDhaSApRRHBuUEhCcTVidzZiOFB0SnROQjBXRDdYcTk2eDhtT1NUTXR6SjFlV1Z1dTBaTE1ldzRBNUFvZ2kwejRmYVRaNkRvc1AydlY3MWlJClk1Wk15M01uVjVaVzY3Unl6SDhBTWtDb1padFA4RGFKL3dBSkQ0bEszT3ZYQkFaaCs4a2VaaGdRd2NjTHlRQW9IR1NjbkpvQThzK0sKM3dzbHRkQlR4WEFJWTlRV05EcWxwQU1vem5BTHhnRGdBbmtZQXh6eGc1OFByNiswUFFMbTV2cHZHZmpTVlV1QkE2d1dUdjhBdUxHMwpZZk1HSFJtSSs4VG4wNXdEWGdQeEs4TFdGbE5ENGs4T1JTRHc1cUxsWW1mSTJ5ak9RQWVkcEFKVTg1d2UyS0FOcjRjK0liZnhiYldICmdMeFZlM1A5bHJNc2x2dHVmTEV1MzdzRG5xeUVrWUFPUVFNRVlGZXhlSXRZdmRZdUg4R2VDM1MxbFJCRmVhaEV1RXNJOFkycGpIejQKNkFZeDF5T0srUTYrbFBBL3hLc2wrSHcvc3pTb3JqeEs4cGphd3M0ZGdsbVkvTEkyTUJWUFVuZ0RvUFNnRHE3bTQwcjRYK0hMYlJOQwpzbnZ0V3VNaTF0ZDI2VzZsUFdTUnZUSnlUd0IwR09CVk8ydHJYNGU2ZGNlS3ZGVnkycCtKcjRCVDVZM01XL2hnZ1hzT3ZRZXBPQndKCk5PczdId0ZBL2lieGhxQnZQRU9vTXNieXFwa0trOUlZRUF6Z1pQUVpQSjRIQXVhTnBGekpJUEYvamlXMlM4dGtkN2FGZ3F4YWZFY0UKNVA4QUUzQUpZNXgyOVNBVjlPdFU4VTJ4OFdlTkxRMmxqYnQ5bzAreXVwZHNkdEVCbnpaRkdBWFBPZDJRQmpnY2lxYVFYSHhWdW83Ngo5OCsxOEdXNzc0Ylk1amJVR0I0ZCs0akdNZ2QrdllFckZiWFB4WHZJcnk4RTl0NE5nZmZCYW5LUHFMQThPL2NSanNPL1hzQ2MzNHhlClBOUDB6d1RkNkpwTTZDNXVXK3hGWXd1MVk4ZnZBQVJncmpLWkhRbWdEdy80aitMRjhYZUxKcm0xTzNUWUI1RmxHb0txc1E0QkNuN3AKSXhrREZZM2h2UUx2eFByOXBwRmxnVFhEN2Q3QTdVSGNuSGFzcXZmdmczb05uNE84TlhQajNYNVVpUzRqMldxa052Vk1rSEE3bHpqQQp3ZWdJUE5BSG91amFEb0h3djhNTGQzcjI0a3RZUkUxeWtXMW41NktNbGlXWWs0eWVXd01EQUdicG1uWFBpTzgvNFRieHVSWmFaYWd5CjZicGt6QVIyNmY4QVBhWHNYSTV3ZUFEK0FOTDArNjhSM1E4YmVOaUxMVExZR1hUdExtWUJMZVB0Tk42dVIyUFRKOWNDekJiNmo4UmQKVG5tMUFDRHdmQk50dDdYYXBPb3NqOFRGc1pFZVJsY0ViaDdkUUNWcks3K0lPcnlTWFV3LzRRNkYxOGkzRVlCdjVFSU84c1J1RVlZYwpiU04zWHAxK2UvR3ZqWHhSRjQzMXUzZzEvVWJhM3RyMmEzaGh0cmhvWTQ0MGNvcWhVSUF3QUIwNTcxOUNhanI5NzRpMW4vaEdmQ0VpClEyOW5JcTZqcUtMbElBcEdZVXh4dUlHRGo3dnNjWitYdkhIL0FDUC9BSWovQU93cGMvOEFvMXFBRC9oTi9Gbi9BRU5HdGY4QWd3bC8KK0tvLzRUZnhaLzBOR3RmK0RDWC9BT0tyQm9vQTN2OEFoTi9Gbi9RMGExLzRNSmYvQUlxdmEvaHpCcjN4SitIOFZwckd2WFRhZGI2bApMRmVmTVBOdUlSSEV5eEYvdllMTXhKSnpqajB4ODdWN3Y4Sk5QMTNXZmh0THBPajNmMkcydXRYbUY5ZUovckk0aEREOHNmb3paSXoyCjY5c0VBN3ZVTlF1UEU5NC9ndndZNXNkS3NnSXRSMU8zR0JFTzhNUjd2Nm50bnJrWU9scTE5WmZEN1E5TzhQZUc3R05yKzdZd1dVSmIKNWQ0WExQSTNzT1QzNDQ5S3ArSlBFZmgvNFllRlpORjBtTlJleDJqU3dXc2FNNTlQTWtLOGdFL3hIMHI1T3ZMMjYxRzZlNnZibWE1dQpaTWI1cHBDN3RnWUdTZVR3QUtBUHJUVExMUmZocm9sLzRqMXpVeGU2dmRZZSt2NUdCZVZ1MGFEK0Zld0E5QjZBQ3ZvT2h6ZUlOZUhqClh4ZmNvUEtRblM5TE1nOHV5VEhMdGpocENQeTk4THQrVEtLQVByRFVsdnZpVnEwVnFMbzJQZ3VKZDhycEtvZlZDVHdvSTVXTVlPZW0KYzk4Z2pROFFhMWRPVjhKK0N4QkRjSUZpdXJ3RmZMMDZOZ1NPTTh1UURnZlRPTWcxOGYwVUFmWE9xWHVuK0FMR3owUHd2WnhTNjNyTQpyK1NYa0xCbkF6SkxJN0VuQXpuQko2bkFQU25XVU9oZkREdy9lYTdyT3BDOTFXNk82N3ZwR0JrdUpDTWhFSFljY0tPdzlxK1JLS0FQCnJiUXRDZldOYVh4dDR3dUkvdEVLTTJuNmUwZzhxd2pJNVlnZmVjamtubjhjS1JTdVpKUGl6cVNScmZHMThGMmtwODBSeWJYMU9SVGoKYVNPUkdEK2YvZkxENVdvb0Erdi9BQkpyRi9kYlBDdmdzd1c4Z1pZYnZVQVY4dlQ0OFp3Rnp5NUhRRDE2aklOVFF0by93KzBpeTBQUgp3bDFxdCs1V0JaWlFaTG1YQlo1WlcvdWdaWW44QU1rQ3ZqcWlnRDYrRWVsZUR0T2s4WGErZnQzaUo0MWpsbGpjek1YWTRXS0ZRTUt1Cld3TUtEZzg1Sk9XNkg0ZHVMdlVtOGIrTlpGVzdpUXZaMmJ0KzUwNkxHU2NkQy9jc2MrM1FHdm0zNGM2cmU2WjQ5MFJiTzRhTkxtL3QKNFprd0NzaU5Jb0lJUEI2NUI2ZzRJd1FEWDBSZDJGOThVdFVFZDJiaXk4SDJjM3pRZmNmVXBGUDhYY1JnajhldjkxZ0FNbnRMbjR0WApzWm1rbnRmQmR2SUc4cFRzYlUyVTVHVDFFWXgyNjlSMFZxZjR4ZTM4WUZ2QWVpYWRhWE1hQUxkM1VnSWkwOEFmS1Yya1prSEJDNXdlCmg0TldmRW1zYWpxOXlmQnZnbVJMYVpRcVh1b292eVdNWGRWOVhJNkFkTTlSa0dwTDI3MHo0WStITGJSdER0SkwvV0xrN0xXMnp1bHUKcGoxa2tQcGs1WThBWjdaRkFIeXI0azBDNzhNYS9kNlJlNE0xdSszZW9PMXgySXoycmMrR2ZqRStDL0dOdGZTeU10aklmS3UxQllqWQplcmJSMUk1eFhkL0Yvd0FDNnBhK0Y3RHhMcWwybDNyQ3VWMUoweUJ0ZHZrQzVQQ29TRUFDak83Snh6WGlkQUgyTnBtaDNDWHNuaXp4CnJlMmN0eGFDUnJSVUNpQ3hoNmtoc0FzU0ZCM05uSGIxT1I5a3VQaTFkcFBkK2ZiK0RJWDNSVytURzJwTUR3emR4R093Nzlld05jcDgKTjQxK0p2aFBTOUcxYlZaZnNXaUhaZGFhZ1ZmdGFnanlTeFhCMktQbHgzSXpuSXpYYitJdFgxRHhEY3llRC9CazYyaGpBanZ0VGlYNQpMSlA3aVl4OCtPT01ZSE9RY0dnQThRYXZmK0k3eVR3aDRQbkZvc1lFZC9xY1MvTGFKM1NQSDhaSEhIUWVod2ErY2ZpS3RsWmVLSk5FCjBzWEM2ZnBTL1pZMWxtOHpjdysvSU93TEg1amdBWnI2VTFDOTBINFZlQ1piRFRURWsxclp2SkNzM1BteUJUdE1oR09XYkE3Wkp3TVYKOGZVQWFmaDdScC9FUGlDeTBtM0tDVzZsQ0x2YmFQVTg0T09CNkd2cEx3cjRla3VkUHNQRVhpNTJ0TkcwcTFSTkswMjZZQVFSSW9BbQpuNEFNaFVmUVpQQXpnY0YrenhvMXRQcitwNjFkcXlpeWlXT0YzQTh2Y3hPN2tqN3d3dU1IalB2WHJFS1h2eEV1Wnpmd3d4ZUVvYmdOCmJLb3krbzdEdzVZOUlzZ01NQUUrdU9vQWx1THo0alR6bS90NDRmQ2NOem0yVWN2cU94dUhKN1JFZ01NWUo0NXgxaTF2V0wzeFhmeSsKRXZDTng5bHRvRDVXcGFwQ09MZFJ3WW9pT04vYmo3dnNjWlRXOVl2dkZsL0w0VDhJWEF0YmFBK1ZxV3FRamkzVWNHS0xIRy90eDkzMgpPTTJMMjhzUGg5b2xuNFk4TFdLM0dyU3B0dExYcVNlOHNwR09NOGs4ZWc3Q2dDV1c4MG40ZmFmcHZoancvWStmZnpFTERhcHl4R2ZtCmxrUEhIY25qMEhZVjhyK09QK1IvOFIvOWhTNS85R3RYMUo0ZTBPejhCYWRjYTE0azFUN2RybC9JRGRYMHVNc3pIQ3hSanNvemdEMzcKREFIeTM0NC81SC94SC8yRkxuLzBhMUFHRFJSUlFBVjczOElQRUY3bzN3em50ZEpzbXZOV3Y5WGxpdFVJT3hTSVljdTU3S001L3dEcgo4VjRKWDBUOEVkYjAzdzc4TE5TMVBVV1ZSSHFraXhnREx1eGloK1ZSMUpKeHdQYWdEWThRK0dMTHdkOE1mRTE3cTJvL2JOZTFXM1lYCk45Y0VCcFpDTUNOQjJVZEFCL0xBSHk5WDFyb25ocSs4UTZyTDR2OEFHekJZZ2hHbjZTeC9kV2NSSDMzOVpDQ2NudGs5ZUF2RTZGOEkKL0IvakRWTlN1YkNQWGJmU0VtSWd1eGN4Q09ZazVJaVV4RTdCMHlUNll6emdBOEFvcjNlNCtFbmdwL0Y4Zmh2U3B0ZjFDNlJmTXZaRQp1b1ZqdEZQVGUzbEg1ajJVYzlPM0lkcjN3ajhFNlRyTmxvbG5jYS9xT3IzWjNDMWl1WVI1VWZReU9mS08xZjU4NDU0b0E4R29yNkgxCi93Q0NmZ1B3MW81MURVZFUxeGVpcEVrOFROSkllaUtQS3lTVFV1bWZBWHd0YzZJbW82bE5ybW1sazh4b3BMdUZqR3VQNGlJc1o5dWEKQVBuT2l2ZlBEWHdhOEkrS0picWEwYnhCSHBjVGJJTDJTNmhBdVQ2b3ZsZmQ2ODU1NHhuTlJTL0NQd1pONHZqOE82Vko0ZzFDWkZMMwp0d2wxQ3NWb09NQm04bzVZNTRVYzlPM0lBUENLSytoTmYrQ2ZnN1JoRkJieitJZFExTzR6NUZqQmNRaDNBR1dZa3g0VlFPNTR5UU9wCkZIaUw0TStBZkRHakRVTlIxUFhWWnlFaHQxbmlNazBoNklvOHJKUDBvQStlNksrakxENEMrRlpkRVhVdFV1TmIwMzVQTWtpa3U0V00KUzR6OHhFV00vU3FQaG40TWVFdkZIMmk1dG04UVJhWWpGYmU3a3VZUjlvLzJsWHl2dTllYzg5dURtZ0R4L3dBRC93REkvd0Roei9zSwpXMy9vMWErbnZFMnQ2bnJWNjNoRHdYSWx2Y0FoYi9VbFVGTEdQdUY3R1Fqb08yZW95Q1BPSCtGMmpRZU5MWFMvQjB0N2UzbHN4YTl1CjcyVUdDeUJVNEk4dFVZeWdrTW9EZFFNOEhOZWwzMTdwbnd5OFBXdWphSmFTWCtzWFIyV3R0bmRMZFNuckpJZU9NbkxIZ2ZUTkFCZTMKbW1mREx3N2E2Tm9scEpmNnhkSFphMjJkMHQxS2Vza2g0NHljc2VCejJ6VmV4c3Jmd0xZM1BpYnhUZkpmK0pyMVd4bGdOemJTVnRvQgpqOEJ4a2tuMXhTNmZaVy9nZXp1UEVuaXEvanZ2RTE4Q0FTY1piQksyOEF4MDdEakpKSjc0cXpwR2p5eTNQL0NiZU5CYjI5OURCbUszCjNueWJHTVpKYmtrZVlSamNSeHdNZE0wQVFQNGNQaUhSN25XL0h2a1draldNMEtReGxRdGhFNm5lMjVzNWt4Z2tuSUJIQTduNVg4UTYKUStnZUlMN1NwSkVrYTJsS2IwYmNDTzNPQm5pdnAzN0pkL0ZlL2p1THN5MjNneTNrRHhXNCtWdFNZSElaL3dEcG54d08vWDBOZVYvSApteTBaZkVWcGZhTTZNZGpXMTJzQUhsd3lMZ3F2QTRZZ2s4bm5GQUhNZkREVXJpMThWblRvTHllMC90YTNrc0JORklWOHA1RktySVFDCk03U2Nqa2ZVVjlGM3QzcDN3MThPMnVnZUhiRnI3VjVsSzJscGtHU2VUdkpLZU9NbkpQQTV3TVpGZkg5ZlcvaHJVUERtbitHSlBpTHEKTjJHdWRSZ1NhNW1kOTRoYmFBMEVRNmdCc2dMeWNrak5BSEFmRS9SdFE4Si9EWXlhcmVqVXRjMTI3alRVcnR3Y0tFQmtWSWdNQUtDdQpPbk9TY0RPQjRQWHJmeHAxYlZ0WHRQRGw5cU1OellDOGptbVhUcEdHSWxEZ0lTQi9FVklKejB5ZUJ5SzhuaGlhZWVPRk1icEdDalBUCkpPS0FQb3Y0V2ZEOU5WOEE2TzJvUEt1bVRYRWwvYzJqWlV6eUJ0a1lQVDkzdFZXeGdrbkJCQXJxOWQxZS93REZkL0o0VDhJWEF0YmEKQStWcVdxUkRpM1VjR0tMSEcvdC9zajBPRFdkSE5yZXA2VHAzZ0RRTGxiZDlPdEliVFdkV2l5VmdLSUZhT0k4WmM0NjloNkhCclp2NwoyeCtIMmgyZmhqd3JZcmM2dktteXp0VHpsdThzcEdPTW5KUEdlZ3hrVUFKZlhsajhQZENzL0MvaFd5VzUxZVZObHBiSGtsdThzeEdPCk1uSlBHZWd4a1UzUnRLc3ZoMW9sMzRnOFRhazEvclYwZk12THh4bG5ZL2RpaVgrNk00QUhVbmdBWUFORzB1eitIZWhYWGlEeFBxSnYKdGJ1ZjNsNWVNTXM3azhSUkQrNkNjQURHZlFad0lQRHVqYXA0bTFFZUwvR1NMYnd4a3ZwbWxOOTIxajdTU2VzaEg1YzlNN1FBSGg3UgpOVThTNm4vd2wvakpWZ2hqSmJUTkpQM0xXUHRKSjZ5RWZsazlNN1Y1YTQ4R2FIOFdmSE4zckVGcE5iYURCRzBMMzl1NFEzczRJRzVBClZJS2dBZ252eDc0NktlNnZQaXBxTWxuWVN2YStEYmFRcGMzUzhQcUxEcWlIdEhucWUvVG5KQXZlSlk5VHVtdFBDbmg4dzZQby9sZ1gKV29pVkFVaXdQM2NTaHNoaUQ5NCs1NjR5QWVjV253bjhIYTE0cW0wZlF6ck56YTJUaGI3VURkUmlLTnU4YS91L21mcDA0SE9lMlovRQpmd2s4RTZOZld1azJUYTNxR3NYWi9kMmtkMUdOcWQzYytYOHFqL1BKRmVtM1pqOEgrRVk5TThIV050UE9vOHVCV21SVVJqMWtrT1FUCnljbkhKN1ZGNFUwR3k4SjJGNXFOM2ZwcS9pQzhQblh0MlhUZkszWkV5Y0tvNkFmeUdBQURnOVcrQ25nWHczb0kxRFdOUTFaWFZGREoKRk9oTWtoSDNVSGw1T1R3Qlc5NEU4RFNSTkg0ZzhSUlIybHBhcWY3TDBuL2xuWngvODlKUDcwcDdudHoyd3EzZkR1a1h1dWErL2lqeApuZFdxU3h1UnBta3JNclIyYWROekVIRFNIMTU3ODRJQ3YxUzExcngvNGxuMHFSSDAvd0FKV0xxdHc0STh6VW53RzJxUWNDTUFqUHJ5Ck9ja0tBVlpaZFIrS2VzUGIyN3ZhZUNMVmdKWmxHSk5Ua0hWVlAvUExwazQ1NTY1K1hTMW54QksrcVErQ3ZCOFNmYW8xVDdiY1JqRWQKaEFUenpnanpDTTdRUWV4SUl6ZzhRYXpmUE5INFA4RlFMSGRiZGs5OTVaTUZnbkdlZWpTWUlJWDNCUEJ5S2s4OXI0Q3NZZkN2aFdBYQpoNG12Z1pTWlczTVdQV2VkdXUzT2ZyOWVvQXQxY1dmZ08xajhLK0VyYzMzaVMvM1NqejIzdmtubWVkaGpqUDB6empucmJzTlAwdjRaCjZIZGF4ckYyOTlyTjZ3TjFkdU15M01wKzdHaWpvT3dVZjRDaXdzTkwrR21oM1dzYXhkdmZhemVzRGRYYkxtVzVsUFNORkhRZGdvL3cKRlYvRC9oNi8xUFdIOGJlTlpFU1dORC9aK25IL0FGV254OTJQT0drSXhrL1hxTUJRQTBEdzVlNm5ySjhiK05KRVdhSkQvWituSEhsVwpFUi9pUHJJUmpKK3ZYamJVbFhVdmlucktxa3IybmdlMWI1OW94SnFrZ1BUUGFMK2ZQWElLa2cxTDRwNjBGUjN0UEE5cWZud01QcWtnClBUUGFJZnI3NUJXNzRoMSsrdmRRVHdWNEpXT082VkFMMi9DWmkwK0wrUmtJNkQvSElBRHhGcjE5ZTM2ZUN2QkN4eFhTcUJlM3dUTVcKbnhlM1l5SFBBL3h5THdTeCtIMmh4YVJvZG5McU9zWENzOFVHNEdXNWNETFN5TWNZR1R5VGpsZ09wcU9lWFRmaHQ0ZmkwM1NMT2JVTgpXdU1tS0Jmbm11WkNRREpJZXk3bUdXUEh6ZSthaWVEUy9BYVhIaXZYTHVhKzEyOWpXM3lmdk94NUVNRVl6dFVrRGpKUEdjazV5QUR3CjZaNENqdWZGV3UzMDk5cmwraXdaYmd1eDVFRUVZNkxrZFBtUEdjazV6SG9QaDY2dTlUYnh0NDFrUmJ1TkdOblpFanlkT2lQZjNrSTYKdC9nTUdnK0hydTcxTnZHM2pXU05idU5HTmxaRS91dFBpUDhBT1FqcTM4K01VbmcxRDRxYXRGSkpJOXA0SnRYM0NJQWg5VWNkTW50RQpQMTk4Z3FBSkpiWC9BTVZ0VmllU1NTMDhFMnNnYnlnQ0gxUngweWUwV2NmWG4xVWkzNGwxdlU5V3ZVOEcrQ0dqdDVWd3QvcVFUTWRoCkZqN3Erc2g0d1BmdGtNRjhTYTNxZXEzNmVEZkJCamdsWEM2aHFJVE1kaEZqb283eUhqQS9sbmNKdFF2OU0rR2VnMm1qYUxhUGZhemUKTnN0TFVIZExjeW43MGtoOUJ5eEp4K0djMEFGL2ZhWjhNdkQ5cm8yaTJqMytzM2JiTFcxenVsdVpUMWtrUEhBemxqd1BwbXE5bllwNApFMGk5OFcrSnBtMVR4SGNCZC9sTGtnc3dWSUlWNmhkekFaeG5rbnVSUzJsa25nWFNienhaNG1tT3FlSTdoVkQrU3VTQ3pCVWhoWHFGCjNNQm5IY25ISnExbzJqVHpYUThhZU5SYlFYOE1KOGkzVW55ckdQazVPU1FaQ01aSXdPQmdjQTBBSm8yalR6WFgvQ2ErTlJiUVg4TUoKOGkzVW55YkdQazVPU2N5RVkzRWNjREE0QnJNTm5lZkZmVUk3aTdNdHI0TXRwQThWdUJ0ZlVuVTVEUDhBOU11QmdkK3Y5MDB2MlM4KwpLMm94M0YzNWx0NEx0cEE4VnZqRDZrNm5JWi8rbVhUQTc5ZjdwRmp4THErcWVJYnB2Qi9ncVdPMUtZajFEVTFYNUxPTHVrZU9zaEhUCkhUMUdRd0FGOFNhdnFmaUc2YndkNExtUzAyWWoxRFUwWEsyY2VPVWp4ajk0UjZkQjZFZ2psL2kxNGI4UGFOOEwwMEt4a1lYMW15M2MKRUlZTkxPUWRza2o4Wk9GZG1KNHgxNlYxK3AzMWo4T1BEMXZvWGh1eE43clZ3Q2xuYS9lZWFROVpaVHh4azVZNUgxR2FvemVENXROOApFNjljNnZkcHFIaXJXTEtXMk14SVZUTEloVklZczR3dVdBSFRPU2VNMEFmSnRmUWZ3Y3RkTDFqd1REcVBpQ1JWcy9EbHpONUtPK0lmCm1Ba01rZ1BCWlN6QUhqZzR3YStmcEkyaWthTnhoMEpWaDZFVjdMOEN0TVR4UGI2MW9XcFR5dnBDTkRkUFpxRTJUUHUvakpVdGo1RjQKQkhTZ0RDK04ycnJyWGpPMHZiZVdWcktmVG9MaTNWeVJ0VjEzWngySkdNMTU5cDMvQUNFN1QvcnNuL29RcjBUNDd2QS94SWI3TTBiUgpMWndxUExJS2pBUEhGYy84TUkxbCtKbWdJNnF5bTZBS3NNZzhHZ0Q2ZzhUK0lZdkRFWDltYUJZeDNXdjZnN3ZiMnE5QzdITFN5SHNvCkp5ZVI2Y1pGVWRIMDIwK0htZzNQaUR4UnFQMjNXN2diN3k4SXlYYzlJb2g2RE9BQUJuMEdjQTBqVHJUNGVhRGMrSVBGT29pOTF1NEcKKzh2TVpMc2VrVVE5Qm5BQUF5ZWNET0tnOE9hUnFuaWUrVHhmNHlpVzFoVDU5TjBsajh0cW5hU1RQV1FqMjQ5c2tBQVR3NW8rcWVKNwo5ZkYvaktOYmFGTXZwbWxOOTIxajV4SkxucklSajZjOU1sUkJOZDNueFUxQjdPd2xlMThHMjhoUzV1bDRmVVdCd1VROW84OVQzNmVvCkJOZDNueFUxQ1N6c0pIdGZCdHZJVXVic1pENml3T0NpZWtlZXA3OVBVQjEvcUZ6NG11ajROOEZNbGxwTm5pRFVkVGhIeXdxT0RERmoKcS9ZblBIMXdTQVB1OVR1UEVPb0w0UjhGK1hhNlZZTUl0UjFGRnlrYWpyQkZnakxub1Ruam5vY0UvTS9qVUZQSEd1d2huTWNGL05CRQpHWXRzalJ5cUtDZXdVQUQyRmZWTjFxT25lQmJUVGZDdmh2VHhjYWhLUXNOcEhqS3JuNTVaRCtKUGJKNDR5SytWL0hIL0FDUC9BSWovCkFPd3BjLzhBbzFxQU1HaWlpZ0FyM3Y0VmFoNG91dmhwL1pPZ3NUYzNPcVRRZmJaMkxKWXdpS0lraFQxT1dPQjB5ZW5VandTdmVmaEgKcjJwYVQ4TTU3UFJMQTNtcjZocThzVnNHL3dCVkZpR0hMeUhzb3puMzZkY1VBZDdjM2R2NEMwMkh3bjRXai90RHhIZWJwejV6azRadQpHdUp6MkhINDR4MTYxUERXdGVDZkJzTjlMZStLYkcvOFF6c1cxQzZsa0FlU1JlTmcvdXFEd0IyL0lDYS8wSWVBL2g1NGgxTnRSRng0Cmx1clo1cmpVWlF1K1dRTHdGQjZLT3kvL0FLaDhuVUFmUytoK0lQRGVvK0pwUEZIaTd4YnBFOXlueTZicDhNcE1Oa2g3OGdicERuQk8KT3g3WUNyNGc4WGFMNHc4UnJaWHZpM1NiUHdsYW45OUJITWZPdjN3Q0F4eGdSODQ0Snp0WUhPUnQrWjZLQVBxanhSOFI5SE5qYTZINApVOFJhTlplZWpDUytra095MGpVb01Lb0hMa01TQWNENURTMjNqbndKNEk4TXJhNkhxMW5lM2NrZ1VzMDJXbGxZOHlTdGduR2Nrbm12CmxhaWdENncwYnhmNE0wUVgycTNQaSt6MUxWN3FNTk94bENybFFjSkV1Q1VYbnBrK3B5YzFrYUhyL2hlODhTTjRwOFcrTE5JdU5RVGMKbW4yY014TU5sR2ZUSUdYSTZ0ajE3WXg4elVVQWZTL2lEeFRvWGpMeEpGYmFqNHUwcTA4SjJiN250WTV6NXQvSUJ4dk9BQkh6MDV6Zwo1NmdyZjhXZkVUU3JpeHRkRThLK0o5RXNGbkJFOTlMSVNMYUlGUVJHb0dDNTNaR1NCaFQzd1I4czBVQWZWMXQ0MjhEZUQvQ3JXbmg3CldkTnVib0ZRdm5YSE1zak1BWkpHQUpPTWxqN0ExbitHL0V2aExRb2IzeEJySGlyVE5XOFRUeE0wanBMaFZBQkloaXlPRjdaeHoxeHkKYStZYUtBUHEzd25ySGgzeGZyUjhXNmhxRmsrb1FXdSszc0ZsTGl3aXhsbWJQV1E4NUlBNEFIT00wOFd0NzhWZFNqdUx2ZmJlQzdhUQpQRmJFWWZVM0J5R2YwaUJ4Z2Qrdm9SODRlQkpaSXZIL0FJZTh1UmszNmpCRzIwNDNLMGlxeW4xQkJJSTdnMTlNZUp0YTFieERmbndoCjRLa2p0aXBDNmpxb1hLV2NmZEVBNE1oSGJ0N1pEQUFQRXVzYXA0Z3ZENFA4RXl4MnhUQ2FocWdYS1djZmRFeDFrSS9JZW1Rd20xWFUKTEg0YitIN2JRdkRsaWI3V3JuNUxPMCs4ODBoNnl5bmo1UVRsaVNQcU01cGRWMUd3K0crZzJ1aCtIYkEzMnRYUjJXZG1EbDVwQ2VaWgpXOUJuSkp4OVJuTkdtYWZhZUE5SHZQRlhpN1VJN25XSlUzM2QxamhmU0dJSHNNNEhUSjU0eWFBRFM5T3RQQWVqM25pcnhkcUtYT3NTCnB2dTd2SEMra1VROUJuQTZaSnp4bW9ORDB6VWZGT3JRK0x2RlEreFdkdXdrMHJTM2JhSWZTV1VucTU3RHQ3WklxRFQ3RzU4UjNQOEEKd21uallKWTZWWmd6NmZwa3grV0JSejUwMmVyNDZESEg0a1UyQzF2UGlwcUNYdW9SdmJlRFlIRFcxbXd3K29zRHc3K2tmb08vWDBOQQpIeXhxQkIxTzZJT1I1ei96TmR4OEg3WFZOVDhXWFdsYVpxcDA1cnl3bWplYll6NEdNWkFWMStZWnlEbmc5cXhmaUpZV21sL0VIVzdHCnhnU0MxaHVTc2NTRGhSZ2NDdDM0TXkzOEhqTzdtMHFCSjlSVFM3bHJXSi91dktGK1ZUeU9DY2R4OWFBRDQwNlZhNko0NGcweXlRcmIKMnVuVzhVWVBVaFZJQko3bmpyV0Y4T3I2MjAzNGg2SGVYa3l3MjhWeUdkMjZBWU5kQjhhTFBWTFh4ZFkvMnUzbTNuOW1XNlRYQ3FRawowcXJoeXB3TTgrdzY5QlhBNmQveUU3VC9BSzdKL3dDaENnRDZ2OE9hUnFuaWU5ajhYK000RXRJMEhtYWRwTE5sYlZQK2VraE9NdVI2CmdZSHBrZ1Y1cnU4K0ttb1NXZGc3MjNnMjNjcmNYYW5ENml3T0NpZWtmcWUvVDFGV05VVFZmaUZyMTFveXBMWWVGckdWb2IyY25FbDkKSXB3WTA5SXgzUGZwNmlvYisvdWZFbDEvd2huZ3JaWTZSWmdRYWhxY0l3c0tnWThtSEhWOGRUbmdmVUdnQXY3KzQ4UzNYL0NHZUNpbApqcEZsKzQxRFU0ZnV3cU9QSmh4MWZzVG5qNmtHcjJxYWphK0JkSnMvQ3ZoSFQ0N2pXSlUyMnRybmhQV2FVanNNNVBUSjQ0eUtOVTFHCjE4Q2FSWmVGUENHblIzR3NTcHN0TFhQQ2VzMHBIYm5KOVNjY1pGR21hZnAvdzIwQzUxenhEZk5mYXpkSGZkM1pHNlNlUTlJNHg2QW4KQUF4OUJuRkFFbWg2UllmRDdTcGRWOFFhajlzMXEra0J1NzEvdlN5TWNMSEdEMFVad0J3UFlad1Bsbnh4L3dBai93Q0kvd0RzS1hQLwpBS05hdnB2d3pvdXE2L2ZEeGY0MWpqdG1VbHRPMHN0bExPUHN6azhHUWp2Mkhwa3FQbWZ4M0ZKRjQvOEFFSG1Sc20vVVo1RTNERzVHCmtabFllb0lJSVBjR2dEbnFLS0tBQ3ZvZjRKNi9wM2hyNFY2bHFPb0g3dXF5TEVpak1rakdLSENJT3BKT0srZUsra1BnVm9kbTNnVCsKMU5YdHRvdE5Tbm50bm5YQ0FORkVwa0dldjNTTS9XZ0N6cTNndlh2Ri9oclhQRVhpYUJYMU9hMFlhVHBDUGxMSmNaQkpPQVpEM1A4QQpRNFg1bXI2enRMN1dQaVA0aTg2MGVYVC9BQWRZU0FwT3BLeTZsS1BUMGlINisrU0Z5UEVlamVITlc4V040ZDhNZUZ0SnU5VUxlYnFkCi9QRVREWnF4Sk9jRWJwRHpnWkg1WndBZk1kRmZWdmlMd3g0RDhNMmxsWkR3MXAxNXJGMlZndExmeWlESy9RdTJNa0tPcE9EZ1pxcy8KZ1R3VjRFOE5UWFBpSFRyTFVycWFkbmlWTGJETzc0eERHdVNTQWVCOVJRQjh0MFY5VStHUGh6bzM5bjNXdCtLL0RtaTJYbklySlpSeApuYmF4cVdQek1UOHprTUFTQUI4b3JQOEFEL2hEUmZHSGlJMzFuNFQwbXo4SjJ4UGt6UENmT3Yzd1JrRE9CRnpubkpKVlNPcHdBZk0xCkZmUzJ1ZUh2RG1wZUpvL0MvaEh3bHBFMDZmTnFXb3pRa3cyU2Vnd1J1a09jZ1o5TzJTdWo0dDBEd0w0V3M3V3p0L0NkaHFXdTNuN3EKeXNvNHdHbGZITE4vZFVkU2YvcmtBSHl4UlgxSmNlRVBDUGcvd2l1bytLUEQybFhHcFR5QlZ0N0szT0htWWZMREVDU1QwUDY4ZHFuMApYNGJlSEZobjhSZUpQRHVtNmNza0F4cHluZkZhb09jczNBYVE5eUFCMjU2MEFmS2xGZlRYaDd3WG9uakRYVjFPMzhMYVpZK0ZyWnliCmN0QWZPMUE3R1hKNXdzV1dERGdrbEFlaHFMVy9EWGgvV1BFU2VHdkIvaFRSM1pDUnFlcHl4RXgyYUVkRndSdWs1eU9lT004SElBUEQKUEFVRTF4OFF2RHFReFBLeTZsYnVRaWxpRldSU3g0N0FBa25zQlgxRHJ1c1dQdy8wcUxTZkQybWk5MXUra0l0TEZEODByc2N0SklSMApVWkpKT0I3ak9SUzFvK0h2aHlJWXZEUGgyMW44VFg0RUZwYTI2N1drOVhjL3dxT3BQNFpBSkl0NmJwOW40RTBpODhWZUxiK09mVjVVCjNYZDEyWDBpaUI3Wk9CMHoxT01tZ0EwelQ3VHdKcEY1NHE4VzZoSGNheEttNjd1dXkra1VRUGJKd09tZXZHVFZDd3NManhIY2Y4Sm4KNDJWTEhTckxNK242Wk1mbGdVY2lhWFBWKzRHT1Bya1VhZllYSGlTNUhqUHhxaVdPbDJlWjlPMHlZL0xDbzVFMHVlcjl3TzMxeUMyQwowdlBpcHFDWHVvUlBhK0RiZVFQYldqY1BxTEE1RHlEdEhub08vWDBJQUMzdGJ6NHA2Z2w3cUVUMnZnMjNjTmJXamNQcUxBNUR5ZWtmCm9PL1gwSXNlSXRYMVB4VGZ2NFI4SFRMYXdSank5UzFaQjh0cW4vUE9MSFZ5UGZnZW1RUWVJdFkxUHhUcUQrRVBCMHEyMEVmeWFucXkKZmR0VTd4eFk2eUVmbDdaQkYyK3ZMSHdMcGxqNFk4TTIwVXVzWFo4dTBobExFQmoxbW1LZ3R0R2NrOS9iT2FBUG1MNGpYbHRxSHhEMQp5NnRKbG10NUxrbEpGNk1NQVZ2ZkJUVVlOSDhjWEdwM1c3N1BhYWJjenk3Qms3VlVFNEhyZ1Z3Rjc1bjI2NDgzYjVubXR1MjlNNTV4CjdWNlg4QTRTM3hEYWFTTW0yanNwUk03TDhpZ2dmZVBRWndldEFGejQxWHVzYTFwZmhmV05XMGlUVHBabzU4d0hMZVVDNE1hczJQdkYKQURnNFBYZ1lyeVNHVm9KNDVreHVqWU1NOU1nNXIzajR2NnRkK09mQjgycmFTdHVQRGVsWFlIMmlYZUpicVE0VGRFTnUweGd1UmtuTwpRZUJqbndTZ0Q2dE9zK0l2SEduNlZvMmxSZjJjbDNZUVhlcjZuR3BWWS9OakRtT0VaenVPVHpuSUh1UWEwOVUxSzE4Q2FSWmVGUENHCm5KYzZ4S215MHRBZUU5WlpqNkRPVDZrOXMxeG53NjhhWDF2OElyR3owVFRwOVIxMzdWSllSQ1QvQUZhdHk2c3paenNWR1VkdW0zamcKMTJXbTJWaDhOdkR0eHJ2aUs4TjlyVndBOTVkRDVubmxQU0tJSEhHVGhSZ2RlZ3pRQWFaWVdIdzI4UFhPdWVJcjFyN1dybjU3eTYrOAo4OHA2UlJEajVjbkNnWStnemlvZkRXajZwcjE0UEdIamFLTzFaTXZwK21Gc3BaeGRuZlBXUWp2Mkhwa3FEdzFwR3A2L2REeGo0MWlqCnRXWE1tbjZZemZKWlJkbWt6L3kwSTY1NmVpNUtpcXQzZWZGZlVaSWJWWmJYd1hiU0ZKTGduYStwdXB3VlQvcGx3Y252MC92QUFBTHUKOCtLMnBTUVdva3R2QmR0SVVrdU00ZlUzVTRLcjZSWnprOStuOTRDMTRqMWQ3clUwOEllRHJTMmZVMFJWdXJ4b3cwZW5SQVlHY2c1ZgpBd3EvendhazE3WDdwNzJQd1Q0SWhqVytSQXR6ZEFmdWRPaTZaUHErT2krdlhvYTU3VWZHL2hINFQyTS9oelQzdUxuVnlyU1QzS1JpClV0TzNKYVVsd1NlK01uampOQUhSZUlkWC9zRzJ0UERta1cwV3MrS0xoTVIrYkdvQ0R2Tkx0R0ZVWjZmUWR4bTgwbHA0SDhJcGNlSkwKdE5SdkFQbWNXNkI1cEQwU05WQXp6Z0QvQU92aXZNZkNueFo4Q2VHRnVyaDAxMi8xVzlrTWwzcUU5dEVKSlQySCtzNFVEZ0FjVlh0ZgppMTRTdXZGRW5pRFgvd0MyTDJhTm1XeHRCYXhpRzBUY1FDQjVuek9WeGtub1N3SEZBSHB2aEN5MXFTRzk4UWVMQmEyY1Z3ZDl2cGFSCnBzdElnT043YmNsejM1eDlNNEdSQTk3OFVOVWtoaGhheThEV2o3UXdHMTlUY2RjRHRGL1AzeVF2SCtKZmpKNFc4VVhrTnJkdHJVT2gKeGhYbXRvcmFQZGRObHNxNTh6aE1iZUIxNUI0cnRybnhoTDRtdHJMUXZoN0NURlBHQlBxWmoyd1dLREdWQnhneWdFZkw3ZzhqT0FDegpyM2lLN3ZkVVh3UjRLalJicU5GRjdmQWZ1ZFBpUGIza0k2TC9BRDV4YWxuMGo0YmFOYTZScHNYMm5WcitUYkRFU1RKY3pOMWtrSUJPCjBkU2NIZ0hyelVpRFMvaDlwbHBvZWtRcmM2eGZ1ZkppZVFLOXpLUmxwSkdQT0Jna25rOGNBbXEwRHI0RDBPNjF6eFhjdzMrdTNrdVQKOW1qeXpub2tFSU9DVkdUanB5eHp5Y2tBbmRyVHdIcHQ1cmZpQzdHbzZ0ZHlncTZRNGtjNHdrRVM1SndDVGovZTU1UE5QdzlvRjdkNgpnL2pieHUwVWQ0cUUyZGlXekZwMFgxNkdRanFmL3dCUVh3OW9GN2QzNytOZkc3UngzYW9UWjJKZk1XblJmeU1oenlmOGNDakVkUytLCmVzbDVJcExUd1BhbjVBeHcrcVNBOVNPMFEvWGpya2hRQVFhbDhVOWE4eVJYdFBBOXFma1VuRDZwSUQxSTdSRG42KytmbHQrSVBFT28KYXBxNmVDdkJjYUk2S0JxR3BBZnVyQ1BqNVY3TklSbkErbmJKVTEveEZmNnBySytDZkJjYUxKR2cvdEhVaC9xckNQOEF1ci9la0l6ZwpmVHJ5VnNhaHFPbC9EVFJMWFJ0R3MzdnRadldLMnRvaHpMY3luNzBrakhvTzVZLzRtZ0ExRFVOTCtHbWgydWphTlp2ZmF6ZXNWdGJSCld6TGN5bmxwSkdQUWR5eC94TlY3UzB0ZkFkbEo0cjhXVE5mZUlMNWxnWjRJeTdCbTVFRUMrbkh0bkhyMUxTMHRmQWRoTDRzOFZ5UGYKK0lMMHJDelc4ZTlnekg1WUlGT09PUGJPUFhyYjBYUmJuN1pjZUwvRjkxaVlaZTF0SGJFVmpGenRKWEpIbTdTY25uRzRnRWcwQVM2YgpvN05xVno0djhUeXRFUU45clpUUzdvN0dNQWdNUU9ESVFXeWVTTnhVRWlzV09DLytLbXFwYzNTdmErQ3JWOTBNQkpENm00Nk00N1JlCmc3OWVjakJGRHFIeFUxWkxxNlNTMDhGV3I3b1lHT0gxTngwWmgvenk2NEhmM3o4dG54RHIycDY3cTYrRGZCYXJFa2VGMVBWQVAzZG4KSC9jVDFrSS9MajFKVUFQRVd1NnBydXFwNE84RmhJbFRDNm5xZ0g3dXlqL3VKNnlFZmx4NjdsbjFiVmRQK0craVdlaGVIN0JyL1dyeAp2THM3SlcrZVp6eTBramVnNUpKL01ja0dyYXJwM3cyMFd5MEhRTEJyL1dyMXZMczdOR3k4em5scFpHUFFEa2xqL0xKRHRPc0xQd0pwCk4zNHE4V1gwYzJyeklEZFhYVUxucEZFRDJ6d09tZXA3bWdBMDNUN1B3SnBOMzRxOFdYOGMrcnlvR3VycnN1ZWtVUVBiSndPbWVwNm0KcU9uMkZ4NGt1UjR6OGFvdGpwZG5tYlR0TW1QRUtqcE5LUDcvQUhBN2NkRG5LYWZZWEhpVzVYeG40MWpGanBkbm1iVHRNbVBFS2pwTgpLUDcvQUtEdHgzemx0dmEzbnhVMUNPOTFDRjdYd2JiU0I3VzBmaDlSWUhoM0gvUFBQUWQrdk9SZ0FMZTB2UGlwcUNYdW9SUGErRGJlClFQYTJqY1BxTEE1RHVPMGVlZzc5ZWVDSi9FV3M2cDRvMUJ2Q0hnMTF0NEl5RTFQVmw0VzJqN3h4WTZ5RWZseDB6dUI0aDFyVlBFK3AKSHdoNE5aYmVDTWhOVTFaZUV0bys4Y1hySVIrV1IwemtUNjFxdHA4TzlEdFBEM2hmVFRmYTNkZnU3T3pVNUxNZXNzcC91Z25KSjY1NQpJQkpBQXVzYW5hZkQzUXJYdzk0VzA3N2JyZHdObG5aZzVMTWVzc3A5Qm5KSkl5ZTR6a0piNlBQNEo4SmF6NGp2N2lHLzhVTll6WE10CnhMa29YU05uRWFEZzdCam9NWkdUeGswNnh0TEg0ZWFEZWVKL0ZONnR6cThxYjd5NUhKWnUwVVFPT01uQUhIcWNaTmVkL0VmVWRhdWYKQVY1ci9pR0tXd2sxT1JMYlNkUFEvTmJSazdtYVU1R0dkQXdJNTRJQkF5YUFQQnBwV25ua21mRzZSaXh4MHlUbXZaUGdmNFRmeEpvLwppU0M2YWFIVGJyeUlKSlluMnMrMXQ3eDhISXlwQUo2WVBldkdLOTMrRm1qK0lMNzRlalN0SHZGdEk5V3ZKSmJxOWpPV3RvRkFqS2owCmtZcngxK1U1eURpZ0R0ZGN1VjhYMjE5NEc4SzZSWnphWGIyclFYRjdNL2wyMXZKdC9kckh0VWxtVTRiZ2RoenptdmxPdnIvVjlVdGYKQWVrMlhoWHdocGkzV3N6THNzN05laWVzc3A0NEdja25razlzNUh6MThXZkQ5N29QaldWcjRxODE3R3R6SkpGRVVoTWpENXhIbnFvUAo0K3RBSFJmQXp4YlplRzdyWFV2eGNTTDlrTnpGSEhnNU1ZTzRLQ1I4N0FxQmpyaXZYdkRla2Fqcjl5bmpIeHBDbG95QXlXR21PM3lXClVmWm56L3kwSTllZzdBa2l2bGp3N3JFbmgveERZNnRFaVNQYXlpVGE2N2dSMzR5TzFmVUxOcTN4UG5nU1N5dXRLOEpHR09kdk9kQk4KZmgxREt2eU13Vk1FWjU1emc5eFFCRWw1ZC9GaS9saHRsbXRmQmx0SVVrblB5dnFiS2NFSi93Qk11T3ZmcC9lRmFtcjZ6TGNYWjhGZQpER3Q0TDZHQWVmY2xUNU5qR01BS01BanpDTTdRZU9EbnBpb2RkMTY0YThpOEVlQ0lZMHZZNHdseGNvb0VPbXhZd00rcjhZQyszZkJGClZaNXJiNGY2ZmIrRmZDbHFkUzhTM3hMa3Vja3NmdlhFN1o2ZTJjOUI2R2dDVVQySHcraHN2Qy9oeXprMVBYcjJUekp1Y3Vja2VaUE0KeFBUNm4wSGZOZk12amova2YvRWYvWVV1Zi9SclY5VDZUcHVsL0RuU0pOUzFxK04xcTkvS3YycThrNWt1SldPQWlEakNnbkFIQUh0bQp2bGp4eC95UC9pUC9BTENsei82TmFnREJvb29vQUsraFBnbnI0MGI0ZFRXOEVQMm5VNy9XWlliSzMzQlE3aUdJa2xqMFVEazlUZ2NBCm5pdm51dm9UNE0rSXROOE1mQ25VZFIxQUYyWFZwRmdoalhkTE01aWhBVkIzSk9CUUI2Tm85bVBDbHBjYWw0bzFLenVOYzFDVXMwMzMKVkcxVHRpako1Q0tNa2U3SE9TY255cTMrTG5nK2J4WTNpUFdJdGV2N3BFQ1dsdWJhRVEyZlhkc0htOGs1KzhlZXZRY0RmOFNlRjlTMQpqd1Q0aThXK01FWCswRFl1YkRUdDI2UFQ0d01qMk1oN3QvTG9QbXVnRDN6eEw4WlBDUGlpYTBodkY4UUpwVVRiNTdHTzFoQXVUMkR0CjV1ZHZUakhQT2M1cS9xbng2OEwzV2lQcDJteGE1cHBaZkxXYU8waFlvdVA0UVpjQSsvTmZPbEZBSDBSb1B4czhCK0c5SEduNmJwZXUKSjFaNVhnaVpwSFBWMlBtNUpKcWhvUHhkOEU2UnE5N3JWNWI2L3FPcjNSMm03bHRvUVk0K29qUWVhZHEvejc4ODE0TlJRQjcvQUcveApwOEtOcjdhcnFnOFFYN1JzVFoyN1dzS1JXdVFBU0FKZm1iQTZua1piR00xRjRsK01QaER4VGQyUzN3OFFqU2JkL01sMCtPMmhDM0xkCnZNYnpjbFIvZDZIbk9lTWVDMFVBZlJXcy9Ibnd4ZjZJK25hY211NllYWFo1MFZwQ3pJdU9pZ3k0QjkrYVRSUGpmNEU4TzZNdW5hWnAKV3R4QlFUNWpRUk16dWVydCs5eXhKNVBQTmZPMUZBSHZmaC80d2VDZEcxQzgxVzZ0OWYxRFZydGp2dTVyYUVGVTdJbzgzNVZIb1A1NQpxTy8rTGZndldmRk5yckdyUTYvZDI5bDgxcFlHMWhFVVVuL1BRL3ZmbWIwejA0eGpuUGhGRkFIMFZOOFJmQ0h4SzhWYVBwRjVQcTl2CnB4bkdMR2UzaldHNGwvZ0VqTElTUnV4aGNZeWVmVWRiNGcxdlUvRStxSHdoNE9iN1BieFlYVk5XWEd5MlR2SEg2eUVmbGtldVI4emUKQi84QWtmOEF3NS8yRkxiL0FOR3JYMUo0aDEyMDhCNmZiNko0YjB2N2RybC9JUmEyTVdNc3pITFN5SHNvemtrL29Na0FFZXRhdFovRAp2UmJQdzk0WTB4ci9BRnE2UGwybG1oeXpNZXNzcmRsR2NrbnFUeVFNc0gyZHBZZkR2UXIzeFA0b3ZSZGF0S20rN3VSeVhidEZFRGpqClBBSEhxY2NtaXp0TlArSG1pWHZpZnhQZkxjYXJLdTY2dXNaTE4yaWlCN1o0QTQ5VDNOUWFKbzk3NHF2b3ZGdmkrM0ZyYndIemRPMHUKWThXeWprU3k1NDM5K2Z1K3h6a0FOQzBpL3dERk45SDR0OFh3QzF0NFQ1dW5hWEtlTFpSeUpaYzhiOGM4L2Q5am12S1BqLzRvc2RiMQpYUjdQVGJscG9JYmN6dXl0KzdmZmphUnoxQURkUU1aOTY5SDFmeEZQNHgrM1hWdkhLbmduUjFlNHZwOWdMYW41UUxOREdwSXlueWtFCm5HZW5ZZy9OSGlIVjMxL3hCZmFySkdrYlhNcGZZaTdRQjI0eWNjVUFabGZXY3VwUDhQUENHa2VGZEMwK0hVUEU4bHVzY2RyYjhJWk4Kdnp6U0U0d3Vjbm5HU1IwemtlQS9DM1RiaTk4WndYVnZaejNiMkNtNWppalFsWlpRUGtqZHNFSUdQRzV1QjFyNk10cmJUUGhyNGZ2ZgpFZmlPOU4zcWtxNzd1NjRMeXYyaWpCeHhrNEE0SGM0eWFBRXM3WFRmaG40ZHV0ZThRM3pYMnJUQU5kM2VBWkxpVHRIR09PTW5BSEE1CnljYzF3M2o3dzlyL0FJeCtHVno0bjFyVDBzOVN0cERkMjFtQ044RnJnYmtjbkhPTXVSd2M0R0FSaXUwOE82UmY2L2N4K01mR2NDMmoKUnFaTExUWlcrU3lUKysrY2ZQam5uQkhUQU9SU2FYcm1vZkVQWG9yclN2TXR2Q2xqTnUrMHlKZzZqSXA2S0R5SXdlL2M4ZGlLQVBrVwp2YmZoTjR2OFNhcDRldWZCMm1YVUtYcWtOYlhOeklTME1CSURoRjJrSGJ5UmsveEFBRURGY0I4U1BDYStFUEY5MVpXd3pZT3pQYXVDCldHM09OdTQ5V1hvZlExamVHOWZ1L0RHdjJtcjJXRE5idnUyTVR0Y2R3Y2RxQVBxTyt2YmJ3TlpXdmhqd3JZcGYrSnJ4VnpoUU56YlEKR3ViZy9rVHpra2oxelZpenROTCtHSGgyNTFuV3J1Uy8xaTZPKzZ1Y2JwcnFZOUk0eHh4azRVY0FaN1pyUDhPZUlmQ2VpK0Q3cnh3SgptbnV0VmxhYWRRVEpQNXpNU0xaQWNIQ2s3UjBHT2VoelZ2dzNvK29hdGNEeG40MlJMYWRRejJlbnlNUExzSXVjRnZWeU9TVDB6MEhJCm9BZDRaMFBVdFp2RjhZZU5JMHQ3a1pheDA1bUJTeGo3RnV4a0k2azlNOUJraXZtRHh4L3lQL2lQL3NLWFAvbzFxK2s3TFVMMzRwNm0KWnJVWEZsNFBzNXZrbVB5UHFVaW4rSHVJd1IrUFE5R1d2QmZHUGhMeERkK1BQRWIyZWkzMTVIL2FVN0dTemhNNmpjNWNBc21RRHRaUwpRZVJua0NnRGlLSzN2K0VJOFdmOUN2clgvZ3ZsL3dEaWFQOEFoQ1BGbi9RcjYxLzRMNWYvQUltZ0RCcjZNK0F0aHBrdmdTZlZOU1NMCi9pWGFwUEpISkxqYkVURENDM1BmQXhuM05lSS84SVI0cy82RmZXdi9BQVh5L3dEeE5lMmZDN3dCcTkxNE9qMHZ4QmFYbW42Y2I5NzIKV0NRcXYydFNpS3FNdWR5Z0ZHSkRBWkJIVUU0QU5IV2w4UWZGNngxTmRNZVRTL0RNQ0ZiU1dSU0gxR1VkV3gxRVhweHpuNmhmbXU4cwpyclRycDdXOXRwcmE1anh2aG1qS091UmtaQjVIQkJyNnkxdnhMYzZ0cmJlQ1BCcUZaWUVVYWhxS0tQSnNJei9DRDNrSUhBOSsrR0FuCjFiVU5LK0h1aldta2FkWnZxZXQzaDIydHI5K2E1a3hqZTdIT0ZBSExIc1BZMEFmSDlGZlhPbVdlbi9EK3d2TmI4VFhrVXV1YXpJbm4KQkl5d2VRQWlPS05GQk9CdXhrRHVNazlhbjBEUkxsbVBpM3hvWUlybU5Xa3RyTWhmSzA2TmdNak9PWElBQlAxeGpKRkFIeC9SWDFocAp2Mjc0bGF0SmR0Ym14OEZ4S1VpaWVKUStxSFAzbUJHVmpHT09tYzk4a0IrdmEzUDRoMTQrQy9DTnNnRVM0MVRWUkdQTHMweDl4U2VHCmtJL0wzdzIwQStUS0srdTlVdnRGK0cyaTZmNGMwTFN4ZTZ4ZFpTeHNJMUJlUnU4anNmdXIzSlB2MkJJc2FaWVdIdy84UDZqcjNpYTkKaWt2YnRoUGV5N2ZsTGdZVkkxOWh3UHB6M05BSHg1UlgxbG8ybnpheHFrZmo3eFZFdWwyZGpISWROc1pBRk1FYmpCa2wvd0JwaC9EMgp5T01qSk5OaXZQaVZmbStudGpaK0RrNGd0bmlVUHFXQ0NIY0VaRWVRQ0J4bnZrSEFBUGsyaXZyWFd0Y3Z2RVhpQmZDM2cyTklvN2R4Ci9hbXNMR3BTMVVjK1hIbmhuUEE3Z1orcFdmeERyT25lQTlQc3RBMEhTMTFIWHI5eXRuWklvM081NWFXUTloMUpKL1FBa0FIemY4TmQKRzFIV1BpQm92OW4ya2s0dGIyRzRuWlI4c2NhT0dabUo0SEFQMTZESnI2YWp0TkkrSG1uYWo0bjhRWHBudnBpV211bitaMnlmbGlqSApwMkE0OVQzTlFhZllhVDhOTkQxRHhONGl1NDMxTzZ3MTdkS25NakhBV09OUjI2QUQyeWU1cUxSTkd2UEZWL0Y0dThYVy93Qmx0N2NtClhUdE1uSTIyeWprU3lEcHZ4eno5MzJPY2dCb21qM25pcStpOFcrTDdmN0xid0h6ZE8weWNqYmJLT1JMS0R4dnh6ejkzMk9jeFBmWHYKeEwxZ1dtbmhvUENGbk92MnE1WmYrUWt5dGt4S0QveXo0d3g3OGpzUVM5YS8rSjkwdG5ZeVBhK0RVY2k0dkk1QXNsK3lOaG9sQU81VQp5TUVrRFBianJpZU4vSEZ2WTZiY2FKNGJTS0RSdE1RSmYzYU1ZMElHTVdzTEtDZDdqNWR5ZzdRYys0QU1iNDZlSzdmU05FMC93aG9MCnBid1N4aVNkYlk3VkVJR0ZRWUdDcmRlRC9Eam9hK2ZxdjYxcXNtdGFyTmZTUnBDSE9FaGp6c2pVZEZYUFFDdFB3ZG90dnF1cXlYR28KbzUwblQ0V3U3MHJrRm8xR2RnYmdCMnhoY2taTkFIdW53d3Q5TStHdnd0ZnhUcmY3cWEvWHo4QUtaSFEvNnRFd2Vkd3dRRGpCWTV4egpYVGVIOUl2L0FCRmR4K0wvQUJqQUxRUmd5V0dteXQ4dG1uWjVNL3hrYzg5T25CelNlSHRHdk5mdVl2RjNpNkFXYVFneWFmcGt4QVd6ClFkSGZQRy9IUFAzZW5CelZSN200K0xOM0xhMmhudHZCc0w3SnJrWmpmVVdCNVJPNGpIYzkrbllnZ0FMdWY0dFhMeFdubjIvZ3lGOXMKazVCamZVV0I1VlFjRVJqdWU1NDdFRzdydXZ6dGVKNEk4RHhScGZSeGhMaTVqVEVPbXhkQjdiK01CZmIyd1RYZGZuYThUd1I0SGlqUworampDVDNNYWZ1ZE5pNkRweHY0d0Y5dmJCcTNGeGEvRDdUN2J3cDRVdG0xTHhOZTViNS9tWXR4dW5uYnNPblUrZ0dCeUFERDhlK0ZkCkdsOEo2ZjRCMCs1bXU5ZmlEWFZydjNTTXo1TE8wakRoZDVac2JpQUMzcFh6UlgxL2JXK2xmQzd3NWM2enJsNDk5cTF5UWJxNTI3cHIKdVk5STQxOU1uQUhBSFU0NU5lUC9BQkY4QWE1ZjZJdmp0OUtXem11UTA5OXAwU2ZOYnFXSlZpTVpKMjRMRWpJT2NnWW9BeC9oSjR6cwpQRCt2d1dPdXJHK2xTUytiRXp4Yi9zOXdRRkVnUFVaSEJQUGIzcjNLNGgxUDRpNjFjV2R4YlhGaDRVc3BpakdRYlcxTmgzWDFoUEJCCkhEQWozRmZJMWUwL0RYNGszay9oeGZCRDZoRnAxMngyV09wVEFzRlZtSlpENk5nbmFUeDBCNmNnSHFtdCtJWjczVWg0SjhGcXEzVUsKQkx5OGpYOXpwOGZUR2VoZnNCMndmUWlya1VOajhQdERpMFRRYktTLzFhNUx5eDI0Zjk1Y3luNzBzcm43cTV4bG1Qb0JuZ1VRMituLwpBQSswV0hSZEJzM3Z0WHV0MGtjTzc5NWN5ZnhTeXVmdXJucXpjRGdEUEFxR2FYVFBBMmtIeEw0aHpjNjljTGhtQ2g1bmtmSDdpSUQrCkVFS29BNDR5VGtrMEFOanU0dkEzaHB0ZThWUy9hTmR1bUxTTEJsMmtrWWdKREV1ZWdBUmNEaklKSjVKbzhNNlhxa2x4UDR4OFkzSDIKYTRkQ2Jldzh6RVZqQ09tN3N6OXlUNjl1UlVYaDNRNzI3dTM4YStOMmpodTFVdmFXVHNQSzA2SHRrbnE1SEpKOVNPT1JWSzBtdXZpegpmUE1ZcHJYd1hiUzdZdzZsSDFOaDFiQjZSWi9Qb2Y0bEFBL1Q3elVQaWpxcHU0MXViRHdmWnkvdUdPWTVOU2NmeGRpSXgrdmYrSlJhCjF6eFBkYTFya25ndndnU0xpQlFOUjFGVi9kV0tFZmRCNk5JUjBIT09ldUdBVFdmRWsrcjZ3L2dud2I4azF1b1hVTDlFL2RXS2YzVlAKUXlFZEIyNTY0SUV0N2ZhUDhNdEZ0dEUwYTBOM3JGOC8rajJrZk10MUtlc3NoNUlISExIc08rS0FDK3Y5SStHV2kydWk2Tlp0ZWF6ZQp1ZnMxcEh6TGN5bnJKSTNZY1pMSHNEMXhVRmxhYWY0RmpsOFRlTEw1Ymp4SHFSRVhtQkdrSUorN0JDaWduYmtqb1BUSlBXa3NiUFQvCkFBSkhMNG04VzM2M1BpUFVpSS9NQ001QlAzWUlVVUU3YzQ2QTg0eVR3YXQ2Tm8wODEwUEd2alFXOEYvREFWdDdmZCs2c1lzc2NuSncKWkNHd1c0NEFISElvQVhRdEt2cENmRm5qYWFKTGlMZExhMmpsZkswMUNBRGc5M0lBeWZ5eGtpc3ExRjk4VmRURjNjUlMybmdxMmJOdgpFNDJ2cWI1Kyt3NmlNZGgzenozQVcxRjc4VmRTKzEzRVV0cjRMdDIvMGVKMUt2cVRqK05nZVJGNkR2MzdnV05aOFNYV3Y2Ni9nbndmCjhuMmRBTlQxSkYvZDJhSGdSb2Voa1BQMDk4TUFBR3RlSkx6WDlkYndWNFBYWUlFQTFQVTBYOTNaSjJqVHMwaEg1ZStHMno2bnEybC8KRGZTckh3OW9kazk1clY4U0xTemp5WG1mK0tXUnV3N2xqNzljRWcxTFZ0SytHK2wyUGgzUTdOcnZXcjRrV2xuR0N6elAvRkxJM1lkeQp4OUQxd2NPMC9UZFA4Q2FmZStMZkZWN0hOcTg2ZjZUZHNNN1IxRU1RNmdjZEIxeGs1eG1nQTAvVGRQOEFBbW5Ydml6eFZleHphdk1uCitrM2JESlVkUkRFT3VPT2c2NHlmV3FGaHA4L2lXOFR4cjR6VTJPbDJRTXVuYVpjSEN3anROS083K2c3WjlSa3JZYWZQNGt2RThhK00Kd2JIUzdOVExwMm0zQndzSTdUU2p1L1RBN2ZVWkxMVzN1L2lwcU1Xb1hzY3R0NE50bjNXdHE2bFcxRmgwa2NmODgrdUY3OTg1d0FBdApiZTcrS21vUmFoZXhUV3ZnMjJmZmEycmphMm9zT2tqai9ubjZLZXZmT2NDZlc5ZjFEeFByVGVEL0FBZ1RGYncvTHF1ckt2N3UyVEgrCnFqUFJwRHg2NDkrZHByZmlDLzhBRSt0dDRPOElFeFc4SHk2cnFxTCs3dGt4L3FvejBNaC9ISHZ6aWZWOWEwMzRkNmJwL2hudzdZTmUKYTNla3BaMmNmTE0zOFVzcmRsN2tuazhub0dJQUUxald0TytIV21hZjRhOE8yRFh1dDNwS1dkbEh5ek4xYVdWdXdIVWs4bms5QXhFbApyYTZaOE85R3ZQRkhpaStXZlZKd1B0VjJWeXpFOUlvaDF4bm9COVQzTkxhV21tZkR6Ujd6eFA0bnZsbTFXY0Q3VmRzTXN4UFNLSWRjCmVnSHBrOXpWZlJ0RXUvRldvd2VMdkYwSnQ3ZTIvZmFicGt4d3RzTWNTeWc4YjhjOC9kK295UUEwWFJidnhWcUVQaTd4ZEI5bXQ3ZjkKOXAybVRuQzJ5OVJMS0R4dnh6ejkzMklKTWQ4Yjc0blhDV2xoTTF0NE9TUWk1dTRwQXNsOHlOZ3hxQjh5cGtjazR6MjQ2aHZwdmlkcQpjdGhhSktuZzYzWm83cTVETkUxOUlBUUZqSXdkaXRnazk4WTZkWXRSMUc0OFNYZi9BQWhQZ25GbnBsb0ZpMUxVNFVBU0JNZjZtTHNYCkk0eU9tZnFRQU0xWFZaZGVtZndkNE9kTlAwaXhVUjZwcTBZQ3hXMFFITVVSNkZ0dlU5QVB6SGlQeEw4VTZkZlRXL2h2dzJkdmg3VFQKbFBrd1pwdVEwaEo1YnFlVGdra25uZzExdnhSOGM2Um8yZ3Q0QThKSW90MHd0NWRJeDZnaGlvYitKaVI4emU1SE9UanhLZ0FyNnY4QQpoMzhNYkR3cDRldEx2V29iY2FnZyswM0xzUVZSaHl1V3pqQ0Q4TWpOY0w4RlBod3lOSDR6MTFJNGJPSkRKYXgzQ2dBZ2MrYWM5QU1aCkIvSG9hN3lXZTQrTEYzSmFXalQyL2c2Q1RaUGNES05xTEE4b25jUmc4RTkrbmJCQUVrdUxqNHNYY2xyYUdlMzhHd09VbnVCbU50UlkKSGxFNkVSZzhFOStuWWc3R3RUdmV3bndmNFl0Q2tBVVd0N2RXK0VqMCtGaGdoRGtBeUFkRlhsZUNld0szZXF0ZHBENGQ4RnhwNU1leQpLNHZyVXA1VmpFZVBrUDNXa0E2S000Nm5zRFQxdlZyVHdUREY0YzhJNllsMTRpditZb0Y1NUFBTTA3ZWdHT1Njbmo2Z0FxM0Z6YWZECjdUN2J3bjRVdGpxWGlhOUJZYnp1WXRqNXA1MjdEcDE5Z01Ea1hMYTMwbjRXK0hMbld0Y3ZIdmRXdVNEYzNSRzZhN2xQU09OZlRKNEgKQUhVNDVOSkJEcEh3czhOM090YTdldGU2cmNrRzV1aU16WGNwNlJ4cjZaNkRvT1NlNXB2aC9TTHZWSmw4YStOVmp0Wlk0ek5hMk16WQpqMCtQR2R6N3NmUGpxVGpIVGpuSUFlSHRIdk5WblR4cDQwVkxhWkVNdHBZU3RpUFQ0OFp5MmNmUGpxVGpIVGptb0xEVUxqNG82ajU4CkViUmVEYmFRcm1lTEg5cHNPRDhyRC9WajlUeHhnaW9vcmliNHRYTEdFVHdlRFlKTnBkbE1iYWt5bm5HY0VSZy9tZURqQkJ1YXo0Z2wKdkw4ZUNQQklqanVZSXhIZDNVSy91ZE9qSHk3ZU9OL0dBdmJCOU1VQWVCL0Vud0ZaK0c5VnZaOUF2RnZkTWdtOHVkRWZlOW01NUNQNwpkZ1QzR0NjNUZjQXJGV0RLU0dCeUNPb3I2OHZiWFEvQUhoTC9BSVIrdzBxVFdMMjlSdjhBUWdobGx2V2JoNUpjQTRYSitaandCd093CnJ3cjRsZkMyOThIUnc2dGJRUDhBMlpjQlRKR0c4ejdKSXc1akxkMUI0REhyeDNOQUhVZkN6NHJhVGF6aUR4WEhFdW9SeCtUYTZzMFcKWFpPQUluWURJSEF3ZW1CempHVDZkb0doM1Z6ZVNlTlBHYzlxTGhBejJkdWtvZTNzWWV6QnVqTVJ5VzkrTVpJcjVCcjBEd3Q4U3BMTApTb3ZEbmlTR1RVL0RnZmUwU05pVmVjZ0E1R1Z6bjVUMXllM0ZBSHQ5cFBjL0ZxOWVZeHpXM2d1MmxLeGh3VWJVMlhxMkQwakJ5TWQ4CllPUG1Xcm1zZUpKdFgxZC9CUGcwaEpyZFFsL2ZScCs2c1U2YlZQUXYyQTdZUDkwaXF6K01UNHd0TERSUEFiQkk3aTNEM040cWdEVDQKZ1N1d3IvREljSGFDT1FNaklGWGJ1OTBiNFk2SmE2SG8xb2JyV0wxejludEUrYWE2bFBXV1E4bkhITEhvQjdVQUxlWHVqL0RMUmJYUgpOR3REZDZ4ZXYvbzlwSDgwMTFLZXNzaDVPT09XUFlkOFZCWmFmYitCN1M5OFZlSkxsZFE4VFhxRWtCbDNuR01XOXVwUFRPT0J5VGpyCnhTV1ZqYStCYk84OFUrSnJ0TDd4TmZLVGplb2RzQVl0N2RTZWUzQTVKeDE0cTFvK2tUeXpqeHA0Mit5d1gwRUxlUkNUaU94aHlXK1kKazRNbUdJTGNjY1lITkFCbzJqVHpYUThhK05mczBGL0RBUmJ3WnhGWXhaWnNuSndaTU5ndHh3QU1EbXMyMCsyZkZiVWZ0ZHhGTGErQwo3ZC85SGlkU3I2azQvallIcEY2RHYzN2dKWm04K0srb203dUlwYlh3WmJTWXQ0cEZLUHFUaitOZ2YrV1hvTy9mdXRXZFg4U3orSWRjCmw4RmVEMjJHMlFMcVdwUnIrNnMwNmVXcDZHVGdqSGJCNjdXQUFGMWp4TGMrSU5jazhFK0R6c05zZ0dwYWxHdjdxelRwNWFub1pEengKMEhQWERBVDZqcXVrL0RmU3JMdzdvZG9idldyMGtXbGxIbHBKblBXV1E4NEhVbGo2SHJnMG1vYXJwSHczMHV6OE9hRmEvYXRhdkQvbwp0bEg4MGt6bnJMSWVTRjRKTEgwUFhCcGRQMHpUdkFkaGZlTHZGVjlITHJGd2crMVhqL3dqcUlZaDJIc09UZ1p6ak5BQzZmcG1uZUJOClB2dkZ2aXEram0xaWRQOEFTYngrZG82aUdJZGh4MEhYSE9jWnFoWWFmTjRrdkY4YStNeDloMHV6VXk2ZHB0d2Rxd2pyNTBvUFYrbUEKZW4xQUpMQ3dtOFIzaStOdkdmOEFvT2xXU21YVHROdUR0V0Jldm5TZzlYNEdBZW4xd2FiYVFYZnhVMUdQVUwyT1cyOEcyemJyVzFkUwpyYWl3NlNPRC93QXMvUWQ4ODlTQUFGcGIzZnhVMUdMVUwyT1cyOEcyemJyVzFkU3JhaXc2U09EL0FNcy9RZDg4OVNCUHJYaUc5OFQ2CjQzZzN3Z3hpZ2dHTlUxVkYvZDJ5Zjg4b3owTWh6K0h2aHNHcytJcnp4UnJqK0RmQ0RHT0NBYmRVMVdOY3gyeTlQS2pQUXlIOU9ldUcKeFBxdXRhWDhPOVAwL3dBTCtIclA3WHJkNmR0cFpSL016RTlacFQxQzlTV1BYQlBPQ1FBR3JhMXB2dzcwN1QvREhoNnhOM3JWNlNscApaUjhzekg3MDByZGw2a2s4bms5QXhEN1N6MHo0ZWFSZWVKL0U5OGsycTNBLzBtN1laWmoxRVVRNjQ0NEE5TW51YUxTejByNGQ2VmQrCktQRTkvSExxMXlNWEY0LzNuSjVFTVE2NDQ0VWVtVDBKcURSOUV1dkZXcFFlTC9Gc0p0N2UyL2U2YnBrM0MydzYrYktEL0hqbm43djEKR1NBR2o2SmRlS3RSZzhYK0xZVGIyOXQrKzAzVEpqaGJZWXlKWlFlTitPZWZ1L1VaTVRYcy93QVQ5VmV4czFrajhHMnpzbDNjaG1qYQovY0FnSkd3d2RpdGdranJ0eDA2bDgrby9FdlVocDlvTG14OElRc0d1THZZMGJhbDNDeEU0L2QrckRyMkk0SnhQSEhqZXlzYlJQRGVpClhVZWxhTkFoUzYxR05jQW9oQ3RCYWpwSStTRllya0xubnZnQTFOVjFXVFhwMzhIZURwRXNOSXNWQ2FwcTBZQ3hXMFlITVVaNkZzZFQKMEFQMXg1OTQ1K0tPbGFONGZUd2w0QWZaYmhTbHplcXBCNi9NRkxETE14emwvZmduT1J5WGluNGx5WDJqbnczNGJ0anBmaDVkdnlILwpBRjh4SEpMc0NlcDVQVWtqazhrVjUvUUFyTVdZc3hKWW5KSjZtdlN2aGY4QUM4K0xXYldkWlpyWHcvYkV0Skt4MkNZTHl3REhvdkJCCmJ0enprVWZDL3dDRjU4V3MyczZ5eld2aCsySmFTUmpzRXdYbGdHUFJlT1c3YzhnaXZYNG9oOFNndWs2U3IyUGdheVlSUEpDcGorMzcKRC9xNC9TTVl3U092dGprQVdKUCtGbGJkSzB0SHNmQTFrUkM3eEtZL3Qyemp5NCttSXhqQkk2NHh4am5vZFJ2cDNaUEMvaEdBUmlBcApCZDNVQVZZOVBpUEdFejhwa0E2S09uQlBZRTFLL25rWmZDL2hDRlkvczVqZ3U3cURhcWFmRWNBaE0vS1pBdklUdHdTT2dPZnJPczIvCmdpenQvQ25oUzJlKzErOExOYld6dTBubGJpUzBzekhKQ0Frbm5yMDRHU0FCTlkxT3c4QzI4UGhud2RwVVUvaUMrNWl0bzE0QndBWjUKMjlCeHllVCtaRWtNV2tmQzN3NWQ2LzRndlRkNm5QOEFOZFhaR1pibVR0SEdQVFBRY0Fjazl6UkZIby93dDhPWGV2OEFpQytOMXFkeAp6YzNSR1pibVR0SEdQVDBIUURKUGMwM1FkSXV0WHVVOGFlTTFTMWFKRE5aMk01MngyRWVNN24zWXcrT1NUamI3YzVBRFFkSHU5U3VGCjhhK05sanRab296TGEyVXpZajArUEdkekU0K2ZIVW5HUGJuTk9PZWI0dFhCTVhuUWVESVpNRmlDamFpeW5rRE9DSXdSOVNSampCQkUKbGwrTGN4OG96UWVESXBNRnNHTjlSWlR5T3hFWUkrcEk3WTV1YTFyMDEzZmY4SVQ0SjhxSzZnakVkMWRSS1BLMDZMb0FNY2I4REFYdApqMndRQTFyWDVyeSsvd0NFSThFaUtPNWdqRWQxZFFxUEswNlBvRkdPTitCZ0wyeDdZTXhHbS9EUHc1RnBPaVdNMm82dE1DOGR2R0M4CjkxSndHbGtJNUM1eGxqd0JnRHNLZWlhWDhOZkQ4T2o2TFp6WDJwemd1a0NEZlBjdndHbGt4emdjWlBZWUE3Q2k1bDAzNGU2ZGMrSWQKZHZaTHZWN3hWamxaU2MzRW1TVmpoakp3QU1rQWVnR1R4bWdDTDdSWmVBZEZrOFNlSTdpV2JYYitORXVFVjl4bG01SWhoVE9NQXNWRwpPd0JKNzFXMHJ3NUpyRU54NHArSVVkdCs4aUxSNmRjWU52WXdEa2J3M0JmSEpKNmUzTlNlSDlGdXJxYytOL0c1aWd1MFJwYmEwa2JFCldtdzllU2Y0OGRXT01jOU9jMDdhV2I0dFhQbjdaWVBCa0VwQ0JnVmJVbVU0eVIxRWVSMDZub2NZSUlCNVQ0aCtITVBpMjB2UEZYZ0wKVHJsTkw4NlVmWnBVMmVhRjZ2QXZVb1RrQmVDQ0NNREdLOGxyNjgxanhGTHJHcFA0TDhHUEdrdHNvanZyMklEeTdCT213WTQzOEVBZApzSFBURmN2OFN2QS9oRmROMDNUTVR5ZUpaMFMxc25pSmVhVUx4dWRlNmdEa25vQmdkcUFQQU5BOFNhdDRZMUQ3YnBGNUpiVEViVzI5CkhYT2NFZWxlcitCZmkvb2RycmwxcW5pWFRwRjFpNlhhK3BxelNyajVqdDJkWTF4c1hDZzV3Q2VtYTRUeGo4TS9FZmd0cEpiNjFNdGkKR3d0NUNNeDQzWVhjZjRTZlQzcmpxQVBydnc0K25lSVQvd0FKN3JkMXBqU1dzUGx4SkJjckxEWUtCdWJjK2NlWWR4SlBCQUlIcm1wYQpmYS9pdmZtN3VJcGJid1pieWY2UEU2bFcxSmgvR3dQL0FDejlCMzc5eFh6RnBIaUhWOUFsZVRTdFFudFdkU2plVzNCQnhuanAyRmVrCjJYeDUxaGZEcmFOZldTWlpSQ3Q1YVA1Y2tNZUFQbFVnZ3NNRTVKR2MwQWV1NnY0a244UTYxTjRMOEhPRSt5cUYxTFVZd1BMczE1SGwKb2VoazRJeDBIUFVnZ1QzMnA2UjhPTkxzL0RlaFdvdWRhdkQvQUtMWkljeXpPZXNzaDVJSEJ5eC91bnJpdVE4Ti9GcndObzNoR1N4MApLTjdHK0RFUlc5NmhVenlrRDk1Skt1NVJrOVN4NHh6eFhRK0Q1dkRHbTNOenE5ejRpMDdXL0ZWK3BNeHRiaEpwU0FNK1ZER3BKMmpIClFkY2M1eFFCZTA3UzlPOEIyRi80dThWWDBjdXNYQ0Q3VmVTZndqcUlZaDJIc09UZ1p6aXFOanA4L2lPOUhqYnhwaXkwcXlYemRPMDIKNE8xWUY2K2RMbmd1ZU1EdDc4R3A5TTBQVVBGT3NEeFY0dWdlMnM3UExhYnBFaS82bkhKbGxIZCtCZ2RzZDhBMVd0WUx2NHFhaW1vWApzY2x2NE50MjNXbHE0S3RxTGovbG80LzU1anNPK2VlNG9BTFczdS9pbnFNZW9Yc2NsdDROdG0zV3RxNmxXMUYvK2VqZy93RExNZGgzCnp6M0FzYXg0aXUvRk90eWVEdkNEK1hCYmpicW1xUmo1TFZlbmxSbm9aRHo5TWQ4RUExZnhGZCtLZGJsOEhlRVpCSEJiTHQxVFZJL3UKV3E5UEtqN0Z6Zyt3eDN3UUx0NWZXUGdYVExmd3o0WTA4M21zU1JtU0d6aUc1Z0N3VXp6TjJYY1JsajE1NjROQUVPcDZ4cGZ3OXNMRAp3dDRldEJjNjNlWkZwWlI4c3hQV1dVOWh3U1dQSndldURoYlN4MHI0ZWFYZWVLZkU5OUhMcTl3TVhON0o5NWllUkRFT3VPT0ZIcGs1CnhtbTZQYitIL0JOMVBmOEFpUFhkTmJ4UmV4ZVpjVFhWekhFNVFuaEl3eCtWTXJqME8zbk9NMTU3cVB4SDhKM1BpU0x4RHI5OUxxc2wKbEp0c2RIdElTWTdadWN5c3pZU1J1Qmdna2NnanBtZ0R2dEkwSzY4VTZwQjR2OFd4R0MzdGdaZE4weVk0VzJIWHpaQWY0OGM4L2Qrbwp6V2Y0aTFmL0FJVEc1anQ3clVFMFR3U2pyNTEvY3lpRCswMndTc2NUTVI4bkJPNGRjSEdPQ2ZPUEZIeC92OWIweTQwMnowUzFnZ2xZCnF6M0RlYnZqNTRLNEFCNkhPVGpGZVg2djRoMWZYNVVrMVhVSjdwa1VJdm1Od0FNNDQ2ZHpRQjduNHgrT0drNkxaTG9YZ3kwdDdxR08KSHl2T1pDc01RQnh0VmNEZU1BOU1Ea1lKcndqVmRhdjlhbWprdnB6SUlsMlJJT0ZqVE9kcWpzS29WMFdpK0RyL0FGVzBUVWJpV0RUdApKTGJUZjNqaU9OaUQ4eXBuNzdnQW5hT1RnMEFjN1h1dnc0K0NoUjAxM3huRkhGWnhJSjB0Sld3Q01ic3k1NkFkd2ZUbml1NitHUHc3CjBmd3BwTVd0WGRtRTFBUWxtdXJvNFpGd2R4Mm5oQmo2SEhXblR5M0h4WXUydExTV1czOEhRUzRudUVKVnRSWlQ5eFQxRWVSeVIxOXUKTWdFS1JmOEFDeXR1bDZVcldIZ2F6Y1J1OEE4djdkc1Arcmp4MGpCR0NSMTdZeHowTi9xUmt1b2ZDSGhkRGIrV3ZrM041Ync1aTA5QQp1ZGdJK1VTRmZ1ZzlPQ2V3SmZhaVh1b2ZDUGhlTTI0akFodWJ5M2l6RnA2QmM3QmpnU0ZlRkhiSUo3QTUrczZ6YitDTFMzOEtlRkxaCnIzWDcxbWEydG5rTW5sYjJ5MDByRWtoQVNUejErZ0pBQWF6ck52NEp0TGZ3cDRVdG12ZGZ2Q3pXOXM4alNlVnVKTFRTc2NrSUNTZWUKdjBCSWZISG8vd0FMZkR0M3IrdjN2MnJVN2ptNXVpTXkzTXZVUnhnOXZRZEFNazl6UkhIby93QUxmRHQ1cit2M3YyblU3bm01dWlNeQozTXZVUnhnOXZRZEFNazl6VGRGMFc0MVM4SGpQeG1JN2RyZEROWjJVN0FSMkVZR2Q3NTQzNDVKUFQ4eVFBMFRScm5WYm9lTlBHaXBiCk5BaG10TEtkc1IyRWVNNzN6eHZ4eVNlbnR6bW1aWmZpMU84Y0xUUWVESXBDcnlETWJhaXlua0RvUkdEMzZrK21PUm5sK0xVN1JSTk4KQjROaGtLdklwS05xTEtlUUQxRVlJNjlTUjJ4emMxM1hyaTR1L3dEaENQQTRoaXZZWXhIY1hNYUR5dE5peGdjRGpmZ2NMMng5QVFBMQp2WHA3dTkvNFFud1Q1VU4zQkdJN3E2aVVlVnBzWFFBQWNiOERBWHRqNkEyVWowdjRhZUhvZEgwU3lsdnRUbUJlTzNUNTU3cCtBMHNoCkhPQnhrOWhnRHNLaGhrMFQ0YjZJUEQvaCszT29henQ4d1dVVEI3aWR5T1paY2NnZXA2WUdCMkZUVDNGajhPdEp2ZGU4UWFpMTlxVjYKeTduQ0tIbGsyZ0NHRWRkdWNrQWs0eVNUakpvQWlsTmg4T3JPL3dERW12NnBOZmFwZjdFYkhIbXVCOHNVS2Roa25IY0E4bkE0ajBEUgpMcTZ1VDQyOGJtS0M3ampNbHRhU05pTFRZc1o1SjQzNDZzZW50emswSFE3bTZ1ajQzOGIrVkJkeFJtUzJ0WkcvZGFiRmpQSlBHL0hWCmowL1BOT0I1ZmkzY0NZaVdId1pES2Rpa0ZXMUZsT01rZFJHQ09uVWtkc0VFQVMza20rTGR4NTVXV0R3WkJLUWlzQ3JhaXl0akpIVVIKNUhUcWUrTUVHNXJIaUdYVjlSZndYNExlT09XMlVSWDE1Q0I1ZGdnK1hZdU9OL0JBSGJCejB3VFY5ZmwxVy9id1Y0S2VLS1cyUVJYdAo1QUI1ZW54ajVkaTQ0MzhFQWRzSDB3WHozR2pmQzNRTFBRZEV0UHRPcTNqRVcxcURtVzZsUFdSejF4eHlld0dCMEFvQUxpNTBiNFg2CkZhYUZvbHA5cDFhOFkvWnJWVG1XNmxQM3BIUFhISEpQUURBNkFWWHM5T2k4QmFYZmVNUEUwajZsNGh1eUZsa2lUY1ZMRUJJSWgvQ00KN1IxNVBVNEF4SGJXMW44UGJHNDhWZUtyb1gvaWJVVzJaUUFzV1AzYmVCZXdIQS9ESk9BTWFHa2FNOGw3SjQ0OFhpTzF2RmdCaXRaSgp0ME9ueGhlVGtnZk1lU1NlbWNldVFCK2g2WmNwZDNualh4WktMTzRsdHRxMmJ6NWhzWUFvM0FrNHlTUVdKUFRPUFhQbnNmdzMwRDRtCnBxV3JhTnBCMEd5OHpacDkzSGxVdThMdExHSEdFVEk0eGdubk9EbXVydFB0SHhhdS90Yzhja0hneTNsLzBlSnNxMnBNcHh2WWRvd1EKY0R2am5ISXE1cS9pS2J4RHEwM2d6d2ZLc1p0UUk5UnY0aDhsa3ZUWW5ZdndSeHdNSHVDS0FQbm5VdmhocjFyZDNjR25HMTFuN0xLMApjdzA2WlpuaXdTQVpGSEtad2VENkVkcTRxdnNDN3ZkSCtHdWoyZmgzUUxOSjlYdkNmc3RtaC9lVHlFY3l5SHJqamxqMlhBempGVnRRCjhOYUhwL2c2NjFINGl5MjJwM0xCbWx1cDQxM1FodWtNTEFiZ0FjNEFPY2s0b0ErU0tkSEk4VGg0M1pISFJsT0NLK2diWDRPZUdkWTAKTi9FR293M25oaXpVTTZRZmFRLzdrY2lTUXlBbFdJUElCeHdQV3NQVFBnVkQ0bmltMUxRdGVlUFNIa0F0Skx5MWJmTW14U1gvQUllTgp4WWRQNGFBUElUcUY2UmczbHdSLzExYi9BQnJlc1BpSjR2MHV3aHNiSFg3eUMxZ1haSEVqRENqMEhGYlZyOEgvQUJCcWV0NmxwbWxYCmVsM3JhZVY4NlNPNkJBM002Z0hHY04rN09WUEl5S2ZMOEdmRXNHcXc2Vk5lYUxIcU15NzRyVnI5Uks2ODhoZXBIeXQrUm9Bdzd6NGoKZU1OUXM1YlM2OFFYc3R2S05yb1dHR0g0Q3VlKzIzWG0rYjlwbTh6RzNmNWh6ajB6NlYzK28vQlR4Um85cjlxMU81MGV6dDl3WHpiaQorV05jbm9Na1l6VnlINEIrTUdNY2t6NmRGYkhCZVlYSVlLbmR1bk9CelFCNWhMTkxPKythUjVHeGpMc1NjZmpUSzluOEovQS9UdkVrCmpYVUhpbjdYcHNValJTU1c5bzBlOWhrZkk3WlZzRURrWkdQcldoby93czhJWDNpeTcwZlNocUdzUjJxK1hlWGMwd1MzdG1QWlNnQmEKUUVBYmZ1OHRubGNVQWVFVjJ1bS9DM3hKZTNkcGIzVnVtbnZjeXFrVVYwd1dXVlNSdWVPUHE0VUhjMk9ncjM3VXBmRDN3OGtzZEM4Swo2TGFTK0o3K1B5TGFLS05SSVU2bVNaK3UwYmM4NUp3ZXVEaTliVzJrZkRYUkx2eEg0anYxbTFTNVArazNrbjM1WEl5SW94MXg4dkNqCnN1VG5HYUFPVXQvaGg0RStHdWlmMjM0cGtUVUpvdUI5cDVSNUNwR3hJdWpaNUlCQkl4bnRtdWwwYnc5UHIrb3dlTC9GMEt3SmFBeTYKZHAwcHhIWnFCbnpISFF2am5uN3VCamtacGRJOFAzSGlMVllmR1BpK0lSQzFCbDA3VDVUOGxtdlh6SEhRdnhubnBnWTVHYXAzTDNIeApadkRhV3Nza0hnMjNseGNUb1NyYWl5bjdpbnRHQ09UM3h4amdrQUxpUzQrTEYyYlMxbGxnOEcyOHVMaWRDVmJVV1UvY1U5b3dSeWUrCk9NY0U3T3EzYTNicDRMOE93Q09IWjltdkxtR0xNVmpGdHlVNDRFakx3bzdaQlBZR0dYWGhmM3NYaFR3aEVFdFlnc00rcDJnUjRMSkEKR3pHTnA0a3d1QUNNRGNEMndZZFcxdVB3VHArbitFZkRrUTFIeEZjcnRnaWJBUFAzcmlZZ1lBNnNUams1OThBRGRUMWlId0xwV20rRAp2RE1JMUR4Qk5HRXQ0VGpJSFJwNWlPZzZrbnVjKzVFa2NXamZDM3c3ZWVJTmZ2UHRPcDNKemMzVERNdHpMMUVjWTlQUWRBQVNlNW9pCmgwYjRXK0g3enhCcjE3OW8xTzZJTjFkc015WE1oNlJvT3VQUWRnQ1QwSnB1a2FETnE5OHZqUHhva2NMV3ltYXlzcHlQTHNFSHpiMnoKeHY0QkovaHg3WklBYU5vaytxM284YWVORmpnYTNReldkbk93RWRoR09kN1o0MzRHU1QweDdaTk4ybCtMVncwVVR5dytEWVpNU1NLUwpqYWl5bmtBOVJHQ092VWtkc2NrcGwrTFZ3WVkzbGg4R1F5NGtkU1ZiVVdVL2RCNmlNRWRlcEk3WTV1YTlydHhjWFk4RCtDUEpodllvCjFqdWJtTlI1V214ZEJ3T04rT2k5dnlCQURYZGR1TGk3L3dDRUk4RWVURGV4UmlPNXVZMUhsYWJGakE0SEcvQTRYdGo2QXczZmwvRHoKU0xQd3Y0U3NHdk5mMUVNMFR5ak81aGdQUE0zb01qajZBWUhRKzE2ZjhQSWJMd2w0WHNScWV2M1JFcnhQSmhtL3ZUVE9BY0Q4UFlEQQo0c0t1aWZDancxZDZ6ck40MXpxRnkyNjR1WE9aYnFVOGhFQjdlZzZBWko3bWdELy8yUUFqV1h5U0FBQUFKWFJGV0hSa1lYUmxPbU55ClpXRjBaUUF5TURJeUxUQXlMVEEyVkRJek9qSXdPakF4S3pBek9qQXd0ZU4xbndBQUFDVjBSVmgwWkdGMFpUcHRiMlJwWm5rQU1qQXkKTWkwd01pMHdObFF5TXpveU1Eb3dNU3N3TXpvd01NUyt6U01BQUFBYWRFVllkR1Y0YVdZNlFtbDBjMUJsY2xOaGJYQnNaUUE0TENBNApMQ0E0RXUwK0p3QUFBQkYwUlZoMFpYaHBaanBEYjJ4dmNsTndZV05sQURFUG13SkpBQUFBSVhSRldIUmxlR2xtT2tSaGRHVlVhVzFsCkFESXdNakk2TURJNk1EWWdNVFU2TVRNNk1qajZRd0dnQUFBQUUzUkZXSFJsZUdsbU9rVjRhV1pQWm1aelpYUUFNVGt3VEk3endnQUEKQUJSMFJWaDBaWGhwWmpwSmJXRm5aVXhsYm1kMGFBQXlNalU5Z3dGUkFBQUFFM1JGV0hSbGVHbG1Pa2x0WVdkbFYybGtkR2dBTWpJMQo3djhSM0FBQUFCcDBSVmgwWlhocFpqcFRiMlowZDJGeVpRQkhTVTFRSURJdU1UQXVNamdJeXc3d0FBQUFKSFJGV0hSbGVHbG1PblJvCmRXMWlibUZwYkRwQ2FYUnpVR1Z5VTJGdGNHeGxBRGdzSURnc0lEZ2dHL1JUQUFBQUhIUkZXSFJsZUdsbU9uUm9kVzFpYm1GcGJEcEQKYjIxd2NtVnpjMmx2YmdBMitXVndWd0FBQUI1MFJWaDBaWGhwWmpwMGFIVnRZbTVoYVd3NlNXMWhaMlZNWlc1bmRHZ0FNalUyVUhBdwpBd0FBQUIxMFJWaDBaWGhwWmpwMGFIVnRZbTVoYVd3NlNXMWhaMlZYYVdSMGFBQXlOVGFJQnZvVUFBQUFLSFJGV0hSbGVHbG1PblJvCmRXMWlibUZwYkRwS1VFVkhTVzUwWlhKamFHRnVaMlZHYjNKdFlYUUFNekk0bDhmaHdRQUFBREIwUlZoMFpYaHBaanAwYUhWdFltNWgKYVd3NlNsQkZSMGx1ZEdWeVkyaGhibWRsUm05eWJXRjBUR1Z1WjNSb0FESTVPRGN6Y2IxUk53QUFBQ3AwUlZoMFpYaHBaanAwYUhWdApZbTVoYVd3NlVHaHZkRzl0WlhSeWFXTkpiblJsY25CeVpYUmhkR2x2YmdBMkVoV0tHZ0FBQUNCMFJWaDBaWGhwWmpwMGFIVnRZbTVoCmFXdzZVMkZ0Y0d4bGMxQmxjbEJwZUdWc0FEUGgxODFhQUFBQUczUkZXSFJwWTJNNlkyOXdlWEpwWjJoMEFGQjFZbXhwWXlCRWIyMWgKYVc2MmtURmJBQUFBSW5SRldIUnBZMk02WkdWelkzSnBjSFJwYjI0QVIwbE5VQ0JpZFdsc2RDMXBiaUJ6VWtkQ1RHZEJFd0FBQUJWMApSVmgwYVdOak9tMWhiblZtWVdOMGRYSmxjZ0JIU1UxUVRKNlF5Z0FBQUE1MFJWaDBhV05qT20xdlpHVnNBSE5TUjBKYllFbERBQUFBCkNYUkZXSFIxYm10dWIzZHVBREhhSVZWOEFBQUFBRWxGVGtTdVFtQ0MiIC8+Cjwvc3ZnPgo=" + loadIcon.style.width = "38px"; + loadIcon.style.height = "38px"; + + toggleButton.appendChild(loadIcon); + toggleButton.classList.add("ovo-levelselector-button"); + toggleButton.style.top = "calc(50% + 50px)"; + toggleButton.style.right = "0%"; + toggleButton.style.transform = "translateY(-50%)"; + toggleButton.style.width = "50px"; + toggleButton.style.height = "50px"; + toggleButton.style.zIndex = "3"; + toggleButton.onclick = this.openLevelMenu; + document.body.appendChild(toggleButton); + }, + + keyDown(event) { + if (event.code === "KeyT") { + if (event.shiftKey) { + this.openLevelMenu(); + } + } + }, + + openLevelMenu() { + if (this.levelSelectorWindow == null || this.levelSelectorWindow.closed) { + let levelSelector = window.open("", "OvO Level Selector"); + levelSelector.c3_runtime = runtime; + + levelSelector.document.open(); + levelSelector.document.write(`OvO Level Selector`); + + levelSelector.document.write(` + + `); + + levelSelector.document.write(`
`); + + runtime._layoutManager._allLayouts.forEach((layout) => { + levelSelector.document.write(``); + }); + + levelSelector.document.write(`
`); + + levelSelector.document.write(``) + levelSelector.document.close(); + + notify("Level Selector", "Window Opened"); + } else { + notify("Level Selector", "Window Already Opened"); + this.levelSelectorWindow.focus(); + } + } + }; + + levelSelector.init(); +})(); \ No newline at end of file diff --git a/games/ovo/modloader/mods/v2/resetbutton.js b/games/ovo/modloader/mods/v2/resetbutton.js new file mode 100644 index 00000000..9738c80d --- /dev/null +++ b/games/ovo/modloader/mods/v2/resetbutton.js @@ -0,0 +1,20 @@ +(function() { + let runtime = c3_runtimeInterface._GetLocalRuntime(); + let notify = () => {}; + + let resetButton = { + init() { + document.addEventListener("keydown", (event) => {this.keydown(event)}) + + globalThis.ovoResetButton = this; + notify("Mod Loaded", "Reset Button Mod Loaded"); + }, + + keydown(event) { + if (event.key.toLowerCase() == "r") { + runtime._layoutManager._pendingChangeLayout = runtime._layoutManager._mainRunningLayout; + } + } + }; + resetButton.init(); +})(); \ No newline at end of file diff --git a/games/ovo/modloader/newmodloaderv1.js b/games/ovo/modloader/newmodloaderv1.js new file mode 100644 index 00000000..30e22824 --- /dev/null +++ b/games/ovo/modloader/newmodloaderv1.js @@ -0,0 +1,203 @@ +(function () { + const modDirectory = "/mods/"; + const versionFolder = "v1"; + + class ModLoader { + constructor(runtime) { + window.ovoModLoader = this; + + this.runtime = runtime; + this.initialised = false; + this.mods = {}; + this.loadedMods = []; + + this.#init(); + } + + async #init() { + this.mods = await fetch(this.getModDirectory() + "v1.json").then(res => res.json()); + this.loadModURL("modapi.js", true, false); + + window.addEventListener("keydown", (event) => { + if (event.code === "KeyL") { + if (event.shiftKey) { + this.promptMod(); + } + } + }); + this.#initDomUI(); + + this.initialised = true; + } + + async #initDomUI() { + const style = document.createElement("style"); + style.innerHTML = ` + .ovo-modloader-button { + background-color: white; + border: solid; + border-color: black; + border-width: 6px; + font-family: "Retron2000"; + position: absolute; + z-index: 999999; + cursor: pointer; + } + + .ovo-modloader-button:hover { + background-color: rgba(200, 200, 200, 1); + } + ` + document.head.appendChild(style); + + const toggleButton = document.createElement("button"); + toggleButton.id = "ovo-modloader-toggle-button"; + toggleButton.innerText = ""; + + const loadIcon = document.createElement("img"); + loadIcon.src = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gU3ZnIFZlY3RvciBJY29ucyA6IGh0dHA6Ly93d3cub25saW5ld2ViZm9udHMuY29tL2ljb24gLS0+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwMCAxMDAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAwIDEwMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPG1ldGFkYXRhPiBTdmcgVmVjdG9yIEljb25zIDogaHR0cDovL3d3dy5vbmxpbmV3ZWJmb250cy5jb20vaWNvbiA8L21ldGFkYXRhPg0KPGc+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsNTExLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSI+PHBhdGggZD0iTTQ4ODIuOSw0NzQ5LjRjLTEwNy4zLTMyLjYtMjE2LjQtMTQzLjYtMjQ1LjItMjUwLjljLTE1LjMtNDkuOC0yMS4xLTExMDctMjEuMS0zMzc2LjZWLTIxODJMMzUwMi0xMDY3LjNDMjg4Ny4yLTQ1Ni4zLDIzNTYuNyw2MC44LDIzMjAuMyw3OGMtMTAxLjUsNTEuNy0yODMuNSwzMi42LTM3NS40LTM2LjRjLTEzNC4xLTEwMy40LTE4NS44LTI0OS0xNDMuNi00MDkuOWMyMy04NC4zLDEzMi4yLTE5Ny4zLDE0OTItMTU2MC45Yzk4Ni40LTk4OC4zLDE0OTItMTQ4Mi40LDE1NDUuNi0xNTA3LjNjOTEuOS00NiwyMTIuNi00OS44LDMxMC4zLTkuNmM5MiwzOC4zLDI5NTUuMywyODk0LDMwMTYuNiwzMDA3YzEyMC43LDIyNy45LTI0LjksNTE3LjEtMjcyLDU0MmMtMjE2LjQsMjEuMS0xMzIuMSw5MS45LTEzNzUuMi0xMTUxLjFMNTM4Mi44LTIxODJ2MzMwMy44YzAsMjI2OS42LTUuNywzMzI2LjgtMjEuMSwzMzc2LjZjLTMwLjcsMTExLjEtMTM3LjksMjE4LjMtMjUyLjgsMjUyLjhTNDk5Niw0Nzg1LjgsNDg4Mi45LDQ3NDkuNHoiLz48cGF0aCBkPSJNNDMxLjgtMTgzNy4yYy05LjYtMy44LTQyLjEtMTEuNS03Mi44LTE3LjJjLTc4LjUtMTcuMi0xOTkuMi0xMzYtMjM1LjYtMjMzLjdjLTU5LjQtMTU3LTEuOS01OTcuNiwxMjQuNS05NDQuMmMyNzkuNi03NjQuMiw5NjUuMy0xMzM0LjksMTc5Mi43LTE0OTJjMTU3LjEtMzAuNiw0MDkuOS0zMi42LDI5NTkuMS0zMi42YzI1NTYuOSwwLDI4MDAuMSwxLjksMjk2MSwzMi42YzEwNzQuNSwyMDQuOSwxODU3LjgsMTA4MC4yLDE5MzQuNCwyMTY2LjJjMTUuMywyMDYuOC0zLjgsMjg5LjItOTMuOCwzODguOGMtMTM3LjksMTU5LTM1Ni4zLDE3OC4xLTUxNS4yLDQ0Yy05Ny43LTc4LjUtMTMwLjItMTYyLjgtMTQ5LjQtMzk4LjRjLTExLjUtMTEzLTM2LjQtMjY2LjItNTkuNC0zMzljLTEzNi00NDQuMy00NDguMi04MDIuNS04NjUuNy05OTRjLTMxNC4xLTE0NS41LTU3LjUtMTM0LjEtMzIxMS45LTEzNC4xYy0yNjg1LjIsMC0yODMwLjgsMS45LTI5NDkuNSwzNC41Yy00OTYuMSwxNDEuNy04OTQuNCw0OTQuMS0xMDc4LjMsOTU1LjdjLTY3LDE2NC43LTEwOS4yLDM0Ni43LTEwOS4yLDQ2OS4zYzAsMTgzLjgtMzQuNSwyOTEuMS0xMjIuNiwzNzkuMkM2NTIuMS0xODY0LjEsNTA4LjUtMTgxMC40LDQzMS44LTE4MzcuMnoiLz48L2c+PC9nPg0KPC9zdmc+" + loadIcon.style.width = "38px"; + loadIcon.style.height = "38px"; + + toggleButton.appendChild(loadIcon); + toggleButton.classList.add("ovo-modloader-button"); + toggleButton.style.top = "50%"; + toggleButton.style.right = "0%"; + toggleButton.style.transform = "translateY(-50%)"; + toggleButton.style.width = "50px"; + toggleButton.style.height = "50px"; + toggleButton.onclick = this.promptMod.bind(this); + document.body.appendChild(toggleButton); + } + + notify(title, text, image = "./speedrunner.png") { + cr.plugins_.sirg_notifications.prototype.acts.AddSimpleNotification.call( + this.runtime.types_by_index.find( + (type) => type.plugin instanceof cr.plugins_.sirg_notifications + ).instances[0], + title, + text, + image + ); + } + + getModDirectory() { + return this.getScriptDir() + modDirectory; + } + + getScriptPath() { + return decodeURI(new Error().stack.match(/([^ \n\(@])*([a-z]*:\/\/\/?)*?[a-z0-9\/\\]*\.js/ig)[0]); + } + + getScriptDir() { + return this.getScriptPath().split("/").slice(0, -1).join("/") + "/"; + } + + getURLName(url) { + return url.split("/").pop().split(".").slice(0, -1).join("."); + } + + getIsScriptLoaded(name) { + return this.loadedMods.includes(name); + } + + getIsValidURL(str) { + const pattern = new RegExp('^(https?:\\/\\/)?' + + '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' + + '((\\d{1,3}\\.){3}\\d{1,3}))' + + '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' + + '(\\?[;&a-z\\d%_.~+=-]*)?' + + '(\\#[-a-z\\d_]*)?$', 'i'); + return pattern.test(str); + } + + #createScript(src, key, name, notify = true) { + const js = document.createElement("script"); + js.type = "application/javascript"; + js.src = src; + + js.onload = () => { + this.loadedMods.push(key); + if (notify) { + this.notify("Mod loaded", name); + } + } + + js.onerror = () => { + if (notify) { + this.notify("Error loading mod", name); + } + } + + document.head.appendChild(js); + } + + loadModURL(url, local = false, notify = true) { + if (local) { + url = this.getModDirectory() + "v1/" + url; + } + + const name = this.getURLName(url); + + if (this.getIsScriptLoaded(name)) { + if (notify) { + this.notify("Mod already loaded", name); + } + return; + } + + this.#createScript(url, name, name, notify); + } + + loadModJSON(key, json, notify = true) { + const url = this.getModDirectory() + "v1/" + json.url; + const name = json.name; + + if (this.getIsScriptLoaded(key)) { + if (notify) { + this.notify("Mod already loaded", name); + } + return; + } + + this.#createScript(url, key, name, notify); + } + + loadModJS(modJS, notify = true) { + setTimeout(modJS, 0); + + if (notify) { + this.notify("Mod loaded", "Loaded JS code"); + } + } + + promptMod() { + const input = prompt("Enter mod URL, ID, or JS code"); + const key = input.toLocaleLowerCase(); + + if (!input) return; + + if (this.mods[key]) { + this.loadModJSON(key, this.mods[key], true); + } else { + if (this.getIsValidURL(input)) { + this.loadModURL(input, false, true); + } else { + this.loadModJS(input, true); + } + } + } + } + + if (typeof window.ovoModLoader === "undefined") { + if (typeof window.cr_getC2Runtime !== "undefined" && typeof window.cr_getC2Runtime() !== "undefined" && window.cr_getC2Runtime().isloading === false) { + new ModLoader(cr_getC2Runtime()); + } else { + const createCommand = window.cr_createRuntime; + const hookCommand = (canvasId) => { + new ModLoader(createCommand(canvasId)); + } + window.cr_createRuntime = hookCommand; + } + } +})(); \ No newline at end of file